/* Espaces métier : présentation uniquement. Les rôles, droits et écritures
   restent portés par les modules existants. */
@font-face { font-family: 'Barlow Condensed'; font-style: italic; font-weight: 800; font-display: swap; src: url('../fonts/display.ttf') format('truetype'); }
#tab-pro.j-workspace,#tab-organizer.j-workspace { --j-display-font:'Barlow Condensed',Impact,sans-serif; --burnt-orange:var(--j-text-accent); --text-orange:var(--j-text-accent); --slate-blue:var(--j-text); --text-main:var(--j-text); --text-muted:var(--j-muted); --text-grey:var(--j-muted); padding:0 !important; border-radius:var(--j-radius); }
.j-workspace .workspace-shell { padding:1rem; border:1px solid var(--j-line); }
.j-workspace .workspace-shell > h2 { font:italic 800 clamp(2rem,6vw,3.5rem)/1.05 var(--j-display-font) !important; text-transform:uppercase; border:0; margin:0 0 .65rem; color:var(--j-text); }
.j-workspace .workspace-shell > p { color:var(--j-muted); max-width:45rem; margin-bottom:1.5rem; }
.j-workspace .workspace-stage { display:inline-block; font-size:.75rem; color:var(--j-muted); border:1px solid var(--j-line); padding:.2rem .5rem; margin-bottom:.75rem; }
.j-workspace .workspace-tools { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1rem; }
.j-workspace .workspace-tools a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:.5rem .75rem; border:1px solid var(--j-line); color:var(--j-text); font-weight:700; font-size:.85rem; text-decoration:none; }
.j-workspace :is(#pro-edit-form,#pro-visibility,#pro-partner) { scroll-margin-top:1rem; }
.j-workspace :is(h3,h4,h5) { color:var(--j-text); line-height:1.3; }
.j-workspace h3 { font:italic 800 clamp(1.7rem,4vw,2.25rem)/1.1 var(--j-display-font); margin-bottom:1rem; }
.j-workspace h4 { font-size:1rem; margin-bottom:.85rem; }
.j-workspace p { line-height:1.6; margin-block:.65rem; }
.j-workspace :is(p,div,span,strong) { overflow-wrap:anywhere; }
.j-workspace .workspace-card { border:1px solid var(--j-line); border-radius:var(--j-radius); padding:1rem; margin-bottom:1rem; }
.j-workspace .workspace-status { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; padding-bottom:1rem; margin-bottom:1.25rem; border-bottom:1px solid var(--j-line); }
.j-workspace .workspace-status > div > :first-child { font-size:.72rem; color:var(--j-muted); text-transform:uppercase; }
.j-workspace .workspace-status > div > :last-child { font-weight:800; color:var(--j-text-accent); }
.j-workspace .workspace-between { display:flex; justify-content:space-between; align-items:center; gap:.65rem; flex-wrap:wrap; }
.j-workspace .workspace-between h3 { margin-bottom:0; }
.j-workspace .badge { padding:.25rem .5rem; border:1px solid var(--j-line); background:var(--j-surface-raised); color:var(--j-muted); font-size:.7rem; line-height:1.4; white-space:normal; }
.j-workspace form { display:grid; grid-template-columns:minmax(0,1fr); gap:1.2rem; min-width:0; }
.j-workspace form > * { min-width:0; }
.j-workspace .workspace-field-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:1rem; }
.j-workspace :is(.workspace-field-grid,.workspace-editor-layout,.workspace-race-layout) > * { min-width:0; }
.j-workspace label { display:block; font-size:.85rem; font-weight:700; color:var(--j-text-accent); line-height:1.45; margin-bottom:.45rem; }
.j-workspace label span { display:inline-block; font-size:.7rem !important; color:var(--j-muted) !important; margin-inline-start:.25rem; }
.j-workspace :is(input,textarea,select) { display:block; width:100%; max-width:100%; min-width:0; min-height:44px; background:var(--j-surface-raised); color:var(--j-text); border:1px solid var(--j-line); border-radius:var(--j-radius); padding:.7rem; font:1rem/1.4 var(--j-body-font); }
.j-workspace textarea { resize:vertical; min-height:6rem; }
.j-workspace :is(input,textarea)::placeholder { color:var(--j-muted); opacity:.8; }
.j-workspace :is(input,textarea):disabled { background:var(--j-surface) !important; color:var(--j-muted); border-style:dashed; opacity:.85; cursor:not-allowed; }
.j-workspace form p { color:var(--j-muted); font-size:.8rem; margin:.4rem 0 0; }
.j-workspace form strong { color:var(--j-text-accent) !important; }
.j-workspace :is(button,.btn) { min-height:44px; max-width:100%; border:1px solid var(--j-action); border-radius:var(--j-radius); padding:.7rem .9rem; display:inline-flex; align-items:center; justify-content:center; gap:.5rem; background:var(--j-action); color:var(--j-action-text); font:700 .95rem/1.4 var(--j-body-font); cursor:pointer; text-decoration:none; white-space:normal !important; text-transform:none; letter-spacing:normal; box-shadow:none; }
.j-workspace :is(button,.btn):hover { background:#fff; transform:none; }
.j-workspace button:disabled { cursor:wait; opacity:.65; }
.j-workspace :is(button,a,input,textarea,summary):focus-visible { outline:2px solid var(--j-text); outline-offset:3px; }
.j-workspace :is(#btn-save-pro,#btn-save-race,#confirm-claim-btn,#confirm-race-claim-btn) { width:100%; margin-top:.5rem; }
.j-workspace #btn-add-distance { background:transparent; color:var(--j-text); border:1px dashed var(--j-line); width:100%; }
.j-workspace .workspace-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; margin-block:1rem; }
.j-workspace .workspace-stat { background:var(--j-surface-raised); padding:.8rem; }
.j-workspace .workspace-stat-value { font:italic 800 2.6rem/1 var(--j-display-font); color:var(--j-text-accent); margin-block:.35rem; }
.j-workspace .workspace-stat > :last-child { font-size:.75rem; line-height:1.4; color:var(--j-muted); }
.j-workspace .workspace-display-value { font:italic 800 1.8rem/1.2 var(--j-display-font); color:var(--j-text-accent); margin-block:.5rem 1rem; }
.j-workspace .workspace-referral { position:relative; background:var(--j-surface-raised); border:1px solid var(--j-line); padding:1rem; margin-block:1rem; }
.j-workspace .workspace-referral > :first-child { color:var(--j-muted); font-size:.8rem; }
.j-workspace .workspace-copy-status { opacity:0; pointer-events:none; position:absolute; bottom:-30px; inset-inline:1rem; padding:.4rem .7rem; background:var(--j-action); color:var(--j-action-text); border:1px solid var(--j-line); font-size:.85rem; text-align:center; }
.j-workspace .workspace-message { border:1px solid var(--j-line); padding:1rem; margin-block:.75rem; background:var(--j-surface-raised); }
.j-workspace .workspace-message p { color:var(--j-muted); }
.j-workspace .workspace-message .btn { margin-top:1rem; }
.j-workspace .workspace-race-layout { display:grid; gap:1.5rem; }
.j-workspace .workspace-race-nav { min-width:0; }
.j-workspace .workspace-race-nav h4 { color:var(--j-text-accent); text-transform:uppercase; letter-spacing:.07em; font-size:.75rem; }
.j-workspace #dashboard-races-menu { display:flex; gap:.5rem; overflow-x:auto; padding:4px 4px .65rem; scroll-snap-type:x proximity; }
.j-workspace .race-menu-btn { flex:0 0 min(85%,18rem); scroll-snap-align:start; text-align:start; justify-content:flex-start; background:var(--j-surface-raised); border-color:var(--j-line); color:var(--j-text); }
.j-workspace .race-menu-btn.active { color:var(--j-action-text); background:var(--j-action); border-color:var(--j-action); }
.j-workspace .workspace-notice { border-inline-start:2px solid var(--j-line); padding:.75rem 1rem; margin-bottom:1.5rem; background:var(--j-surface-raised); color:var(--j-muted); font-size:.85rem; }
.j-workspace .workspace-editor-layout { display:grid; gap:1.5rem; }
.j-workspace #editor-distances-list { display:grid; gap:.75rem; margin-block:.75rem; }
.j-workspace .distance-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px; gap:.5rem; padding:.75rem; border:1px solid var(--j-line); }
.j-workspace .distance-row > label { margin:0; font-size:.75rem; }
.j-workspace .distance-row > label input { margin-top:.4rem; }
.j-workspace .distance-row > label:first-child { grid-column:1 / -1; }
.j-workspace .distance-row .btn-remove-dist { align-self:end; }
.j-workspace .distance-row .btn-remove-dist { min-width:44px; padding:0; background:transparent; color:var(--j-text); border-color:var(--j-line); font-size:1.5rem; }
.j-workspace .workspace-preview { border-top:1px solid var(--j-line); padding-top:1rem; }
.j-workspace .workspace-preview h4 { font-size:.8rem; color:var(--j-muted); }
.j-workspace .workspace-preview-card { padding:1rem; border:1px solid var(--j-line); background:var(--j-surface-raised); }
.j-workspace .workspace-preview-card > :first-child { color:var(--j-text-accent); font-size:.7rem; text-transform:uppercase; margin-bottom:.5rem; }
.j-workspace #preview-title { font:italic 800 1.8rem/1.1 var(--j-display-font); margin-bottom:.75rem; }
.j-workspace #preview-desc { color:var(--j-muted); font-size:.85rem; }
.j-workspace #preview-distances { display:grid; gap:.5rem; margin-top:.75rem; }
.j-workspace #preview-distances > div { display:grid; gap:.25rem; padding:.65rem; border:1px solid var(--j-line); font-size:.8rem; margin:0; }
@media (min-width:42rem) {
 .j-workspace .workspace-shell { padding:1.5rem; }
 .j-workspace .workspace-field-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .j-workspace .distance-row { grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) 44px; }
 .j-workspace .distance-row > label:first-child { grid-column:auto; }
}
@media (min-width:64rem) {
 .j-workspace #claim-onboarding-ui:has(.workspace-pro-editor) { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(16rem,1fr); grid-template-rows:auto min-content 1fr; gap:1.25rem; align-items:start; }
 .j-workspace .workspace-tools { grid-column:1 / -1; margin:0; }
 .j-workspace .workspace-pro-editor { grid-column:1; grid-row:2 / span 2; }
 .j-workspace .workspace-card { margin:0; }
 .j-workspace .workspace-race-layout { grid-template-columns:12rem minmax(0,1fr); }
 .j-workspace #dashboard-races-menu { display:grid; max-height:65vh; overflow-y:auto; overflow-x:hidden; }
 .j-workspace .race-menu-btn { width:100%; }
 .j-workspace .workspace-race-nav { position:sticky; top:1rem; align-self:start; }
 .j-workspace .workspace-editor-layout { grid-template-columns:minmax(0,1fr) minmax(13rem,30%); }
 .j-workspace .workspace-preview { border-top:0; padding-top:0; position:sticky; top:1rem; align-self:start; }
 .j-workspace .workspace-field-grid { gap:.75rem; }
 .j-workspace .workspace-race-layout .distance-row { grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px; }
 .j-workspace .workspace-race-layout .distance-row > label:first-child { grid-column:1 / -1; }
}
