/* Amicale SP PRO 3.2 : améliorations adaptatives de la PWA v3.1 */
.cloud-layout{min-height:calc(100dvh - 78px)}.desktop-nav{display:none}.header-tools{gap:8px}.header-tools .logout{background:#273856;border:1px solid #435471;color:#fff;border-radius:10px;min-width:37px;height:37px;font-size:19px}.two-panel{display:grid;gap:14px}.login-wrap code,.help code{font-size:12px;white-space:normal;overflow-wrap:anywhere}.card label{display:block;margin-bottom:12px}.card label input,.card label select{width:100%}.price-form{display:flex;align-items:end;gap:10px;padding:10px 0;border-bottom:1px solid #e5eaf2}.price-form b{flex:1}.price-form input{width:110px!important}.price-form button{max-width:130px}.kpi strong{font-variant-numeric:tabular-nums}.mobile-header{z-index:40}.file-btn{cursor:pointer}.nav-footer{font-size:12px;color:#adbcce;line-height:1.8;padding:14px}.line{gap:8px}.line small{max-width:95%;overflow-wrap:anywhere}.line strong{white-space:nowrap}.form-two{grid-template-columns:1fr 1fr}.card .btn{margin-top:6px}.menu-subtitle{font-size:12px;color:#6c778d}.desktop-nav button{cursor:pointer}.btn{cursor:pointer}.online{font-size:11px}.login-card{max-width:420px;margin-inline:auto}.tag{font-size:11px;color:#63748d}.tab-page .help{line-height:1.55}.line .mini{font-size:12px;background:#eaf0f8;color:#203452;padding:7px 9px;border-radius:8px;border:0;cursor:pointer}#m-invoices .line{align-items:center}.actions{grid-template-columns:repeat(3,minmax(0,1fr))}.actions button{padding:14px 6px}.actions .emoji{font-size:23px}.actions b{font-size:11px}.actions small{font-size:10px}.bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr))}.summary.three{grid-template-columns:repeat(3,minmax(0,1fr))}.summary strong{font-size:14px}.card{min-width:0}#m-ledger .line,#m-history .line{word-break:break-word}
@media(min-width:880px){body{font-size:15px}.cloud-layout{display:grid;grid-template-columns:225px 1fr}.desktop-nav{position:sticky;top:74px;align-self:start;display:flex;flex-direction:column;background:#15243e;color:#f8fafc;min-height:calc(100vh - 74px);padding:27px 10px}.desktop-nav .nav-title{font-size:11px;letter-spacing:.12em;color:#d4a35e;font-weight:800;margin:2px 10px 20px}.desktop-nav button{display:block;text-align:left;color:#e5eaf4;border:0;border-radius:10px;padding:14px 13px;margin-bottom:9px;background:transparent;font-weight:700}.desktop-nav button.selected{background:#c43d43;color:white}.desktop-nav .nav-footer{margin-top:auto}main{max-width:1320px;width:100%;margin-inline:auto;padding:30px 35px 90px}.two-panel{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.bottom-nav{display:none}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.mobile-header{position:sticky;top:0}.tab-page{max-width:none}.card{padding:22px}.drinks{gap:12px}.brand img{width:43px;height:43px}}
@media(max-width:380px){.header-tools .online{display:none}.brand-title{font-size:13px}.brand small{font-size:9px}.bottom-nav button{font-size:9px}.bottom-nav button span{font-size:19px}.summary strong{font-size:12px}}

/* Version 3.4 : téléphone, capture de justificatifs et montants libres. */
#forgotPassword,.phone-install-login{width:100%;max-width:420px;margin:14px auto 0;flex-shrink:0}
#recoveryRequestStatus{width:100%;max-width:420px;margin:12px auto 0;color:#dbe5f3}
#shareDialog{width:min(460px,calc(100% - 28px));max-height:90dvh;overflow:auto;border:0;border-radius:20px;padding:24px;color:var(--ink);box-shadow:0 18px 70px #0005}
#shareDialog::backdrop{background:#071327aa}
.qr-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}
.qr-heading h2{font-size:21px;margin:0;color:var(--navy)}
.qr-heading button{border:0;border-radius:8px;padding:9px 12px;background:#e8edf5;flex-shrink:0}
.qr-code{display:flex;align-items:center;justify-content:center;background:white;min-height:270px;margin:12px auto}
.qr-code svg{width:270px;max-width:100%;height:auto;display:block}
#shareLink{display:block;overflow-wrap:anywhere;font-size:12px;margin:8px 0 16px;color:#234b82}
#shareStatus{font-weight:700;color:#16734e}
.section-divider{border:0;border-top:1px solid var(--border);margin:22px 0}
.card h3{font-size:16px;margin:8px 0 15px;color:var(--navy)}
#m-cameraAction{border:0;font-weight:700;min-height:56px;width:100%}
.capture-banner{background:#eaf5ef;border-color:#afcfbd;font-weight:700;color:#17603f}
.mini.danger{color:#a32932;background:#fcecef}
#m-manageAccounts .line{align-items:center}
.total-consumption{font-size:16px;background:#f0f4f9;padding:15px 10px;border-radius:10px;margin-top:8px}
.total-consumption strong{font-size:21px;color:var(--navy)}
.photo-body{background:var(--navy)}.photo-shell{max-width:480px;margin:auto;padding:26px 18px;color:white;text-align:center}
.photo-shell h1{font-size:27px;margin:14px 0 8px}.photo-intro{font-size:14px;color:#d3deef;line-height:1.6}
.photo-card{text-align:left;margin:22px auto 0;max-width:100%}.photo-card .btn{margin:10px 0 0}
.phone-preview{max-width:100%;max-height:320px;display:block;margin:16px auto;border-radius:12px;object-fit:contain}
#photoMessage{font-weight:700;line-height:1.6;margin:0 0 14px;color:var(--navy)}

/* Six sections on mobile, free drink labels wrap without hiding amounts. */
@media(max-width:979px){.bottom-nav{grid-template-columns:repeat(6,minmax(0,1fr))}.bottom-nav button{font-size:9px;padding:0 2px}}
#tab-conso .line>div:first-child{min-width:0;overflow-wrap:anywhere}#tab-conso .expense-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}#tab-conso .cancelled-expense{opacity:.65}#tab-conso .cancelled-expense strong{text-decoration:line-through}
@media(max-width:480px){#tab-conso .expense-actions{align-items:flex-end;flex-direction:column;gap:4px}}
