body[data-role=contractor]{background:#f3f5f8}
body[data-role=contractor] #app{max-width:1460px;padding:0 24px}
.contractor-experience{color:#202124;font-family:"Open Sans",sans-serif}
.contractor-experience .c-layout{display:grid;grid-template-columns:232px minmax(0,1fr);gap:44px;padding:36px 0;align-items:start}
.contractor-experience .c-sidebar{position:sticky;top:24px;background:#fff;border:1px solid #d9dfe9;border-radius:14px;padding:18px 12px}
.contractor-experience .c-sidebar h2{font-size:18px;color:#2d427f;padding:0 12px}
.contractor-experience .c-nav{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;padding:14px 12px;border-radius:9px;font-size:13px;font-weight:600;color:#4a556c;text-decoration:none;white-space:nowrap;min-height:44px}
.contractor-experience .c-nav>span:first-child{flex:none}
.contractor-experience .c-nav[aria-current=page]{background:#e3e9f5;color:#2d427f}
.contractor-experience .c-attention-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#8a623b;flex:none}
.contractor-experience .c-attention-dot.c-attention-urgent{background:#b42318}
.contractor-experience .c-section-title .c-attention-dot{margin-left:10px;vertical-align:middle}
.contractor-experience .c-main{min-width:0;min-height:65vh}
.contractor-experience .c-back{display:inline-flex;min-height:44px;align-items:center;margin-bottom:12px;color:#2d427f}
.contractor-experience .c-back[hidden]{display:none}
.contractor-experience .c-top{margin:10px 0 28px}
.contractor-experience .c-overline{color:#7c5d3c;letter-spacing:1.5px;text-transform:uppercase;font-size:11px;font-weight:700;margin:0 0 12px}
.contractor-experience .c-title{font:600 clamp(26px,3vw,36px)/1.25 Montserrat,sans-serif;color:#2d427f;margin:0 0 12px}
.contractor-experience .c-subtitle{font-size:14px;line-height:1.7;color:#68707a;max-width:720px}
.contractor-experience .c-section{margin:30px 0}
.contractor-experience .c-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}
.contractor-experience .c-section-title{font:600 20px/1.4 Montserrat,sans-serif;color:#2d427f;margin:0}
.contractor-experience .c-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;scroll-margin-top:20px}
.contractor-experience .c-card{display:flex;flex-direction:column;gap:12px;background:white;border:1px solid #d9dfe9;border-radius:12px;padding:24px;min-width:0;overflow-wrap:anywhere}
.contractor-experience .c-card h3,.contractor-experience .c-card h2{font:600 18px/1.45 Montserrat,sans-serif;color:#2d427f;margin:0}
.contractor-experience .c-card p{font-size:14px;line-height:1.6;margin:0}
.contractor-experience .c-card .c-work-ref,.contractor-experience .c-work-ref{color:#3271ad;font-size:12px}
.contractor-experience .c-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:#68707a}
.contractor-experience .c-tag{font-size:11px;background:#edf1f8;color:#2d427f;padding:5px 8px;border-radius:5px}
.contractor-experience .c-tag.alert{color:#a42822;background:#fff0ee}
.contractor-experience .c-card-bottom{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:auto;flex-wrap:wrap}
.contractor-experience .c-card-bottom small{font-size:11px;line-height:1.5;color:#68707a}
.contractor-experience .c-home-actions,.contractor-experience .c-filter-buttons,.contractor-experience .c-pager{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.contractor-experience .c-profile-notice{display:flex;gap:15px;justify-content:space-between;flex-wrap:wrap;padding:16px 20px;border-left:3px solid #8a623b;background:#f4eee6;border-radius:8px;margin-top:24px;font-size:14px}
.contractor-experience .c-filters{display:flex;align-items:end;gap:18px;flex-wrap:wrap;margin:24px 0}
.contractor-experience .c-filters label,.contractor-experience .c-context{font-size:12px;color:#68707a;display:grid;gap:6px}
.contractor-experience .c-filter-buttons{width:100%}
.contractor-experience .c-pager{margin:20px 0}
.contractor-experience .c-house{background:#e8edf7;border-radius:14px;padding:28px;margin-bottom:26px}
.contractor-experience .c-house h2{font:600 26px/1.4 Montserrat,sans-serif;color:#2d427f;margin:0 0 14px}
.contractor-experience .c-house p{font-size:14px}
.contractor-experience button,.contractor-experience .c-btn{font-size:14px;min-height:44px;border-radius:8px}
.contractor-experience .c-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;background:#2d427f;color:white;text-decoration:none}
.contractor-experience .c-btn.secondary{background:white;color:#2d427f;border:1px solid #ccd5e4}
.contractor-danger,body[data-role=contractor] [data-t2-report]{background:#b3342e;color:white;border:1px solid #b3342e;padding:12px 18px;border-radius:8px;min-height:44px}
.contractor-danger:disabled{opacity:.5;cursor:not-allowed}
.contractor-experience button[aria-pressed=true]{background:#2d427f;color:#fff}
.contractor-experience .c-mobile-nav{display:none}
.contractor-dialog{width:min(780px,95vw);max-height:92dvh;padding:0;border:1px solid #d9dfe9;border-radius:14px;background:white;overflow:auto;color:#202124}
.contractor-dialog>header{position:sticky;top:0;z-index:2;background:white;border-bottom:1px solid #d9dfe9;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px}
.contractor-dialog>header h2{font:600 20px/1.4 Montserrat,sans-serif;color:#2d427f;margin:0}
.contractor-dialog>[data-reading-content]{padding:24px}
.contractor-dialog [data-reading-content]>:is([data-new-work],[data-report-work]){display:block;box-sizing:border-box;width:100%;min-height:48px;margin:12px 0 0;padding:14px 16px;text-align:left;white-space:normal;overflow-wrap:anywhere}
.contractor-dialog>[data-reading-status]{padding:0 24px}
.contractor-dialog::backdrop{background:#1c2d49a6}
.contractor-dialog .module-card>summary{pointer-events:none}
.contractor-dialog .module-card{border:0;padding:0}
.contractor-dialog .module-card-body{padding:16px 0}
.contractor-dialog .module-create>summary{display:none}
.contractor-dialog .module-create{border:0;padding:0}
.contractor-module-reading [hidden]{display:none!important}
body[data-role=contractor] [data-contractor-work]>.work-title,body[data-role=contractor] [data-contractor-work]>.module-tabs,body[data-role=contractor] [data-contractor-work]>a:first-child{display:none}
body[data-role=contractor] .t2-screen{max-height:92dvh;overflow:auto}
body[data-role=contractor] .t2-screen>.actions-row:has([data-t2-close]){position:sticky;bottom:0;background:white;padding:10px 0;border-top:1px solid #d9dfe9;z-index:2}
body[data-role=contractor]:has(dialog[open]){overflow:hidden}
@media(max-width:850px){
 body[data-role=contractor] #app{padding:0 18px}
 .contractor-experience .c-layout{display:block;padding:22px 0}
 .contractor-experience .c-sidebar{display:none}
 .contractor-experience .c-mobile-nav{display:block;position:sticky;top:0;z-index:8;background:#f3f5f8;padding:10px 0;text-align:right}
 .contractor-experience .c-mobile-nav nav{position:absolute;right:0;top:100%;width:min(340px,100%);background:#fff;border:1px solid #d9dfe9;border-radius:12px;box-shadow:0 12px 35px #1c2d4920;padding:12px;text-align:left;max-height:75dvh;overflow:auto}
 .contractor-experience .c-mobile-nav nav[hidden]{display:none}
 .contractor-experience .c-nav{font-size:14px}
 .contractor-experience .c-cards{grid-template-columns:1fr}
 .contractor-experience .c-card{padding:20px}
 .contractor-experience .c-top{margin-top:0}
 .contractor-experience .c-house{padding:22px}
 .contractor-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0}
 .contractor-dialog>header{padding:14px 18px}
 .contractor-dialog>[data-reading-content]{padding:18px}
 body[data-role=contractor] .t2-screen{box-sizing:border-box;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0;padding:18px}
}
.contractor-experience .c-card.c-practice-house{background:#f3eee8;border-color:#bdab95}
.c-practice-house small{color:#694c30}
.contractor-experience .c-practice-invitation{margin:22px 0 26px;border:1px solid var(--practice-invitation-blue);border-top:3px solid var(--practice-invitation-camel);border-radius:12px;padding:18px 20px;background:var(--practice-invitation-blue);color:var(--brand-white);box-sizing:border-box}
.c-practice-invitation>div{min-width:0}
.c-practice-invitation small{display:block;font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--practice-invitation-caption)}
.c-practice-invitation h2{font-family:var(--font-heading);font-size:21px;line-height:1.25;margin:8px 0;color:inherit}
.c-practice-invitation p{font-size:15px;line-height:1.5;margin:0 0 14px;color:inherit}
.c-practice-invitation-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.c-practice-invitation-actions span{font-size:12px;color:inherit}
.c-practice-invitation-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:100%;box-sizing:border-box;padding:11px 18px;border-radius:7px;background:var(--brand-white);color:var(--practice-invitation-blue);font-size:14px;font-weight:600;text-decoration:none}
.c-practice-invitation-actions a:focus-visible{outline:3px solid var(--practice-invitation-camel);outline-offset:3px}
@media(min-width:851px){
 .contractor-experience .c-practice-invitation{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:28px}
 .c-practice-invitation-actions{flex-direction:column;align-items:flex-end;gap:8px}
 .c-practice-invitation p{margin:0}
}

/* Keep the structure and its following actions out of layout until ready. */
.contractor-experience [data-work-ready][hidden],.contractor-experience [data-work-loading][hidden]{display:none!important}
.c-loading{display:flex;align-items:center;gap:12px;min-height:160px;padding:24px;box-sizing:border-box;color:var(--brand-blue);overflow-wrap:anywhere}
.c-loading-indicator{flex:0 0 20px;width:20px;height:20px;border:3px solid #dce2ef;border-top-color:var(--brand-blue);border-radius:50%;animation:c-loading-spin .9s linear infinite}
@keyframes c-loading-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.c-loading-indicator{animation:none}}
