@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)}}

}
