/* Consistent visual hierarchy throughout the portal. */
.workspace>header{padding:25px 28px;background:#30382f;color:#fff;border-left:5px solid #a9b397;margin-bottom:28px}
.workspace>header .eyebrow{color:#d4ddc8}.workspace>header h1{font-size:clamp(30px,3vw,44px)}
.workspace>header .primary{background:#e9ede3;color:#30382f}
.sidebar .nav-item.active,.sidebar .nav-item.active>.sidebar-item-label{font-weight:700}
.workspace .section-heading{padding:20px 24px;background:#30382f;color:#fff;border-left:5px solid #a9b397;gap:16px;margin-bottom:0}
.workspace .section-heading h3{font-family:Georgia,serif;font-size:26px;line-height:1.25}
.workspace .section-heading .muted{color:#fff;background:#ffffff18;border:1px solid #ffffff30;padding:7px 12px;font-size:12px;flex-shrink:0}
.workspace .section-heading .back{color:#fff;padding:8px;border:1px solid #ffffff30}
.workspace .section-heading+.muted{padding:16px 24px;margin:0 0 24px;background:#e9ede3;color:#48513f;border-left:5px solid #a9b397;line-height:1.6}
.workspace .file-toolbar{border:1px solid #d8dacf;background:#eeeee7;padding:20px;margin-bottom:24px}
.workspace .files-list{display:grid;gap:14px;margin-top:18px}
.workspace .files-list>.file-row,.workspace .client-row{padding:24px;border:1px solid #d5d9cd;border-left:4px solid #82916e;background:#fff;box-shadow:0 3px 12px #30382f09;gap:18px}
.workspace .files-list .file-info strong{font-size:16px;font-weight:600;line-height:1.5;color:#30382f}
.workspace .files-list .file-info small{font-size:12px;line-height:1.6}
.workspace .files-list .file-actions button{padding:10px 12px;border:1px solid #d9ddcf;background:#f3f4ef;color:#35402e;min-height:40px}
.workspace .files-list .file-actions button:first-child{background:#30382f;color:#fff;border-color:#30382f}
.workspace .files-list .file-actions button:hover{background:#e4e9dc}.workspace .files-list .file-actions button:first-child:hover{background:#47533e}
.workspace .files-list>.previous-version{background:#f1f2ec;border-left-color:#b5bcaa}
#clients-list{display:grid;gap:14px}
:is(#projects-grid,#admin-home-projects) .project-card,#project-overview .summary-card{border:1px solid #d5d9cd;border-top:4px solid #82916e;background:#fff;box-shadow:0 3px 12px #30382f09}
:is(#projects-grid,#admin-home-projects) .project-card:hover,#project-overview .summary-card:hover{background:#f0f3eb;border-color:#82916e}
#home-view .home-priority-section{border-top:0;padding-top:0}
#home-view .home-section-heading{padding:20px 24px;background:#30382f;color:#fff;border-left:5px solid #a9b397;margin-bottom:18px}
#home-view .home-section-heading h2{color:#fff}#home-view .home-section-heading .muted{color:#dce3d4}
#home-view .home-priority-row.pending-item{padding:20px;border:1px solid #d5d9cd;border-left:4px solid #82916e;background:#fff;margin-bottom:10px}
#home-view .home-priority-row.pending-item:hover{background:#f0f3eb}
.workspace .followup-panel,.workspace .pending-list{background:#fff;border:1px solid #d5d9cd;border-top:4px solid #82916e}
@media(max-width:640px){.workspace>header{padding:20px 18px;gap:18px}.workspace .section-heading{padding:18px;align-items:center;flex-wrap:wrap}.workspace .section-heading h3{font-size:24px}.workspace .section-heading+.muted{padding:14px 18px}.workspace .file-toolbar{padding:16px}.workspace .files-list>.file-row,.workspace .client-row{padding:18px}.workspace .files-list .file-actions{gap:8px}.workspace .files-list .file-actions button{flex:1 1 auto}#home-view .home-section-heading{padding:18px}#home-view .home-priority-row.pending-item{padding:18px}}

/* Project heading and field labels. */
#project-name,.project-heading .project-details dt{font-weight:700}

/* Bold text in the project status box; preserve status colors. */
#project-status,#project-status-select{font-weight:700}

/* The main project panel carries the status colors. */
#project-view>.project-heading:has(#project-status.status-active){--project-state-bg:#dcebdc;--project-state-border:#347448;--project-state-text:#285c38}
#project-view>.project-heading:has(#project-status.status-completed){--project-state-bg:#eceee9;--project-state-border:#b7b8b3;--project-state-text:#555a51}
#project-view>.project-heading:has(#project-status.status-standby){--project-state-bg:#f5e8ad;--project-state-border:#c89d22;--project-state-text:#765b0b}
#project-view>.project-heading:has(#project-status.status-cancelled){--project-state-bg:#f1d7d1;--project-state-border:#a74436;--project-state-text:#7e2f25}
#project-view>.project-heading:has(#project-status[class*="status-"]){background:var(--project-state-bg,#eceee9);border-color:var(--project-state-border,#b7b8b3);color:var(--project-state-text,#555a51)}
#project-view>.project-heading #project-name,#project-view>.project-heading .project-details dt,#project-view>.project-heading .project-details dd{color:inherit}
#project-view>.project-heading .project-details>div{border-color:var(--project-state-border,#b7b8b3)}
#project-status{display:none!important}

/* Client name in the main project panel. */
#project-client{font-weight:700}

/* Keep the account name and email visually grouped. */
@media(min-width:641px){.sidebar-bottom>#user-name{line-height:1.4}.sidebar-bottom>#user-email{margin-top:-8px;line-height:1.4}}

.team-contact-card{padding:24px;margin:14px 0;background:#fff;border:1px solid #d5d9cd;border-left:4px solid #82916e;display:flex;flex-direction:column;align-items:flex-start;gap:14px}.team-contact-card a{text-decoration:underline;overflow-wrap:anywhere}.team-contact-card h3{font-family:Georgia,serif;font-size:23px}.team-contact-details{display:grid;gap:14px;margin:0}.team-contact-details dt{font-size:12px;font-weight:700}.team-contact-details dd{margin:4px 0 0;font-size:14px}.sidebar{overflow-y:auto}.sidebar-bottom{flex-shrink:0}

/* Black text on the status-colored project panel. */
#project-view>.project-heading:has(#project-status[class*="status-"]),#project-view>.project-heading #project-name,#project-view>.project-heading .project-details dt,#project-view>.project-heading .project-details dd,#project-view>.project-heading #project-description,#project-view>.project-heading #rename-project{color:#000}

/* Short, vertically centered dividers between project fields. */
@media(min-width:641px){#project-view>.project-heading .project-details>div{position:relative;border-left-width:0}#project-view>.project-heading .project-details>div::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);height:24px;width:1px;background:var(--project-state-border,#b7b8b3)}}

/* Recent activity header spans the complete panel. */
.workspace .recent-activity.followup-panel{padding:0;border-top-width:0}.workspace .recent-activity>.section-heading{margin:0;width:100%;padding:24px 26px}.workspace .recent-activity>.section-heading h2{margin:0}.workspace .recent-activity>.recent-item{padding:20px 26px}.workspace .recent-activity>p.muted{margin:0;padding:20px 26px;background:transparent;border-left:0}@media(max-width:640px){.workspace .recent-activity>.section-heading{padding:20px 18px}.workspace .recent-activity>.recent-item,.workspace .recent-activity>p.muted{padding:18px}}

/* Project list cards use their status palette. */
:is(#projects-grid,#admin-home-projects) .project-card:has(.status-active){--card-state-bg:#dcebdc;--card-state-border:#347448}
:is(#projects-grid,#admin-home-projects) .project-card:has(.status-completed){--card-state-bg:#ececec;--card-state-border:#b7b7b7}
:is(#projects-grid,#admin-home-projects) .project-card:has(.status-standby){--card-state-bg:#f5e8ad;--card-state-border:#c89d22}
:is(#projects-grid,#admin-home-projects) .project-card:has(.status-cancelled){--card-state-bg:#f1d7d1;--card-state-border:#a74436}
:is(#projects-grid,#admin-home-projects) .project-card:has(.status-archived){--card-state-bg:#eceee9;--card-state-border:#b7b8b3}
:is(#projects-grid,#admin-home-projects) .project-card:has(.project-status-badge),:is(#projects-grid,#admin-home-projects) .project-card:has(.project-status-badge):hover{background:var(--card-state-bg,#eceee9);border-color:var(--card-state-border,#b7b8b3);color:#000}
:is(#projects-grid,#admin-home-projects) .project-card .number,:is(#projects-grid,#admin-home-projects) .project-card .muted,:is(#projects-grid,#admin-home-projects) .project-card .project-meta,:is(#projects-grid,#admin-home-projects) .project-card .project-card-title{color:#000}
:is(#projects-grid,#admin-home-projects) .project-card .project-status-badge{background:transparent;border-color:var(--card-state-border,#b7b8b3);color:#000;font-weight:700}

/* Completed projects retain a neutral grayscale palette. */
#project-view>.project-heading:has(#project-status.status-completed){--project-state-bg:#ececec;--project-state-border:#b7b7b7;--project-state-text:#000}

#client-home-calendar .home-section-heading{padding:20px 24px;background:#30382f;color:#fff;border-left:5px solid #a9b397;margin-bottom:18px}#client-home-calendar .home-section-heading .muted{color:#dce3d4}.calendar-day:nth-child(7n){border-right:0}.calendar-day:nth-child(n+8){border-top:1px solid #dedbd1}

/* White calendar block, retaining the status and today highlights. */
#home-calendar,#client-home-calendar{background:#fff;border:1px solid #d5d9cd;padding:0 20px 20px}#home-calendar>.home-section-heading,#client-home-calendar>.home-section-heading{margin-left:-20px;margin-right:-20px}

/* Neutral dropdown options and regular client name. */
#project-status-select option{background:#fff;color:#000;font-weight:400}#project-client{font-weight:400}

/* Center status labels with balanced space around the text. */
.project-heading #project-status-select{text-align:center;text-align-last:center;padding-left:22px;padding-right:22px}#project-status-select option{text-align:center;text-align-last:center;padding-left:12px;padding-right:12px}

.project-heading #project-status-select.native-status-source{display:none!important}.centered-status-menu{position:relative;flex:none}.centered-status-menu>.project-status-control{display:block;position:relative;margin:0;padding:10px 22px;width:126px;min-height:38px;text-align:center;font-size:11px;font-weight:700;letter-spacing:1px;cursor:pointer}.centered-status-options{position:absolute;top:calc(100% + 4px);left:0;width:100%;z-index:20;background:#fff;border:1px solid #777}.centered-status-options>button{display:block;width:100%;border:0;background:#fff;color:#000;padding:8px 4px;text-align:center;font-size:11px;line-height:1.3}.centered-status-options>button:hover,.centered-status-options>button:focus-visible{background:#e6e6e6;outline:0}.centered-status-options>button[aria-selected=true]{font-weight:700}

/* Uniform white option backgrounds throughout the status menu. */
.centered-status-options>button,.centered-status-options>button:hover,.centered-status-options>button:focus-visible,.centered-status-options>button[aria-selected=true]{background:#fff;color:#000}.centered-status-options>button:focus-visible{outline:1px solid #777;outline-offset:-3px}

/* More compact desktop navigation. */
@media(min-width:641px){.sidebar>.nav-item{min-height:40px;padding-top:11px;padding-bottom:11px}}

.quote-pending-action-row{display:flex;align-items:center;gap:20px;background:#fff;border:1px solid #d5d9cd;border-left:4px solid #82916e;margin-bottom:10px;padding:0 20px}.quote-pending-action-row>.home-priority-row.pending-item{border:0!important;margin:0!important;flex:1;min-width:0;padding-left:0!important}.quote-pending-actions,.quote-note-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.quote-pending-actions{flex-shrink:0;margin-left:auto}.quote-note-actions{margin-top:24px}.quote-note-actions button{justify-content:center}#quote-list .quote-approve{background:#30382f;color:#fff}#quote-list .quote-notes{background:#e9ede3;color:#30382f}@media(max-width:640px){.quote-pending-action-row{flex-wrap:wrap;gap:0;padding:0 18px 18px}.quote-pending-action-row>.home-priority-row.pending-item{flex-basis:100%}.quote-pending-actions{width:100%}.quote-pending-actions button{flex:1;justify-content:center}.quote-note-actions{align-items:stretch;flex-direction:column}}

.sidebar-bottom>#user-name{font-weight:700}

.workspace #project-followup>#project-tasks.followup-pending-group{margin:24px 0 0;padding:24px 0 0;border:0;border-top:1px solid #d5d9cd;background:transparent;box-shadow:none}.followup-quote-decisions{margin-top:22px}.followup-quote-decisions>h3{font-size:18px;margin-bottom:14px}.followup-quote-decisions .home-priority-row{width:100%}.followup-quote-decisions .home-row-copy{display:flex;flex-direction:column;gap:7px}.followup-quote-decisions .home-row-arrow{width:20px;height:20px}.followup-quote-decisions .quote-pending-action-row{padding:12px 18px}.followup-quote-decisions .home-priority-row{background:#fff}

/* Right-align the document history switch. */
.workspace .file-toolbar>.check-label{flex:0 0 100%;display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:9px;min-width:0;margin:0;text-align:right}.workspace .file-toolbar>.check-label input{flex:none;width:14px;height:14px;margin:0;order:-1}

/* Next step uses the same framed card treatment as quote decisions. */
#project-followup .next-step{padding:22px 24px;border:1px solid #d5d9cd;border-left:4px solid #82916e;background:#fff;margin:20px 0 0;box-shadow:0 3px 12px #30382f09}
#project-followup .next-step>strong{display:block;font-size:14px;font-weight:600;line-height:1.5}
#project-followup .next-step>p{font-size:14px;line-height:1.6;margin:8px 0 14px}
#project-followup .next-step>small{display:block;font-size:12px;line-height:1.6}
@media(max-width:640px){#project-followup .next-step{padding:18px}}

#project-followup .next-step{padding-top:12px;padding-bottom:12px}
#project-followup .next-step>p{margin-top:6px;margin-bottom:10px}
.reorderable-stage{cursor:grab;display:flex;align-items:center;gap:8px}.reorderable-stage.dragging{opacity:.45}.reorderable-stage.drag-target{outline:2px dashed #82916e;outline-offset:2px}.stage-move-controls{display:inline-flex;gap:3px}.project-stages .stage-move{padding:2px 5px;background:#fff;border:1px solid #d5d9cd;font-size:12px;min-height:24px;color:#30382f;cursor:pointer}.project-stages .stage-move:disabled{opacity:.3;cursor:default}.stage-order-status{font-size:11px;line-height:1.5;color:#59614f;margin:-10px 0 18px}
@media(max-width:640px){#project-followup .next-step{padding-top:12px;padding-bottom:12px}.project-stages .reorderable-stage{padding:7px;flex-wrap:wrap;gap:5px}}

/* Number the next-step card and use the active-state approval palette. */
#project-followup .next-step{position:relative;padding-left:70px}#project-followup .next-step::before{content:"01";position:absolute;left:20px;top:50%;transform:translateY(-50%);font:24px Georgia,serif;color:#939987}
.quote-pending-actions>.primary,#quote-list .quote-approve{background:#dcebdc;color:#285c38;border:1px solid #347448}.quote-pending-actions>.primary:hover,#quote-list .quote-approve:hover{background:#cce1cc;color:#285c38}
@media(max-width:640px){#project-followup .next-step{padding-left:58px}#project-followup .next-step::before{left:16px}}

/* Emphasize the current project phase. */
#project-followup .project-stages li[aria-current=step],#project-followup .project-stages li[aria-current=step]>span:first-child{font-weight:700}

/* Match decision card spacing to the next-step card. */
.workspace .quote-pending-action-row,.workspace .followup-quote-decisions .quote-pending-action-row{padding:12px 18px 12px 20px}.workspace .quote-pending-action-row>.home-priority-row.pending-item{padding-top:0!important;padding-bottom:0!important;gap:24px}.workspace .quote-pending-action-row .home-row-number{min-width:26px}.workspace .quote-pending-action-row .home-row-copy{gap:8px}.workspace .quote-pending-action-row .home-row-copy strong{line-height:1.5}.workspace .quote-pending-action-row .home-row-copy .home-row-detail{line-height:1.6}
@media(max-width:640px){.workspace .quote-pending-action-row,.workspace .followup-quote-decisions .quote-pending-action-row{padding:12px 16px;row-gap:12px}.workspace .quote-pending-action-row>.home-priority-row.pending-item{gap:16px}}

/* White editable quote section with individual framed quote cards. */
#quote-admin-tools{background:#fff;border:1px solid #d5d9cd}#quote-admin-tools>.section-heading{margin-top:0}#quote-admin-tools>.section-heading+.muted{background:#fff;border-left:0;margin-bottom:0;padding:16px 24px}#editable-quotes-list{display:grid;gap:14px;padding:0 20px 20px}#editable-quotes-list>.quote-record{padding:12px 20px;border:1px solid #d5d9cd;border-left:4px solid #82916e;background:#fff;align-items:center;gap:20px;box-shadow:0 3px 12px #30382f09}#editable-quotes-list .quote-record-info{gap:8px}#editable-quotes-list .quote-record-info>strong{font-size:14px;line-height:1.5}#editable-quotes-list .quote-record-actions{margin-left:auto}#editable-quotes-list>.quote-empty{margin:0;padding:12px 0}@media(max-width:640px){#editable-quotes-list{padding:0 16px 16px}#editable-quotes-list>.quote-record{padding:12px 16px;flex-direction:column;align-items:stretch;gap:14px}#editable-quotes-list .quote-record-actions{margin-left:0;justify-content:flex-start}#quote-admin-tools>.section-heading+.muted{padding:14px 18px}}

/* Editable source followed by the PDF currently shared with the client. */
#quote-form{display:none!important}#editable-quotes-list .editable-quote-group{min-width:0}#editable-quotes-list .quote-record{padding:12px 20px;border:1px solid #d5d9cd;border-left:4px solid #82916e;background:#fff;align-items:center;gap:20px;box-shadow:0 3px 12px #30382f09}.published-quote-card{margin:10px 0 0 24px;padding:12px 18px;background:#fff;border:1px solid #d5d9cd;border-left:4px solid #82916e}.published-quote-card>h4{font-size:12px;font-weight:600;color:#48513f;margin:0 0 10px}.published-quote-card>.file-row{padding:0;border:0;gap:18px}.published-quote-card .file-actions button{padding:10px 12px;border:1px solid #d9ddcf;background:#f3f4ef;color:#35402e;font-size:12px}.published-quote-card .file-actions button:first-child{background:#30382f;color:#fff;border-color:#30382f}
@media(max-width:640px){#editable-quotes-list .quote-record{padding:12px 16px;flex-direction:column;align-items:stretch;gap:14px}.published-quote-card{margin-left:10px;padding:12px 14px}.published-quote-card>.file-row{flex-direction:column;align-items:stretch}}

#shared-quotes-tools{background:#fff;border:1px solid #d5d9cd;margin:24px 0}#shared-quotes-tools>.section-heading{margin-top:0}#shared-quotes-tools>.section-heading+.muted{background:#fff;border-left:0;margin-bottom:0;padding:16px 24px}#shared-quotes-list{display:grid;gap:14px;padding:0 20px 20px}#shared-quotes-list>.published-quote-card{margin:0;padding:12px 20px}#shared-quotes-list>.quote-empty{margin:0}#shared-quotes-list .published-quote-card>h4{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}#shared-quotes-list .quote-pending{display:none}.shared-approval-badge{display:inline-block;font-size:11px;font-weight:600;padding:7px 11px;border:1px solid;white-space:nowrap}.shared-approval-badge.pending,.shared-approval-badge.changes_requested{background:#f5e8ad;border-color:#c89d22;color:#765b0b}.shared-approval-badge.approved{background:#dcebdc;border-color:#347448;color:#285c38}.shared-approval-badge.declined{background:#f1d7d1;border-color:#a74436;color:#7e2f25}#shared-quotes-list .shared-state-pending,#shared-quotes-list .shared-state-changes_requested{border-left-color:#c89d22}#shared-quotes-list .shared-state-approved{border-left-color:#347448}#shared-quotes-list .shared-state-declined{border-left-color:#a74436}.quote-decision.declined{border-color:#a74436;background:#f1d7d1;color:#7e2f25}.quote-decision.changes_requested{border-color:#c89d22;background:#f5e8ad}.quote-decision-dialog select{margin-bottom:12px}@media(max-width:640px){#shared-quotes-list{padding:0 16px 16px}#shared-quotes-list>.published-quote-card{padding:12px 16px}#shared-quotes-tools>.section-heading+.muted{padding:14px 18px}}

#project-tasks>.next-step{margin:16px 0 22px}

/* Administrator project cards follow the shared-budget card style. */
#app-view :is(#projects-grid,#admin-home-projects) .project-card,#app-view :is(#projects-grid,#admin-home-projects) .project-card:hover{background:#fff;border:1px solid #d5d9cd;border-left:4px solid var(--card-state-border,#b7b7b7);padding:12px 20px;box-shadow:none}#app-view :is(#projects-grid,#admin-home-projects) .project-card .project-status-badge{background:var(--card-state-bg,#ececec);border:1px solid var(--card-state-border,#b7b7b7);font-weight:600}#app-view :is(#projects-grid,#admin-home-projects) .project-card .number{font:24px Georgia,serif;color:#939987}#app-view :is(#projects-grid,#admin-home-projects) .project-card .card-open{background:#f3f4ef;border:1px solid #d9ddcf;color:#35402e;padding:10px 12px}#app-view :is(#projects-grid,#admin-home-projects) .project-card .card-open:hover{background:#e9ede3}@media(max-width:640px){#app-view :is(#projects-grid,#admin-home-projects) .project-card{padding:12px 16px}}

#projects-view.client-documents-view>:is(#projects-grid,#admin-home-projects),#projects-view.client-documents-view>.portal-toolbar,#projects-view.client-documents-view>.project-view-switch{display:none!important}.client-project-documents{margin:26px 0}.client-project-documents>h2{font-size:25px;margin:0 0 14px}.client-document-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 20px;margin:12px 0;background:#fff;border:1px solid #d5d9cd;border-left:4px solid #82916e}.client-document-card .file-info .shared-approval-badge{align-self:flex-start}.client-document-card .file-actions button{padding:10px 12px;font-size:12px}.client-document-card .file-actions button:first-child{background:#30382f;color:#fff}.client-document-card .file-actions .quote-approve{background:#dcebdc;border:1px solid #347448;color:#285c38}.client-document-empty{padding:18px 20px;background:#fff;border:1px solid #d5d9cd;border-left:4px solid #b7b7b7;font-size:14px}.client-document-card.document-state-pending,.client-document-card.document-state-changes_requested{border-left-color:#c89d22}.client-document-card.document-state-approved{border-left-color:#347448}.client-document-card.document-state-declined{border-left-color:#a74436}@media(max-width:640px){.client-document-card{flex-direction:column;align-items:stretch;padding:12px 16px;gap:14px}.client-document-card .file-actions{width:100%;justify-content:flex-start}.client-project-documents>h2{font-size:23px}}

/* Compact vertical spacing on document file cards. */
.workspace .files-list>.file-row,#billing-list>.file-row{padding-top:10px;padding-bottom:10px}@media(max-width:640px){.workspace .files-list>.file-row,#billing-list>.file-row{padding-top:10px;padding-bottom:10px}}

#home-calendar.client-home-agenda{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);gap:24px;background:transparent;border:0;padding:0}.client-home-agenda>.home-priority-section{min-width:0;background:#fff;border:1px solid #d5d9cd;padding:0 18px 18px}#home-view .client-home-agenda .home-section-heading{margin:0 -18px 18px;padding:20px 22px}.client-current-project-card{display:flex;align-items:center;gap:18px;width:100%;padding:14px 18px;margin:12px 0 0;text-align:left;background:#fff;color:#000;border:1px solid #d5d9cd;border-left:4px solid #347448}.client-current-project-card:hover{background:#f1f4ec}.client-current-project-card .home-row-copy{min-width:0;flex:1}.client-current-project-card strong{font:21px Georgia,serif}.client-date-card{padding:14px 16px;margin:12px 0 0;border:1px solid #d5d9cd;border-left:4px solid #82916e;background:#fff}.client-date-card>time{display:block;font-weight:700;font-size:14px;margin-bottom:10px}.client-date-event{display:flex;flex-direction:column;gap:6px;text-align:left;width:100%;padding:10px 0;background:transparent;border:0;border-top:1px solid #e3e5dc;color:#000}.client-date-event strong{font-size:13px;font-weight:500;line-height:1.6}.client-date-event small{font-size:11px;color:#73746b}.client-agenda-empty{padding:16px 0;font-size:14px;line-height:1.6}@media(max-width:1000px){#home-calendar.client-home-agenda{grid-template-columns:1fr}}@media(max-width:640px){#home-calendar.client-home-agenda{gap:18px}.client-current-project-card{padding:12px 16px}}

.client-current-project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px}.client-current-project-grid>.client-current-project-card{display:flex;flex-direction:column;align-items:stretch;gap:20px;margin:0;padding:18px 20px;min-height:285px;border:1px solid #d5d9cd;border-left:4px solid #347448;background:#fff;text-align:left;max-width:380px;width:100%}.client-current-project-grid>.client-current-project-card:hover{background:#fff}.client-current-project-top{display:flex;justify-content:space-between;align-items:center;gap:16px}.client-current-project-top>.number{font:24px Georgia,serif;color:#939987}.client-current-project-state{padding:9px 12px;border:1px solid #347448;background:#dcebdc;color:#000;font-size:10px;font-weight:600;letter-spacing:1px}.client-current-project-card>h3{font:23px Georgia,serif;line-height:1.3;margin:0;overflow-wrap:anywhere}.client-current-project-client{font-size:12px;line-height:1.5}.client-current-project-card>.new-badge{align-self:flex-start}.client-current-project-update{font-size:11px;line-height:1.6}.client-current-project-actions{display:flex;justify-content:flex-end;margin-top:auto}.client-current-project-actions>button{font-size:10px;padding:10px 12px;border:1px solid #d9ddcf;background:#f3f4ef;text-transform:uppercase;justify-content:center}@media(max-width:640px){.client-current-project-grid>.client-current-project-card{max-width:none;min-height:270px;padding:16px 18px}}

.client-current-project-grid>.client-current-project-card{cursor:pointer}.client-current-project-grid>.client-current-project-card:hover{background:#f7f9f3;border-color:#347448}.client-current-project-grid>.client-current-project-card:focus-visible{outline:2px solid #347448;outline-offset:3px}

.file-row>.image-inline-comments{flex:0 0 100%;width:100%;min-width:0;border-top:1px solid #d5d9cd;margin-top:4px;padding:12px 0 2px}.image-inline-comments>h4{font-size:13px;font-weight:600;margin:0 0 10px}.image-inline-comment{padding:10px 12px;background:#f7f8f3;border-left:2px solid #b9c3aa;margin:8px 0;overflow-wrap:anywhere}.image-inline-comment>strong{font-size:12px;font-weight:600}.image-inline-comment>small{font-size:11px;color:#73746b;margin-left:10px}.image-inline-comment>p{font-size:13px;line-height:1.6;margin:6px 0 0;white-space:pre-wrap}.image-inline-comments>.secondary{font-size:11px;margin-top:10px}@media(max-width:640px){.image-inline-comment>small{display:block;margin:5px 0 0}}
.image-inline-comments>summary{cursor:pointer;font-size:13px;font-weight:600;padding:2px 0;line-height:1.5}.image-inline-comments>summary:focus-visible{outline:2px solid #82916e;outline-offset:3px}#home-view>.admin-current-project-section{background:#fff;border:1px solid #d5d9cd;padding:0 20px 20px}#home-view>.admin-current-project-section>.home-section-heading{margin:0 -20px 18px}#admin-home-projects{margin-top:16px}

#project-files-panel{background:#fff;border:1px solid #d5d9cd;margin-top:28px}#project-files-panel>.section-heading{margin:0}#project-files-panel>.file-toolbar{margin:20px;padding:18px}#project-files-panel>#files-list{padding:0 20px 20px;margin-top:0}.project-file-selection{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;margin:0 20px 16px}.project-file-selection>label{display:flex;flex-direction:row;align-items:center;gap:8px;margin:0;font-size:12px;cursor:pointer}.project-file-selection input{width:15px;height:15px;margin:0;order:-1}.project-file-selection>.primary{margin-left:auto;font-size:12px}.bulk-download-status{flex-basis:100%;font-size:12px;color:#59614f}.bulk-download-status:empty{display:none}.workspace #files-list>.file-row{position:relative;padding-left:46px}.file-row>.bulk-file-choice{position:absolute;left:14px;top:20px;margin:0;display:block;width:16px;height:16px}.bulk-file-choice>input{width:16px;height:16px;margin:0;cursor:pointer}@media(max-width:640px){#project-files-panel>.file-toolbar{margin:16px}#project-files-panel>#files-list{padding:0 16px 16px}.project-file-selection{margin:0 16px 16px}.project-file-selection>.primary{margin-left:0;width:100%;justify-content:center}.workspace #files-list>.file-row{padding-left:42px}.file-row>.bulk-file-choice{left:12px}}

/* Quote cards awaiting approval use the pending yellow palette. */
.workspace .quote-pending-action-row{border-left-color:#c89d22}.quote-pending-action-row .home-priority-badge{background:#f5e8ad;color:#765b0b;border:1px solid #c89d22}

#home-view>.home-news-section{background:#fff;border:1px solid #d5d9cd;padding:0 20px 20px}#home-view>.home-news-section>.home-section-heading{margin:0 -20px 18px}#home-view>.home-news-section>.home-priority-row{margin-bottom:10px}#home-view>.home-news-section>.home-priority-row:last-child{margin-bottom:0}@media(max-width:640px){#home-view>.home-news-section{padding:0 16px 16px}#home-view>.home-news-section>.home-section-heading{margin-left:-16px;margin-right:-16px}}

#home-view>.home-attention-section{background:#fff;border:1px solid #d5d9cd;padding:0 20px 20px}#home-view>.home-attention-section>.home-section-heading{margin:0 -20px 18px}#home-view>.home-attention-section>.home-clear{background:#fff;border:1px solid #d5d9cd;border-left:4px solid #82916e}.sidebar>.nav-item:has(.nav-attention-badge:not([hidden])){grid-template-columns:20px minmax(0,1fr) auto}.sidebar>.nav-item>.nav-attention-badge{justify-self:end;display:inline-flex;align-items:center;justify-content:center;min-width:23px;min-height:23px;padding:3px 6px;background:#f5e8ad;color:#765b0b;border:1px solid #c89d22;font-size:10px;line-height:1;font-weight:700;letter-spacing:0}@media(max-width:640px){#home-view>.home-attention-section{padding:0 16px 16px}#home-view>.home-attention-section>.home-section-heading{margin-left:-16px;margin-right:-16px}.sidebar>.nav-item:has(.nav-attention-badge:not([hidden])){grid-template-columns:18px minmax(0,1fr) auto;gap:6px}}

/* Pending actions use yellow instead of green. */
#home-view .home-attention-section .home-priority-badge:not(.home-overdue),#home-view .home-attention-section .quote-pending-action-row .home-priority-badge{background:#f5e8ad;color:#765b0b;border:1px solid #c89d22}#home-view .home-attention-section:has(.home-priority-row)>.home-section-heading{background:#30382f;border-left-color:#c89d22}#home-view .home-attention-section:has(.home-priority-row)>.home-section-heading .muted{color:#dce3d4}#home-view .home-attention-section .home-priority-row.pending-item,#home-view .home-attention-section .quote-pending-action-row{border-left-color:#c89d22}

#finance-tab:not(.active),#finance-tab:not(.active)>.sidebar-item-label{font-weight:400}#finance-tab.active,#finance-tab.active>.sidebar-item-label{font-weight:700}#home-view>.home-views-section{background:#fff;border:1px solid #d5d9cd;padding:0 20px 20px}#home-view>.home-views-section>.home-section-heading{margin:0 -20px 18px}.view-log-list{display:grid;gap:12px}.view-log-card{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;padding:14px 18px;border:1px solid #d5d9cd;border-left:4px solid #82916e}.view-log-card strong{font-size:13px}.view-log-card p{font-size:13px;margin:7px 0;overflow-wrap:anywhere}.view-log-card small{font-size:11px;color:#73746b}.view-log-card time{font-size:12px;white-space:nowrap;color:#48513f}.view-log-empty{padding:18px;font-size:13px;line-height:1.6}.view-log-controls{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.home-views-section>.secondary{margin-top:18px}@media(max-width:640px){.view-log-card{flex-direction:column;align-items:flex-start;gap:12px}#home-view>.home-views-section{padding:0 16px 16px}#home-view>.home-views-section>.home-section-heading{margin-left:-16px;margin-right:-16px}}

/* Unread news: yellow accents, retaining the dark header and white cards. */
#home-view>.home-news-section:has(.home-priority-row)>.home-section-heading{border-left-color:#c89d22}#home-view>.home-news-section>.home-priority-row.pending-item{border-left-color:#c89d22}#home-view>.home-news-section .home-priority-badge,.new-badge{background:#f5e8ad;color:#765b0b;border:1px solid #c89d22}

#quote-documents-panel{background:#fff;border:1px solid #d5d9cd;margin:28px 0}#quote-documents-panel>.section-heading{margin:0}#quote-documents-panel>.section-heading+.muted{background:#fff;border-left:0;margin:0;padding:16px 24px}#quote-documents-panel>.file-toolbar{margin:0 20px 20px}#quote-documents-panel>#quote-list{padding:0 20px 20px;margin:0}#quote-documents-panel.has-pending-quotes>.section-heading{border-left-color:#c89d22}#quote-list>.file-row[data-approval-state=pending],#quote-list>.file-row[data-approval-state=changes_requested]{border-left-color:#c89d22}#quote-list>.file-row[data-approval-state=approved]{border-left-color:#347448}#quote-list>.file-row[data-approval-state=declined]{border-left-color:#a74436}@media(max-width:640px){#quote-documents-panel>.file-toolbar{margin:0 16px 16px}#quote-documents-panel>#quote-list{padding:0 16px 16px}#quote-documents-panel>.section-heading+.muted{padding:14px 18px}}

/* Slim document filter toolbar while preserving typography. */
.workspace .file-toolbar,#project-files-panel>.file-toolbar,#billing-content>.file-toolbar{padding-top:8px;padding-bottom:8px;row-gap:8px}.workspace .file-toolbar>label{gap:5px}.workspace .file-toolbar input,.workspace .file-toolbar select{margin-top:0;padding-top:10px;padding-bottom:10px}.workspace .file-toolbar>.check-label{margin:0;gap:7px}.workspace .file-toolbar>button{padding-top:10px;padding-bottom:10px}.workspace .file-toolbar>.check-label input{padding:0}

/* Neutral sidebar notification counters. */
.sidebar>.nav-item>.nav-attention-badge{background:#ececec;border-color:#a6a6a6;color:#333}

/* Revision action matches the neutral bordered buttons. */
#quote-list .quote-notes,.quote-pending-actions>.secondary,.client-document-card .file-actions>.secondary:last-child{background:#ececec;border:1px solid #b7b7b7;color:#333}#quote-list .quote-notes:hover,.quote-pending-actions>.secondary:hover,.client-document-card .file-actions>.secondary:last-child:hover{background:#e2e2e2;border-color:#999;color:#333}

#quote-list .quote-notes,.quote-pending-actions>.secondary,.client-document-card .file-actions>.secondary:last-child{background:#f3f4ef;border:1px solid #d9ddcf;color:#35402e}#quote-list .quote-notes:hover,.quote-pending-actions>.secondary:hover,.client-document-card .file-actions>.secondary:last-child:hover{background:#e4e9dc;border-color:#d9ddcf;color:#35402e}

.meeting-step-card{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:24px;padding:12px 20px;margin:10px 0;background:#fff;border:1px solid #d5d9cd;border-left:4px solid #82916e}.meeting-step-copy>strong{font-size:14px;line-height:1.5}.meeting-step-copy>p{font-size:13px;line-height:1.6;margin:8px 0}.meeting-step-copy>small{font-size:11px;color:#73746b}.meeting-controls{display:flex;flex-direction:column;align-items:flex-end;gap:8px;max-width:420px}.meeting-topic{font-size:12px;font-weight:500;line-height:1.5;text-align:right}.meeting-datetime{font-size:12px;font-weight:600}.meeting-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.meeting-actions>button{padding:10px 12px;font-size:12px;border:1px solid #d9ddcf;background:#f3f4ef;color:#35402e}.meeting-actions>.meeting-confirm{background:#dcebdc;border-color:#347448;color:#285c38}.meeting-badge{padding:6px 10px;font-size:11px;border:1px solid #c89d22;background:#f5e8ad;color:#765b0b}.meeting-badge.confirmed{background:#dcebdc;border-color:#347448;color:#285c38}.meeting-step-card:has(.meeting-badge.pending),#project-followup .next-step:has(.meeting-badge.pending){border-left-color:#c89d22}#project-followup .next-step:has(.meeting-controls){display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px}#project-followup .next-step>.meeting-controls{grid-column:2;grid-row:1/span 3}#project-followup .next-step>strong,#project-followup .next-step>p,#project-followup .next-step>small{grid-column:1}.meeting-form textarea[readonly]{background:#f3f4ef}.meeting-form>.primary{justify-content:center}.meeting-form>.muted{font-size:12px}@media(min-width:641px){.sidebar-bottom>#password-button{margin-top:12px}}@media(max-width:900px){.meeting-step-card{grid-template-columns:26px minmax(0,1fr);gap:14px}.meeting-step-card>.meeting-controls{grid-column:2;align-items:flex-start;max-width:none}.meeting-topic{text-align:left}.meeting-actions{justify-content:flex-start}#project-followup .next-step:has(.meeting-controls){display:block}#project-followup .next-step>.meeting-controls{align-items:flex-start;margin-top:14px;max-width:none}}

#home-view .home-attention-section:has(.meeting-badge.pending)>.home-section-heading{border-left-color:#c89d22}

/* White meeting dialog and subject field. */
.meeting-form textarea[readonly]{background:#fff}

/* Compact black dialog close control. */
dialog .dialog-heading>button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:auto;min-height:32px;margin:0;padding:8px 12px;border:1px solid #171717;background:#171717;color:#fff;font-size:12px;line-height:1.2;white-space:nowrap;cursor:pointer}dialog .dialog-heading>button:hover{background:#333;border-color:#333}dialog .dialog-heading>button:focus-visible{outline:2px solid #777;outline-offset:3px}

/* Portal interaction and reading refinements. */
#app-view{--portal-muted:#62675e;--portal-focus:#58694c}
#app-view .muted,#app-view .file-info small,#app-view .home-row-copy small{color:var(--portal-muted)}
#app-view :is(.file-info small,.project-card .muted,.home-row-copy small){font-size:12px;line-height:1.55}
#app-view :is(.file-info strong,.home-row-copy strong){line-height:1.5}
#app-view :is(button,a,[role=link],input,select,textarea),dialog :is(button,a,[role=link],input,select,textarea){transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease,transform .18s ease}
#app-view :is(button,a):not(:disabled),dialog :is(button,a):not(:disabled){cursor:pointer}
#app-view :is(button,a,[role=link],input,select,textarea):focus-visible,dialog :is(button,a,[role=link],input,select,textarea):focus-visible{outline:2px solid var(--portal-focus,#58694c);outline-offset:3px}
#app-view :is(input,select,textarea):focus,dialog :is(input,select,textarea):focus{border-color:#82916e;box-shadow:0 0 0 3px #82916e20}
#app-view :is(.project-card,.client-current-project-card,.summary-card,.home-action-row,.client-document-card,.published-quote-card,.file-row,.client-row){transition:box-shadow .2s ease,transform .2s ease,background-color .2s ease}
#app-view :is(button,a):active:not(:disabled){transform:translateY(1px)}
#app-view :is(button:disabled,a[aria-disabled=true]){cursor:default}
@media(hover:hover) and (pointer:fine){
 #app-view .nav-item:hover{background:#ffffff80;box-shadow:inset 3px 0 #82916e}
 #app-view .nav-item:hover .nav-icon{transform:translateX(2px)}
 #app-view .nav-icon{transition:transform .18s ease}
 #app-view :is(.project-card,.client-current-project-card,.summary-card):hover{transform:translateY(-3px);box-shadow:0 7px 19px #30382f16!important}
 #app-view :is(.home-action-row,.client-document-card,.published-quote-card,.file-row,.client-row):hover{box-shadow:0 3px 12px #30382f12}
 #app-view :is(button.primary,a.primary):hover:not(:disabled),dialog button.primary:hover:not(:disabled){background:#414d3e;box-shadow:0 3px 8px #30382f26}
 #app-view :is(button.secondary,a.secondary,.card-open):hover:not(:disabled),dialog button.secondary:hover:not(:disabled){background:#e8ebe3;box-shadow:0 2px 6px #30382f15}
 #app-view .file-actions :is(button,a):hover:not(:disabled){filter:brightness(.96);box-shadow:0 2px 7px #30382f20}
 #app-view .sidebar-bottom button:hover{color:#354b2e;text-decoration:underline;text-underline-offset:4px}
 #app-view details>summary:hover{background:#f1f3ed}
}
@media(prefers-reduced-motion:reduce){
 #app-view *,dialog *{transition:none!important;animation:none!important}
 #app-view :is(.project-card,.client-current-project-card,.summary-card,button,a):is(:hover,:active){transform:none!important}
}

#app-view [role=link]{cursor:pointer}

#app-view [role=link]:active{transform:translateY(1px);box-shadow:inset 0 0 0 1px #82916e55}
@media(pointer:coarse){#app-view :is(.file-actions,.project-view-switch,.client-current-project-actions) :is(button,a){min-height:40px}#app-view :is(button,a,[role=link]){-webkit-tap-highlight-color:#82916e25}}
@media(prefers-reduced-motion:reduce){#app-view [role=link]:active{transform:none!important}}

/* Desktop navigation: a quiet text-only hover. */
@media(hover:hover) and (pointer:fine){
 #app-view .nav-item:hover{background:transparent;box-shadow:none;color:#6d7e59;transform:none}
 #app-view .nav-item:hover .nav-icon{transform:none}
 #app-view .sidebar-bottom button:hover{color:#6d7e59;text-decoration:none;transform:none}
}

/* Compact visual receipts and pending calls to action. */
.view-log-thumbnail{width:80px;height:60px;object-fit:cover;flex:0 0 80px;border:1px solid #d9ddcf;background:#f3f4ef}
.view-log-info{flex:1;min-width:0}.view-log-seen{display:inline-block;color:#347448;font-size:16px;font-weight:700;margin-left:5px}
.home-priority-badge::after,.meeting-badge.pending::after,.shared-approval-badge.pending::after,.shared-approval-badge.changes_requested::after{content:' !';font-weight:800;margin-left:4px}
@media(max-width:640px){.view-log-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 12px}.view-log-card .view-log-info{grid-column:1/-1}.view-log-card:has(.view-log-thumbnail) .view-log-info{grid-column:2}.view-log-card time{grid-column:1/-1;white-space:normal}.view-log-thumbnail{width:64px;height:48px;min-width:64px}}

/* Quote decisions share one hover surface across copy and actions. */
.workspace .quote-pending-action-row{transition:background-color .18s ease,box-shadow .18s ease}
.workspace .quote-pending-action-row>.home-priority-row.pending-item,#home-view .quote-pending-action-row>.home-priority-row.pending-item:hover{background:transparent!important;box-shadow:none;transform:none}
@media(hover:hover) and (pointer:fine){.workspace .quote-pending-action-row:hover{background:#f0f3eb;box-shadow:0 3px 12px #30382f12}}
@media(prefers-reduced-motion:reduce){.workspace .quote-pending-action-row{transition:none}}

.decision-badge-arrow{display:inline-flex;align-items:stretch;flex-shrink:0;margin-left:auto;max-width:100%}
.workspace .decision-badge-arrow .home-priority-badge{margin:0;min-height:32px;display:inline-flex;align-items:center;box-sizing:border-box}
.workspace .decision-badge-arrow .home-row-arrow{margin:0;box-sizing:border-box;width:32px;height:auto;min-height:32px;padding:8px;background:#171917;color:#fff;opacity:1;flex:0 0 32px;align-self:stretch}
@media(max-width:640px){.decision-badge-arrow{margin-left:42px}}

/* Compact active-project label. */
#app-view :is(.client-current-project-state,.project-status-badge.status-active){letter-spacing:.015em;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}
#app-view :is(.client-current-project-state,.project-status-badge.status-active)::after{content:'✓';font-size:13px;font-weight:700;color:#285c38;letter-spacing:0}

.agenda-next-step{border-left-color:#c89d22}.agenda-step-heading{font-size:14px}.agenda-step-topic{font-size:14px;line-height:1.6;margin:10px 0}.agenda-step-date{display:block;font-size:12px;color:#62675e;margin:12px 0}.agenda-next-step .meeting-controls{margin-top:14px}.agenda-next-step .meeting-actions{justify-content:flex-start;flex-wrap:wrap}.agenda-next-step .meeting-actions button{max-width:100%;white-space:normal}

/* More restrained portal section titles. */
#app-view .home-section-heading h2,#app-view .section-heading h2,#app-view .section-heading h3{font-size:22px;line-height:1.3;letter-spacing:-.02em}
@media(max-width:640px){#app-view .home-section-heading h2,#app-view .section-heading h2,#app-view .section-heading h3{font-size:20px}}

/* Neutral light hover surfaces and consistent project-opening arrows. */
#app-view :is(.client-current-project-actions>button,.project-card .card-open){display:inline-flex;align-items:center;justify-content:center;gap:8px}
#app-view :is(.client-current-project-actions>button,.project-card .card-open):not(:has(.card-open-arrow))::after{content:'↗';font-size:15px;line-height:1;font-weight:400}
@media(hover:hover) and (pointer:fine){
 #app-view :is(.project-card,.client-current-project-card,.summary-card,.home-priority-row.pending-item,.quote-pending-action-row,.client-document-card,.published-quote-card,.file-row,.client-row,.client-date-event):hover{background:#f8f8f8!important}
 #app-view .quote-pending-action-row>.home-priority-row.pending-item:hover{background:transparent!important}
 #app-view :is(button.secondary,a.secondary,.card-open,.file-actions button:not(.primary),.file-actions a:not(.primary)):hover:not(:disabled){background:#f0f0f0}
}

/* Highlight calendar cells individually without moving the grid. */
#app-view .calendar-day{transition:background-color .18s ease,box-shadow .18s ease}
@media(hover:hover) and (pointer:fine){#app-view .calendar-day:hover{background:#f8f8f8;box-shadow:inset 0 0 0 1px #b7bdb0;position:relative;z-index:1}#app-view .calendar-day:hover .calendar-day-heading{color:#43563b}}
#app-view .calendar-day:focus-within{box-shadow:inset 0 0 0 2px #82916e}
@media(prefers-reduced-motion:reduce){#app-view .calendar-day{transition:none}}

/* Home cards retain their white surface and lift as one piece. */
#home-view :is(.client-current-project-card,.client-date-card,.home-priority-row.pending-item,.quote-pending-action-row,.meeting-step-card){transition:transform .2s ease,box-shadow .2s ease}
@media(hover:hover) and (pointer:fine){
 #app-view #home-view :is(.client-current-project-card,.client-date-card,.home-priority-row.pending-item,.quote-pending-action-row,.meeting-step-card):hover{background:#fff!important;transform:translateY(-3px);box-shadow:0 7px 19px #30382f16}
 #app-view #home-view .quote-pending-action-row>.home-priority-row.pending-item:hover{background:transparent!important;transform:none;box-shadow:none}
 #app-view #home-view .client-date-event:hover{background:transparent!important}
}
.home-priority-badge::after,.meeting-badge.pending::after,.shared-approval-badge.pending::after,.shared-approval-badge.changes_requested::after{content:'!';display:inline-block;font-family:Arial,Helvetica,sans-serif;font-size:17px;font-weight:800;line-height:1;vertical-align:middle;color:#654600;margin-left:7px}
@media(prefers-reduced-motion:reduce){#app-view #home-view :is(.client-current-project-card,.client-date-card,.home-priority-row.pending-item,.quote-pending-action-row,.meeting-step-card):hover{transform:none;transition:none}}

/* Keep project outlines neutral while preserving their status stripe. */
#app-view .client-current-project-grid>.client-current-project-card:hover{border-color:#d5d9cd;border-left-color:#347448}
#app-view :is(#projects-grid,#admin-home-projects) .project-card:hover{border-color:#d5d9cd;border-left-color:var(--card-state-border,#b7b7b7)}

#home-view .home-all-projects{display:flex;width:max-content;max-width:100%;margin-left:auto;align-items:center;gap:8px}
#home-view .home-all-projects::after{content:'↗';font-size:15px;line-height:1}
.calendar-schedule{display:flex;margin:0 0 18px auto;max-width:100%}
#app-view .calendar-day{position:relative;transition:transform .18s ease,box-shadow .18s ease}
@media(hover:hover) and (pointer:fine){#app-view .calendar-day:hover{background:#fff;transform:translateY(-3px);box-shadow:0 5px 14px #30382f20;z-index:2}}
@media(prefers-reduced-motion:reduce){#app-view .calendar-day:hover{transform:none;transition:none}}

/* Sem separador no início de cada linha; contar apenas detalhes visíveis. */
@media(min-width:1101px){
 #project-view>.project-heading .project-details>div:nth-child(6n + 1 of :not([hidden])){padding-left:0}
 #project-view>.project-heading .project-details>div:nth-child(6n + 1 of :not([hidden]))::before{content:none}
}
@media(min-width:641px) and (max-width:1100px){
 #project-view>.project-heading .project-details>div:nth-child(2n + 1 of :not([hidden])){padding-left:0}
 #project-view>.project-heading .project-details>div:nth-child(2n + 1 of :not([hidden]))::before{content:none}
}

/* Edição dos dados no cabeçalho do projeto. */
#project-view>.project-heading #project-name{font-weight:500}
.project-heading>.project-heading-actions{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.project-heading .project-edit-button{margin:0;border:1px solid currentColor;background:transparent;color:inherit;padding:9px 16px;min-width:100px;justify-content:center}
.project-edit-dialog{max-width:760px;max-height:calc(100svh - 32px);overflow-y:auto}
.project-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
.project-edit-grid>label{min-width:0}
@media(max-width:640px){.project-heading>.project-heading-actions{grid-column:2;grid-row:1;gap:10px}.project-edit-grid{grid-template-columns:1fr}.project-edit-dialog{padding:20px}}

/* Miniaturas sem imagem usam os mesmos ícones do menu. */
.view-log-icon{display:flex;align-items:center;justify-content:center;color:#48513f}
.view-log-icon svg{display:block;width:28px;height:28px;flex:none}
@media(max-width:640px){.view-log-icon svg{width:24px;height:24px}}

/* Download individual com caixa cinzenta clara. */
#app-view .client-document-card .file-actions>.file-download{display:inline-flex;align-items:center;justify-content:center;padding:10px 12px;background:#ededed;border:1px solid #cfcfcf;color:#30332b;min-height:40px}
#app-view .client-document-card .file-actions>.file-download:hover:not(:disabled){background:#e2e2e2;border-color:#bdbdbd}

/* Relógio: orçamento a aguardar aprovação. */
.home-priority-badge::after,.meeting-badge.pending::after,.shared-approval-badge.pending::after,.shared-approval-badge.changes_requested::after{content:"";display:inline-block;width:15px;height:15px;margin-left:7px;vertical-align:-3px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22M12%207v5l3%202%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22M12%207v5l3%202%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}

/* Elevação discreta nos cartões dos ficheiros do projeto. */
#app-view #files-list>.file-row{transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}
@media(hover:hover) and (pointer:fine){#app-view #files-list>.file-row:hover{transform:translateY(-3px);box-shadow:0 7px 19px #30382f16}}
@media(prefers-reduced-motion:reduce){#app-view #files-list>.file-row,#app-view #files-list>.file-row:hover{transform:none;transition:none}}

/* Primeiro item de cada linha alinhado ao título, sem separador. */
@media(min-width:1101px){
 .project-heading .project-details:not(:has(>#project-type-detail[hidden]))>div:nth-child(6n + 1),
 .project-heading .project-details>#project-type-detail[hidden]+div{padding-left:0!important;border-left:0!important}
 .project-heading .project-details:not(:has(>#project-type-detail[hidden]))>div:nth-child(6n + 1)::before,
 .project-heading .project-details>#project-type-detail[hidden]+div::before{content:none!important;display:none!important}
}
@media(min-width:641px) and (max-width:1100px){
 .project-heading .project-details:not(:has(>#project-type-detail[hidden]))>div:nth-child(odd),
 .project-heading .project-details:has(>#project-type-detail[hidden])>div:nth-child(even){padding-left:0!important;border-left:0!important}
 .project-heading .project-details:not(:has(>#project-type-detail[hidden]))>div:nth-child(odd)::before,
 .project-heading .project-details:has(>#project-type-detail[hidden])>div:nth-child(even)::before{content:none!important;display:none!important}
}

/* Mensagens com a paleta e o rebordo dos estados do projeto. */
.message:not(:empty){display:block;width:fit-content;max-width:100%;padding:12px 16px;border:1px solid #a74436;background:#f1d7d1;color:#7e2f25;font-size:12px;font-weight:500;line-height:1.5;overflow-wrap:anywhere}
.message.message-success:not(:empty),.message.confirmation-message:not(:empty){border-color:#347448;background:#dcebdc;color:#285c38}
.message.message-success:not(:empty)::after{content:'✓';display:inline-block;margin-left:8px;font-weight:700}
.message.message-info:not(:empty){border-color:#b7b7b7;background:#f3f3f3;color:#48513f}

/* Área estável durante o carregamento e fallback das miniaturas. */
#files-list .thumbnail-button{display:block;width:88px;height:66px;min-width:88px;overflow:hidden;background:#efede7}
#files-list .file-thumbnail{width:100%;height:100%;object-fit:cover;font-size:0;color:transparent}

/* Ação de reunião no canto inferior direito, com seta após o texto. */
#home-view .agenda-next-step{display:flex;flex-direction:column}
#home-view .agenda-next-step>.meeting-controls{width:100%;max-width:none;align-items:flex-end;margin-top:auto;padding-top:14px}
#home-view .agenda-next-step .meeting-actions{width:100%;justify-content:flex-end}
#home-view .agenda-next-step .meeting-actions>button{display:inline-flex;align-items:center;justify-content:center;gap:8px}
#home-view .agenda-next-step .meeting-actions>button::after{content:'↗';display:inline-block;font-size:15px;line-height:1}

/* Retirar da página as notas gerais de orçamentos. */
#quote-content>.notes-section{display:none!important}

/* Novidades por consultar na paleta verde do portal. */
#app-view .new-badge{background:#dcebdc;border:1px solid #347448;color:#285c38}

/* Resumo financeiro em primeiro lugar na página inicial da administração. */
#home-view>.admin-home-finance{margin:0 0 24px;min-width:0}
#home-view>.admin-home-finance>.finance-metrics{margin:0}

/* Versão publicada, abaixo de Terminar sessão. */
.sidebar-bottom>#website-version{display:block;flex-basis:100%;font-size:10px;line-height:1.5;color:#62675e;margin-top:4px;padding-left:30px}

/* Fechar consistente em formulários e visualizadores. */
dialog :is(.dialog-heading>button,button[data-close],#pdf-close,#image-close){display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:auto;min-height:32px;margin:0;padding:8px 12px;border:1px solid #171717;background:#171717;color:#fff;font-size:12px;line-height:1.2;white-space:nowrap;cursor:pointer}
dialog :is(.dialog-heading>button,button[data-close],#pdf-close,#image-close):hover{background:#333;border-color:#333}
dialog :is(.dialog-heading>button,button[data-close],#pdf-close,#image-close):focus-visible{outline:2px solid #fff;outline-offset:-3px}

/* Estado no topo esquerdo; Editar abaixo do título. */
#project-view>.project-heading{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}
#project-view>.project-heading>div:first-child{grid-column:1;grid-row:2;min-width:0}
#project-view>.project-heading>.project-heading-actions{grid-column:1;grid-row:1;align-items:flex-start;justify-self:start}
#project-view>.project-heading>.project-details{grid-column:1;grid-row:3}
#project-view>.project-heading #rename-project{margin-top:10px;margin-bottom:8px;width:max-content}
#project-view .centered-status-menu>.project-status-control.status-active{display:inline-flex;align-items:center;justify-content:center;gap:8px;background-image:none;padding:10px 14px}
#project-view .centered-status-menu>.project-status-control.status-active::after{content:'✓';position:static;display:inline-block;width:auto;height:auto;border:0;transform:none;color:#285c38;font-size:13px;line-height:1}

/* Os sete detalhes do projeto ocupam uma só linha em desktop. */
@media(min-width:1101px){
 #project-view>.project-heading .project-details{grid-template-columns:repeat(7,minmax(0,1fr));align-items:start}
 #project-view>.project-heading .project-details:has(>#project-type-detail[hidden]){grid-template-columns:repeat(6,minmax(0,1fr))}
 #project-view>.project-heading .project-details>div{padding-left:12px!important;padding-right:12px;min-width:0}
 #project-view>.project-heading .project-details dt{font-size:10px;line-height:1.35}
 #project-view>.project-heading .project-details dd{font-size:12px;line-height:1.4}
 #project-view>.project-heading .project-details>div:not(:first-child)::before{content:''!important;display:block!important}
 #project-view>.project-heading .project-details>div:first-child,
 #project-view>.project-heading .project-details>#project-type-detail[hidden]+div{padding-left:0!important}
 #project-view>.project-heading .project-details>div:first-child::before,
 #project-view>.project-heading .project-details>#project-type-detail[hidden]+div::before{content:none!important;display:none!important}
}

/* Atualização manual reservada à administração. */
.sidebar-bottom>#refresh-website{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:max-content;padding:8px 12px;border:1px solid #b7b8b3;background:#f3f4ef;color:#35402e;font-size:11px;line-height:1.3;margin-top:4px}
.sidebar-bottom>#refresh-website:hover{background:#e4e9dc}

/* Estados com espaçamento consistente e ícones próprios. */
#app-view .project-status-badge:is(.status-active,.status-standby,.status-completed),
#project-view .centered-status-menu>.project-status-control:is(.status-standby,.status-completed){display:inline-flex;align-items:center;justify-content:center;gap:8px;letter-spacing:.015em;white-space:nowrap;background-image:none}
#app-view .project-status-badge:is(.status-standby,.status-completed)::after,
#project-view .centered-status-menu>.project-status-control:is(.status-standby,.status-completed)::after{content:'';display:inline-block;position:static;flex:0 0 13px;width:13px;height:13px;border:0;transform:none;background:currentColor}
#app-view .project-status-badge.status-standby::after,#project-view .centered-status-menu>.project-status-control.status-standby::after{-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M8%205v14M16%205v14%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M8%205v14M16%205v14%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}
#app-view .project-status-badge.status-completed::after,#project-view .centered-status-menu>.project-status-control.status-completed::after{-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m2%2012%205%205L17%207m-5%2010%2010-10%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m2%2012%205%205L17%207m-5%2010%2010-10%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}

/* Rebordo neutro completo ao elevar o dia do calendário. */
@media(hover:hover) and (pointer:fine){#app-view .calendar-day:hover{box-shadow:inset 0 0 0 1px #dedbd1,0 5px 14px #30382f20}}

/* 1.24.42: subtle rounding for portal cards. */
#app-view :is(.project-card,.summary-card,.insight-card,.finance-metric,.followup-panel,.file-row,.home-clear){border-radius:8px}
#app-view .followup-panel>.section-heading:first-child{border-top-left-radius:7px;border-top-right-radius:7px}
#app-view :is(#home-calendar,#client-home-calendar){border-radius:8px}
#app-view :is(#home-calendar,#client-home-calendar)>.home-section-heading{border-top-left-radius:7px;border-top-right-radius:7px}
#app-view :is(.client-current-project-card,.client-date-card,.meeting-step-card,.home-action-row,.client-document-card,.published-quote-card,.quote-pending-action-row,.home-priority-row.pending-item,.home-priority-section){border-radius:8px}
#app-view .home-priority-section>.home-section-heading{border-top-left-radius:7px;border-top-right-radius:7px}

/* 1.24.43: consistent subtle rounding for portal buttons. */
body button,body input:is([type=button],[type=submit],[type=reset]),body a:is(.primary,.secondary,.compact,[role=button]),body [role=button]{border-radius:4px!important}
/* Neutral card surfaces stay white; state badges retain their colours. */
#app-view :is(.project-card,.summary-card,.insight-card,.followup-panel,.file-row,.client-current-project-card,.client-date-card,.meeting-step-card,.home-action-row,.client-document-card,.published-quote-card,.home-clear){background-color:#fff}
#app-view .finance-metric:not(.finance-received):not(.finance-pending):not(.finance-to-invoice),#app-view .finance-project{background-color:#fff}
#app-view .finance-project{border-radius:8px}

/* 1.24.44: joined controls only round their outside corners. */
body .project-view-switch>button{border-radius:0!important}
body .project-view-switch>button:first-child{border-top-left-radius:4px!important;border-bottom-left-radius:4px!important}
body .project-view-switch>button:last-child{border-top-right-radius:4px!important;border-bottom-right-radius:4px!important}
body :is(.project-status-badge,.client-current-project-state){border-radius:4px!important}
#app-view .finance-metric>span{font-weight:700}

#admin-recent-quotes{margin:0 0 30px}#admin-recent-quotes>.section-heading{margin-top:0}#admin-recent-quotes .files-list{margin-top:18px}#admin-recent-quotes .file-info>time{font-size:11px;color:#73746b}#admin-recent-quotes .recent-quotes-projects-title{font-size:24px;margin:36px 0 16px}#admin-recent-quotes .file-actions{flex-wrap:wrap}@media(max-width:640px){#admin-recent-quotes .file-actions{width:100%}}

/* 1.24.46: consistent corners on fields and larger portal surfaces. */
body :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea){border-radius:4px!important}
#app-view .workspace>header,
#app-view :is(.section-heading,.home-section-heading,.file-toolbar,.project-toolbar,.project-heading,.upload-panel,.pending-list,.finance-context,.finance-unregistered,.finance-project,.team-contact-card,.client-row,.client-date-card,.meeting-step-card,.empty,.note,.note-row,.upload-progress),
#app-view :is(#project-files-panel,#quote-documents-panel,#quote-admin-tools,#shared-quotes-tools),
body dialog,
body .quote-editor-page :is(.quote-section,.quote-row,.quote-meta-grid,.billing-fields,.quote-cost-settings,.quote-totals,.quote-editor-form details,.quote-profit-card){border-radius:8px}
#app-view .section-heading:has(+.muted){border-bottom-left-radius:0;border-bottom-right-radius:0}
#app-view .section-heading+.muted{border-radius:0 0 8px 8px}
#app-view :is(.home-priority-section,.followup-panel)>:is(.home-section-heading,.section-heading):first-child{border-radius:7px 7px 0 0}
#app-view :is(#project-files-panel,#quote-documents-panel,#quote-admin-tools,#shared-quotes-tools)>.section-heading:first-child{border-radius:7px 7px 0 0}
body :is(.pdf-header,.image-header){border-radius:7px 7px 0 0}
/* Project state stays at the upper right, alongside the title. */
#project-view>.project-heading{grid-template-columns:minmax(0,1fr) auto}
#project-view>.project-heading>div:first-child{grid-column:1;grid-row:1}
#project-view>.project-heading>.project-heading-actions{grid-column:2;grid-row:1;justify-self:end;align-items:flex-end}
#project-view>.project-heading>.project-details{grid-column:1/-1;grid-row:2}
@media(min-width:1101px){#project-view>.project-heading .project-details>#project-type-detail[hidden]+div{padding-left:12px!important}#project-view>.project-heading .project-details>#project-type-detail[hidden]+div::before{content:''!important;display:block!important}}

/* 1.24.47: separators follow the actual columns and skip hidden fields. */
#app-view #project-view>.project-heading .project-details>div:not([hidden]){padding-left:12px!important}
#app-view #project-view>.project-heading .project-details>div:not([hidden])::before{content:''!important;display:block!important}
@media(min-width:1101px){
 #app-view #project-view>.project-heading .project-details>div:nth-child(7n + 1 of :not([hidden])){padding-left:0!important}
 #app-view #project-view>.project-heading .project-details>div:nth-child(7n + 1 of :not([hidden]))::before{content:none!important;display:none!important}
}
@media(min-width:641px) and (max-width:1100px){
 #app-view #project-view>.project-heading .project-details{grid-template-columns:repeat(2,minmax(0,1fr))}
 #app-view #project-view>.project-heading .project-details>div:nth-child(2n + 1 of :not([hidden])){padding-left:0!important}
 #app-view #project-view>.project-heading .project-details>div:nth-child(2n + 1 of :not([hidden]))::before{content:none!important;display:none!important}
}
@media(max-width:640px){
 #app-view #project-view>.project-heading .project-details>div:nth-child(3n + 1 of :not([hidden])){padding-left:0!important}
 #app-view #project-view>.project-heading .project-details>div:nth-child(3n + 1 of :not([hidden]))::before{content:none!important;display:none!important}
}
#app-view .calendar-with-weeks>.calendar-week-label{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 6px;background:#eeeee7;border-right:1px solid #dedbd1;border-top:1px solid #dedbd1;color:#59614f;font-size:10px;line-height:1.4}
#app-view .calendar-with-weeks>.calendar-week-label:first-child{border-top:0}
#app-view .calendar-with-weeks>.calendar-week-label strong{font-size:20px;font-weight:600}
@media(min-width:901px){
 #app-view .calendar-with-weeks{grid-template-columns:60px repeat(7,minmax(0,1fr))}
 #app-view .calendar-with-weeks>.calendar-day{border-right:1px solid #dedbd1;border-top:0}
 #app-view .calendar-with-weeks>.calendar-day:nth-child(8n){border-right:0}
 #app-view .calendar-with-weeks>.calendar-day:nth-child(n+9){border-top:1px solid #dedbd1}
}
@media(max-width:900px){
 #app-view .calendar-with-weeks>.calendar-week-label{grid-column:1/-1;flex-direction:row;justify-content:flex-start;align-items:center;gap:8px;padding:10px 12px;border-right:0}
 #app-view .calendar-with-weeks>.calendar-week-label strong{font-size:16px}
}
/* 1.24.48: small status labels and counters follow the 4px controls. */
#app-view :is(.meeting-badge,.shared-approval-badge,.home-priority-badge,.new-badge,.due-badge,.decision-badge,.nav-attention-badge,.task-status),
#app-view .summary-counts>span,
#app-view .section-heading>.muted{border-radius:4px}
#app-view button.summary-card{border-radius:8px!important}
#project-view .meeting-step-card{border-radius:8px}
#rename-project-form>button[type=submit]{justify-content:center;text-align:center}
/* 1.24.49: quote editor cards, centered desktop refresh and project detail icons. */
#app-view #editable-quotes-list .quote-record{border-radius:8px}
.sidebar-bottom>#refresh-website{align-self:center;margin-left:auto;margin-right:auto;justify-content:center;text-align:center}
#project-view .project-details dt{display:flex;align-items:flex-start;gap:5px}
#project-view .project-details .project-detail-icon{display:block;flex:0 0 12px;width:12px;height:12px;margin-top:1px;color:inherit}
#project-view .project-details dt>span{min-width:0}
#login-form>button[type=submit]{justify-content:center;text-align:center;gap:8px}

/* 1.24.51: center the label itself, with the arrow alongside it. */
#login-form>button[type=submit]{display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);justify-content:stretch!important;align-items:center;gap:8px;text-align:center}
#login-form>button[type=submit]>.login-submit-label{grid-column:2}
#login-form>button[type=submit]>.card-open-arrow{grid-column:3;justify-self:start;margin:0}
#login-form .access-note{display:block;width:100%;text-align:center;margin-top:22px;line-height:1.6}
#login-form .login-password-field{position:relative;display:block;width:100%}
#login-form .login-password-field>input{padding-right:50px}
#login-form .password-visibility{position:absolute;top:1px;right:1px;bottom:1px;width:44px;min-height:0;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:0;color:#59634f;cursor:pointer}
#login-form .password-visibility svg{width:20px;height:20px;pointer-events:none}
#login-form .password-visibility:hover{background:#30362d0a}
#login-form .password-visibility:focus-visible{outline:2px solid #59634f;outline-offset:-4px}
#login-form .password-eye-slash{display:none}
#login-form .password-visibility[aria-pressed=true] .password-eye-slash{display:block}
#login-view .brand-panel{background-size:cover;background-position:center;background-repeat:no-repeat}

#login-form>button[type=submit]>.card-open-arrow{display:none}

#project-view .project-details dt{display:block}

/* Completed status has a stronger neutral grey than the project action. */
#app-view :is(#projects-grid,#admin-home-projects) .project-card .project-status-badge.status-completed,#app-view .project-status-badge.status-completed,#project-view .project-status-control.status-completed{background-color:#b8b8b8;border-color:#737373;color:#171717}

/* Project browsing panel and a quieter, expandable completed group. */
.project-browser-panel:not(.is-framed),.project-browser-body{display:contents}
#project-browser-panel.is-framed{display:block;margin-top:30px;background:#fff;border:1px solid #d5d9cd;border-radius:8px}
#project-browser-panel.is-framed>.section-heading{margin:0;border-top-left-radius:7px;border-top-right-radius:7px;border-bottom-left-radius:0;border-bottom-right-radius:0}
#project-browser-panel.is-framed>.project-browser-body{display:block;padding:22px}
#project-browser-panel.is-framed #area-intro{margin:0 0 18px}
#project-browser-panel.is-framed .portal-toolbar{margin-top:0}
#project-browser-panel.is-framed #projects-grid{margin-bottom:0}
#projects-grid>.completed-projects{grid-column:1/-1;min-width:0;margin-top:22px;border:1px solid #d5d9cd;border-radius:8px;background:#fff}
#projects-grid>.completed-projects>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none;padding:16px 18px;background:#f3f4ef;border-radius:7px;color:#3d4238}
#projects-grid>.completed-projects>summary::-webkit-details-marker{display:none}
#projects-grid>.completed-projects>summary:focus-visible{outline:2px solid #59634f;outline-offset:3px}
.completed-project-title{font-size:20px;line-height:1.4}
.completed-project-toggle{display:flex;align-items:center;gap:10px;font-size:11px;white-space:nowrap}
.completed-project-toggle::after{content:'+';font-size:20px;line-height:1}
.completed-projects .completed-hide{display:none}
.completed-projects[open] .completed-hide{display:inline}
.completed-projects[open] .completed-show{display:none}
.completed-projects[open] .completed-project-toggle::after{content:'−'}
#projects-grid>.completed-projects[open]>summary{border-bottom:1px solid #d5d9cd;border-bottom-left-radius:0;border-bottom-right-radius:0}
#projects-grid>.completed-projects>.completed-project-list{padding:18px;margin:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
#projects-grid>.completed-projects>.completed-project-list.projects-list{grid-template-columns:minmax(0,1fr)}
@media(max-width:640px){#project-browser-panel.is-framed>.project-browser-body{padding:16px}#projects-grid>.completed-projects>summary{padding:14px;gap:10px}.completed-project-title{font-size:18px}.completed-project-toggle{font-size:10px}#projects-grid>.completed-projects>.completed-project-list{padding:14px}}
#projects-grid>.completed-projects:not([open])>.completed-project-list{display:none}

#project-browser-panel.is-framed>.section-heading h2{font-size:24px;line-height:1.3}

/* Shared quotes form one continuous panel, including its document cards. */
#admin-recent-quotes{background:#fff;border:1px solid #d5d9cd;border-radius:8px;margin:0 0 30px;padding:0 0 20px}
#admin-recent-quotes>.section-heading{margin:0;border-top-left-radius:7px;border-top-right-radius:7px;border-bottom-left-radius:0;border-bottom-right-radius:0}
#admin-recent-quotes>.section-heading+.muted{margin:0;padding:16px 22px;border-radius:0}
#admin-recent-quotes>.files-list{margin:20px 20px 0}
#admin-recent-quotes>.empty{margin:20px 20px 0}
@media(max-width:640px){#admin-recent-quotes{padding-bottom:16px}#admin-recent-quotes>.section-heading+.muted{padding:14px 16px}#admin-recent-quotes>.files-list,#admin-recent-quotes>.empty{margin:16px 16px 0}}/* v1.24.59 — compact consultation and calendar export. */
#projects-view .portal-toolbar{margin-bottom:12px}
#projects-view .project-view-switch{margin-top:0}
#projects-view #projects-grid{margin-top:18px}
.meeting-calendar-dialog .calendar-export-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:20px}
.meeting-calendar-dialog .calendar-export-actions button{flex:1;min-width:150px;justify-content:center}
.meeting-calendar-dialog .calendar-export-help{font-size:12px;line-height:1.6;margin-top:18px}

/* v1.24.60 — rounded client view cards, on home and full history. */
.view-log-card{border-radius:8px}

/* Projects header and white consultation body form one continuous card. */
#app-view .workspace.projects-page-framed>header{margin-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}
#app-view .workspace.projects-page-framed>#app-message:empty{display:none;margin:0}
#app-view .workspace.projects-page-framed>#projects-view{background:#fff;border:1px solid #d5d9cd;border-top:0;border-radius:0 0 8px 8px;padding:22px}
#app-view .workspace.projects-page-framed #area-intro{margin:0 0 18px}
#app-view .workspace.projects-page-framed #projects-view .portal-toolbar{margin-top:0}
@media(max-width:640px){#app-view .workspace.projects-page-framed>#projects-view{padding:16px}}
#projects-view #projects-grid>.project-group-title:first-child{margin-top:0;padding-top:0;border-top:0}
/* v1.24.61 — all project groups can be folded; media and follow-up hierarchy. */
#projects-grid>.project-status-group:first-child{margin-top:0}
.recent-document-icon{display:flex;align-items:center;justify-content:center;background:#f3f4ef;color:#48513f}
.recent-document-icon svg{width:28px;height:28px;flex:none}
#project-followup>.followup-heading{display:flex;flex-direction:column;align-items:flex-start;gap:8px;background:#30382f;color:#fff;margin:-26px -26px 22px;padding:22px 26px;border-radius:7px 7px 0 0;border-left:5px solid #a9b397}
#project-followup>.followup-heading .eyebrow{color:#d4ddc8}
#project-followup>.followup-heading h2{margin:0;color:#fff;font-size:24px;font-weight:500}
@media(max-width:640px){#project-followup>.followup-heading{margin:-18px -18px 18px;padding:18px}}

.workspace #project-followup{border-top-width:0}
#finance-documents>.finance-document-row{background:#fff;border:1px solid #d5d9cd;border-left:4px solid #d2aa27;border-radius:8px;padding:18px 20px;margin:12px 0}
#finance-documents>.finance-payment-paid{border-left-color:#347448}
#finance-documents>.finance-payment-pending{border-left-color:#d2aa27}
#finance-documents>.finance-payment-overdue{border-left-color:#a23b32}
#finance-documents>.finance-cancelled{border-left-color:#9a9a94}
.meeting-cancel{border-color:#a23b32;color:#8b3028}
/* A next step remains pending until the meeting is confirmed. */

#project-followup.meeting-attention-pending .next-step,.meeting-step-card.meeting-attention-pending{border-left-color:#d2aa27}
.meeting-step-card.meeting-attention-confirmed{border-left-color:#347448}

.message:not(:empty){border-radius:4px}

/* Pending meeting rows retain their warning colour, including on hover. */
#app-view :is(#home-view .meeting-step-card.meeting-attention-pending,#project-followup.meeting-attention-pending .next-step,#home-view .client-date-card.agenda-next-step){background:#fff5d7!important;border-color:#e5c66e;border-left-color:#d2aa27}
#app-view :is(#home-view .meeting-step-card.meeting-attention-confirmed,#project-followup:not(.meeting-attention-pending) .next-step:has(.meeting-badge.confirmed)){background:#dcebdc!important;border-left-color:#347448}
#billing-documents-panel{background:#fff;border:1px solid #d5d9cd;border-radius:8px;margin:28px 0;min-width:0}
#billing-documents-panel>.section-heading{margin:0;border-radius:7px 7px 0 0}
#billing-documents-panel>.section-heading+.muted{margin:0;padding:16px 22px;background:#fff;border-left:0}
#billing-documents-panel>.file-toolbar{margin:0 20px 20px}
#billing-documents-panel>#billing-list{margin:0;padding:0 20px 20px}
#billing-documents-panel .empty{background:#fff}
.billing-heading-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
#billing-documents-panel .billing-heading-actions>.primary{background:#e9ede3;color:#30382f}
.billing-document-type{font-size:11px;font-weight:700;letter-spacing:.06em}
@media(max-width:640px){#billing-documents-panel>.file-toolbar{margin:0 16px 16px}#billing-documents-panel>#billing-list{padding:0 16px 16px}#billing-documents-panel>.section-heading+.muted{padding:14px 16px}.billing-heading-actions{width:100%;justify-content:space-between}#quick-add-financial-document{width:100%;justify-content:center}}

#app-view .workspace .meeting-step-card.meeting-attention-pending{background:#fff5d7!important;border-color:#e5c66e;border-left-color:#d2aa27!important}

#home-view .pending-decisions-panel{background:#fff;border:1px solid #d5d9cd;border-radius:8px;overflow:hidden}
#home-view .pending-decisions-panel>.home-section-heading{margin:0;border-radius:7px 7px 0 0}
#home-view .pending-decisions-panel>.home-priority-list{margin:0;padding:20px;list-style:none}
#home-view .pending-decisions-panel>.home-clear,#home-view .pending-decisions-panel>.empty{margin:20px}
#billing-list>.billing-record-paid{border-left-color:#347448}
#billing-list>.billing-record-pending{border-left-color:#d2aa27}
#billing-list>.billing-record-overdue{border-left-color:#a23b32}
@media(max-width:640px){#home-view .pending-decisions-panel>.home-priority-list{padding:16px}}
#clients-search-panel{background:#fff;border:1px solid #d5d9cd;border-radius:8px;min-width:0}
#clients-search-panel>.section-heading{margin:0;border-radius:7px 7px 0 0}
.clients-search-body{padding:22px}
.clients-search-body>.muted{margin:0 0 18px}
.clients-search-form{margin:0 0 12px}
.clients-result-count{color:#73746b;font-size:12px;margin:12px 0 18px}
#clients-search-panel #clients-list{margin:0}
@media(max-width:640px){.clients-search-body{padding:16px}}

/* Service totals remain private to administration; home metadata follows the project header. */
#app-view .project-service-summary{border:1px solid #d5d9cd;border-radius:8px;background:#fff;margin:0 0 24px;overflow:hidden}
#app-view .project-service-summary>.section-heading{background:#30382f;color:#fff;padding:20px 24px;margin:0;border-left:5px solid #a9b397;display:flex;justify-content:space-between;gap:16px;align-items:center}
.project-service-body{padding:24px}.project-service-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:0}.project-service-values dt{font-weight:700;font-size:12px}.project-service-values dd{margin:8px 0 0;font-size:23px}.service-payment-status{padding:10px 14px;border:1px solid;border-radius:4px}.service-paid{color:#24683c;background:#dcebdd;border-color:#347448}.service-attention{color:#765b10;background:#fff5d7;border-color:#d2aa27}
#app-view .client-home-project-heading{padding:20px;border:1px solid #347448;border-radius:8px;background:#dcebdd;margin:0 0 24px;color:#000}.client-home-project-heading h2{font-size:28px;font-weight:600;margin:0 0 24px;line-height:1.25}.client-home-project-details{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;margin:0}.client-home-project-details>div{min-width:0;border-left:1px solid #347448;padding-left:12px}.client-home-project-details>div:first-child{border-left:0;padding-left:0}.client-home-project-details dt{font-size:10px;font-weight:700;line-height:1.4;margin-bottom:5px}.client-home-project-details dd{font-size:12px;margin:0;line-height:1.5;overflow-wrap:anywhere}
@media(max-width:1100px){.client-home-project-details{grid-template-columns:repeat(3,minmax(0,1fr))}.client-home-project-details>div:nth-child(3n+1){border-left:0;padding-left:0}}
@media(max-width:640px){.project-service-values{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.project-service-body{padding:18px}#app-view .project-service-summary>.section-heading{align-items:flex-start;flex-direction:column;padding:18px}.client-home-project-details{grid-template-columns:repeat(2,minmax(0,1fr))}.client-home-project-details>div:nth-child(3n+1){border-left:1px solid #347448;padding-left:12px}.client-home-project-details>div:nth-child(2n+1){border-left:0;padding-left:0}.client-home-project-heading h2{font-size:24px}}

#app-view .meeting-step-card,#app-view .quote-pending-action-row,#app-view .task-row{border-radius:8px;overflow:hidden}
.finance-project-splits{border:1px solid #d5d9cd;border-radius:8px;padding:18px;margin:0;grid-column:1/-1}.finance-project-splits legend{font-weight:700}.finance-project-split{display:grid;grid-template-columns:minmax(0,1fr) 170px auto;gap:12px;align-items:end;margin:14px 0}.finance-project-split label{min-width:0}.finance-project-split button{margin-bottom:0}.finance-project-splits .finance-distribution{font-weight:700}
.client-home-project-picker{margin-bottom:20px;max-width:650px}.client-home-project-picker select{width:100%}.client-project-home #back-projects{display:none!important}
@media(max-width:640px){.finance-project-split{grid-template-columns:minmax(0,1fr) auto}.finance-project-split label:first-child{grid-column:1/-1}.finance-project-splits{padding:14px}}
#app-view .next-step{border-radius:8px!important;overflow:hidden}

#project-followup .next-step[data-decision-number]::before{content:attr(data-decision-number)}
#project-tasks .decision-item-number{flex:0 0 26px;min-width:26px}
#app-view .client-project-home #project-overview{display:none!important}

#project-tasks .decision-item-number+div{flex:1}

#app-view .followup-quote-decisions>.quote-pending-action-row,#app-view .followup-quote-decisions>.home-priority-row{background:#fff5d7!important;border:1px solid #e5c66e!important;border-left:4px solid #d2aa27!important;border-radius:8px}
#app-view .followup-quote-decisions>.quote-pending-action-row>.home-priority-row{background:transparent!important;border:0!important}

/* Client home: equal vertical space and the same lift used by project cards. */
#app-view .client-project-home .followup-quote-decisions>.quote-pending-action-row{padding:20px;align-items:center;transition:transform .2s ease,box-shadow .2s ease}
#app-view .client-project-home .followup-quote-decisions>.quote-pending-action-row>.home-priority-row{padding:0!important;margin:0!important;transform:none!important}
#app-view .client-project-home .followup-quote-decisions .home-row-copy{margin:0}
@media(hover:hover) and (pointer:fine){#app-view .client-project-home .followup-quote-decisions>.quote-pending-action-row:hover{background:#fff5d7!important;transform:translateY(-3px);box-shadow:0 7px 19px #30382f16}}
@media(max-width:640px){#app-view .client-project-home .followup-quote-decisions>.quote-pending-action-row{padding:18px 16px;row-gap:12px}}
@media(prefers-reduced-motion:reduce){#app-view .client-project-home .followup-quote-decisions>.quote-pending-action-row{transition:none!important;transform:none!important}}

/* The pending queue uses the same state colours as the home project cards. */
#app-view #home-view .pending-decisions-panel [data-attention-state=pending]{background:#fff5d7!important;border:1px solid #e5c66e!important;border-left:4px solid #d2aa27!important;border-radius:8px}
#app-view #home-view .pending-decisions-panel [data-attention-state=overdue]{background:#fce9e4!important;border:1px solid #d99b90!important;border-left:4px solid #a84232!important;border-radius:8px}
#app-view #home-view .pending-decisions-panel .quote-pending-action-row>.home-priority-row{background:transparent!important;border:0!important}

/* Equal section titles and a clearer boundary between pending groups. */
#project-tasks>h2,#project-tasks .followup-quote-decisions>h3{font-size:22px;font-weight:400;line-height:1.35;margin:0 0 18px}
#project-tasks .followup-quote-decisions{border-top:2px solid #82916e;margin-top:24px;padding-top:20px}

/* Keep the service amount out of the number column of project lists. */
:is(#projects-grid,#admin-home-projects).projects-list .project-card-main>.project-service-price{grid-column:2;grid-row:4;min-width:0;max-width:100%;margin:4px 0 0;overflow-wrap:break-word}
@media(max-width:640px){
 :is(#projects-grid,#admin-home-projects).projects-list .project-card{grid-template-columns:minmax(0,1fr);gap:14px}
 :is(#projects-grid,#admin-home-projects).projects-list .project-card-main{grid-column:1;width:100%;min-width:0;grid-template-columns:max-content minmax(0,1fr)}
 :is(#projects-grid,#admin-home-projects).projects-list .project-card-actions{grid-column:1;display:flex;flex-direction:row;align-items:center;justify-self:end;align-self:auto;width:min(100%,230px);max-width:100%;gap:6px}
 :is(#projects-grid,#admin-home-projects).projects-list .project-card-actions>:is(.card-status,.card-bottom){flex:1 1 0;min-width:0;width:auto}
 :is(#projects-grid,#admin-home-projects).projects-list .project-card-actions .card-status,:is(#projects-grid,#admin-home-projects).projects-list .project-card-actions .card-open{height:32px;min-height:32px}
}

/* A full-width footer must not become a second flex column on mobile. */
.finance-proof-footer,.finance-proof-footer>.finance-proof-warning{max-width:100%;min-width:0;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere}
@media(max-width:640px){
 .file-row.has-proof-footer,.finance-document-row.has-proof-footer{flex-direction:column;flex-wrap:nowrap;align-items:stretch;min-width:0}
 .has-proof-footer>.finance-proof-footer{flex:0 0 auto;width:100%;max-width:100%;align-self:stretch}
 .has-proof-footer>.file-info,.has-proof-footer>.finance-document-info,.has-proof-footer>.file-actions{min-width:0;max-width:100%;width:100%}
 .has-proof-footer>.file-actions{flex-wrap:wrap}
}

.meeting-step-copy>.meeting-step-project{display:block;font-weight:700;overflow-wrap:anywhere}.meeting-step-copy>.meeting-step-label{display:block;margin-top:8px;font-size:12px;font-weight:500;color:#626c5a;line-height:1.5}

/* Planned dates remain pending until explicitly completed by the administrator. */
#app-view #home-view .client-date-card.agenda-date-pending{background:#fff5d7!important;border-color:#e5c66e;border-left-color:#d2aa27}
#app-view #home-view .client-date-card.agenda-date-pending:hover{background:#fff5d7!important}
#app-view .calendar-event.calendar-date-pending:not(.calendar-done):not(.calendar-late){background:#fff5d7;border-color:#e5c66e;border-left-color:#d2aa27}
#app-view .deadline-controls{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
#app-view #project-followup .next-step.deadline-completed{background:#e1eddf!important;border-color:#a7bda1;border-left-color:#347448}
#app-view .next-step.deadline-completed .meeting-datetime{color:#25633c;font-weight:600}
@media(max-width:640px){#app-view .deadline-controls{align-items:stretch}#app-view .deadline-controls>button{white-space:normal;max-width:100%}}

/* Pending calendar milestones use the same yellow as other pending cards. */
#app-view .calendar-event.calendar-milestone:not(.calendar-done):not(.calendar-late){background:#fff5d7;border-color:#e5c66e;border-left-color:#d2aa27}

/* Consistent visible buttons for every upcoming commitment action. */
#app-view .upcoming-commitment .file-actions>button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:10px 14px;border:1px solid #d5d7cc;border-radius:4px;background:#e9e5dc;color:#30362d;font-size:12px;line-height:1.4;white-space:normal;text-align:center}
#app-view .upcoming-commitment .file-actions>button:hover{background:#dfdfd4;border-color:#aeb7a4}
#app-view .upcoming-commitment .file-actions{gap:8px;flex-wrap:wrap}

#app-view .finance-more-documents{margin-top:16px;border:1px solid #d5d7cc;border-radius:8px;background:#fff;overflow:hidden}
#app-view .finance-more-documents>summary{cursor:pointer;padding:15px 18px;background:#f3f4ef;font-size:13px;color:#30362d}
#app-view .finance-more-documents>.finance-document-list{padding:12px}

#app-view .project-service-values{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
@media(max-width:900px){#app-view .project-service-values{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}

#app-view .project-service-values .service-value-paid dd{color:#28733e}
#app-view .project-service-values .service-value-unpaid dd{color:#b3312b}

#app-view .finance-metric-action{text-align:left;font-family:inherit;cursor:pointer;align-items:stretch;justify-content:flex-start}
#app-view .finance-metric.finance-to-invoice{background:#fae8e5;border-color:#d89991;color:#8c2924}
#app-view .finance-metric.finance-to-invoice small{color:#843b35}
#app-view .finance-metric-action .finance-metric-link{margin-top:auto;font-weight:600;color:inherit}
#app-view .finance-metric-action:hover{box-shadow:0 4px 12px #30382f1a}
.finance-metric-dialog{width:min(880px,calc(100vw - 32px))}
.finance-metric-projects{display:grid;gap:12px;margin-top:20px}
.finance-metric-project{display:flex;align-items:center;gap:16px;border:1px solid #d5d7cc;border-radius:8px;padding:16px;background:#fff}
.finance-metric-project>div{flex:1;min-width:0;display:grid;gap:7px;overflow-wrap:anywhere}
.finance-metric-project-value{color:#b3312b;white-space:nowrap}
.finance-metric-detail-total{display:flex;justify-content:space-between;gap:12px;margin:20px 0;padding:14px;background:#f1f3ed;border-radius:6px}
@media(max-width:640px){.finance-metric-project{flex-wrap:wrap}.finance-metric-project>div{flex-basis:100%}.finance-metric-project>button{margin-left:auto}.finance-metric-detail-total{flex-wrap:wrap}}

#app-view .project-payment-badge{display:inline-block;padding:5px 8px;margin:5px 0 0 8px;max-width:100%;border:1px solid;border-radius:4px;font-size:11px;font-weight:500;line-height:1.5;vertical-align:middle;white-space:normal;overflow-wrap:anywhere}
#app-view .project-payment-paid{color:#28633b;background:#e2efdf;border-color:#9fbea2}
#app-view .project-payment-pending{color:#765913;background:#fff3cc;border-color:#ddbc58}
#app-view .project-payment-overdue{color:#9e3029;background:#fae5e1;border-color:#d6968b}
#app-view .project-payment-unknown{color:#62675e;background:#f2f3ef;border-color:#c9cdbf}
@media(max-width:640px){#app-view .project-payment-badge{margin-left:0;display:table}}

#app-view .meeting-step-copy>.meeting-step-topic{margin:8px 0 0;font-size:14px;font-weight:500;line-height:1.6}

.finance-metric-invoiced .finance-metric-project-value{color:#30362d}
.finance-metric-received .finance-metric-project-value{color:#28733e}
#app-view .project-service-price>.project-service-edit{display:inline-flex;align-items:center;justify-content:center;min-height:28px;margin:5px 0 0 8px;padding:5px 9px;border:1px solid #cbd0c2;border-radius:4px;background:#eceee7;color:#30362d;font-size:11px;line-height:1.5;vertical-align:middle}
#app-view .project-service-price>.project-service-edit:hover{background:#dfe5d8}
@media(max-width:640px){#app-view .project-service-price>.project-service-edit{margin-left:0}}

#app-view .client-account-grid.account-settled{grid-template-columns:repeat(2,minmax(0,1fr))}
#app-view .client-account-metric.metric-paid dd{color:#28733e}
#app-view .client-account-metric.metric-pending dd{color:#805f12}
#app-view .client-account-metric.metric-overdue{background:#fae5e1;border-color:#d6968b}
#app-view .client-account-metric.metric-overdue dd{color:#a52f29}
#app-view .account-payment-overdue{background:#fae5e1;color:#9e3029;border:1px solid #d6968b;border-radius:4px;padding:12px}
@media(max-width:640px){#app-view .client-account-grid.account-simplified{grid-template-columns:repeat(2,minmax(0,1fr))}#app-view .client-account-grid.account-simplified>.client-account-metric:last-child:nth-child(3){grid-column:1/-1}}

#billing-list .file-row.has-financial-meta{flex-wrap:wrap}
#billing-list .file-row>.billing-financial-meta{display:block;flex:0 0 100%;width:100%;min-width:0;max-width:100%;order:90;margin-top:8px;white-space:nowrap;overflow-x:auto;overscroll-behavior-x:contain;font-size:12px;line-height:1.6;color:#73746b}
@media(max-width:640px){#billing-list .file-row.has-financial-meta{flex-direction:column;flex-wrap:nowrap;align-items:stretch}#billing-list .file-row>.billing-financial-meta{flex:0 0 auto;align-self:stretch}}
#billing-list{grid-template-columns:minmax(0,1fr)}

#app-view button.client-account-metric{border:1px solid #d3d6ce;border-radius:9px;background:#fff;color:#30362d;text-align:left;cursor:pointer;align-items:stretch;font:inherit}
#app-view button.client-account-metric.metric-paid{background:#e8f0e6;border-color:#a9c2a9}
#app-view button.client-account-metric.metric-pending{background:#fff5d7;border-color:#dfc26b}
#app-view button.client-account-metric.metric-overdue{background:#fae5e1;border-color:#d6968b}
#app-view .client-account-metric-title{font-size:14px;font-weight:700;line-height:1.4;min-height:2.8em}
#app-view .client-account-metric-amount{font-size:clamp(23px,2.6vw,32px);font-weight:400;line-height:1.25;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
#app-view .client-account-metric.metric-paid .client-account-metric-amount{color:#28733e}
#app-view .client-account-metric.metric-pending .client-account-metric-amount{color:#805f12}
#app-view .client-account-metric.metric-overdue .client-account-metric-amount{color:#a52f29}
#app-view .client-account-metric.metric-undefined .client-account-metric-amount{font-size:22px;color:#6a7065}
#app-view .client-account-report-link{margin-top:auto;color:#30362d}
#app-view button.client-account-metric:focus-visible{outline:2px solid #28733e;outline-offset:3px}
.client-account-report.finance-metric-pending .finance-metric-project-value{color:#805f12}
.client-account-report .account-report-credit .finance-metric-project-value{color:#28733e}
.client-account-report .account-report-overdue .finance-metric-project-value{color:#a52f29}
@media(max-width:800px){#app-view .client-account-metric-title{font-size:13px}#app-view .client-account-metric-amount{font-size:25px}}
@media(max-width:480px){#app-view .client-account-metric-title{font-size:12px}#app-view .client-account-metric-amount{font-size:22px}#app-view .client-account-metric.metric-undefined .client-account-metric-amount{font-size:20px}}

.invoice-register-panel{background:#fff;border:1px solid #d5d7cc;border-radius:9px;overflow:hidden}
.invoice-register-body{padding:24px}
.finance-quick-form>.finance-quick-upload{grid-column:1/-1;padding:18px;border:1px solid #d5d7cc;border-radius:8px;background:#f6f4ef}
.finance-quick-form>.finance-quick-upload input{width:100%;box-sizing:border-box;min-width:0}
@media(max-width:640px){.invoice-register-body{padding:16px}}

.finance-services-panel{margin-top:24px;border:1px solid #d5d7cc;border-radius:9px;overflow:hidden;background:#fff}
.finance-services-panel>.section-heading{margin:0;border-radius:0}
.finance-services-panel>.section-heading+.muted{margin:0;border-radius:0}
.finance-services-body{padding:24px;background:#fff}
.finance-services-body .finance-project{background:#fff}
@media(max-width:640px){.finance-services-body{padding:16px}}

/* Continuous client-view history on mobile only. */
@media(max-width:640px){
 #app-view .view-log-list{gap:0;row-gap:0;margin:0;padding:0}
 #app-view .view-log-list>.view-log-card{box-sizing:border-box;width:100%;max-width:none;margin:0;padding:16px;border-top:0;border-right:0;border-left:0;border-bottom:1px solid #d5d9cd;border-radius:0;box-shadow:none;transform:none}
 #app-view #home-view>.home-views-section{padding:0 0 16px}
 #app-view #home-view>.home-views-section>.home-section-heading{margin:0}
 #app-view #home-view>.home-views-section>.secondary{margin:16px 16px 0}
}

/* Center the mobile client-view footer action. */
@media(max-width:640px){#app-view #home-view>.home-views-section{padding-bottom:0}#app-view #home-view>.home-views-section>.secondary{display:block;width:fit-content;max-width:calc(100% - 32px);margin:16px auto;padding:10px 16px;text-align:center}}
