.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 20% 10%,#7738b62e,transparent 50%),radial-gradient(ellipse at 90% 85%,#06b6d433,transparent 50%),var(--paper)}
.login-panel{max-width:460px;width:100%;padding:40px!important;margin:0}.login-panel h1{font-size:42px;line-height:1.1;margin:16px 0}.login-panel form{display:grid;gap:18px;margin:28px 0}.login-panel label{display:grid;gap:8px}.login-panel input{width:100%;box-sizing:border-box;padding:12px;border-radius:12px;background:var(--paper);color:var(--ink);border:1px solid var(--line)}
.calendar-day.unread,.flow-day.unread{opacity:.38}.calendar-day.partial{outline:1px dashed var(--accent)}.source-status{font-size:13px;line-height:1.65;overflow-wrap:anywhere}.source-status .failed{color:#fb7185}.source-status .succeeded{color:#34d399}.source-status strong{display:block}.source-status h3{margin-bottom:12px}#source-status{margin-bottom:20px}#logout{font-size:12px}.coverage{overflow-wrap:anywhere}@media(max-width:680px){.login-panel{padding:26px!important}.login-panel h1{font-size:34px}.header-actions{flex-wrap:wrap}}
.systeme-panel{margin-top:24px;scroll-margin-top:20px;background:radial-gradient(ellipse at 100% 0,color-mix(in srgb,var(--contacts) 10%,transparent),transparent 65%),var(--panel)}
.systeme-kpis{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0}.systeme-kpis>div{padding:22px;border:1px solid color-mix(in srgb,var(--contacts) 30%,var(--line));border-radius:14px;background:linear-gradient(130deg,color-mix(in srgb,var(--contacts) 10%,var(--panel)),color-mix(in srgb,var(--orders) 8%,var(--panel)))}.systeme-kpis span,.systeme-kpis small{display:block;color:var(--muted);font-size:12px}.systeme-kpis strong{display:block;font-size:38px;margin:9px 0;color:var(--contacts);letter-spacing:-.04em}.systeme-panel input{width:100%;min-width:0}.contact-controls label{min-width:0}.contact-controls select{max-width:100%}.real-contact-list{margin:16px 0}.real-contact-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:17px 0;border-bottom:1px solid var(--line)}.real-contact-row .contact-button{font-size:14px;overflow-wrap:anywhere}.real-contact-row .contact-email{font-size:12px;overflow-wrap:anywhere}.real-contact-meta{text-align:right}.real-contact-meta .profile-tags{justify-content:flex-end;margin:9px 0 0}.profile-tags .badge{white-space:normal;overflow-wrap:anywhere}.contact-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;color:var(--muted)}.profile-email{overflow-wrap:anywhere;color:var(--muted)}.real-subscription{display:grid;gap:8px;padding:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--orders) 10%,var(--panel)),var(--raised));border:1px solid var(--line);border-radius:12px;margin:12px 0;font-size:13px;overflow-wrap:anywhere}.real-subscription .badge{justify-self:start}.real-subscription p{margin:0}.real-subscription small{color:var(--muted)}.real-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px}.real-plan{display:grid;gap:10px;padding:20px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--orders) 12%,var(--panel)),var(--raised));min-width:0;overflow-wrap:anywhere}.real-plan h3{font-size:14px;margin:0}.real-plan p{font-size:11px;color:var(--muted);margin:0}.real-plan strong{font-size:25px;color:var(--orders)}.real-plan small{font-size:11px;color:var(--muted)}.real-plan .badge{justify-self:start}
@media(max-width:900px){.real-plans{grid-template-columns:1fr 1fr}.contact-controls{align-items:stretch}.contact-controls label{flex:1;min-width:160px}.contact-controls label:first-child{flex-basis:100%}}@media(max-width:680px){.systeme-kpis{grid-template-columns:1fr}.real-contact-row{grid-template-columns:1fr;gap:10px}.real-contact-meta{text-align:left}.real-contact-meta .profile-tags{justify-content:flex-start}.contact-pagination{flex-wrap:wrap}.contact-pagination>span{order:3;width:100%;text-align:center}.real-plans{grid-template-columns:1fr}.profile-drawer{box-sizing:border-box;width:100%;padding:22px}.systeme-panel .panel-heading{flex-wrap:wrap}}

/* Reçu, remboursé et restant : même lecture pour le jour, la semaine et le mois. */
.calendar-day{min-height:112px;justify-content:flex-start}.day-amounts{display:grid;gap:6px;width:100%;margin-top:auto;font-size:10px;font-variant-numeric:tabular-nums}.day-amounts>span{display:flex;justify-content:space-between;align-items:baseline;gap:3px;min-width:0}.day-amounts b,.day-amounts strong{font-size:10px;letter-spacing:-.02em;white-space:nowrap}.day-amounts>span>span{font-size:9px}.day-received{color:var(--ink)}.day-refunded{color:var(--refunds)}.day-net{padding-top:6px;border-top:1px solid color-mix(in srgb,var(--ink) 24%,transparent);color:var(--ink)}.day-net strong{font-size:12px}.calendar-day.negative .day-net{color:var(--refunds)}.week-column-title small{display:block;font-size:8px;line-height:1.4;margin-top:4px;font-weight:400}.calendar-month-recap{display:block}.calendar-month-recap h3{margin:0 0 18px;font-size:15px}.month-summary-grid{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1.15fr);align-items:center;gap:18px}.month-summary-grid>div{min-width:0}.month-summary-grid>div>span{font-size:12px;color:var(--muted)}.month-summary-grid .month-operator{font-size:25px;color:var(--muted)}.month-refunds strong{color:var(--refunds)}.month-net{padding:16px;border-radius:10px;background:color-mix(in srgb,var(--panel) 45%,transparent);border:1px solid color-mix(in srgb,var(--contacts) 35%,transparent)}.month-net strong{color:var(--contacts)}.calendar-month-recap .calendar-total-note{max-width:none;margin-top:8px}
@media(max-width:1100px){.day-amounts>span{display:grid;gap:2px}.day-net strong{font-size:10px}.calendar-day{min-height:142px}.month-summary-grid{gap:10px}.month-summary-grid strong{font-size:25px}}
@media(max-width:650px){.calendar-day{min-height:140px;padding:7px 2px}.day-amounts{gap:5px;text-align:center}.day-amounts>span{justify-content:center}.day-amounts>span>span{font-size:7px}.day-amounts b,.day-amounts strong{font-size:8px;letter-spacing:-.04em}.day-net{padding-top:5px}.month-summary-grid{grid-template-columns:minmax(0,1fr);gap:6px}.month-summary-grid>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.month-summary-grid strong{font-size:26px;margin-top:0}.month-summary-grid .month-operator{font-size:18px}.month-net{padding:13px}.calendar-month-recap>p{margin-top:14px}}

.day-refund-short{display:none;text-decoration:none}@media(max-width:650px){.day-refund-long{display:none}.day-refund-short{display:inline}}

.commerce-panel{background:radial-gradient(ellipse at 0 0,color-mix(in srgb,var(--sales) 13%,transparent),transparent 60%),var(--panel)}.commerce-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0}.commerce-totals>div{border:1px solid var(--line);border-radius:14px;padding:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--orders) 13%,var(--panel)),var(--raised));min-width:0}.commerce-totals span{font-size:11px;color:var(--muted);display:block}.commerce-totals strong{font-size:29px;display:block;margin-top:10px;overflow-wrap:anywhere}.commerce-totals .refundedMinor,.commerce-summary .refundedMinor{background:linear-gradient(135deg,color-mix(in srgb,var(--refunds) 14%,var(--panel)),var(--raised))}.commerce-totals .refundedMinor strong,.commerce-summary .refundedMinor strong{color:var(--refunds)}.commerce-totals .netMinor,.commerce-summary .netMinor{background:linear-gradient(135deg,color-mix(in srgb,var(--contacts) 18%,var(--panel)),var(--raised))}.commerce-totals .netMinor strong,.commerce-summary .netMinor strong{color:var(--contacts)}.commerce-offers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.commerce-offer{min-width:0;overflow-wrap:anywhere;padding:20px;border:1px solid color-mix(in srgb,var(--sales) 30%,var(--line));border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--sales) 10%,var(--panel)),color-mix(in srgb,var(--orders) 6%,var(--panel)))}.commerce-offer:nth-child(3n+2){background:linear-gradient(135deg,color-mix(in srgb,var(--orders) 14%,var(--panel)),var(--raised))}.commerce-offer:nth-child(3n){background:linear-gradient(135deg,color-mix(in srgb,var(--contacts) 12%,var(--panel)),var(--raised))}.commerce-offer h3{font-size:14px;margin:0;line-height:1.5}.offer-amount{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin:20px 0 12px}.offer-amount span{font-size:10px;color:var(--muted)}.offer-amount strong{font-size:25px;white-space:nowrap;color:var(--contacts)}.offer-track{height:6px;background:var(--raised);border-radius:8px;overflow:hidden}.offer-track i{display:block;height:100%;background:linear-gradient(90deg,var(--sales),var(--orders),var(--contacts));border-radius:8px}.commerce-offer.negative .offer-amount strong{color:var(--refunds)}.commerce-offer.negative .offer-track i{background:linear-gradient(90deg,var(--refunds),var(--refunds-end))}.commerce-offer p{font-size:11px;margin:14px 0 6px;color:var(--muted)}.commerce-offer small{font-size:10px;color:var(--muted)}.purchase-movement{padding:16px;margin:12px 0;border:1px solid color-mix(in srgb,var(--orders) 35%,var(--line));border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--orders) 10%,var(--panel)),var(--raised));overflow-wrap:anywhere}.purchase-movement h4{font-size:13px;line-height:1.5;margin:12px 0 8px}.purchase-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.purchase-heading strong{color:var(--contacts);white-space:nowrap;font-size:18px}.purchase-movement small{color:var(--muted);font-size:10px}.refund-movement{border-color:color-mix(in srgb,var(--refunds) 35%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--refunds) 12%,var(--panel)),var(--raised))}.refund-movement .purchase-heading strong{color:var(--refunds)}.commerce-proof{display:block;font-size:10px;margin-top:12px;color:var(--accent);line-height:1.5}.real-contact-row .badge.client{margin-top:8px}
@media(max-width:900px){.commerce-offers{grid-template-columns:1fr}.contact-controls label{flex-basis:40%}}
@media(max-width:680px){.commerce-totals{grid-template-columns:1fr;gap:9px}.commerce-totals>div{padding:16px}.commerce-totals strong{font-size:26px}.contact-controls label{flex-basis:100%}}
@media(max-width:360px){.commerce-summary{grid-template-columns:1fr}.offer-amount{flex-wrap:wrap}}

.calendar-day.pending,.flow-day.pending{outline:2px dashed var(--muted);outline-offset:-2px;}

/* Consultation confortable, sans changer les mesures financières. */
@media(min-width:851px){.sidebar{position:sticky;top:0;height:100dvh;overflow-y:auto;align-self:start}}
@media(min-width:1101px){.calendar-week>summary{display:none}}
.nav-item:focus-visible,.section-shortcuts a:focus-visible,summary:focus-visible,.flow-scroll:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.section-shortcuts{display:none}
.flow-scroll{overflow-x:auto;max-width:100%;padding:7px;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--accent) var(--raised)}
.flow-chart{grid-template-columns:repeat(var(--day-count,31),minmax(28px,1fr));min-width:calc(var(--day-count,31) * 32px);gap:4px;margin-top:16px}
.flow-day>span:last-child{font-size:12px;color:var(--ink)}
.flow-day:focus-visible{outline-offset:1px}
.calendar-day.unread,.flow-day.unread{opacity:1}
.calendar-day.unread{background:var(--raised)!important;border-style:dashed;color:var(--muted)}
.flow-day.unread .flow-bars{opacity:.38}
.calendar-mobile-help,.day-name{display:none}
.calendar-week{min-width:0}
.day-net>span{overflow-wrap:anywhere}
.calendar-weekdays{font-size:12px}.week-column-title small{font-size:10px}
.calendar-week-total>span,.calendar-week-total small{font-size:11px}
:root{--refund-text:var(--refunds)}
:root[data-theme=light]{--muted:#48546c;--refund-text:#8d2345}
:root[data-theme=light][data-design=graphite]{--muted:#494a58}
:root[data-theme=light][data-design=emerald]{--muted:#405c50}
:root[data-theme=light][data-design=rainbow]{--muted:#444c65}
.day-refunded,.calendar-day.negative .day-net,.calendar-day.negative strong,.month-refunds strong,.refund-key,.refund-movement .purchase-heading strong,.commerce-summary .refundedMinor strong,.pace-badge[data-direction=behind]{color:var(--refund-text)}
:root[data-theme=light] .income-key,:root[data-theme=light] .provider-card strong,:root[data-theme=light] .goal-amounts p,:root[data-theme=light] .month-net strong,:root[data-theme=light] .week-column-title{color:var(--ink)}
:root[data-theme=light] .source-status .failed{color:#8d2345}
:root[data-theme=light] .source-status .succeeded{color:#145b45}
@media(max-width:850px){
  main{padding-bottom:90px}
  .section-shortcuts{position:fixed;z-index:5;bottom:0;left:0;right:0;display:flex;gap:6px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:var(--panel);border-top:1px solid var(--line);box-shadow:0 -4px 20px #00000015}
  .section-shortcuts a{flex:1;min-width:0;display:grid;place-items:center;min-height:44px;border:1px solid transparent;border-radius:10px;color:var(--muted);text-decoration:none;font-size:13px;font-weight:600}
  .section-shortcuts a.active{background:var(--soft);border-color:var(--accent);color:var(--accent)}
}
@media(max-width:1100px){
  .calendar-mobile-help{display:block;color:var(--muted);font-size:13px;line-height:1.65}
  .calendar-weekdays{display:none}
  .calendar-days{gap:12px}
  .calendar-week{border:1px solid var(--line);border-radius:12px;overflow:clip;background:var(--panel)}
  .calendar-week>summary{list-style:none;cursor:pointer;display:grid;gap:14px;padding:16px;background:var(--raised)}
  .calendar-week>summary::-webkit-details-marker{display:none}
  .calendar-week>summary:focus-visible{outline-offset:-4px}
  .week-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:14px;font-weight:650}
  .week-action:after{content:'＋';font-size:22px;font-weight:400}
  .calendar-week[open] .week-action:after{content:'−'}
  .week-amounts{display:grid;gap:8px;font-size:12px;font-variant-numeric:tabular-nums}
  .week-amounts>span{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
  .week-amounts strong{font-size:14px}
  .week-amounts>span:nth-child(2) strong{color:var(--refund-text)}
  .calendar-week>summary small{font-size:12px;color:var(--muted);line-height:1.6}
  .calendar-week-row{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:12px}
  .calendar-blank,.calendar-week-total,.day-number{display:none}
  .calendar-day{min-height:132px;align-items:stretch;padding:14px;text-align:left;gap:12px;border-radius:10px}
  .calendar-day .day-name{display:block;font-size:14px;font-weight:650;text-transform:capitalize}
  .day-amounts{font-size:13px;gap:8px}
  .day-amounts>span{display:flex;justify-content:space-between;align-items:baseline;gap:8px;text-align:left}
  .day-amounts>span>span{font-size:12px}
  .day-amounts b,.day-amounts strong{font-size:14px;letter-spacing:0}
  .calendar-day.unread{min-height:72px}
  .calendar-day.unread>strong{font-size:13px}
  .finance-legend{display:flex;font-size:12px;gap:14px}
}
/* Les niveaux restent colorés ; leur teinte ne masque plus les petits montants. */
:root[data-theme=dark]{--refund-text:#ffd1e1}
:root[data-theme=dark] .calendar-day[data-level="1"]{--heat:10%}
:root[data-theme=dark] .calendar-day[data-level="2"]{--heat:18%}
:root[data-theme=dark] .calendar-day[data-level="3"]{--heat:26%}
:root[data-theme=dark] .calendar-day[data-level="4"]{--heat:34%}
@media(max-width:850px){.flow-chart{min-width:calc(var(--day-count,31) * 48px);grid-template-columns:repeat(var(--day-count,31),minmax(44px,1fr))}}

.day-net-long{display:none}.day-net-short{display:inline}
@media(max-width:1100px){.day-net-long{display:inline}.day-net-short{display:none}}

.calendar-day.notified,.flow-day.notified{outline:1px dashed var(--accent);outline-offset:-2px}.day-coverage{font-size:12px;line-height:1.4;color:var(--ink);overflow-wrap:anywhere}
