.join-pro { display: block; text-align: center; text-decoration: none; }
.admin-access { display: block; margin-top: 12px; color: var(--muted); font: 600 12px 'DM Sans',system-ui,sans-serif; text-align: center; text-decoration: none; }
.brand-logo { width: 27px; height: 27px; object-fit: contain; border-radius: 50%; }
.role-badge { padding: 4px 7px; border-radius: 99px; font: 700 10px 'DM Sans',system-ui,sans-serif; letter-spacing: .2px; }
.client-badge { background: #f1f1f1; color: #a50e0e; }
.pro-badge { background: #f1f1f1; color: #2a2a2a; }
.location-picker { display: grid; gap: 9px; margin: 12px 0 16px; padding: 12px; border: 1px solid #e4e4e4; border-radius: 13px; background: #fafafa; }
.location-picker > div { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.location-picker label { display: grid; gap: 5px; color: #555555; font: 700 10px 'DM Sans',system-ui,sans-serif; }
.location-picker select { width: 100%; min-height: 37px; padding: 0 8px; border: 1px solid #d0d0d0; border-radius: 9px; background: #fff; color: #111111; font: 600 11px 'DM Sans',system-ui,sans-serif; }
.location-summary { margin: 0; color: #111111; font: 600 10px 'DM Sans',system-ui,sans-serif; }
.automatic-transfer { display: grid; gap: 7px; margin: 14px 0; padding: 12px; border: 1px solid #cfe8d7; border-radius: 11px; background: #f4fcf6; color: #27683f; font-size: 11px; }
.automatic-transfer label { display: flex; gap: 8px; align-items: flex-start; line-height: 1.4; }
.automatic-transfer small { color: #5c7465; line-height: 1.4; }
.automatic-transfer p { margin: 0; font-weight: 700; }
.instant-payout { display: grid; gap: 10px; margin-top: 20px; padding: 15px; border: 1px solid #ead7b2; border-radius: 15px; background: #fff9ee; }
.instant-payout h2 { margin: 2px 0; font-size: 16px; }
.instant-payout p:not(.eyebrow) { margin: 4px 0; color: #786e76; font-size: 11px; line-height: 1.4; }
.instant-payout > label { display: grid; gap: 5px; color: #5a4a2c; font: 700 11px 'DM Sans',system-ui,sans-serif; }
.instant-payout input[type="number"] { min-height: 40px; border: 1px solid #e4cea2; border-radius: 9px; padding: 8px; background: #fff; font: 600 13px 'DM Sans',system-ui,sans-serif; }
.instant-payout-summary { display: grid; grid-template-columns: 1fr auto; gap: 7px; padding: 10px; border-radius: 10px; background: #fff; font-size: 11px; }
.instant-payout-summary strong { color: #258245; font-size: 15px; }
.instant-consent { display: flex !important; gap: 8px; align-items: flex-start; font-weight: 500 !important; line-height: 1.4; }
.instant-payout .primary-button { margin-top: 0; }
.app-boundary { margin: 26px 0 0; padding: 12px; border-radius: 12px; background: #f4f4f4; color: #2a2a2a; font-size: 11px; line-height: 1.45; text-align: center; }
.admin-brand img { width: 31px; height: 31px; object-fit: contain; vertical-align: middle; margin-right: 7px; }

/* Administration : version claire pour mieux mettre en valeur le logo. */
.sidebar { background: #f4f4f4; color: #111111; border-right: 1px solid #d0d0d0; }
.admin-brand { color: #111111; }
.workspace { color: #777777; }
.menu-item { color: #555555; }
.menu-item:hover, .menu-item.active { color: #ffffff; background: #111111; }
.admin-user { border-top-color: #e4e4e4; }
.admin-user > span { background: #111111; }
.admin-user small { color: #786e76; }
/* Espace Pro : ce qu'il faut préparer avant d'ouvrir Stripe. */
.stripe-prep{margin-top:10px;padding:12px 14px;border:1px solid #cfe0f5;border-radius:12px;background:#f3f8fe;font-size:13px;line-height:1.5;color:#1f2a37}
.stripe-prep ul{margin:6px 0 8px;padding-left:20px}
.stripe-prep li{margin:3px 0}
.stripe-prep li b,.stripe-prep p b{display:inline;font-weight:800}
.stripe-prep p{margin:6px 0 0}
.stripe-prep .stripe-prep-safe{color:#0d652d;font-weight:600}
