@layer module-structure {
.project-module{max-width:1600px;margin:auto}.work-toolbar{padding:var(--space-20);margin:var(--space-20) 0}.work-toolbar>.input-wrap{max-width:none}.work-filter-row{display:flex;gap:var(--space-16);align-items:end;flex-wrap:wrap;margin-top:var(--space-16)}.work-filter-row>label{display:grid;gap:var(--space-4);font-size:var(--text-body);font-weight:600}.work-filter-row select{min-width:150px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:var(--radius-control);padding:var(--space-8)}.work-filter-row .view-switch{margin-left:auto}.work-filter-row>span{padding:var(--space-8);color:var(--muted);font-size:var(--text-body)}.work-card h2{margin:var(--space-16) 0 var(--space-12)}.work-card h2 button{font-size:var(--text-section);text-align:left;line-height:1.35;width:100%;justify-content:space-between}.work-card p{overflow-wrap:anywhere}.work-number{font-size:var(--text-meta);color:var(--muted);font-weight:600;overflow-wrap:anywhere;display:block}.work-kind{font-size:var(--text-meta);display:flex;align-items:center;gap:var(--space-4);color:var(--muted)}.work-kind svg{width:15px;height:15px}.work-status{display:inline-flex;white-space:nowrap;align-items:center;align-self:start;font-size:var(--text-meta);padding:var(--space-4) var(--space-8);background:var(--accent-soft,#f9e9ec);color:var(--accent,#c93748);border-radius:var(--radius-control);font-weight:600}.work-status.complete{background:#e7f4ed;color:#216d4d}.work-client,.work-address{display:flex;align-items:start;gap:var(--space-8);font-size:var(--text-body);color:var(--muted);line-height:1.55;margin:var(--space-8) 0}.work-client svg,.work-address svg{width:15px;height:15px;flex-shrink:0;margin-top:var(--space-4)}.work-card-facts{border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-8);padding:var(--space-16) 0 var(--space-4);margin-top:var(--space-20);font-size:var(--text-meta);color:var(--muted)}.work-card-facts>span{display:flex;gap:var(--space-4);align-items:center}.work-card-facts svg{width:14px;height:14px}.work-card footer small{font-size:var(--text-meta);color:var(--muted)}.work-pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-20);margin:var(--space-24) 0}.work-pagination span{font-size:var(--text-body);color:var(--muted)}.work-table{width:100%;border-collapse:collapse;text-align:left}.work-table th{font-size:var(--text-meta);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--soft);padding:var(--space-16)}.work-table td{padding:var(--space-16) var(--space-16);border-top:1px solid var(--line);font-size:var(--text-body);vertical-align:top;line-height:1.5}.work-table td small{display:block;font-size:var(--text-meta);color:var(--muted);margin:var(--space-4) 0}.work-table .text-button{font-size:var(--text-body)}.work-table td p{white-space:pre-wrap;font-size:var(--text-body);max-width:600px}.work-table td button+button{margin-top:var(--space-8)}.work-hero{display:flex;align-items:center;justify-content:space-between;gap:var(--space-24);padding:var(--space-8) 0 var(--space-20)}.work-hero h1{font-size:var(--text-page);letter-spacing:-1.4px;margin:var(--space-8) 0 var(--space-12);overflow-wrap:anywhere}.work-hero p:not(.eyebrow){color:var(--muted);font-size:var(--text-body);line-height:1.7;margin:0}.work-hero>.primary{flex-shrink:0}.work-tabs{margin-bottom:var(--space-24)}.work-tabs button{display:flex;align-items:center;gap:var(--space-8)}.work-tabs svg{width:17px;height:17px}.work-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:var(--space-8) var(--space-20) var(--space-20);gap:0 var(--space-24)}.work-facts>div{padding:var(--space-16) 0;border-bottom:1px solid var(--line)}.work-facts dt,.work-clients small{font-size:var(--text-meta);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:var(--space-8)}.work-facts dd{font-size:var(--text-body);font-weight:600;margin:0;overflow-wrap:anywhere;line-height:1.65}.work-information{margin-bottom:var(--space-20)}.work-overview-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:var(--space-20)}.work-overview-grid>div{display:flex;flex-direction:column;gap:var(--space-20)}.work-scope{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;font-size:var(--text-body);margin:0;padding:var(--space-8) var(--space-24) var(--space-24);min-height:150px;color:var(--muted)}.work-notes{padding:0 var(--space-24) var(--space-20)}.work-notes article{padding:var(--space-16) 0;border-bottom:1px solid var(--line)}.work-notes article>div{display:flex;justify-content:space-between;gap:var(--space-8);font-size:var(--text-body)}.work-notes time,.work-notes small{font-size:var(--text-meta);color:var(--muted)}.work-notes p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--text-body);line-height:1.8}.work-clients{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-20);padding:var(--space-4) var(--space-24) var(--space-24)}.work-clients .text-button{font-size:var(--text-body);text-align:left}.work-clients small{display:block}.work-notice{background:var(--soft);display:flex;align-items:start;gap:var(--space-8);margin:0 var(--space-20) var(--space-20);border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-12) var(--space-16);color:var(--muted)}.work-notice>svg{width:17px;height:17px;flex-shrink:0;margin-top:var(--space-4)}.work-notice p{font-size:var(--text-body);line-height:1.7;margin:0}.work-task-actions{display:flex;align-items:center;gap:var(--space-20)}.task-progress{width:100%;height:4px;border:0;display:block;accent-color:#2b8a69;margin:0 0 var(--space-20)}.tasks-table{min-width:760px}.tasks-table input[type=checkbox]{width:19px;height:19px;accent-color:#2b8a69}.task-done{text-decoration:line-through;color:var(--muted)}.work-task-actions strong{font-size:var(--text-section)}.work-agenda{padding:0 var(--space-20) var(--space-20);max-height:650px;overflow:auto}.work-event{display:flex;width:100%;align-items:center;gap:var(--space-16);padding:var(--space-20) var(--space-12);text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text)}.work-event:hover{background:var(--soft)}.work-event time{font-size:var(--text-meta);color:var(--accent,#c93748);width:105px;flex-shrink:0}.work-event>span{display:grid;gap:var(--space-8);flex:1;min-width:0}.work-event strong{font-size:var(--text-body);overflow-wrap:anywhere}.work-event small{font-size:var(--text-meta);color:var(--muted)}.work-event>svg{width:16px;height:16px;flex-shrink:0}.work-calendar-scroll{overflow:auto}.work-calendar{min-width:620px}.work-weekdays,.work-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.work-weekdays>span{font-size:var(--text-meta);text-align:center;color:var(--muted);padding:var(--space-16)}.work-day{min-height:130px;border-top:1px solid var(--line);border-right:1px solid var(--line);padding:var(--space-8);overflow:hidden}.work-day>span{font-size:var(--text-body);font-weight:600}.work-day.outside{background:var(--soft);color:var(--muted)}.work-event.compact{display:block;background:var(--accent-soft,#f9e9ec);border:0;border-radius:var(--radius-control);margin-top:var(--space-8);padding:var(--space-8);color:var(--text)}.work-event.compact time,.work-event.compact svg,.work-event.compact small{display:none}.work-event.compact strong{font-size:var(--text-meta);line-height:1.5}.work-preserved{padding:0 var(--space-20) var(--space-20)}.work-preserved details{border-top:1px solid var(--line);padding:var(--space-16) 0}.work-preserved summary{font-size:var(--text-body);font-weight:600;cursor:pointer}.work-client-projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-12);padding:0 var(--space-20) var(--space-20)}.work-client-projects>div{border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-16);display:flex;flex-direction:column;align-items:start;gap:var(--space-8)}.work-client-projects small,.work-client-projects>div>span:last-child{font-size:var(--text-meta);color:var(--muted);overflow-wrap:anywhere}.work-loading{padding:65px var(--space-32);text-align:center;color:var(--muted)}.project-module .profile-panel+.profile-panel{margin-top:var(--space-20)}.project-module .profile-panel header .eyebrow{font-size:var(--text-meta);margin:0 0 var(--space-4)}.project-module .profile-panel header h2{font-size:var(--text-card)}.project-module .profile-panel header .button{font-size:var(--text-meta)}.project-module .profile-panel header{flex-wrap:wrap;gap:var(--space-16)}.project-module .calendar-toolbar{flex-wrap:wrap;gap:var(--space-12)}.project-module button:disabled{cursor:not-allowed;opacity:.55}[data-theme=dark] .work-status.complete{background:#183d30;color:#94d7b7}[data-theme=dark] .work-status,[data-theme=dark] .work-event.compact{background:#40242b;color:#e8a3af}@media(min-width:1450px){.project-module .records-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1000px){.work-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.work-overview-grid{grid-template-columns:1fr}.work-filter-row .view-switch{margin-left:0}}@media(max-width:650px){.work-hero{flex-direction:column;align-items:start}.work-hero h1{font-size:var(--text-page)}.work-filter-row>label{flex:1;min-width:120px}.work-filter-row select{min-width:0;width:100%}.work-toolbar{padding:var(--space-16)}.work-clients,.work-client-projects{grid-template-columns:1fr}.work-facts{padding:var(--space-4) var(--space-16) var(--space-16);gap:0 var(--space-16)}.work-event{gap:var(--space-8);padding:var(--space-16) 0}.work-event time{width:75px;font-size:var(--text-meta)}.work-tabs button{min-width:120px}.work-overview-grid .profile-panel{min-width:0}}
.project-module .records-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,max(20rem,calc((100% - 40px)/3))),1fr));gap:var(--space-20)}
.record-card.work-card{position:relative;isolation:isolate;padding:var(--space-24);border-radius:var(--radius-dialog);text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.work-card .record-card-top{align-items:center;margin-bottom:var(--space-20);gap:var(--space-12);flex-wrap:wrap}
.work-card .work-kind{display:inline-flex;background:color-mix(in srgb,var(--accent) 7%,var(--surface));color:var(--accent);font-size:var(--text-body);font-weight:650;padding:var(--space-4) var(--space-8);border-radius:999px}
.work-card .work-status{font-size:var(--text-body);line-height:1.4;padding:var(--space-4) var(--space-8);border-radius:999px;background:color-mix(in srgb,var(--accent) 5%,var(--surface));color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));white-space:normal}
.work-card .work-status.complete{background:color-mix(in srgb,#238565 8%,var(--surface));border-color:color-mix(in srgb,#238565 20%,var(--line));color:#216d4d}
.work-card .number-pair{gap:var(--space-12);margin-bottom:var(--space-20)}
.work-card .number-pair>div{padding:var(--space-12) var(--space-12);border-radius:var(--radius-card);min-width:0}
.work-card .number-pair span,.work-card .field-caption{font-size:var(--text-body);line-height:1.45;letter-spacing:.025em}
.work-card .number-pair strong{font-size:var(--text-section);line-height:1.3;margin-top:var(--space-4);overflow-wrap:anywhere}
.work-card .record-name{padding-bottom:var(--space-20)}
.work-card .record-name h2{font-size:var(--text-section);line-height:1.4;font-weight:600;letter-spacing:-.02em;margin:var(--space-8) 0 var(--space-8)}
.work-card-link{color:inherit;text-decoration:none}
.work-card-link::after{content:"";position:absolute;inset:0;border-radius:inherit;z-index:1}
.work-card-link:focus-visible{outline:none}
.work-card-link:focus-visible::after{outline:2px solid var(--accent);outline-offset:3px}
.work-card .record-name p{font-size:var(--text-body);line-height:1.55;margin:var(--space-4) 0 0;overflow-wrap:anywhere}
.work-card .record-name .work-card-client{color:var(--text)}
.work-card-address,.work-card-manager{display:flex;align-items:flex-start;gap:var(--space-8)}
.work-card-address svg,.work-card-manager svg{width:15px;height:15px;margin-top:var(--space-4)}
.work-card .record-name .work-card-manager{font-size:var(--text-body);margin-top:var(--space-8)}
.work-card .record-summary{margin-top:auto;padding:var(--space-16) 0;gap:var(--space-12);font-size:var(--text-body)}
.work-card .record-summary>div{display:grid;grid-template-columns:17px minmax(0,1fr) auto;align-items:center;gap:var(--space-8)}
.work-card .record-summary svg{width:17px;height:17px}
.work-card .record-summary strong{color:var(--text);font-size:var(--text-body);font-variant-numeric:tabular-nums;white-space:nowrap}
.work-card .record-summary strong>span{color:var(--muted);font-weight:400}
.work-summary-pending{max-width:8rem;font-size:var(--text-body);line-height:1.5;text-align:right;color:var(--muted)}
.work-card footer{margin-top:0;padding-top:var(--space-16);gap:var(--space-12);flex-wrap:wrap}
.work-card footer>span.work-card-deadline{gap:var(--space-8);align-items:center}
.work-card footer svg{width:17px;height:17px}
.work-card-deadline>span{display:flex;flex-direction:column;gap:var(--space-4);font-size:var(--text-body)}
.work-card-deadline strong{color:var(--text);font-size:var(--text-body);font-weight:500}
.work-card footer .record-open{margin-left:auto;font-size:var(--text-body);line-height:1.5;font-weight:600;text-align:right}
.work-card:focus-within{border-color:var(--accent);box-shadow:0 16px 38px #24322816,0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent)}
@media(hover:hover) and (pointer:fine){.work-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 18px 40px #2432281c,0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent)}}
.work-card:active{transform:translateY(-1px)}
html[data-theme=dark] .work-card .work-status.complete{color:#75c9ac}
@media(max-width:600px){.record-card.work-card{padding:var(--space-20)}.project-module .records-grid{gap:var(--space-16)}}
@media(prefers-reduced-motion:reduce){.record-card.work-card{transition:none;transform:none}}

/* Project and service-call detail layout follows the supplied Office reference. */
.work-detail>.profile-breadcrumb{margin:0 0 var(--space-8)}
.work-detail>.profile-breadcrumb button{color:var(--accent);font-size:var(--text-body);gap:var(--space-8)}
.work-detail .work-hero{align-items:flex-end;padding:0;margin-bottom:var(--space-16);gap:var(--space-24)}
.work-detail .work-hero>div{min-width:0}
.work-detail .work-hero h1{font-size:var(--text-page);font-weight:750;line-height:1.12;letter-spacing:-1.8px;margin:0 0 var(--space-8)}
.work-detail .work-hero p{font-size:var(--text-body);line-height:1.6;overflow-wrap:anywhere}
.work-detail .work-hero>.primary{margin-bottom:var(--space-8);border-radius:var(--radius-card);box-shadow:0 8px 22px #cc354625}
.work-detail-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-4);padding:var(--space-4);margin:0 0 var(--space-12);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card)}
.work-detail-tabs>button{display:flex;align-items:center;gap:var(--space-8);min-width:0;min-height:52px;text-align:left;border:1px solid transparent;border-radius:var(--radius-control);padding:var(--space-8) var(--space-8);color:var(--muted)}
.work-detail-tabs>button>span:last-child{min-width:0}
.work-tab-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border-radius:var(--radius-control);background:var(--soft)}
.work-tab-icon svg{width:17px;height:17px}
.work-detail-tabs strong,.work-detail-tabs small{display:block;font-size:var(--text-meta);line-height:1.4}
.work-detail-tabs strong{font-weight:650}
.work-detail-tabs small{font-size:var(--text-meta);margin-top:var(--space-4)}
.work-detail-tabs>button[aria-selected=true]{background:color-mix(in srgb,var(--accent) 8%,var(--surface));border-color:color-mix(in srgb,var(--accent) 42%,var(--surface));color:var(--accent)}
.work-detail-tabs>button[aria-selected=true] .work-tab-icon{background:var(--surface)}
.work-detail-tabs>button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.work-detail .work-information{margin-bottom:var(--space-12)}
.work-detail :is(.work-information,.work-notes-panel,.work-scope-panel)>header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-16);padding:var(--space-16)}
.work-detail .work-information>header{align-items:center;padding:var(--space-16) var(--space-20);border-bottom:1px solid var(--line);min-height:85px}
.work-section-heading{display:flex;align-items:flex-start;gap:var(--space-12);min-width:0}
.work-section-heading>div{min-width:0}
.work-section-icon,.work-detail-fact>span{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;border-radius:var(--radius-control);color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}
.work-section-icon{margin-top:var(--space-4)}
.work-section-icon svg,.work-detail-fact>span svg{width:16px;height:16px}
.work-section-heading .eyebrow{font-size:var(--text-meta);line-height:1.4;letter-spacing:1px;color:var(--muted);margin:0 0 var(--space-4)}
.work-section-heading h2{font-size:var(--text-card);line-height:1.3;font-weight:700;letter-spacing:-.2px;margin:0}
.work-section-heading p:last-child{font-size:var(--text-meta);line-height:1.6;color:var(--muted);margin:var(--space-4) 0 0}
.work-detail .work-information .work-status{font-size:var(--text-meta);line-height:1.5;border-radius:999px;padding:var(--space-4) var(--space-8);border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));align-self:center}
.work-detail-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0 var(--space-20)}
.work-detail-fact{display:flex;align-items:center;gap:var(--space-12);min-width:0;padding:var(--space-24) var(--space-20) var(--space-24) 0}
.work-detail-fact:nth-child(-n+4){border-bottom:1px solid var(--line)}
.work-detail-fact>div{min-width:0}
.work-detail-fact dt{text-transform:uppercase;font-size:var(--text-meta);line-height:1.5;letter-spacing:.025em;color:var(--muted);margin:0 0 var(--space-4)}
.work-detail-fact dd{font-size:var(--text-body);line-height:1.5;font-weight:650;margin:0;overflow-wrap:anywhere}
.work-detail .work-overview-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:var(--space-12)}
.work-notes-panel,.work-scope-panel{display:flex;flex-direction:column;min-width:0;min-height:286px}
.work-note-count{display:flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 var(--space-8);border-radius:50%;background:color-mix(in srgb,var(--accent) 8%,var(--surface));color:var(--accent);font-size:var(--text-meta);font-weight:650;flex-shrink:0}
.work-notes-preview{display:flex;align-items:center;flex:1;min-height:116px;padding:var(--space-12) var(--space-16) var(--space-16)}
.work-notes-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-8);text-align:center;width:100%;padding:var(--space-12);color:var(--muted)}
.work-notes-empty>svg{color:var(--accent);width:23px;height:23px}
.work-notes-empty strong{font-size:var(--text-body);color:var(--text);font-weight:600}
.work-notes-empty p{font-size:var(--text-meta);line-height:1.5;margin:0}
.work-notes-preview article{min-width:0;width:100%}
.work-notes-preview article>div{display:flex;align-items:center;justify-content:space-between;gap:var(--space-12);font-size:var(--text-body)}
.work-notes-preview article time{font-size:var(--text-meta);color:var(--muted)}
.work-notes-preview article p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere;margin:var(--space-8) 0 0;font-size:var(--text-body);line-height:1.7;color:var(--muted)}
.work-notes-panel>footer,.work-scope-panel>footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-12);border-top:1px solid var(--line);margin:0 var(--space-16);padding:var(--space-12) 0 var(--space-16)}
.work-notes-panel>footer small,.work-scope-panel>footer small{font-size:var(--text-meta);line-height:1.5;color:var(--muted)}
.work-notes-panel>footer .button,.work-scope-panel>footer .primary{min-height:40px;border-radius:var(--radius-card);font-size:var(--text-meta);padding:var(--space-8) var(--space-12);flex-shrink:0}
.work-notes-panel>footer .button svg,.work-scope-panel>footer .primary svg{width:15px;height:15px}
.work-scope-panel>header{padding-bottom:var(--space-12)}
.work-scope-symbol{color:var(--accent);margin-top:var(--space-4);display:flex}
.work-scope-symbol svg{width:18px;height:18px}
.work-scope-preview{flex:1;min-height:124px;max-height:180px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--soft);padding:var(--space-12);margin:0 var(--space-16) var(--space-12);font-size:var(--text-body);line-height:1.7;color:var(--text)}
.work-scope-preview.is-empty{font-size:var(--text-meta);color:var(--muted)}
.work-scope-panel>footer .primary{box-shadow:0 8px 22px #cc354620}
.work-notes-modal{max-width:700px}
.work-notes-dialog{padding:0 var(--space-20) var(--space-20)}
.work-notes-dialog .work-notes{padding:0;max-height:52vh;overflow:auto}
.work-notes-dialog .form-actions{margin-top:var(--space-16)}
@media(max-width:1100px){.work-detail-tabs{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(170px,1fr);overflow-x:auto}.work-detail .work-overview-grid{grid-template-columns:1fr}.work-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.work-detail-fact:nth-child(-n+6){border-bottom:1px solid var(--line)}}
@media(max-width:650px){.work-detail .work-hero{align-items:flex-start;gap:var(--space-16)}.work-detail .work-hero h1{font-size:var(--text-page);letter-spacing:-1px}.work-detail .work-hero>.primary{margin:0}.work-detail-facts{padding:0 var(--space-16);gap:0 var(--space-12)}.work-detail-fact{gap:var(--space-8);padding:var(--space-20) 0}.work-detail-fact>span{width:28px;height:28px}.work-detail-fact dt{font-size:var(--text-meta)}.work-section-heading{gap:var(--space-8)}.work-section-heading .eyebrow{font-size:var(--text-meta);letter-spacing:.7px}.work-detail :is(.work-information,.work-notes-panel,.work-scope-panel)>header{padding:var(--space-16)}.work-detail .work-information>header{gap:var(--space-8);flex-wrap:wrap}}
@media(max-width:420px){.work-detail-facts{grid-template-columns:1fr}.work-detail-fact:nth-child(-n+7){border-bottom:1px solid var(--line)}}

}

/* Project creation: one compact construction workspace, scoped to new records. */
.modal.project-create-modal {
  width:min(100%,1000px); max-width:1000px; max-height:calc(100dvh - 40px);
  border:1px solid rgba(255,255,255,.82); border-radius:28px;
  background:radial-gradient(ellipse at 95% 0%,rgba(207,55,72,.07),transparent 50%),linear-gradient(145deg,rgba(255,255,255,.94),rgba(240,244,247,.84));
  box-shadow:inset 0 1px 0 #fff,0 30px 100px rgba(18,29,43,.24);
  backdrop-filter:blur(36px) saturate(155%); -webkit-backdrop-filter:blur(36px) saturate(155%);
  overflow:auto; color:var(--text);
}
.project-create-modal>header { padding:18px 24px; border-bottom:1px solid rgba(106,123,140,.12); background:rgba(255,255,255,.3); }
.project-create-modal>header h2 { font-size:22px; font-weight:650; letter-spacing:-.035em; }
.project-create-modal>header .icon-button { width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,.65); border:1px solid rgba(255,255,255,.85); box-shadow:inset 0 1px 0 #fff,0 4px 12px #1e31420a; }
.project-create-modal .estimation-form { padding:18px 22px 16px; }
.project-create-modal .form-grid { display:flex; flex-direction:column; gap:14px; }
.project-create-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; }
.project-create-section { min-width:0; padding:16px; border:1px solid rgba(255,255,255,.88); border-radius:20px; background:linear-gradient(140deg,rgba(255,255,255,.62),rgba(255,255,255,.28)); box-shadow:inset 0 1px 0 #fff,0 7px 22px #293c4e06; }
.project-create-section h3 { margin:0 0 14px; display:flex; align-items:center; gap:9px; color:var(--text); font-size:15px; font-weight:650; letter-spacing:-.015em; }
.project-create-section h3 svg { width:20px; height:20px; color:var(--accent); }
.project-create-fields { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px 14px; }
.project-create-modal .form-field { gap:5px; font-size:13px; font-weight:550; line-height:1.3; }
.project-create-modal .form-field.span-2,.project-create-fields>.form-field:last-child:has([name=owner_contact_id]) { grid-column:1/-1; }
.project-create-modal .form-field input,.project-create-modal .form-field select,.project-create-modal .form-field textarea {
  box-sizing:border-box; min-height:40px; padding:8px 11px; font-size:14px; line-height:1.4;
  border:1px solid rgba(113,132,151,.19); border-radius:12px; background:linear-gradient(140deg,rgba(255,255,255,.87),rgba(255,255,255,.48));
  box-shadow:inset 0 1px 0 #fff,0 2px 6px #253c5103; color:var(--text);
}
.project-create-modal .form-field input:focus-visible,.project-create-modal .form-field select:focus-visible,.project-create-modal .form-field textarea:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.project-create-modal .project-create-scope { padding:12px 16px; }
.project-create-modal .project-create-scope h3 { margin-bottom:8px; }
.project-create-modal .project-create-scope .form-field>span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.project-create-modal .form-field textarea { height:76px; min-height:76px; resize:none; }
.project-create-modal .form-actions { position:sticky; bottom:-16px; margin-top:14px; padding:12px 0 0; background:transparent; border-top:1px solid rgba(107,124,141,.12); }
.project-create-modal .form-actions button { border-radius:100px; min-height:40px; padding:9px 22px; font-size:14px; }
.project-create-modal .form-actions .primary { box-shadow:inset 0 1px 0 #ffffff40,0 8px 22px #c42b3b24; }
html[data-theme=dark] .modal.project-create-modal { background:radial-gradient(ellipse at top right,#bd33451a,transparent 55%),linear-gradient(140deg,#24303aef,#18232eea); border-color:#ffffff24; }
html[data-theme=dark] .project-create-modal>header,html[data-theme=dark] .project-create-section { background:linear-gradient(140deg,#ffffff0d,#ffffff03); border-color:#ffffff1c; box-shadow:inset 0 1px 0 #ffffff14; }
html[data-theme=dark] .project-create-modal .form-field input,html[data-theme=dark] .project-create-modal .form-field select,html[data-theme=dark] .project-create-modal .form-field textarea,html[data-theme=dark] .project-create-modal>header .icon-button { background:#ffffff09; border-color:#ffffff20; box-shadow:inset 0 1px 0 #ffffff08; color:var(--text); }
@media(max-height:700px) and (min-width:761px) {
  .project-create-modal>header { padding:13px 20px; }
  .project-create-modal .estimation-form { padding:12px 18px; }
  .project-create-section { padding:12px; }
  .project-create-section h3 { margin-bottom:10px; }
  .project-create-fields { gap:9px 12px; }
  .project-create-modal .form-grid { gap:10px; }
  .project-create-modal .form-field textarea { height:62px; min-height:62px; }
}
@media(max-width:760px) {
  .modal.project-create-modal { max-height:calc(100dvh - 24px); border-radius:22px; }
  .project-create-columns { grid-template-columns:1fr; gap:12px; }
  .project-create-modal .estimation-form { padding:14px; }
  .project-create-modal .form-actions { background:var(--surface); padding:12px 4px; bottom:-14px; }
}
.project-create-modal .project-client-company,.project-create-modal .project-client-contact { min-width:0; grid-column:1/-1; }
.project-create-modal .project-client-company[hidden] { display:none; }
.project-create-modal select:disabled { opacity:.6; cursor:default; }



/* Keep paired project/client fields on shared rows, including address help text. */
.project-create-modal .project-create-fields>.form-field:has([name=owner_type]) { grid-column:1/-1; }
.project-create-modal .project-create-fields .form-field { align-self:start; width:100%; }
.project-create-modal .project-create-fields .form-field>span,
.project-create-modal .project-create-fields .form-field>label { line-height:17px; min-height:17px; font-weight:550; }
.project-create-modal .project-create-fields .form-field input,
.project-create-modal .project-create-fields .form-field select { width:100%; height:40px; min-height:40px; }
.project-create-modal .project-address-field>small { font-weight:400; }
.project-create-modal .project-address-field .address-attribution { margin-top:0; }
@supports(grid-template-rows:subgrid) {
  @media(min-width:761px) {
    .project-create-modal .project-create-columns { grid-template-rows:auto auto auto auto; row-gap:12px; align-items:stretch; }
    .project-create-modal .project-create-columns>.project-create-section { display:grid; grid-row:1 / span 4; grid-template-rows:subgrid; row-gap:12px; align-content:start; }
    .project-create-modal .project-create-columns>.project-create-section:first-child { grid-column:1; }
    .project-create-modal .project-create-columns>.project-create-section:nth-child(2) { grid-column:2; }
    .project-create-modal .project-create-columns>.project-create-section>h3 { grid-row:1; margin:0; align-self:start; }
    .project-create-modal .project-create-columns .project-create-fields { grid-row:2 / span 3; grid-template-rows:subgrid; row-gap:12px; }
    .project-create-modal .project-client-company,
    .project-create-modal .project-client-contact { align-self:start; }
  }
  @media(max-height:700px) and (min-width:761px) {
    .project-create-modal .project-create-columns,
    .project-create-modal .project-create-columns>.project-create-section,
    .project-create-modal .project-create-columns .project-create-fields { row-gap:9px; }
  }
}

/* Project record: glass reference rail, relationships and site address. */
.content .work-detail .work-record-summary{padding:0;overflow:hidden;background:var(--glass-panel);border:1px solid var(--glass-edge);border-radius:22px;box-shadow:var(--glass-shadow)}
.work-detail .work-record-summary>header.work-summary-header{min-height:0;padding:16px 22px;align-items:center;border-bottom:1px solid var(--line);gap:16px}
.work-summary-header h2{margin:0;font-size:15px;font-weight:600;letter-spacing:-.2px;line-height:1.4}
.work-summary-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}
.work-summary-edit{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:32px;padding:6px 11px;border:1px solid var(--line);border-radius:999px;background:var(--glass-control);box-shadow:var(--glass-control-shadow);color:var(--text);font-size:12px;font-weight:500;cursor:pointer;transition:background .18s,border-color .18s}
.work-summary-edit svg{width:13px;height:13px}
.work-summary-edit:hover{background:var(--glass-hover);border-color:var(--accent-line)}
.work-summary-body{display:grid;grid-template-columns:180px minmax(0,1fr);padding:22px;gap:26px}
.work-summary-body dl{margin:0}
.work-summary-body dt{color:var(--muted);font-size:12px;font-weight:400;line-height:1.5;margin:0 0 6px;text-transform:none;letter-spacing:0}
.work-summary-body dd{margin:0;color:var(--text);font-size:14px;font-weight:500;line-height:1.5;overflow-wrap:anywhere}
.work-summary-body .work-summary-reference{padding:16px 18px;border-radius:16px;background:var(--glass-inset);border:1px solid var(--line);box-shadow:var(--glass-highlight);display:flex;flex-direction:column;justify-content:center;gap:13px}
.work-summary-reference .work-summary-number{font-size:34px;font-weight:550;line-height:1.05;letter-spacing:-1.4px;font-variant-numeric:tabular-nums}
.work-summary-reference>div:first-child dt{margin-bottom:9px}
.work-summary-year{display:flex;align-items:baseline;gap:9px}
.work-summary-year dt{margin:0}.work-summary-year dd{font-variant-numeric:tabular-nums}
.work-summary-context{min-width:0;display:flex;flex-direction:column;justify-content:center}
.work-summary-people{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px;padding:3px 0 20px}
.work-summary-party{display:flex;align-items:center;gap:12px;min-width:0}
.work-summary-party>div{min-width:0}
.work-summary-symbol,.work-summary-avatar{width:40px;height:40px;flex:0 0 40px;display:flex;align-items:center;justify-content:center;border-radius:13px;background:var(--glass-inset);border:1px solid var(--line);box-shadow:var(--glass-highlight);color:var(--muted)}
.work-summary-symbol svg,.work-summary-avatar svg{width:18px;height:18px}
.work-summary-avatar{border-radius:50%;font-size:12px;font-weight:600;color:var(--accent);background:var(--accent-soft)}
.work-summary-body .is-unassigned{color:var(--muted);font-weight:400}
.work-summary-site{padding-top:17px;border-top:1px solid var(--line)}
.work-summary-site>div{display:flex;align-items:center;gap:12px}
.work-summary-site>div>div{min-width:0}
.work-summary-pin{width:40px;flex:0 0 40px;display:flex;align-items:center;justify-content:center;color:var(--muted)}
.work-summary-pin svg{width:18px;height:18px}
.work-fact-link{display:inline-flex;align-items:center;gap:10px;max-width:100%;padding:0;border:0;background:transparent;color:var(--text);font:inherit;text-align:left;text-decoration:none;cursor:pointer;transition:color .18s ease}
.work-fact-link>svg{width:14px;height:14px;flex-shrink:0;color:var(--muted)}
.work-fact-link:hover,.work-fact-link:hover>svg{color:var(--accent)}
.work-fact-link:focus-visible,.work-summary-edit:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:6px}
@media(max-width:1000px){.work-summary-body{grid-template-columns:145px minmax(0,1fr);gap:20px}.work-summary-people{gap:16px}.work-summary-party{gap:9px}}
@media(max-width:760px){.work-summary-body{grid-template-columns:125px minmax(0,1fr);padding:18px;gap:18px}.work-summary-people{grid-template-columns:1fr;gap:18px}.work-summary-reference .work-summary-number{font-size:30px}}
@media(max-width:480px){.work-detail .work-record-summary>header.work-summary-header{padding:14px 16px;gap:10px;flex-wrap:wrap}.work-summary-header h2{font-size:14px}.work-summary-actions{gap:8px}.work-summary-body{grid-template-columns:1fr;padding:16px;gap:22px}.work-summary-body .work-summary-reference{flex-direction:row;justify-content:space-between;align-items:center;padding:14px 16px;gap:20px}.work-summary-year{flex-direction:column;align-items:flex-end;gap:0}.work-summary-reference .work-summary-number{font-size:30px}.work-summary-party{min-height:44px}.work-fact-link{min-height:28px}.work-summary-edit{min-height:36px}}
/* Notes and scope share the record's restrained glass material. */
.content .work-detail .work-collaboration-card{padding:0;overflow:hidden;min-height:280px;border-radius:22px;border:1px solid var(--glass-edge);background:var(--glass-panel);box-shadow:var(--glass-shadow)}
.work-detail .work-collaboration-card>header{padding:16px 20px;min-height:65px;border-bottom:1px solid var(--line);align-items:center;gap:12px}
.work-collaboration-card h2{display:flex;align-items:center;gap:9px;margin:0;font-size:15px;font-weight:600;letter-spacing:-.2px}
.work-collaboration-card h2>svg{width:17px;height:17px;color:var(--muted)}
.work-collaboration-card .work-note-count{min-width:23px;height:23px;font-size:11px;font-weight:500;background:var(--soft);color:var(--muted);border:1px solid var(--line)}
.work-note-feed{padding:0 20px;flex:1;overflow:auto;max-height:350px}
.work-note-card{display:flex;align-items:flex-start;gap:12px;padding:20px 0;border-bottom:1px solid var(--line)}
.work-note-card:last-child{border-bottom:0}
.work-note-avatar{display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:var(--glass-inset);border:1px solid var(--line);color:var(--muted);font-size:10px;font-weight:600}
.work-note-content{min-width:0;flex:1}.work-note-content>header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:0;border:0;min-height:0}
.work-note-content>header>span{font-size:13px;font-weight:550;overflow-wrap:anywhere}.work-note-content time{font-size:11px;color:var(--muted);font-weight:400}
.work-note-content>p{font-size:14px;line-height:1.7;margin:8px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.work-note-actions{display:flex;align-items:center;gap:15px;margin-top:10px}.work-note-actions .text-button{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:400;padding:3px 0;color:var(--muted)}.work-note-actions svg{width:12px;height:12px}.work-note-actions button:hover{color:var(--accent)}
.work-note-mention{background:var(--accent-soft);color:var(--accent);border-radius:5px;padding:1px 3px;font:inherit}
.work-detail .work-collaboration-card>footer{margin:0;padding:13px 20px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px}
.work-collaboration-card footer small,.work-collaboration-card footer>span{font-size:11px;color:var(--muted);line-height:1.5}
.work-collaboration-card .work-scope-preview{margin:18px 20px;min-height:135px;flex:1;padding:16px;background:var(--glass-inset);border:1px solid var(--line);border-radius:14px;font-size:14px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;max-height:350px;overflow:auto}
.work-collaboration-card .work-scope-preview.is-empty{color:var(--muted)}
.work-collaboration-card .work-notes-empty{padding:30px 10px}.work-notes-empty strong{font-size:14px;font-weight:500}.work-notes-empty p{font-size:12px}
.work-notes-modal .work-note-feed{max-height:min(60vh,650px)}.work-notes-dialog>footer{padding:16px 20px;display:flex;justify-content:flex-end;border-top:1px solid var(--line)}
.work-note-card.is-highlighted{background:var(--accent-soft);border-radius:14px;padding:16px;outline:1px solid var(--accent-line)}
.work-note-composer{padding:0 22px 22px}.work-note-context{font-size:12px;color:var(--muted);line-height:1.5;margin:0 0 22px}.work-note-composer>label{font-size:13px;display:block;margin-bottom:8px}
.work-note-input-wrap{position:relative}.work-note-input-wrap textarea{display:block;width:100%;min-height:170px;resize:vertical;padding:16px;border-radius:15px;border:1px solid var(--line);background:var(--glass-inset);color:var(--text);font:inherit;font-size:14px;line-height:1.7}.work-note-input-wrap textarea:focus{outline:2px solid var(--accent-line);outline-offset:2px}
.work-note-composer>small{display:block;color:var(--muted);font-size:12px;line-height:1.6;margin-top:12px}
.work-mention-options{position:relative;z-index:2;margin-top:8px;max-height:220px;overflow:auto;padding:5px;border:1px solid var(--glass-edge);border-radius:14px;background:var(--panel-solid);box-shadow:var(--glass-shadow)}
.work-mention-options[hidden]{display:none}.work-mention-options button{width:100%;display:flex;align-items:center;gap:10px;text-align:left;padding:9px;border:0;border-radius:10px;background:transparent;color:var(--text);font-size:13px}.work-mention-options button:hover,.work-mention-options button[aria-selected=true]{background:var(--accent-soft)}.work-mention-options button>span:last-child{min-width:0;overflow-wrap:anywhere}.work-mention-options small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.work-mention-options p{font-size:12px;color:var(--muted);padding:8px}
.work-note-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.work-note-chips:empty{display:none}.work-note-chips>span{font-size:11px;padding:4px 8px;border-radius:999px;border:1px solid var(--accent-line);background:var(--accent-soft);color:var(--accent)}
.work-note-delete{padding:0 22px 22px}.work-note-delete blockquote{margin:16px 0;padding:14px;border-radius:12px;background:var(--glass-inset);font-size:13px;white-space:pre-wrap;max-height:200px;overflow:auto;overflow-wrap:anywhere}
@media(max-width:650px){.work-detail .work-collaboration-card>header{padding:14px 16px}.work-note-feed{padding:0 16px}.work-note-card{gap:9px;padding:16px 0}.work-note-content>header{display:block}.work-note-content time{display:block;margin-top:4px}.work-detail .work-collaboration-card>footer{padding:12px 16px;flex-wrap:wrap}.work-collaboration-card .work-scope-preview{margin:16px}.work-note-composer{padding:0 16px 16px}.work-note-actions button{min-height:36px}.work-note-composer-modal .form-actions{gap:10px}.work-note-composer-modal .form-actions>button{flex:1;min-height:42px}}
/* Keep notes and scope identical in height as their content grows. */
.work-detail .work-overview-grid{--work-collaboration-height:300px;align-items:stretch}
.content .work-detail .work-overview-grid>.work-collaboration-card{display:grid;grid-template-rows:65px minmax(0,1fr) 60px;height:var(--work-collaboration-height);min-height:var(--work-collaboration-height);max-height:var(--work-collaboration-height)}
.work-overview-grid>.work-collaboration-card>.work-note-feed,.work-overview-grid>.work-collaboration-card>.work-scope-preview{min-height:0;max-height:none;overflow:auto;overscroll-behavior:contain}
.work-overview-grid>.work-collaboration-card>header,.work-overview-grid>.work-collaboration-card>footer{min-height:0}
@media(max-width:650px){.work-detail .work-overview-grid{--work-collaboration-height:320px}.content .work-detail .work-overview-grid>.work-collaboration-card{grid-template-rows:72px minmax(0,1fr) 76px}}

/* Shared creation/editing workspace, with a permanent record reference. */
.project-edit-reference { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:14px 16px; border:1px solid var(--border); border-radius:16px; background:var(--surface); }
.project-edit-reference>div { display:grid; gap:5px; min-width:0; }
.project-edit-reference span,.project-edit-reference small { font-size:12px; color:var(--muted); }
.project-edit-reference strong { font-size:15px; font-weight:600; overflow-wrap:anywhere; }
.project-edit-reference small { display:flex; align-items:center; gap:7px; }
.project-edit-reference small svg { width:16px; height:16px; }
.project-form-help { grid-column:1/-1; margin:0; font-size:12px; line-height:1.5; color:var(--muted); }
.project-edit-modal .project-create-columns { grid-template-rows:auto; align-items:stretch; }
.project-edit-modal .project-create-columns>.project-create-section { display:block; grid-row:auto; }
.project-edit-modal .project-create-columns>.project-create-section>h3 { margin-bottom:14px; }
.project-edit-modal .project-create-columns .project-create-fields { grid-template-rows:none; grid-row:auto; }
.project-edit-modal .form-field textarea { min-height:100px; height:100px; resize:vertical; }

/* Finance T&M uses this same project form in the shell, including its client/address pickers. */
dialog.modal.tm-project-modal { padding:0; margin:auto; width:min(1000px,calc(100vw - 40px)); }
.tm-project-modal::backdrop { background:#12191766; backdrop-filter:blur(5px); }
.tm-project-modal .tm-project-fields { min-width:0; border:0; margin:0; padding:0; }
.tm-project-modal .tm-project-loading { padding:24px; }
.tm-project-modal .tm-project-options>summary { display:flex; align-items:center; gap:9px; cursor:pointer; list-style:none; font-size:15px; font-weight:650; }
.tm-project-modal .tm-project-options>summary::-webkit-details-marker { display:none; }
.tm-project-modal .tm-project-options>summary>svg { width:20px; height:20px; flex-shrink:0; color:var(--accent); }
.tm-project-modal .tm-project-options>summary>span { flex:1; min-width:0; }
.tm-project-modal .tm-project-options>summary small { display:block; margin-top:4px; color:var(--muted); font-size:12px; font-weight:400; }
.tm-project-modal .tm-options-chevron { transition:transform .16s; }
.tm-project-modal .tm-project-options[open] .tm-options-chevron { transform:rotate(180deg); }
.tm-project-modal .tm-project-options-body { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px; margin-top:18px; padding-top:18px; border-top:1px solid var(--line); }
.tm-project-modal .tm-project-options-body>section { min-width:0; }
.tm-project-modal .tm-project-options-body .project-form-help { margin-top:10px; }
.tm-project-modal .tm-project-assignments { grid-column:1/-1; padding-top:18px; border-top:1px solid var(--line); }
.tm-project-modal .tm-worker-count { margin-left:auto; min-width:25px; text-align:center; border:1px solid var(--line); border-radius:999px; font-size:12px; padding:3px 8px; color:var(--muted); }
.tm-project-modal .tm-project-workers { display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:8px; max-height:220px; overflow:auto; }
.tm-project-modal .tm-project-workers>label { display:flex; align-items:center; gap:10px; border:1px solid var(--line); border-radius:12px; padding:10px 12px; cursor:pointer; font-size:13px; }
.tm-project-modal .tm-project-workers>label:has(:checked) { border-color:var(--accent); background:var(--accent-soft); }
.tm-project-modal .tm-project-workers input { width:16px; height:16px; min-height:0; flex-shrink:0; margin:0; accent-color:var(--accent); }
@media(max-width:760px) { dialog.modal.tm-project-modal { width:calc(100vw - 24px); }.tm-project-modal .tm-project-options-body { grid-template-columns:minmax(0,1fr); gap:18px; }.tm-project-modal .tm-project-workers { grid-template-columns:1fr; } }

.project-create-modal .form-actions .tm-delete-project{margin-right:auto;color:var(--accent);border-color:var(--line)}
@media(max-width:760px){#overlay .project-create-modal .form-actions .tm-delete-project{grid-column:1/-1;width:100%;margin-right:0}}
