/* Module « Caisse » : chiffre du mois, objectif, équipe. */
.caisse-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.caisse-head h2{margin:0}
.caisse-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:14px 0}
.caisse-tile{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:4px;min-width:0}
.caisse-tile small{color:#64748b;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.caisse-tile strong{font-size:22px;font-variant-numeric:tabular-nums;color:#111827}
.caisse-tile span{color:#64748b;font-size:13px}
.caisse-bar{height:10px;border-radius:99px;background:#e9edf3;overflow:hidden;margin:6px 0 14px;min-width:80px}
.caisse-bar span{display:block;height:100%;border-radius:inherit;background:var(--studio-accent,#0E7C86);transition:width .4s}
.caisse-bar.done span{background:#22A45D}
.caisse-actions{margin:8px 0 18px}
.caisse-table-wrap{overflow-x:auto;margin:12px 0}
.caisse-table{width:100%;border-collapse:collapse;font-size:14px;background:#fff;border:1px solid #e2e8f0;border-radius:14px}
.caisse-table th,.caisse-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #eef2f7;vertical-align:middle;white-space:nowrap}
.caisse-table td:nth-child(n+2):not(:last-child),.caisse-table th:nth-child(n+2):not(:last-child){font-variant-numeric:tabular-nums}
.caisse-table thead th{color:#64748b;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.caisse-table tfoot th{border-bottom:0}
.caisse-table .caisse-bar{margin:4px 0 0}
.caisse-role{color:#64748b;font-size:12px}
.caisse-muted td{color:#64748b}
.caisse-status{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:18px 20px;margin:0 0 22px}
.caisse-status.is-open{border-color:#22A45D55;box-shadow:0 0 0 3px #22A45D14}
.caisse-status h2{margin:0}
.caisse-status-head{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:10px}
.caisse-pay{display:grid;gap:4px;max-width:440px;margin:8px 0 14px;font-size:14px}
.caisse-pay>div{display:flex;justify-content:space-between;gap:12px;padding:3px 0;border-bottom:1px dashed #e2e8f0}
.caisse-pay strong{font-variant-numeric:tabular-nums}
.caisse-pay-total{font-weight:600;border-bottom:1px solid #cbd5e1!important}
.caisse-pay-sub{color:#64748b;font-size:13px}
.caisse-gap{color:#b42318;font-weight:600}
.caisse-ticket{font-family:ui-monospace,Menlo,monospace;max-width:380px;margin:0 auto;color:#000}
.caisse-ticket h1{font-size:18px;text-align:center}
.caisse-ticket .caisse-pay{max-width:none}
.caisse-journal input[type=date]{width:auto}
.caisse-journal-session{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:14px 16px;margin:12px 0}
.caisse-journal-session h3{margin:0 0 4px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.caisse-journal-session p{margin:4px 0}
@media print{.caisse-journal .caisse-tiles{grid-template-columns:repeat(4,1fr)}.caisse-journal-session{break-inside:avoid;border-color:#999}}
/* Onglet Objectif */
.goal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin:12px 0}
.goal-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:20px;margin:12px 0;min-width:0}
.goal-grid .goal-card{margin:0}
.goal-top{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.goal-figures{flex:1;min-width:220px}
.goal-figures h2{margin:0 0 8px}
.goal-numbers{display:flex;gap:18px;flex-wrap:wrap}
.goal-numbers div{display:flex;flex-direction:column}
.goal-numbers small{color:#64748b;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.goal-numbers strong{font-size:20px;font-variant-numeric:tabular-nums}
.goal-msg{margin:10px 0 0;color:#334155}
.goal-msg.done{color:#15803d;font-weight:600}
.goal-ring{width:120px;height:120px;flex:none}
.goal-ring-track{fill:none;stroke:#e9edf3;stroke-width:12}
.goal-ring-fill{fill:none;stroke:var(--studio-accent,#0E7C86);stroke-width:12;stroke-linecap:round;transition:stroke-dashoffset .6s}
.goal-ring.done .goal-ring-fill{stroke:#22A45D}
.goal-ring-text{font-size:22px;font-weight:700;fill:#111827}
.goal-chart-wrap{margin:18px 0 6px}
.goal-chart{width:100%;height:auto;display:block}
.goal-axis{stroke:#cbd5e1}
.goal-target{stroke:#cbd5e1;stroke-dasharray:2 4}
.goal-pace{stroke:#94a3b8;stroke-dasharray:6 5;stroke-width:1.5}
.goal-line{fill:none;stroke:var(--studio-accent,#0E7C86);stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.goal-dot{fill:var(--studio-accent,#0E7C86)}
.goal-label{font-size:11px;fill:#64748b}
.goal-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:#64748b;margin:4px 0 0}
.goal-key::before{content:"";display:inline-block;width:18px;height:0;margin-right:6px;vertical-align:middle;border-top:3px solid var(--studio-accent,#0E7C86)}
.goal-key-pace::before{border-top:2px dashed #94a3b8}
.goal-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.goal-nav input[type=date],.goal-nav select{width:auto}
.goal-commission{margin:16px 0 4px;padding:14px 16px;border-radius:14px;background:#f8fafc;border:1px solid #eef2f7}
.goal-commission h3{margin:0 0 8px}
.goal-commission .goal-numbers strong{font-size:18px}
.goal-svc{border:1px solid #e2e8f0;border-radius:12px;padding:8px 12px;margin:8px 0;display:grid;grid-template-columns:auto 1fr;gap:6px 10px;align-items:center}
.goal-svc legend{font-weight:600;padding:0 4px}
/* Graphiques de progression */
.goal-chart-wrap h3{margin:18px 0 6px}
.goal-bar{fill:var(--studio-accent,#0E7C86);opacity:.85}
.goal-bar.done{fill:#22A45D}
.goal-bar.current{opacity:1;stroke:#0f172a33;stroke-width:1}
.goal-bar.future{opacity:.25}
.goal-mark{stroke:#0f172a;stroke-width:2;opacity:.55}
.goal-track{fill:#e9edf3}
.goal-label.strong{font-weight:600;fill:#334155}
.goal-span{grid-column:1/-1;background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:4px 20px 12px}
.goal-key-bar::before{border-top:8px solid var(--studio-accent,#0E7C86)}
.goal-key-done::before{border-top:8px solid #22A45D}
.goal-key-mark::before{border-top:2px solid #0f172a8c}
/* Pause : bouton d'en-tête et écran figé */
.pause-toggle{border:1px solid #e2e8f0;background:#fff;border-radius:30px;padding:5px 12px;font:inherit;font-size:12px;font-weight:600;cursor:pointer;color:#334155}
.pause-toggle:hover{border-color:#94a3b8}
.pause-toggle[aria-pressed=true]{background:#fef3c7;border-color:#f59e0b;color:#92400e}
html.mbt-paused body{overflow:hidden}
.pause-screen{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:16px;background:#0f172acc;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.pause-card{width:min(420px,100%);background:#fff;border-radius:24px;padding:32px;text-align:center;box-shadow:0 25px 80px #0f172a55;color:#111827}
.pause-icon{width:64px;height:64px;margin:0 auto 12px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fef3c7;color:#b45309;font-size:22px;letter-spacing:-2px}
.pause-card h1{margin:0 0 4px;font-size:28px}
.pause-who{color:#64748b;margin:0}
.pause-clock{font-size:44px;font-weight:700;font-variant-numeric:tabular-nums;margin:14px 0 18px;letter-spacing:.02em}
.pause-resume{width:100%;padding:13px;font-size:16px}
.pause-note{color:#64748b;font-size:13px;margin:14px 0 0}
.pause-switch{width:100%;margin-top:10px;padding:11px}
.pause-icon{gap:7px}
.pause-icon::before,.pause-icon::after{content:"";width:7px;height:24px;border-radius:3px;background:#b45309}
/* Bas de la barre latérale : utilisateur connecté et changement d'utilisateur */
.aside-user{margin:12px 12px 8px;padding:10px 12px;border-radius:14px;background:#ffffff14;border:1px solid #ffffff22;display:flex;flex-direction:column;gap:8px}
.aside-user-who{display:flex;flex-direction:column;font-size:13px;line-height:1.3}
.aside-user-who span{font-size:11px;opacity:.75}
.aside-switch{width:100%;border:1px solid currentColor;background:transparent;color:inherit;border-radius:10px;padding:7px 8px;font:inherit;font-size:12px;font-weight:600;cursor:pointer;opacity:.9}
.aside-switch:hover{opacity:1}
.pause-pw{width:100%;margin:0 0 6px;padding:11px;border-radius:12px;border:1px solid #cbd5e1;font:inherit;text-align:center}
/* Paramètres */
.settings-block{margin:0 0 16px}
.settings-block h2{margin-top:0}
.settings-list{display:grid;grid-template-columns:max-content 1fr;gap:6px 18px;margin:8px 0 12px}
.settings-list dt{color:#64748b}
.settings-list dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.settings-form{display:flex;flex-direction:column;max-width:520px}
.settings-row{display:flex;gap:10px;align-items:center;font-weight:600;margin-top:6px}
.settings-row input{width:auto}
.settings-form .primary{margin-top:14px;align-self:flex-start}
.settings-form h3{margin:18px 0 4px}
.settings-hours{display:grid;grid-template-columns:minmax(120px,max-content) minmax(90px,130px) auto minmax(90px,130px);gap:6px 10px;align-items:center;margin:8px 0}
.settings-day{display:flex;gap:8px;align-items:center;font-weight:600}
.settings-day input{width:auto}
.settings-arrow{color:#64748b}
.settings-form>button.secondary{align-self:flex-start;margin:4px 0 8px}
/* Retards et compteur */
.caisse-late{margin:0 0 8px;font-size:13px;color:#64748b}
.caisse-late.is-late{color:#b42318;font-weight:600}
.pause-left{margin:-8px 0 16px;font-size:14px;color:#15803d;font-weight:600}
.pause-left.over{color:#b42318}
.work-counter{font-size:12px;font-weight:600;padding:4px 10px;border-radius:30px;background:#ecfdf5;color:#166534;font-variant-numeric:tabular-nums;white-space:nowrap}
.work-counter.is-late{background:#fef2f2;color:#b42318}
/* Planning équipe */
.sp-table th small{display:block;font-weight:400;font-size:11px;text-transform:none;letter-spacing:0;color:#94a3b8}
.sp-table th span{display:block}
.sp-table td,.sp-table th{white-space:normal;vertical-align:top;min-width:96px}
.sp-name{min-width:120px}
.sp-name strong,.sp-name span{display:block}
.sp-today{background:#f8fafc}
.sp-closed{background:repeating-linear-gradient(45deg,#f8fafc,#f8fafc 6px,#f1f5f9 6px,#f1f5f9 12px)}
.sp-chip{display:flex;flex-direction:column;gap:1px;width:100%;text-align:left;border:1px solid #e2e8f0;border-left:4px solid var(--studio-accent,#0E7C86);border-radius:10px;background:#fff;padding:6px 8px;margin:0 0 6px;font:inherit;font-size:12px;color:#334155;cursor:default}
button.sp-chip{cursor:pointer}
button.sp-chip:hover{border-color:#94a3b8}
.sp-chip strong{font-size:13px;color:#111827;font-variant-numeric:tabular-nums}
.sp-chip span{color:#64748b}
.sp-conge{border-left-color:#22A45D;background:#f0fdf4}
.sp-maladie{border-left-color:#dc2626;background:#fef2f2}
.sp-absence{border-left-color:#f59e0b;background:#fffbeb}
.sp-formation{border-left-color:#6366f1;background:#eef2ff}
.sp-add{width:100%;border:1px dashed #cbd5e1;background:transparent;border-radius:10px;padding:4px;color:#64748b;cursor:pointer;font:inherit}
.sp-add:hover{border-color:#64748b;color:#111827}
.sp-total{min-width:130px}
.sp-total strong,.sp-total span{display:block}
.sp-warn{color:#b42318}
.sp-ok{color:#15803d}
.sp-coverage{margin:12px 0}
.sp-coverage ul,.sp-next{margin:6px 0;padding-left:18px}
.sp-coverage li,.sp-next li{margin:4px 0}
.sp-next li strong{margin-right:8px;text-transform:capitalize}
.sp-print .sp-chip{break-inside:avoid}
.sp-table td,.sp-table th{min-width:112px}
.sp-chip strong{white-space:nowrap}
.sp-pointed{color:#15803d!important;font-weight:600}
.sp-missing{color:#b42318!important;font-weight:700}
.sp-chip.sp-absent{border-left-color:#dc2626;background:#fff5f5}
/* Pilotage */
.pilot-warn{border-color:#fecaca;background:#fff7f7}
.pilot-warn strong{color:#b42318}
.pilot-todo ul{list-style:none;margin:6px 0 0;padding:0}
.pilot-todo li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;border-radius:10px;margin:6px 0;border-left:4px solid #94a3b8;background:#f8fafc}
.pilot-todo li.pilot-lvl3{border-left-color:#dc2626;background:#fef2f2}
.pilot-todo li.pilot-lvl2{border-left-color:#f59e0b;background:#fffbeb}
.pilot-todo li button{flex:none}
.pilot-detail{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:10px 14px;margin:8px 0}
.pilot-detail summary{cursor:pointer}
.pilot-events{list-style:none;padding:0;margin:8px 0 0}
.pilot-events li{display:flex;gap:12px;padding:5px 0;border-bottom:1px dashed #e2e8f0;font-size:14px}
.pilot-events li strong{min-width:110px;text-transform:capitalize}
.pilot-ev-warn span{color:#b42318;font-weight:600}
.pilot-ev-late span{color:#92400e}
.pilot-ev-info span{color:#475569}
.pilot-punct{fill:#6366f1}
.pilot-punct.low{fill:#f59e0b}
.pilot-key-punct::before{border-top:8px solid #6366f1}
/* Agenda : rendez-vous validés et no-show */
.calendar-event.is-validated,.month-event.is-validated{box-shadow:inset 4px 0 0 #22A45D}
.calendar-event.is-validated::after,.month-event.is-validated::after{content:" ✓";font-weight:700;color:#15803d}
.calendar-event.is-noshow,.month-event.is-noshow{background:repeating-linear-gradient(45deg,#fef2f2,#fef2f2 6px,#fee2e2 6px,#fee2e2 12px)!important;color:#991b1b!important;text-decoration:line-through;box-shadow:inset 4px 0 0 #dc2626}
.legend-validated{color:#15803d}
.legend-noshow{color:#b42318}
.tag.tag-validated{background:#dcfce7;color:#166534;border-color:#bbf7d0}
.tag.tag-noshow{background:#fee2e2;color:#991b1b;border-color:#fecaca}
.sp-late{color:#b45309!important;font-weight:600}
.sp-chip.sp-is-late{border-left-color:#f59e0b}
.calendar-staff{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600}
.calendar-staff select{width:auto}
.sp-publish{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:12px;margin:0 0 12px;font-weight:600}
.sp-publish.is-published{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}
.sp-publish.is-draft{background:#fffbeb;color:#92400e;border:1px solid #fde68a}
.sp-chip.sp-legal{outline:2px solid #dc2626;outline-offset:-2px}
.sp-publish{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:12px;margin:0 0 12px;font-weight:600}
.sp-publish.is-published{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}
.sp-publish.is-draft{background:#fffbeb;color:#92400e;border:1px solid #fde68a}
.sp-chip.sp-legal{outline:2px solid #dc2626;outline-offset:-2px}
.sp-req-wait{background:#fef3c7!important;color:#92400e!important}
.sp-req-ok{background:#dcfce7!important;color:#166534!important}
.sp-req-no{background:#fee2e2!important;color:#991b1b!important}
.pilot-decide{display:inline-flex;gap:6px;flex:none}
.rgpd-doc{font-family:Georgia,serif;color:#000;max-width:720px;margin:0 auto;font-size:13px}
.rgpd-doc h1{font-size:20px}
.rgpd-doc h2{font-size:15px;margin:14px 0 4px}
.rgpd-doc table{width:100%;border-collapse:collapse;font-size:12px}
.rgpd-doc th,.rgpd-doc td{border:1px solid #999;padding:3px 6px;text-align:left}
.calendar-lanes{display:inline-flex;gap:10px;flex-wrap:wrap;font-size:12px;font-weight:600}
.calendar-lanes span::before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--lane);margin-right:5px;vertical-align:-1px}
.pilot-setup{margin:0 0 16px}
.pilot-setup summary{cursor:pointer;font-size:16px}
.pilot-steps{list-style:none;padding:0;margin:10px 0 0}
.pilot-steps li{display:grid;grid-template-columns:1fr auto auto;gap:4px 10px;align-items:center;padding:8px 10px;border-radius:10px;margin:4px 0;background:#f8fafc}
.pilot-steps li span{grid-column:1}
.pilot-steps li button{grid-row:1/span 2}
.pilot-steps li.is-done{background:#f0fdf4;opacity:.75}
.pilot-steps li.is-done strong{color:#15803d}
.caisse-secure-status{font-weight:600;padding:8px 12px;border-radius:10px;background:#f8fafc}
.caisse-secure-status.ok{background:#f0fdf4;color:#166534}
.caisse-secure-status.ko{background:#fef2f2;color:#991b1b}
.caisse-archive table{font-size:11px}
/* Accueil : « Au programme aujourd'hui » */
.today-head h3{margin:0}
.today-summary{margin:4px 0 10px;color:#64748b;font-size:13px}
.today-filters{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.today-chip{border:1px solid #e2e8f0;background:#fff;border-radius:30px;padding:4px 12px;font:inherit;font-size:12px;font-weight:600;cursor:pointer;color:#334155}
.today-chip::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--dot,transparent);margin-right:6px;vertical-align:1px}
.today-chip.is-on{background:#111827;color:#fff;border-color:#111827}
.today-chip-ghost::before{display:none}
.today-list{list-style:none;margin:0 0 10px;padding:0}
.today-row{display:grid;grid-template-columns:54px minmax(0,1fr) auto;grid-template-areas:"time main side" "time act act";gap:2px 12px;align-items:center;padding:9px 10px 9px 12px;border-radius:12px;border-left:4px solid var(--dot,#94a3b8);background:#fff;margin:0 0 6px;box-shadow:0 1px 0 #eef2f7}
.today-time{grid-area:time;display:flex;flex-direction:column;align-self:start;font-variant-numeric:tabular-nums}
.today-time strong{font-size:15px}
.today-time small{color:#94a3b8;font-size:11px}
.today-main{grid-area:main;min-width:0;display:flex;flex-direction:column}
.today-title{text-align:left;font-weight:600;padding:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.today-meta{color:#64748b;font-size:12px}
.today-side{grid-area:side;display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.today-price{font-variant-numeric:tabular-nums;font-size:14px}
.today-status{font-size:11px;font-weight:600;padding:1px 8px;border-radius:20px;background:#f1f5f9;color:#475569}
.today-actions{grid-area:act;display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.today-btn{font-size:12px!important;padding:4px 10px!important;min-height:0!important;border-radius:8px!important}
.today-inv{background:#f0fdf4!important;color:#166534!important;border-color:#bbf7d0!important}
.status-termine{opacity:.82}
.status-termine .today-status{background:#e2e8f0;color:#334155}
.status-valide .today-status{background:#dcfce7;color:#166534}
.status-noshow .today-status{background:#fee2e2;color:#991b1b}
.status-noshow .today-title{text-decoration:line-through}
.status-annule{opacity:.55}
.today-status.is-late{background:#fef3c7;color:#92400e}
.today-row.is-next{box-shadow:0 0 0 2px var(--dot,#94a3b8)}
.today-row.is-next .today-status{background:#111827;color:#fff}
/* Graphiques : taille maîtrisée */
.goal-chart{width:100%;height:auto;max-height:230px;display:block}
.goal-chart-wrap{max-width:760px}
.goal-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:8px 24px;align-items:start}
.goal-charts .goal-chart-wrap{max-width:none;margin:10px 0 0}
.goal-chart-wrap h3{font-size:14px;margin:12px 0 4px}
.goal-team-chart,.pilot .goal-chart-wrap{max-width:720px}
.goal-ring{width:96px;height:96px}
/* Assistant compact et barres de navigation sur une ligne */
.pilot-steps li{display:flex!important;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.pilot-steps li>div:first-child{display:flex;flex-direction:column;min-width:0}
.pilot-step-acts{display:flex;gap:6px;flex:none}
.pilot-done{color:#15803d;font-size:13px;margin:8px 0 0}
.pilot-setup .caisse-bar{margin:8px 0 0}
.caisse-head .actions,.caisse-head .actions button{white-space:nowrap}
.caisse-head .actions{flex-wrap:wrap;gap:6px;align-items:center}
.caisse-head .actions input[type=date],.caisse-head .actions input[type=month]{width:auto}
.pilot .caisse-tiles{grid-template-columns:repeat(auto-fit,minmax(138px,1fr))}
/* Zoom du texte */
.zoom-ctl{display:inline-flex;align-items:center;border:1px solid #e2e8f0;border-radius:30px;background:#fff;overflow:hidden}
.zoom-ctl button{border:0;background:transparent;font:inherit;font-size:12px;font-weight:700;padding:4px 9px;cursor:pointer;color:#334155}
.zoom-ctl button:hover{background:#f1f5f9}
.zoom-ctl .zoom-value{font-weight:600;font-variant-numeric:tabular-nums;min-width:48px;border-left:1px solid #e2e8f0;border-right:1px solid #e2e8f0}
/* Facturation : lignes de documents lisibles */
.document-row>summary.doc-sum{grid-template-columns:minmax(96px,.7fr) minmax(150px,1.6fr) minmax(130px,1fr) minmax(90px,.7fr) minmax(130px,.9fr) 20px!important;padding:11px 16px!important;gap:12px!important;font-size:13px}
.doc-sum .doc-no{font-variant-numeric:tabular-nums;color:#111827}
.doc-sum .doc-client,.doc-sum .doc-when{display:flex;flex-direction:column;min-width:0;line-height:1.3}
.doc-sum .doc-client span{color:#111827;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.doc-sum small{color:#94a3b8;font-size:11px}
.doc-sum .doc-amount{text-align:right;font-variant-numeric:tabular-nums;color:#111827}
.doc-status{justify-self:start;white-space:nowrap;font-size:11px!important;font-weight:600;padding:3px 10px!important;border-radius:20px!important;overflow-wrap:normal!important}
.doc-status.is-paid{background:#dcfce7!important;color:#166534!important;border-color:#bbf7d0!important}
.doc-status.is-due{background:#fef3c7!important;color:#92400e!important;border-color:#fde68a!important}
.doc-status.is-late{background:#fee2e2!important;color:#991b1b!important;border-color:#fecaca!important}
.doc-status.is-draft{background:#f1f5f9!important;color:#475569!important;border-color:#e2e8f0!important}
.invoice-list .document-row{margin:0 0 6px}
@media screen and (max-width:760px){.document-row>summary.doc-sum{grid-template-columns:minmax(0,1fr) auto 18px!important;grid-template-areas:"no amount x" "client status x" "when when x"}
 .doc-sum .doc-no{grid-area:no}.doc-sum .doc-amount{grid-area:amount}.doc-sum .doc-client{grid-area:client}.doc-sum .doc-status{grid-area:status;justify-self:end}.doc-sum .doc-when{grid-area:when;flex-direction:row;gap:8px}.document-row>summary.doc-sum:after{grid-area:x;grid-row:1/4!important}}
.document-row>.client-card>h3{display:none}
.document-row>.client-card{padding:12px 16px!important}
.document-row>.client-card>p{margin:3px 0;font-size:13px}
.document-row>.client-card>p:first-of-type{font-weight:600;color:#111827}
/* Onglets de rubrique un peu plus serrés : 8 onglets tiennent sur une ligne en grand écran */
.section-tabs .section-tab{padding:8px 11px!important}
.section-tabs{gap:5px!important}
/* Mes prochains créneaux : tableau */
.sp-next-table td,.sp-next-table th{white-space:nowrap}
.sp-next-table td:nth-child(2),.sp-next-table td:nth-child(3),.sp-next-table td:nth-child(4){font-variant-numeric:tabular-nums}
.sp-next-table tr.is-today td{background:#f8fafc}
.sp-next-table tr.sp-next-conge td,.sp-next-table tr.sp-next-maladie td,.sp-next-table tr.sp-next-absence td,.sp-next-table tr.sp-next-formation td{color:#15803d}
.sp-next-table tr.sp-next-conge td:nth-child(2){font-weight:600}
.sp-today-tag{margin-left:6px;font-size:11px}
.solo-choice{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.solo-opt{display:flex;flex-direction:column;gap:4px;text-align:left;padding:14px 16px;border:2px solid #e2e8f0;border-radius:14px;background:#fff;cursor:pointer;font:inherit}
.solo-opt span{color:#64748b;font-size:13px}
.solo-opt.is-on{border-color:var(--studio-accent,#9B4E73);background:#fdf8fb}
.solo-opt.is-on strong::after{content:" ✓"}
/* Temps de pose dans l'agenda */
.calendar-event{position:absolute}
.pose-band{position:absolute;left:0;right:0;background:repeating-linear-gradient(135deg,#ffffffcc,#ffffffcc 5px,transparent 5px,transparent 10px);border-top:1px dashed #94a3b8;border-bottom:1px dashed #94a3b8;font-size:10px;font-weight:700;color:#475569;display:flex;align-items:center;justify-content:flex-end;padding-right:6px;pointer-events:none;text-transform:uppercase;letter-spacing:.06em}
/* Réservation en ligne */
.online-alert{border:0;background:#fef3c7;color:#92400e;font:inherit;font-size:12px;font-weight:700;padding:5px 12px;border-radius:30px;cursor:pointer;animation:onlinePulse 2s ease-in-out 3}
@keyframes onlinePulse{50%{box-shadow:0 0 0 6px #fde68a88}}
.calendar-event.is-online::before{content:"🌐 ";font-size:11px}
.online-box{margin:12px 0}
.online-box details{margin-top:8px}
.online-box summary{cursor:pointer;font-weight:600}
/* Encaissement rapide */
.qs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}
.qs-item{display:flex;flex-direction:column;gap:2px;text-align:left;padding:9px 11px;border:1.5px solid #e2e8f0;border-radius:12px;background:#fff;cursor:pointer;font:inherit;font-size:13px}
.qs-item span{color:#64748b;font-size:12px}
.qs-item.is-on{border-color:var(--studio-accent,#9B4E73);background:#fdf8fb}
.qs-cart{display:flex;flex-direction:column;gap:4px;margin:4px 0}
.qs-line{display:grid;grid-template-columns:1fr auto auto;gap:4px 10px;align-items:center;padding:6px 10px;border-radius:10px;background:#f8fafc;font-size:14px}
.qs-line input{grid-column:1/-1}
.qs-line strong{font-variant-numeric:tabular-nums}
.qs-qty{min-width:28px;padding:2px 8px!important}
.qs-total{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:12px;background:#111827;color:#fff;margin:10px 0}
.qs-total strong{font-size:20px;font-variant-numeric:tabular-nums}
.qs-extra{margin:4px 0 8px}
/* Bons cadeaux */
.tag.gift-valide{background:#dcfce7;color:#166534}
.tag.gift-entamé{background:#fef3c7;color:#92400e}
.tag.gift-utilisé,.tag.gift-expiré{background:#f1f5f9;color:#64748b}
.gift-print{max-width:520px;margin:30px auto;padding:36px;border:2px dashed #9B4E73;border-radius:24px;text-align:center;font-family:Georgia,serif;color:#111}
.gift-print h1{font-size:34px;margin:4px 0}
.gift-print h2{font-family:ui-monospace,Menlo,monospace;letter-spacing:.15em;font-size:22px;margin:8px 0}
.gift-print p:nth-of-type(2){font-size:28px;font-weight:700;margin:0}
.calendar-event>*:not(.pose-band){position:relative;z-index:1}
.pose-band{z-index:0;background:repeating-linear-gradient(135deg,#ffffff80,#ffffff80 4px,transparent 4px,transparent 9px)!important;color:#64748b}
.sms-help{margin:0 0 10px}
.sms-help summary{cursor:pointer;font-weight:600}
.sms-help p{margin:4px 0;font-size:13px}
.settings-form textarea{width:100%;font:inherit;padding:8px 10px;border-radius:10px;border:1px solid #cbd5e1}
.lan-url{font:600 18px ui-monospace,Menlo,monospace;background:#f8fafc;border:1px dashed #94a3b8;border-radius:10px;padding:10px 14px;display:inline-block;user-select:all}
.lan-steps{margin:8px 0 0;padding-left:20px;font-size:14px}
.lan-steps li{margin:4px 0}
/* Zoom en bas à gauche */
.zoom-ctl.zoom-aside{margin:6px 12px 14px;align-self:flex-start;background:#ffffffcc}
/* En-tête plus léger sur iPad */
@media screen and (max-width:1180px){
 main header>span:first-child{display:none}
 .auth-chip .auth-role{display:none}
 .auth-chip>.auth-link:not(:last-child){display:none}
 .auth-chip{gap:6px}
}
/* Prochain rendez-vous */
.nv-slots{display:flex;flex-direction:column;gap:8px;margin:10px 0;max-height:46vh;overflow:auto}
.nv-day{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border-radius:12px;background:#f8fafc}
.nv-day strong{font-size:13px}
.nv-chips{display:flex;flex-wrap:wrap;gap:6px}
.nv-chip{border:1.5px solid #e2e8f0!important;background:#fff!important;border-radius:20px!important;padding:5px 12px!important;font-weight:600;font-variant-numeric:tabular-nums}
.nv-chip:hover{border-color:var(--studio-accent,#9B4E73)!important;background:#fdf8fb!important}
.qs-panel{display:flex;flex-direction:column;gap:6px;padding:12px;border:1.5px dashed #cbd5e1;border-radius:12px;margin:8px 0;background:#fcfcfd}
.qs-panel.hidden{display:none}
.qs-panel label{display:flex;flex-direction:column;gap:3px;font-size:13px;font-weight:600}
.qs-panel>button{align-self:flex-start}
.qs-quick{display:flex;gap:6px;flex-wrap:wrap}
.qs-quick button{padding:4px 12px!important;border-radius:20px!important}
.qs-err{color:#b42318;font-size:13px;margin:0;min-height:0}
/* Acomptes */
.deposit-tag{display:inline-block;font-size:11px;font-weight:700;padding:1px 8px;border-radius:20px;margin-top:2px;background:#f1f5f9;color:#475569;width:fit-content}
.deposit-tag.dep-demande{background:#fef3c7;color:#92400e}
.deposit-tag.dep-recu{background:#dcfce7;color:#166534}
.deposit-tag.dep-conserve{background:#fee2e2;color:#991b1b}
.deposit-note{background:#f0fdf4;color:#166534;border-radius:10px;padding:8px 10px;font-weight:600}
.entries-box{margin:14px 0}
.entries-chart{margin-top:10px}
.entries-chart summary{cursor:pointer;font-weight:600}
.entries-chart .settings-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px 14px;max-width:none}
.entries-chart label{display:flex;flex-direction:column;gap:3px;font-size:13px;font-weight:600}
.cgv-text{width:100%;font:13px/1.5 ui-monospace,Menlo,monospace;padding:10px;border-radius:10px;border:1px solid #cbd5e1;margin:6px 0}
.cgv-doc h2{font-size:14px;margin:12px 0 2px}
/* File d'attente sans rendez-vous */
.walkin-list{list-style:none;padding:0;margin:8px 0}
.walkin-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px 14px;align-items:center;padding:10px 14px;border-radius:14px;background:#fff;border:1px solid #e2e8f0;margin:0 0 8px}
.walkin-row>div:first-child{display:flex;flex-direction:column;min-width:0}
.walkin-row.is-next{border:2px solid var(--studio-accent,#9B4E73);background:#fdf8fb}
.walkin-wait{font-weight:700;font-variant-numeric:tabular-nums;background:#f1f5f9;padding:4px 10px;border-radius:20px;white-space:nowrap}
.walkin-wait.long{background:#fee2e2;color:#991b1b}
.walkin-empty{color:#64748b;padding:10px}
.walkin-label{font-weight:600;font-size:13px;margin:10px 0 4px}
@media (max-width:640px){.walkin-row{grid-template-columns:1fr auto}.walkin-row .actions{grid-column:1/-1}}
.walkin-screen{position:fixed;inset:0;z-index:1500;background:#1f1a1d;color:#fff;padding:40px 6vw;overflow:auto;font-family:Georgia,serif}
.walkin-screen h1{font-size:clamp(26px,4vw,48px);margin:0 0 24px}
.walkin-screen ol{list-style:none;padding:0;margin:0}
.walkin-screen li{display:flex;justify-content:space-between;align-items:center;font-size:clamp(22px,3.4vw,42px);padding:14px 22px;border-radius:18px;margin:0 0 12px;background:#ffffff14}
.walkin-screen li.is-next{background:#9B4E73}
.walkin-screen li span{font-family:-apple-system,Arial,sans-serif;font-weight:700;font-variant-numeric:tabular-nums}
.walkin-free{font-size:clamp(22px,3vw,36px)}
.walkin-busy{opacity:.75;font-size:clamp(16px,2vw,24px);margin-top:24px}
.walkin-exit{position:absolute;top:14px;right:14px;opacity:.6;background:transparent!important;color:#fff!important;border:1px solid #fff6!important}
/* Facturation de chantier (acompte, situations, solde) */
.btp-progress{height:10px;border-radius:6px;background:var(--line,#e5e1da);overflow:hidden;margin:.4rem 0}
.btp-progress span{display:block;height:100%;background:var(--accent,#2f6f5e)}
.btp-chain{list-style:none;padding:0;margin:.5rem 0;display:grid;gap:.4rem}
.btp-chain li{display:grid;grid-template-columns:minmax(10rem,1fr) 2fr auto;gap:.6rem;align-items:center;padding:.5rem .7rem;border:1px solid var(--line,#e5e1da);border-radius:8px}
.btp-chain li span{font-size:.9em}
.btp-box{margin:.6rem 0}.btp-box[hidden]{display:none}
.btp-lines{width:100%;border-collapse:collapse;margin:.5rem 0;font-size:.92em}
.btp-lines th,.btp-lines td{padding:.35rem .4rem;border-bottom:1px solid var(--line,#e5e1da);text-align:left;vertical-align:middle}
.btp-lines td:nth-child(n+2),.btp-lines th:nth-child(n+2){text-align:right;white-space:nowrap}
.btp-lines input{width:5.5rem;text-align:right}
.btp-total{font-weight:600}
.invoice-btp{margin:1rem 0;padding:.7rem 1rem;border:1px solid #bbb;border-radius:6px;break-inside:avoid}
.invoice-btp h3{margin:0 0 .4rem}
.invoice-btp dl{display:grid;grid-template-columns:1fr auto;gap:.2rem 1rem;margin:0}
.invoice-btp dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
.invoice-btp dl dt:last-of-type,.invoice-btp dl dd:last-of-type{font-weight:700;border-top:1px solid #bbb;padding-top:.3rem}
@media (max-width:640px){.btp-chain li{grid-template-columns:1fr}}
/* Mentions bâtiment sur devis et factures */
.btp-strong{font-weight:700}
.btp-sign{margin-top:1rem;break-inside:avoid}
.btp-sign>p:first-child{font-weight:700;margin-bottom:.2rem}
.btp-sign-box{height:5rem;border:1px solid #999;border-radius:4px;margin-top:.3rem}
.btp-attest{margin-top:1rem;padding:.6rem .8rem;border:1px solid #bbb;border-radius:6px;break-inside:avoid}
.btp-attest h4,.btp-withdraw h4{margin:0 0 .4rem}
.btp-attest ul{list-style:none;padding:0;margin:.3rem 0}
.btp-attest li{margin:.2rem 0}
.btp-withdraw{margin-top:1.4rem;padding-top:.8rem;border-top:2px dashed #999;break-inside:avoid}
.btp-withdraw p{margin:.35rem 0}
/* Signature du client */
.sign-pad{position:relative;margin:.3rem 0}
.sign-pad canvas{display:block;width:100%;max-width:640px;aspect-ratio:3/1;height:auto;border:2px dashed #9aa;border-radius:10px;background:#fff;cursor:crosshair;touch-action:none}
.sign-clear{margin-top:.4rem}
.sign-block{margin:.4rem 0;break-inside:avoid}
.sign-block img{display:block;width:240px;max-width:60%;height:auto;border-bottom:1px solid #999}
.sign-mention{font-style:italic;margin:.2rem 0}
.sign-meta{font-size:.82em;color:#555;margin:.2rem 0}
.sign-warn{color:#b00020;font-weight:700}
.sign-clear{padding:.35rem .9rem;border-radius:8px;border:1px solid #c9ced6;background:#f5f6f8;font:inherit;cursor:pointer}
/* Rentabilité des chantiers */
.profit-panel{margin:1rem 0}
.profit-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem 1rem;padding:.7rem .9rem;border-radius:10px;background:#f3f5f7;margin:.4rem 0 .8rem}
.profit-head strong{font-size:1.5rem}
.profit-head small{color:#555}
.profit-head.is-good{background:#e8f5ee}.profit-head.is-warn{background:#fff4dc}.profit-head.is-bad{background:#fde8e8}
.profit-table{width:100%;border-collapse:collapse;font-size:.93em}
.profit-table th,.profit-table td{padding:.38rem .5rem;border-bottom:1px solid #e3e6ea;text-align:left;vertical-align:top}
.profit-table td:nth-child(2){text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.profit-note{color:#666;font-size:.9em}
.profit-all td:nth-child(n+3),.profit-all th:nth-child(n+3){text-align:right;white-space:nowrap}
.profit-all td:nth-child(2){text-align:left}
.profit-all tr[tabindex]{cursor:pointer}.profit-all tr[tabindex]:hover{background:#f6f8fb}
.profit-all tr.is-bad td{color:#a40e26}.profit-all tr.is-warn td:nth-child(6),.profit-all tr.is-warn td:nth-child(7){color:#9a5b00}
.profit-total td{font-weight:700;border-top:2px solid #ccd}
.profit-scroll{overflow-x:auto}
.profit-bars{display:grid;gap:.35rem;margin:.8rem 0}
.profit-bar{display:grid;grid-template-columns:11rem 1fr 3rem;gap:.5rem;align-items:center}
.profit-track{height:9px;border-radius:5px;background:#e6e9ee;overflow:hidden}.profit-track span{display:block;height:100%}
.fill-progress{background:#2f6f5e}.fill-cost{background:#2563eb}.fill-bad{background:#c0392b}.fill-billed{background:#7c3aed}
.profit-alert{color:#9a3412;margin:.3rem 0}
.profit-overview{margin:.8rem 0}
@media (max-width:640px){.profit-bar{grid-template-columns:7rem 1fr 2.5rem}.profit-note{display:none}}
/* Pointage chantier */
.clock-card{margin:.8rem 0}
.clock-list{display:grid;gap:.5rem;margin:.6rem 0}
.clock-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem;padding:.7rem .8rem;border:1px solid #e1e5ea;border-radius:12px;background:#fafbfc}
.clock-row>div:first-child{display:grid;gap:.15rem}
.clock-row.is-on{border-color:#2f6f5e;background:#ecf7f2}.clock-row.is-pause{border-color:#c98a00;background:#fff7e3}.clock-row.is-done{opacity:.85}
.clock-actions button{min-height:48px;min-width:110px;font-size:1.02rem}
.clock-total{font-weight:600}
.clock-forgot{border-left:4px solid #c0392b}
@media (max-width:640px){.clock-row{flex-direction:column;align-items:stretch}.clock-actions{display:grid;grid-template-columns:1fr 1fr}.clock-actions button{width:100%}}
/* Demandes d'intervention en ligne */
.requests-panel{border-left:4px solid #2563eb;margin:0 0 1rem}
.request-card{padding:.7rem .8rem;border:1px solid #e1e5ea;border-radius:12px;margin:.5rem 0;background:#fafbfc}
.request-card.is-new{background:#eef4ff}
.request-head{display:flex;flex-wrap:wrap;gap:.3rem .8rem;align-items:baseline}
.request-head small{color:#666;width:100%}
.request-urgency{font-size:.85em;padding:.1rem .5rem;border-radius:20px;background:#e8edf3}
.request-card.is-urgent .request-urgency{background:#fde2e2;color:#9f1d1d;font-weight:700}
.request-desc{white-space:pre-wrap;margin:.4rem 0}
a.button-link{display:inline-flex;align-items:center;padding:.45rem .8rem;border:1px solid #c9ced6;border-radius:10px;text-decoration:none;color:inherit;background:#fff}
/* Visite guidée (simulations) */
.tour-box{position:fixed;right:20px;bottom:20px;z-index:9000;max-width:380px;width:calc(100% - 40px);background:#fff;color:#1d2433;border-radius:16px;box-shadow:0 18px 50px rgba(15,23,42,.28);padding:16px 18px;border:1px solid #dfe5ee}
.tour-box h3{margin:.2rem 0 .4rem;font-size:1.08rem}
.tour-box p{margin:0 0 .8rem;line-height:1.45;font-size:.95rem}
.tour-step{color:#64748b;font-weight:600;letter-spacing:.02em}
.tour-actions{display:flex;gap:.5rem;justify-content:flex-end;flex-wrap:wrap}
.tour-actions button{padding:.5rem .9rem;border-radius:10px;border:1px solid #cbd5e1;background:#f8fafc;font:inherit;cursor:pointer}
.tour-actions .primary{background:#2563eb;border-color:#2563eb;color:#fff}
.tour-actions .tour-skip{margin-right:auto;border:0;background:none;color:#64748b}
@media (prefers-color-scheme:dark){.tour-box{background:#1e2430;color:#e8edf5;border-color:#334155}.tour-actions button{background:#273042;border-color:#3b4659;color:inherit}}
/* Ventes SumUp */
.ext-bars{display:flex;align-items:flex-end;gap:3px;height:150px;padding-top:8px}
.ext-bar{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;min-width:0}
.ext-bar span{display:block;width:100%;background:#9b4e73;border-radius:3px 3px 0 0}
.ext-bar small{font-size:.62rem;color:#888;margin-top:2px}
.ext-row{padding:.6rem 0;border-bottom:1px solid #eee}
.ext-row .actions{margin-top:.4rem;flex-wrap:wrap}
.ext-row select{max-width:260px}
/* Confirmations des rendez-vous du lendemain */
.confirm-panel{border-left:4px solid #9b4e73;margin:0 0 1rem}
.confirm-counts{display:flex;gap:.6rem;flex-wrap:wrap;margin:.4rem 0 .6rem}
.confirm-count{flex:1;min-width:110px;padding:.5rem .7rem;border-radius:10px;background:#f4f5f7}
.confirm-count strong{display:block;font-size:1.4rem}
.confirm-count.is-ok{background:#e8f5ee}.confirm-count.is-wait{background:#fff4dc}.confirm-count.is-bad{background:#fde8e8}
.confirm-list{list-style:none;padding:0;margin:.3rem 0}
.confirm-list li{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem 0;border-bottom:1px solid #eee;flex-wrap:wrap}
.confirm-list li.is-cancelled{color:#a40e26}
.ext-choice{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
/* Version en ligne : bandeau d'abonnement */
.sub-banner{position:sticky;top:0;z-index:50;padding:.5rem 1rem;text-align:center;background:#e0ecff;color:#1d3a8a;font-size:.92rem}
.sub-banner.is-bad{background:#fef3c7;color:#7c2d12}
.sub-banner a{color:inherit;font-weight:700}
/* Import des factures électroniques */
.einv-list{display:grid;gap:.5rem;margin:.6rem 0;max-height:50vh;overflow:auto}
.einv-item{padding:.6rem .8rem;border:1px solid #e1e5ea;border-radius:10px;display:grid;gap:.2rem}
.einv-item.is-off{opacity:.65}
.einv-item label{display:flex;gap:.5rem;align-items:center;font-weight:600}
/* Fiche technique */
.tech-panel{border-left:4px solid #9b4e73}
.health-status{display:grid;gap:.15rem;padding:.6rem .8rem;border-radius:10px;margin:.3rem 0 .6rem;background:#f4f5f7}
.health-status.is-ok{background:#e8f5ee}.health-status.is-risk{background:#fde8e8;color:#8a1222}.health-status.is-missing,.health-status.is-old{background:#fff4dc}
.health-status span{font-size:.9em;opacity:.85}
.health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.35rem;margin:.4rem 0}
.health-item{display:flex;gap:.5rem;align-items:flex-start;font-weight:400;padding:.35rem .5rem;border:1px solid #e3e6ea;border-radius:8px}
.health-item input{margin-top:.2rem}
.tech-list{list-style:none;padding:0;margin:.4rem 0;display:grid;gap:.45rem}
.tech-list li{display:grid;gap:.15rem;padding:.55rem .7rem;border:1px solid #e3e6ea;border-radius:10px}
.tech-list li button{justify-self:start;margin-top:.2rem}
.tech-reaction{color:#9a3412}
.tech-alert{white-space:pre-line;padding:.5rem .7rem;border-radius:8px;background:#fff4dc;margin:.3rem 0}
.tech-alert.is-risk{background:#fde8e8;color:#8a1222;font-weight:600}
.tech-flag{display:inline-block;margin-top:.2rem;font-size:.68rem;padding:.05rem .4rem;border-radius:10px;background:#fff4dc;color:#7c4a03}
.tech-flag.is-risk{background:#fde8e8;color:#8a1222;font-weight:700}
/* Relances et avis */
.loyalty-settings{margin:.6rem 0 1rem}
.loyalty-settings summary{cursor:pointer;font-weight:600}
.loyalty-block{margin:.8rem 0}
.loyalty-list{list-style:none;padding:0;margin:.5rem 0;display:grid;gap:.45rem}
.loyalty-list li{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem .7rem;border:1px solid #e3e6ea;border-radius:10px}
.loyalty-list li>strong{min-width:9rem}
.loyalty-hist{margin:.3rem 0;padding-left:1.1rem;font-size:.92em}
.client-marketing{margin-top:.8rem}.client-marketing[hidden]{display:none}.client-marketing .auth-help{margin:.3rem 0 0;font-size:.85em}
.month-nav{align-items:center}.month-nav>strong{text-transform:capitalize}@media(max-width:640px){.month-nav{display:grid;grid-template-columns:1fr 1fr;gap:8px}.month-nav>strong{grid-column:1/-1;order:-1;text-align:center}}
/* Téléphone : en-tête compact pour voir tout de suite l’agenda */@media(max-width:640px){main>.hero:not(:has(button:not(.hidden))){display:none}main>header>span:first-child,main>header>.tag,main>header .zoom-ctl{display:none}main>header{gap:6px;padding-top:4px;padding-bottom:4px}}
/* Bouton « Ouvrir ma caisse » tout en haut au milieu */
.caisse-quick{display:flex;justify-content:center;padding:10px 0 4px}
.caisse-quick button{border-radius:999px;padding:10px 22px;font-weight:650;min-height:44px}
.caisse-quick .caisse-quick-on{background:#e9f4ec;color:#2f6b4f;border:1px solid #bfdcc9}
html[data-edition="beaute"] .caisse-quick .caisse-quick-off{background:#93456c;border-color:#93456c;color:#fffafc}
html.mbt-paused .caisse-quick{display:none}
@media print{.caisse-quick{display:none}}
.caisse-quick .caisse-quick-on{background:#fff4ec;color:#8a4a1f;border:1px solid #f0cfb5}
.aside-logout{opacity:.75}
.menu-user{margin-top:18px;padding-top:14px;border-top:1px solid #0000001a;display:flex;flex-direction:column;gap:10px}
.menu-user-who{margin:0;font-size:13px;opacity:.75}
.menu-user button{width:100%;min-height:44px}
/* Choix du style de l'interface */
.look-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:10px}
.look-choice{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:4px 12px;align-items:center;padding:14px;border:2px solid #e2d6dc;border-radius:12px;cursor:pointer;background:#fff}
.look-choice input{position:absolute;opacity:0;pointer-events:none}
.look-choice.is-on{border-color:currentColor}
.look-swatch{grid-row:1/3;width:46px;height:46px;border-radius:10px}
.look-aura .look-swatch{background:linear-gradient(135deg,#93456c,#f3dfe9)}
.look-barber .look-swatch{background:repeating-linear-gradient(-45deg,#111 0 7px,#f4f4f1 7px 14px);border:2px solid #111}
.look-choice span:last-child{font-size:13px;opacity:.8}
.look-choice:focus-within{outline:2px solid currentColor;outline-offset:2px}
.join-qr{display:flex;justify-content:center;margin:10px 0}.join-qr svg{width:220px;height:220px;border-radius:8px;border:1px solid #0000001a}
dialog.screen-link{max-width:min(560px,94vw);max-height:90vh;overflow:auto}.screen-link-end{justify-content:flex-end;border-top:1px solid #0000001a;padding-top:12px;margin-top:12px}
/* Écran de pause aux couleurs du thème (il est hors du cadre de l'appli, donc hors des styles .shell) */
html[data-edition="beaute"] .pause-screen{background:#3b1f33cc}
html[data-edition="beaute"] .pause-card{color:#4b2b43}
html[data-edition="beaute"] .pause-card .primary{background:#93456c;border-color:#93456c;color:#fffafc;border-radius:14px}
html[data-edition="beaute"] .pause-card .primary:hover{background:#763353}
html[data-edition="beaute"] .pause-card .secondary{border-color:#e6d3dd;color:#4b2b43;background:#fff}
html[data-look="barber"] .pause-card .primary{background:#111111!important;border-color:#111111!important;color:#f4f4f1!important;border-radius:6px}
html[data-look="mix"] .pause-card .primary{background:#141414!important;border-color:#141414!important;color:#efe7d8!important;border-radius:10px}
html[data-look="mix"] .pause-card .secondary,html[data-look="barber"] .pause-card .secondary{color:#141414;border-color:#c9c2b6}
/* Location de salle (édition Événements) */
.venue-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:10px 0}
.venue-dow{font-size:12px;font-weight:700;text-align:center;opacity:.7;padding:4px 0}
.venue-day{min-height:78px;border:1px solid #dfe5ee;border-radius:10px;background:#fff;text-align:left;padding:6px 8px;display:flex;flex-direction:column;gap:2px;cursor:pointer;font:inherit;color:inherit}
.venue-day strong{font-size:14px}.venue-day span{font-size:12px;font-weight:700}.venue-day small{font-size:11px;opacity:.7}
.venue-day.is-empty{visibility:hidden}.venue-day.is-past{opacity:.55}.venue-day.is-today{outline:2px solid #2b3a7a}
.venue-day.is-booked{background:#2b3a7a;color:#fff;border-color:#2b3a7a}.venue-day.is-booked small{opacity:.85}
.venue-day.is-option{background:#fff6e5;border-color:#e7c27a;color:#6b4a10}
.venue-card.is-booked{border-left:4px solid #2b3a7a}.venue-card.is-option{border-left:4px solid #e7c27a}.venue-card.is-cancelled{opacity:.6}
.venue-doc{font-family:Georgia,'Times New Roman',serif;color:#111;max-width:720px;margin:0 auto;line-height:1.5}
.venue-doc h1{font-size:22px;margin:0 0 4px}.venue-doc h2{font-size:14px;margin:14px 0 4px}.venue-doc p{font-size:12px;margin:0 0 6px;text-align:justify}
.venue-doc .venue-meta{color:#555;font-size:11px}.venue-doc table{width:100%;border-collapse:collapse;font-size:12px}.venue-doc td,.venue-doc th{border:1px solid #ccc;padding:5px 8px;text-align:left}
.venue-sigs{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:20px}.venue-sigs h3{font-size:13px;margin:0 0 6px}
@media(max-width:640px){.venue-day{min-height:58px;padding:4px}.venue-day span,.venue-day small{display:none}}
.venue-day.is-booked small{color:#e4e9ff!important;opacity:1!important}.venue-lg-booked{color:#2b3a7a;font-weight:700}.venue-lg-option{color:#c9952e;font-weight:700}
