/* Task-oriented role shells. Use established Detalot design tokens. */
.role-switch{max-width:var(--ux-container,1280px);margin:12px auto;padding:8px 24px;display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.role-switch-tabs{display:flex;gap:4px;padding:4px;border:1px solid var(--ux-card-border,#d5e1df);border-radius:16px;background:var(--ux-page,#f4f7f6)}
.role-switch a{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:52px;min-width:190px;padding:8px 14px;border:0;border-radius:12px;color:var(--ux-text,#0b1f3b);text-decoration:none}
.role-switch a>span{font-weight:700;line-height:1.25}.role-switch a>small{margin-top:2px;color:var(--ux-secondary,#526576);font-size:12px;line-height:1.25}
.role-switch a[aria-current="true"]{background:var(--ux-text,#0b1f3b);color:var(--ux-surface,#fff);box-shadow:var(--ux-shadow-card,0 4px 16px rgba(0,0,0,.08))}
.role-switch a[aria-current="true"]>small{color:inherit;opacity:.78}
.role-switch-note{margin-left:auto;font-size:14px;color:var(--ux-secondary,#526576)}
.role-overview{margin:24px 0;min-width:0}
.role-overview-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.role-overview-heading>div{max-width:700px;min-width:0}.role-overview-heading h2{font-size:clamp(26px,4vw,36px);line-height:1.2;margin:8px 0}
.role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.role-card{min-width:0;display:flex;flex-direction:column;align-items:flex-start;padding:24px;border:1px solid var(--ux-card-border,#d5e1df);border-radius:16px;background:var(--ux-surface,#fff)}
.role-card h3{margin:0 0 10px;font-size:22px;line-height:1.3}.role-card p{flex:1;line-height:1.6;overflow-wrap:anywhere}.role-card a{min-height:44px;display:flex;align-items:center}
.role-availability{margin:24px 0;padding:20px 24px;border-left:4px solid var(--ux-link,#147346);border-radius:4px 16px 16px 4px;background:var(--ux-page,#f4f7f6);line-height:1.6}
.role-availability h3,.role-availability h2{margin-top:0}.role-context-note{font-size:14px;line-height:1.6;color:var(--ux-secondary,#526576)}
.role-context-nav{margin:8px 0 24px;padding:12px 0;display:flex;flex-wrap:wrap;align-items:center;gap:12px;border-bottom:1px solid var(--ux-card-border,#d5e1df)}
.role-context-nav a{min-height:44px;display:inline-flex;align-items:center}.role-context-nav span{font-weight:700;color:var(--ux-text,#0b1f3b)}
/* Only progressive presentation is hidden. Existing auth/ACL gates keep control. */
#workspace[data-workspace-mode]>.workspace-intro .workspace-nav{display:none}
#workspace[data-role-view=overview]>[data-workspace-section],#workspace[data-role-view=overview]>[data-workspace-sections]{display:none}
#workspace[data-role-view=section]>[data-role-overview]{display:none}
#workspace [data-role-filtered="true"]{display:none!important}
#workspace[data-workspace-mode=customer] [data-workspace-tool="provider-locations"]{display:none}
#workspace[data-workspace-mode=customer] #workshops>.grid{grid-template-columns:minmax(0,1fr)}
.inline-estimate-steps{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0;line-height:1.5}
.inline-estimate-steps span{padding:10px 16px;border-radius:24px;background:var(--ux-page,#f4f7f6);color:var(--ux-secondary,#526576)}
.inline-estimate-steps [aria-current=step]{background:var(--ux-text,#0b1f3b);color:var(--ux-surface,#fff);font-weight:600}
.inline-estimate-actions{margin:24px 0;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.inline-estimate-actions p{flex:1 1 100%;margin:4px 0;line-height:1.6}.inline-estimate-actions[hidden],.inline-estimate [hidden]{display:none!important}
#create-form[data-estimate-step=estimate] #create-submit{display:none!important}
.inline-estimate #create-fields{border:0;padding:0;min-width:0}.inline-estimate .mf-panel{margin-top:0}
.inline-estimate .create-card{max-width:100%;min-width:0}.inline-estimate-actions button{height:auto;min-height:48px;white-space:normal;text-align:center}
.role-switch a:focus-visible,.role-card a:focus-visible,.inline-estimate-actions button:focus-visible{outline:3px solid var(--ux-link,#147346);outline-offset:4px}
@media(max-width:900px){.role-grid{grid-template-columns:1fr 1fr}.role-card:last-child{grid-column:1/-1}.role-switch-note{flex:1 1 100%;margin:0}}
@media(max-width:560px){.role-grid{grid-template-columns:1fr}.role-card{padding:18px}.role-switch{padding:8px 16px}.role-switch-tabs{width:100%}.role-switch a{flex:1 1 50%;min-width:0;padding:9px 10px}.role-switch a>small{font-size:12px}.role-overview-heading .ux-button,.inline-estimate-actions button{width:100%}.role-availability{padding:18px}.inline-estimate-steps span{font-size:14px;padding:8px 12px}}

@media(max-width:360px){.role-switch-tabs{flex-direction:column}.role-switch a{width:100%;flex:1 1 auto}.role-switch-note{font-size:13px}}
