:root{font-family:Arial,Helvetica,sans-serif;color:#3f443f;background:#fbfaf7;font-synthesis:none;--gold:#a48a51;--line:#e6e2d8;--green:#3e5146}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:#fffdf8;color:inherit;border-radius:7px;padding:12px 17px;transition:background .2s,transform .2s}button:hover:not(:disabled){background:#eee9dc}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #aa8e4b;outline-offset:4px}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover:not(:disabled){background:#2f4236}header{height:100px;margin:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:13px;align-items:center;color:var(--gold);font-size:35px;text-decoration:none}.brand span{font-size:19px;letter-spacing:4px;color:#42483e}.brand b{font-weight:400}.brand small{font-size:8px;letter-spacing:2px;display:block;margin-top:8px}.privacy{font-size:12px;color:#7c8077}main{max-width:1500px;margin:auto;padding:44px 5% 65px}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:36px;margin:7px 0 12px}h2{font-size:22px}h3{font-size:21px;margin:8px 0}.eyebrow{font-size:10px;letter-spacing:2.3px;color:var(--gold);font-weight:600}p{line-height:1.65}.session-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.session-heading p:not(.eyebrow){font-size:13px;color:#808477;margin:0}.session-meta{text-align:right}.status{display:block;color:#687b60;font-size:12px;margin-bottom:10px}.session-meta small{font-size:10px;color:#919185}.workspace{display:grid;grid-template-columns:290px minmax(0,1fr);gap:30px}.video-panel{height:300px;background:#e7e8e1;position:relative;overflow:hidden;border-radius:12px}.video-panel video{width:100%;height:100%;object-fit:cover}.video-panel #local{position:absolute;width:76px;height:99px;right:12px;bottom:40px;background:#d3d8ce;border:2px solid #fff;border-radius:7px;transform:scaleX(-1);display:none}#video-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:24px;text-align:center;color:#697566}#video-placeholder h2{margin-bottom:0}#video-placeholder p{font-size:12px}.avatar{font-size:44px;color:#9ba68d}.video-caption{position:absolute;bottom:16px;left:16px;padding:5px 10px;border-radius:5px;font-size:11px;background:#fbfaf7e6}.video-controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.video-controls button{font-size:11px;flex:1}.aside-note{padding:28px 18px;margin-top:24px;text-align:center;border-top:1px solid var(--line)}.aside-note>span{font-size:28px;color:var(--gold)}.aside-note p{font-size:12px;color:#858577}.aside-note h3{font-size:21px}.table-panel{background:white;border:1px solid var(--line);border-radius:12px;padding:22px}.table-heading,.reading-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.table-heading h2,.reading-heading h2{margin:0;font-size:20px}.table-heading>span,.reading-heading>span{font-size:10px;color:#8d8a7d;border:1px solid #ece9df;border-radius:20px;padding:7px 12px}.mat{background:#eae3ce url('/lotus.svg') center/90% 95% no-repeat;border-radius:8px;padding:25px 9%;}.cards{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:13px 12px;max-width:650px;margin:auto}.card{aspect-ratio: .59;min-width:0;padding:0;position:relative;border-radius:5px;background:#fffdf5;border:1px solid #d4bf8b;box-shadow:0 2px 3px #74603b12;transition:transform .35s,outline .15s}.card:before{content:'';position:absolute;inset:5px;border:1px solid #d8c695;border-radius:2px}.card:after{content:'✧';font-family:Georgia,serif;position:absolute;inset:0;display:grid;place-content:center;color:#b59a61;font-size:32px}.card .mark{position:absolute;top:12%;left:0;width:100%;text-align:center;color:#cab887;font-size:9px}.cards .card:last-child{grid-column:4}.card.selected{outline:2px solid #9a7e41;outline-offset:3px}.card.reversed{transform:rotate(180deg)}.card.drawn{opacity:.23;background:#e2dccb;box-shadow:none}.card:hover:not(:disabled){background:#fffef9;translate:0 -3px}.choice-panel{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:21px 0;border-bottom:1px solid var(--line)}.choice-panel h3{font-size:18px}.choice-panel .eyebrow{font-size:9px}#choice-controls{display:flex;gap:10px;align-items:center}.orientation{display:flex;border:1px solid var(--line);border-radius:6px;padding:3px}.orientation button{font-size:11px;padding:9px;border:0}.orientation button[aria-pressed=true]{background:#eee9dc;color:#806a38}#confirm,#request{font-size:11px;padding:12px}.reading-heading{margin-top:23px}.reading{display:flex;gap:16px;flex-wrap:wrap;min-height:70px}.empty{font-size:12px;color:#a09d91;margin:auto}.draw{width:95px;text-align:center;margin:0}.draw img{width:100%;height:164px;object-fit:contain}.draw img.reversed{transform:rotate(180deg)}.draw .card{width:68px;margin:auto}.draw figcaption{font-size:10px;line-height:1.6;margin-top:10px}.preview{background:#f7f5ee;border-radius:8px;padding:16px;margin-top:15px;display:flex;gap:20px;align-items:center}.preview img{width:75px;height:130px;object-fit:contain}.preview img.reversed{transform:rotate(180deg)}.preview p{font-size:12px}.invite{border:1px solid #d8dece;background:#f1f4ed;padding:16px;margin-bottom:25px;border-radius:8px}.invite label{font-size:12px}.invite>div{display:flex;gap:10px;margin:10px 0}.invite input{flex:1;min-width:0}.invite small{font-size:11px;color:#75806c}input{padding:12px;border:1px solid var(--line);border-radius:6px;background:#fff}footer{margin:0 5%;padding:23px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#9a9787}footer span:first-child{letter-spacing:2px}.welcome{text-align:center;padding:25px 0 50px;background:url('/lotus.svg') center/contain no-repeat}.welcome h1{font-size:48px;line-height:1.15}.intro{color:#858879;font-size:15px}#login{display:grid;gap:12px;max-width:340px;margin:32px auto}#login label{font-size:12px}#login .primary{display:flex;justify-content:space-between}.muted{font-size:11px;color:#959584}#dashboard{padding:50px 0 100px}#dashboard>p:not(.eyebrow){color:#858879}.text-button{border:0;background:transparent;font-size:12px;color:#887a65}#message{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#3e5146;color:#fff;padding:15px 25px;border-radius:8px;z-index:20;max-width:90%;box-shadow:0 4px 20px #0002}[hidden]{display:none!important}@media(min-width:1500px){.mat{padding-top:35px;padding-bottom:35px}.card{max-height:130px}}@media(max-width:1100px){.workspace{grid-template-columns:235px minmax(0,1fr);gap:20px}.choice-panel{align-items:flex-start;flex-direction:column}.mat{padding:22px 6%}.cards{gap:10px 8px}}@media(max-width:760px){header{height:80px}.brand span{font-size:15px}.privacy{font-size:10px}main{padding:25px 4%}.session-heading{gap:12px;align-items:flex-start}h1{font-size:28px}.session-meta small{display:none}.workspace{display:flex;flex-direction:column;gap:20px}.video-panel{height:220px}.aside-note{display:none}.video-controls{margin-bottom:0}.table-panel{padding:15px}.table-heading h2{font-size:18px}.table-heading>span{font-size:9px;padding:6px}.mat{padding:20px 5%}.cards{gap:10px 7px}.card:after{font-size:26px}.card:before{inset:3px}.choice-panel{gap:9px}#choice-controls{flex-wrap:wrap}.welcome h1{font-size:37px}footer span:nth-child(2){display:none}.draw{width:75px}.draw img{height:130px}}
.office-box{border:1px solid var(--line);border-radius:12px;padding:24px;background:white;margin:25px 0}.office-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}select{font:inherit;padding:10px;border:1px solid var(--line);border-radius:6px;background:#fffdf8;color:inherit}.office-actions label{font-size:13px}.formulas{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:30px 0}.formula{padding:24px;border:1px solid var(--line);border-radius:12px;background:#fffdf8;cursor:pointer}.formula:has(input:checked){border-color:var(--gold);outline:1px solid var(--gold)}.formula h2{font-size:24px}.formula p{color:var(--gold)}.formula input{accent-color:var(--green)}.dashboard-formula{display:block;margin:22px 0 14px;font-size:13px}.dashboard-formula select{margin:8px}.office-link{display:inline-block;margin:22px 0;color:var(--green)}@media(max-width:760px){.formulas{grid-template-columns:1fr;gap:12px}.formula{padding:16px}.formula h2{margin:8px 0}.office-actions{align-items:stretch;flex-direction:column}}
.queue-row{display:flex;align-items:center;gap:12px;padding:18px 0;border-bottom:1px solid var(--line)}.queue-row>div{flex:1}.queue-row strong{font-size:13px;font-weight:500}.queue-row p{font-size:12px;color:#7c8077;margin-bottom:0}.queue-row button{font-size:12px}.timeout-setting{margin-top:22px}.timeout-setting input{width:85px;margin-left:8px}#payment-prompt{font-size:19px;max-width:630px}#payment-deadline{color:#8a6731}#my-state{margin-top:22px}@media(max-width:760px){.queue-row{flex-wrap:wrap}.queue-row>div{flex-basis:100%}}
header>a:not(.brand){color:var(--green);font-size:12px;text-underline-offset:4px}.office-box>a{color:var(--green)}
#account-panel{max-width:900px}#saved-sessions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}#change-password{display:grid;gap:12px;max-width:360px;margin:20px 0}#account-panel details{margin:22px 0}
/* Plateau privé : coordonnées stables, jamais redistribuées en une ligne responsive. */
.spatial-reading{display:block;min-width:0}.board-controls{margin:12px 0 20px;padding:16px;background:#f7f5ee;border:1px solid var(--line);border-radius:8px}.board-controls p{font-size:12px;margin:0 0 12px}.board-controls fieldset{border:0;padding:0;margin:0}.board-controls legend{font:18px Georgia,serif;margin-bottom:12px}.board-fields{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:14px}.board-fields label{display:flex;flex-direction:column;gap:6px;font-size:12px;flex:1 1 170px;min-width:0}.board-fields input,.board-fields select{max-width:100%;width:100%;font-size:13px}.board-controls .muted{margin:12px 0 0}.board-scroll{overflow:auto;max-height:760px;border:1px solid var(--line);border-radius:8px;background:#fcfbf7}.camoin-board{position:relative;isolation:isolate;background-image:linear-gradient(#a48a510b 1px,transparent 1px),linear-gradient(90deg,#a48a510b 1px,transparent 1px);background-size:164px 340px}.board-card{width:132px;margin:0;text-align:center;position:relative}.camoin-board>.board-card{position:absolute}.board-card button{padding:5px;width:112px;border:1px solid transparent;border-radius:7px;background:#fff}.board-card button[aria-pressed=true]{border-color:var(--gold);box-shadow:0 0 0 2px #a48a5130}.board-card img{width:100px;height:172px;object-fit:contain;display:block}.board-card img.reversed{transform:rotate(180deg)}.board-card figcaption{font-size:11px;line-height:1.35;margin-top:7px}.board-card small{font-size:10px;color:#6e6c63}.board-links{position:absolute;left:0;top:0;z-index:-1;pointer-events:none}.board-links line{stroke:#b49a65;stroke-width:2;stroke-dasharray:5 4}.board-tray{display:flex;flex-wrap:wrap;gap:18px;padding:12px;margin-bottom:18px;border:1px dashed var(--gold);border-radius:8px}#board-pending h3{font-size:18px}.board-scroll:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

.public-arcana{width:112px;height:184px;margin:auto;padding:12px 8px;box-sizing:border-box;border:1px solid #cfbc8c;border-radius:7px;background:linear-gradient(145deg,#fff,#faf7ef);display:flex;flex-direction:column;align-items:center;justify-content:space-between;color:#66552e;box-shadow:0 3px 8px #8b784912}.public-number{font:26px Georgia,serif;color:#ad9360}.public-arcana strong{font:12px/1.45 Georgia,serif;text-transform:uppercase;text-align:center;overflow-wrap:anywhere}.public-orientation{font-size:11px;letter-spacing:.03em}.public-arcana.reversed{border:2px dashed #ae8c49;background:linear-gradient(145deg,#faf4e4,#fff)}.public-arcana.reversed .public-orientation{font-weight:700;color:#755823}.solution-controls{margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:8px}.solution-controls label{display:block;font-size:13px}.solution-controls p{font-size:12px}.solution-controls select{max-width:100%;margin:8px}.solution-controls button{margin:8px 0}
/* Consultation : le plateau prime, les outils de développement restent séparés. */
.in-consultation header{height:64px}.in-consultation main{padding-top:18px}.in-consultation .session-heading{margin-bottom:14px}.in-consultation .session-heading h1{font-size:25px;margin:4px 0}.in-consultation .session-heading #subtitle{display:none}.in-consultation .workspace{grid-template-columns:200px minmax(0,1fr);gap:18px}.in-consultation .video-panel{height:190px}.in-consultation .aside-note{display:none}.in-consultation .office-link{margin:12px 0;font-size:12px}.in-consultation .table-panel{padding:14px}.in-consultation .reading-heading{margin:0 0 8px}.in-consultation .reading-heading h2{font-size:19px}.reading-status{font-size:12px;color:#857452;margin:8px 0;line-height:1.4}.selection-area{margin-top:12px}.in-consultation .table-heading{margin:8px 0}.in-consultation .table-heading h2{font-size:16px}.in-consultation .mat{padding:10px 16px}.in-consultation .cards{max-width:330px;gap:7px}.in-consultation .cards .card{max-height:70px}.in-consultation .card:after{font-size:20px}.in-consultation .choice-panel{padding:10px 0;border:0;gap:8px}.in-consultation .choice-panel h3{font:13px/1.5 Arial,sans-serif;margin:3px 0}.in-consultation .choice-panel .eyebrow{margin:4px 0}.in-consultation .preview{padding:6px 10px;gap:10px;margin-top:6px}.in-consultation .preview img{width:40px;height:68px}.in-consultation .preview h3{font-size:15px}.in-consultation .preview p{font-size:10px;margin:3px 0}.in-consultation .board-scroll{max-height:64vh}.camoin-board{background-size:124px 200px}.board-card{width:106px}.board-card button,.private-arcana{padding:4px;width:92px;margin:auto;background:#fff;border-radius:5px}.board-card img{width:82px;height:140px}.public-arcana{width:92px;height:148px;padding:8px 5px}.public-number{font-size:22px}.public-arcana strong{font-size:10px;line-height:1.35}.public-orientation{font-size:10px}.board-card figcaption{font-size:10px;margin-top:5px;line-height:1.3;max-height:39px;overflow:hidden}.board-card small{font-size:9px}.developer-tools{margin:10px 0;font-size:12px}.developer-tools .board-controls{margin:8px 0}.board-tray{gap:12px;padding:8px}.in-consultation[data-consultation-role=reader] .selection-area>.mat,.in-consultation[data-consultation-role=reader] .selection-area>.table-heading{display:none}
@media(max-width:760px){.in-consultation .workspace{display:flex;flex-direction:column;gap:12px}.in-consultation .workspace>aside{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap}.in-consultation .video-panel{height:120px;width:160px;flex-shrink:0}.in-consultation .video-panel #local{width:42px;height:54px;bottom:25px;right:5px}.in-consultation .video-controls{max-width:170px;margin:0}.in-consultation #video-placeholder{padding:8px}.in-consultation #video-placeholder h2{font-size:13px}.in-consultation #video-placeholder p{font-size:10px;margin:3px}.in-consultation .avatar{font-size:20px}.in-consultation .workspace>aside>.office-link{display:none}.in-consultation .table-panel{padding:10px}.in-consultation .board-scroll{max-height:56vh}.in-consultation .session-heading{margin-bottom:8px}.in-consultation .session-heading h1{font-size:21px}}

.in-consultation #video-placeholder h2{font-size:17px;margin:4px 0}.in-consultation #video-placeholder p{font-size:10px;margin:4px 0}.in-consultation .avatar{font-size:28px}

/* Plateau tarologue : images jointives, seuls les trois repères de base restent visibles. */
.reader-board .camoin-board{background-image:none}
.reader-board .board-card{width:82px;height:140px}
.reader-board .private-arcana,.reader-board .board-card button{width:82px;height:140px;padding:0;border:0;border-radius:0;margin:0}
.reader-board .board-card img{width:82px;height:140px}
.reader-board .board-links{display:none}
.reader-board .board-card .initial-marker{position:absolute;bottom:2px;left:50%;transform:translateX(-50%);margin:0;padding:1px 5px;border-radius:8px;background:#fffdf5eb;color:#55452b;font:11px/14px Arial,sans-serif;pointer-events:none}

.appointments-panel{margin-top:2.5rem;border-top:1px solid #e4ddd0;padding-top:1.5rem;text-align:left}
.appointment-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.appointment-fields label{display:flex;flex-direction:column;gap:.4rem}
.appointment-fields input,.appointment-fields select,.appointment-fields textarea{width:100%;min-width:0;box-sizing:border-box;font:inherit;padding:.7rem;border:1px solid #d9d0bf;border-radius:.4rem;background:#fff;color:inherit}
.appointment-table-wrap{overflow-x:auto}.appointment-table{width:100%;border-collapse:collapse;font-size:.9rem}
.appointment-table th,.appointment-table td{padding:.75rem .5rem;border-bottom:1px solid #e4ddd0;text-align:left;vertical-align:top}
.appointment-actions{min-width:190px}.appointment-actions button,.appointment-actions a{display:inline-block;margin:.15rem;padding:.35rem .5rem;font-size:.85rem}
#appointment-error{color:#9a352f}#appointment-form{margin-top:1.5rem}
@media(max-width:640px){.appointment-fields{grid-template-columns:1fr}.appointment-table{font-size:.8rem}.appointment-actions{min-width:140px}}
/* Invitations manuelles : mêmes couleurs, champs lisibles sur mobile. */
#dashboard>label{display:flex;flex-direction:column;gap:7px;max-width:420px;margin:16px 0;font-size:13px}#dashboard>label input,#dashboard>label select{width:100%;margin:0}#dashboard{padding:24px 0 32px}#share-links{flex-wrap:wrap}#invite-box>button{margin:6px 6px 0 0}#saved-sessions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}#invitation-tools{font-size:12px;margin-bottom:12px}#invite-status{display:block}#choice-controls .orientation button{min-height:44px;min-width:85px}

.session-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;border:1px solid var(--line);border-radius:8px;padding:14px;width:100%}.session-row p{flex-basis:100%;margin:0}.session-row strong{flex-basis:100%;font-size:12px;color:var(--green)}

.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.weekday{text-align:center;font-size:12px}.calendar-day{min-height:95px;border:1px solid var(--line);padding:5px;min-width:0}.calendar-day>strong{font-size:12px}.calendar-event{display:block;text-align:left;width:100%;padding:5px;font-size:11px;margin:4px 0;overflow-wrap:anywhere}.origin-manual{border-left:5px solid #397348;background:#edf6ef}.origin-site{border-left:5px solid #ba6a15;background:#fff2df}.origin-queue{border-left:5px solid #aa3636;background:#ffeded}.appointment-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.appointment-fields label{display:flex;flex-direction:column;gap:6px}.appointment-fields input,.appointment-fields select,.appointment-fields textarea{width:100%;min-width:0}.appointment-fields .wide{grid-column:1/-1}.appointment-fields textarea{min-height:80px}#appointment-detail button,#appointment-form>button{margin:5px}#month-title{min-width:180px;text-align:center}@media(max-width:600px){.calendar-day{padding:2px;min-height:75px}.calendar-event{padding:3px;font-size:10px}.appointment-fields{grid-template-columns:1fr}#agenda-office{padding:10px}}

.calendar-navigation{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin:15px 0}.calendar-navigation h3{margin:0;min-width:0!important}.calendar-navigation button{min-width:44px}.invitation-options{border:1px solid var(--line);border-radius:8px;padding:14px;max-width:550px}.invitation-options summary{cursor:pointer;color:var(--green)}.invitation-options label{display:flex;flex-direction:column;gap:7px;margin:16px 0}.invitation-options input,.invitation-options select{width:100%}
/* Des cibles confortables au doigt, sans modifier la sélection native au clic. */
@media(max-width:480px),(pointer:coarse){
 .in-consultation[data-consultation-role=client] .cards{grid-template-columns:repeat(5,minmax(44px,1fr));max-width:390px}
 .in-consultation[data-consultation-role=client] .cards .card{width:100%;min-width:44px;min-height:44px}
 .in-consultation[data-consultation-role=client] .cards .card:last-child{grid-column:auto}
}
@media(max-width:359px){
 .in-consultation[data-consultation-role=client] .cards{grid-template-columns:repeat(4,minmax(44px,1fr))}
}
/* L'agenda reste chargé ; seule sa vue complète est repliée. */
.dashboard-agenda{display:flex;align-items:center;gap:18px;margin:20px 0}.dashboard-agenda>button{min-height:48px;min-width:110px}.next-consultation{border-left:2px solid var(--gold);padding:4px 14px;min-width:0}.next-consultation h2{font:600 13px Arial,sans-serif;margin:0 0 5px}.next-consultation p{margin:0;font-size:14px;line-height:1.4}.next-consultation small{display:block;margin-top:4px;font-size:12px}.next-consultation button{border:0;background:none;padding:6px 0;font-size:12px;text-decoration:underline}
#agenda-view{width:min(1100px,94vw);max-width:100%;max-height:92dvh;padding:0 22px 22px;border:1px solid var(--line);border-radius:12px;background:#fbfaf7;color:inherit;overscroll-behavior:contain}#agenda-view::backdrop{background:#20292080}body:has(#agenda-view[open]){overflow:hidden}.agenda-toolbar{position:sticky;top:0;z-index:2;background:#fbfaf7;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:12px 0}.agenda-toolbar h2{margin:0}.agenda-toolbar button{min-height:44px;font-size:13px}#agenda-office{margin:14px 0 0}#agenda-message{color:#8a3d21;font-size:14px}
@media(max-width:600px){
 body{font-size:14px}h1,#dashboard h1,.welcome h1{font-size:26px}.in-consultation .session-heading h1{font-size:19px}h2{font-size:19px}h3{font-size:17px}.intro{font-size:14px}.brand span{font-size:13px;letter-spacing:2px}.privacy{font-size:9px}.in-consultation .reading-heading h2{font-size:16px}
 .dashboard-agenda{align-items:flex-start;gap:12px}.dashboard-agenda>button{min-width:85px;padding:12px}.next-consultation{padding-left:10px}.next-consultation p{font-size:13px}.next-consultation button{min-height:44px}
 #agenda-view{width:100%;height:100dvh;max-height:100dvh;max-width:100%;margin:0;border:0;border-radius:0;padding:0 12px max(16px,env(safe-area-inset-bottom))}.agenda-toolbar{padding-top:max(10px,env(safe-area-inset-top))}.agenda-toolbar h2{font-size:20px}.agenda-toolbar button{max-width:230px}#agenda-office{padding:10px}.office-actions{flex-wrap:wrap}.calendar-grid{display:block}.calendar-grid .weekday,.calendar-empty{display:none}.calendar-day{display:grid;grid-template-columns:28px minmax(0,1fr);gap:4px;min-height:44px;padding:5px;align-items:center}.calendar-event{grid-column:2;font-size:12px;min-height:44px;margin:0}.calendar-day>strong{grid-column:1;grid-row:1}.appointment-fields input,.appointment-fields select,.appointment-fields textarea{font-size:16px}
}
.origin-personal,.personal-button{background:#f0e5f7;color:#594166;border-color:#d9c1e8}.origin-personal{border-left:5px solid #ae83c4}.personal-button:hover:not(:disabled){background:#e6d5f0}#personal-form>button{margin:5px}#personal-locate{min-height:44px}#personal-map{display:inline-block;padding:12px 4px}
/* Résumé mensuel borné ; tous les détails restent dans la journée. */
.calendar-day{display:flex;flex-direction:column;align-items:stretch;gap:3px;min-width:0;cursor:pointer}.day-open{align-self:flex-start;min-width:44px;min-height:44px;padding:6px;border:0;background:transparent;font-weight:bold}.calendar-event{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal;margin:0;min-height:28px;padding:5px;font-size:11px}.day-more{border:0;padding:6px;font-size:11px;text-align:left;min-height:32px}.event-cancelled{text-decoration:line-through;opacity:.7}.day-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:16px 0}.day-toolbar h3{margin:0}.day-actions{display:flex;gap:8px;flex-wrap:wrap}.day-entry{margin:14px 0;padding:16px;cursor:auto}.day-entry p{margin:7px 0;overflow-wrap:anywhere}.day-entry button,.day-entry select{margin:4px;min-height:44px}.day-entry a{display:inline-block;padding:10px 0}.day-empty{padding:18px 0}#agenda-day{scroll-margin-top:80px}
@media(max-width:600px){.calendar-grid{display:block}.calendar-grid .weekday,.calendar-empty{display:none}.calendar-day{display:grid;grid-template-columns:44px minmax(0,1fr);padding:4px;gap:3px;min-height:52px}.day-open{grid-column:1;grid-row:1;min-width:0;min-height:44px;padding:3px;font-size:12px}.calendar-event{grid-column:2;min-height:32px;padding:5px;border-left-width:4px;font-size:12px}.day-more{grid-column:2;padding:6px;font-size:12px;min-height:44px}.day-toolbar{align-items:flex-start;flex-direction:column}.day-actions>button{flex:1;min-height:44px}.day-entry{padding:12px}.day-entry h3{font-size:18px}}
.origin-wix{border-left:5px solid #ba6a15;background:#fff2df}.payment-dialog{max-width:min(560px,96vw);max-height:90dvh;border:1px solid var(--line);border-radius:12px;color:inherit;background:#fbfaf7;padding:20px}.payment-dialog::backdrop{background:#20292080}.payment-dialog textarea,.payment-dialog input{width:100%;box-sizing:border-box}.payment-dialog textarea{min-height:120px;font:inherit;padding:10px}.payment-share{display:flex;flex-wrap:wrap;gap:8px}.payment-share a{padding:12px;border:1px solid var(--line);border-radius:7px;color:var(--green)}

#form-payment.payment-button{background:#80549c;color:#fff;border:1px solid #704589;font-weight:600;min-height:44px;margin:6px 8px 14px 0}
#form-payment.payment-button:hover:not(:disabled){background:#6b4285}
#form-payment.payment-button:focus-visible{outline:3px solid #b68acd;outline-offset:3px}
#form-payment.payment-button:disabled{background:#eadcf2;color:#654475;border-color:#c8aed7;opacity:1;cursor:not-allowed}

/* Past Brussels calendar days remain readable and fully clickable. */
.calendar-event.event-past{filter:saturate(.4);background-color:#f0f0ed;color:#60615e}
.calendar-event.event-past:hover{background-color:#e6e6e1;color:#343833}
.delete-appointment{color:#8a343e;border-color:#d6b6bb;background:#fff8f8}
.contact-picker{border:1px solid var(--line);border-radius:10px;padding:14px;margin:16px 0;min-width:0}
.contact-picker legend{font-weight:bold}.contact-picker label{display:block}.contact-picker input[type=search]{width:100%;min-width:0}
.contact-results{display:flex;flex-direction:column;gap:6px;margin:8px 0}.contact-results button{text-align:left;overflow-wrap:anywhere;min-height:44px}
.contact-picker p{margin:8px 0}.contact-picker>button{min-height:44px}

.mobile-weekday{display:none}
@media(max-width:600px){.calendar-day{grid-template-columns:72px minmax(0,1fr)}.day-open{display:flex;align-items:center;justify-content:center;gap:5px}.day-open .mobile-weekday{display:inline;font-weight:600}}

#promotions-view{width:min(1100px,95vw);max-height:94dvh;overflow:auto;border:1px solid #d5c0df;border-radius:16px;padding:24px}#promotions-view::backdrop{background:#0006}#promo-create{display:grid;gap:12px;max-width:620px;margin:18px 0}#promo-create[hidden],#promo-create [hidden]{display:none}#promo-create label{display:grid;gap:6px}#promo-create fieldset label{display:flex;align-items:center}#promo-create input[type=checkbox]{width:auto}#promo-list{overflow:auto;margin-top:20px}#promo-list table{width:100%;border-collapse:collapse}#promo-list th,#promo-list td{text-align:left;padding:10px;border-bottom:1px solid #ddd;vertical-align:top}#promo-list small{display:block;font-size:.75rem}#promo-list button{padding:8px;margin:2px;font-size:.85rem}#open-promotions{background:#eadff1;color:#624377}@media(max-width:600px){#promotions-view{padding:12px;max-width:100vw;width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0}#promotions-view h2{font-size:1.4rem}#promo-list table{font-size:.85rem}}
.dashboard-agenda{flex-wrap:wrap}@media(max-width:600px){.dashboard-agenda .next-consultation{flex-basis:100%}}

#personal-form>button[type=submit]:not(:disabled){background:#785391;color:white;border-color:#785391;cursor:pointer}
#personal-form>button[type=submit]:disabled{background:#eadcf2;color:#654475;border-color:#c8aed7;cursor:wait}

/* Same private origin colours in the dashboard summary and monthly agenda. */
.next-consultation.origin-manual{border-left:5px solid #397348;background:#edf6ef}
.next-consultation.origin-site,.next-consultation.origin-wix{border-left:5px solid #ba6a15;background:#fff2df}
.next-consultation.origin-queue{border-left:5px solid #aa3636;background:#ffeded}

/* Compact day list: tap the coloured name/time row to reveal its actions. */
details.day-entry{padding:0;margin:6px 0;overflow:hidden}
.day-entry-summary{padding:12px;min-height:44px;box-sizing:border-box;cursor:pointer;font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.day-entry-summary:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
.day-entry-content{padding:0 12px 12px}

.next-consultation{flex:1 1 450px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.next-consultation>h2{grid-column:1/-1}.next-entry{min-width:0;padding:10px 12px;border-radius:9px}.next-entry strong{font-size:13px}.next-entry.origin-manual{background:#edf6ef;border-left:5px solid #397348}.next-entry.origin-site,.next-entry.origin-wix{background:#fff2df;border-left:5px solid #ba6a15}.next-entry.origin-queue{background:#ffeded;border-left:5px solid #aa3636}.payment-success{padding:16px;border:1px solid #6a9d73;border-radius:12px;background:#edf6ef;color:#244f30;font-weight:700;line-height:1.5}.payment-review{padding:16px;background:#fff2df;color:#70400c}@media(max-width:600px){.next-consultation{grid-template-columns:1fr}}

/* Origine des salons : même code couleur que l’agenda. */
.session-row.origin-manual{border-left:6px solid #397348;background:#edf6ef;--origin-dot:#397348}
.session-row.origin-site,.session-row.origin-wix{border-left:6px solid #ba6a15;background:#fff2df;--origin-dot:#ba6a15}
.session-row.origin-queue{border-left:6px solid #aa3636;background:#ffeded;--origin-dot:#aa3636}
.session-row .muted::before{content:"";display:inline-block;width:10px;height:10px;margin-right:8px;border-radius:50%;background:var(--origin-dot,#777)}

.reschedule-picker{border:1px solid var(--line);border-radius:10px;padding:16px;margin:16px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.reschedule-picker[hidden]{display:none}.reschedule-picker label{display:flex;flex-direction:column;gap:6px;min-width:0}.reschedule-picker select,.reschedule-picker input{width:100%;min-width:0;font-size:16px;min-height:44px}.reschedule-picker [role=status]{grid-column:1/-1;margin:0;font-size:14px}@media(max-width:600px){.reschedule-picker{grid-template-columns:1fr}}

.consultation-countdown{position:sticky;top:8px;z-index:10;margin:0 0 16px;padding:14px 18px;border:2px solid #a66d20;border-radius:10px;background:#fff3d6;color:#633f13;font-size:clamp(16px,3vw,21px);font-weight:700;text-align:center;font-variant-numeric:tabular-nums}.countdown-announcement{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
