/* Écran « Mon compte » : chargé par ses pages seulement (page_assets), après css/core.css. */
.account-card{margin-bottom:16px}
.account-note{margin:14px 0 0;color:var(--muted);font-size:var(--text-sm);line-height:1.6}
.account-links{margin:4px 0 0;padding:0;list-style:none;display:grid;gap:8px}
.account-links a{display:grid;gap:2px;padding:11px 12px;border:1px solid var(--line);border-radius:var(--radius-md);transition:.15s ease}
.account-links a:hover{border-color:var(--navy);background:var(--gray-50)}
.account-links strong{color:var(--navy);font-size:var(--text-md)}
.account-links span{color:var(--muted);font-size:var(--text-sm)}
.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(420px,45%) 1fr;background:var(--paper)}
.login-panel{padding:8vh 9vw;display:flex;flex-direction:column;justify-content:center;position:relative}
.login-brand{color:var(--navy);margin-bottom:54px}.login-brand img{width:62px;height:62px}.login-brand strong{font-size:27px}.login-brand small{color:var(--navy-2)}
.login-panel h1{font-family:var(--font-serif);color:var(--navy);font-size:43px;font-weight:500;margin:10px 0}
.login-panel form{margin:28px 0}
.login-visual{position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(22,41,83,.96),rgba(31,57,113,.88));display:flex;align-items:flex-end;padding:8vh 6vw;color:var(--beige)}
.login-visual::before,.login-visual::after{content:"";position:absolute;border-radius:50%;border:70px solid rgba(237,227,210,.08)}
.login-visual::before{width:440px;height:440px;right:-180px;top:-180px}.login-visual::after{width:280px;height:280px;left:-140px;bottom:-130px}
.login-visual-inner{position:relative;z-index:1}.login-visual img{width:118px;height:118px;border-radius:50%;background:var(--paper);margin-bottom:34px}
.login-visual p{font-family:var(--font-serif);font-size:42px;font-weight:400;margin:7px 0}.login-visual p:nth-of-type(2){margin-left:36px}.login-visual p:nth-of-type(3){margin-left:72px}@media(max-width:760px){.login-page{grid-template-columns:1fr}.login-visual{display:none}.login-panel{padding:35px 24px}.login-brand{margin-bottom:42px}}

/* ==================================================================
   V69 — Connexion Google Agenda et Gmail
   ================================================================== */

.google-setup-card{margin-bottom:16px}
.google-steps{margin:6px 0 0;padding-left:20px;display:grid;gap:10px;color:var(--ink);font-size:var(--text-md);line-height:1.6}
.google-steps strong{color:var(--navy)}
.google-steps code,.google-redirect{display:inline-block;margin-top:5px;padding:6px 9px;border:1px solid var(--line);border-radius:var(--radius-xs);background:var(--gray-50);color:var(--navy);font-size:var(--text-sm);word-break:break-all}
.google-env{margin:6px 0 0;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--gray-50);color:var(--navy);font-size:var(--text-sm);line-height:1.6;white-space:pre-wrap;word-break:break-all}
.google-redirect-list{margin:6px 0 0;padding-left:0;list-style:none;display:grid;gap:6px}
.google-redirect-list small{margin-left:6px;color:var(--muted);font-size:var(--text-xs)}
.google-redirect.is-current{border-color:var(--navy);background:var(--gray-100);font-weight:650}
.google-account-card{margin-bottom:16px}
.google-sync-summary{margin:14px 0 0;padding:10px 12px;border:1px solid var(--success-border);border-radius:var(--radius-sm);background:var(--success-bg);color:var(--success);font-size:var(--text-sm);font-weight:650}
.google-sync-error{margin:10px 0 0;padding:10px 12px;border:1px solid var(--danger-border);border-radius:var(--radius-sm);background:var(--paper);color:var(--danger);font-size:var(--text-sm);font-weight:650}
.google-scope-note{display:grid;gap:4px;margin-top:14px;padding:12px 13px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--gray-25)}
.google-scope-note strong{color:var(--navy);font-size:var(--text-sm)}
.google-scope-note span{color:var(--ink);font-size:var(--text-sm)}
.google-scope-note small{color:var(--muted);font-size:var(--text-xs);line-height:1.55}
.google-permission-list{display:grid;gap:12px}
.google-permission{display:grid;gap:6px;padding:13px 14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper)}
.google-permission.is-fixed{background:var(--gray-50);border-style:dashed}
.google-permission>span{color:var(--muted);font-size:var(--text-sm);line-height:1.55}
.google-permission strong{color:var(--navy);font-size:var(--text-md)}
.google-danger-card{border-color:var(--danger-border)}
.ml-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:14px}
.ml-kpi{display:grid;gap:4px;border-top:2px solid var(--gold-accent)}
.ml-kpi span,.ml-kpi small{color:var(--muted);font-size:var(--text-sm)}
.ml-kpi strong{font-family:var(--font-serif);font-size:var(--text-display);color:var(--navy);font-weight:500}
.ml-grid{display:grid;grid-template-columns:minmax(260px,330px) minmax(0,1fr);gap:14px;align-items:start}
.ml-grid h3{margin:0 0 6px;color:var(--navy);font-size:var(--text-md);font-weight:500}
.ml-bar{margin:12px 0}
.ml-bar-head{display:flex;justify-content:space-between;font-size:var(--text-sm);margin-bottom:5px}
.ml-bar-head span:last-child{color:var(--navy);font-variant-numeric:tabular-nums}
.ml-track{position:relative;height:4px;border-radius:var(--radius-2xs);background:var(--gray-100)}
.ml-fill{position:absolute;inset:0 auto 0 0;border-radius:var(--radius-2xs);background:var(--navy)}
.ml-prev{position:absolute;top:-3px;width:1px;height:10px;background:var(--gold-accent)}
.ml-pills{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 10px}
.ml-pill{border:1px solid var(--line);border-radius:var(--radius-pill);padding:4px 10px;font-size:var(--text-sm);color:var(--navy);text-decoration:none;white-space:nowrap}
.ml-pill.is-on{background:var(--navy);border-color:var(--navy);color:var(--paper)}
.ml-table tbody tr{cursor:pointer}
.ml-table tbody tr:hover td,.ml-table tbody tr:focus-visible td{background:var(--gray-50)}
.ml-code.is-missing{color:var(--gray-500);white-space:nowrap}
.ml-tag{display:inline-block;border:1px solid var(--line);border-radius:var(--radius-pill);padding:2px 8px;font-size:var(--text-xs);white-space:nowrap;color:var(--navy)}
.ml-tag-ai_filled,.ml-tag-ai_preferred{border-color:var(--navy)}
.ml-tag-manual{border-color:var(--gold-accent);color:var(--gold-ink)}
.ml-panel-body{margin:18px 28px 0;display:grid;gap:12px}
.ml-kv{display:grid;grid-template-columns:110px 1fr;gap:6px 12px;margin:0;font-size:var(--text-sm)}
.ml-kv dt{color:var(--muted)}.ml-kv dd{margin:0}
.ml-compare{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ml-compare div{border:1px solid var(--line);border-radius:var(--radius-md);padding:10px;overflow-wrap:anywhere}
.ml-compare small{display:block;color:var(--muted);font-size:var(--text-xs);margin-bottom:4px}
.ml-compare .is-kept{border-color:var(--success);color:var(--success)}
.ml-excerpt{margin:0;padding:10px 12px;border-left:2px solid var(--gold-accent);background:var(--gray-50);font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.ml-option{display:grid;gap:2px;border:1px solid var(--line);border-radius:var(--radius-md);padding:10px 12px}
.ml-option:has(input:checked){border-color:var(--navy)}
.ml-option small{color:var(--muted)}
.ml-list{margin:0;padding-left:18px;font-size:var(--text-sm);line-height:1.6}
@media (max-width:900px){.ml-grid{grid-template-columns:1fr}}
@media (max-width:620px){.ml-kpis{grid-template-columns:1fr}.ml-compare{grid-template-columns:1fr}.ml-panel-body{margin:18px 18px 0}}
.ml-kpis>.card,.ml-grid>.card{margin:0}
.ml-panel[open]{display:flex;flex-direction:column}
.ml-panel>.side-panel-actions{margin:auto 0 0;padding:16px 28px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:8px}
.ml-panel .modal-form .side-panel-actions{margin:12px 0 0;padding:16px 0 0}

/* ==================================================================
   Année d'exercice et passage à la nouvelle année (13.10.2026)
   Épuré : aucun gras, traits fins (marine, or, vert), pas d'aplat.
   ================================================================== */
.fy-card .card-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.fy-state{display:flex;align-items:center;gap:16px;margin:6px 0 12px;padding:2px 0 2px 14px;border-left:2px solid var(--navy)}
.fy-year{font-family:var(--font-serif);font-size:var(--text-display);font-weight:500;color:var(--navy);line-height:1}
.fy-state-text{display:grid;gap:2px}
.fy-mode{color:var(--navy);font-size:var(--text-md);font-weight:500}
.fy-mode.is-forced{color:var(--gold-ink)}
.fy-state-text small{color:var(--muted);font-size:var(--text-sm)}
.fy-warning{margin:0 0 10px;padding:6px 0 6px 12px;border-left:2px solid var(--gold-accent);color:var(--gold-ink);font-size:var(--text-sm)}
.fy-choices{display:flex;flex-wrap:wrap;gap:8px}
.fy-choice{display:grid;gap:1px;text-align:left;padding:7px 12px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper);color:var(--navy);font:inherit;font-size:var(--text-sm);font-weight:500;cursor:pointer}
.fy-choice small{color:var(--muted);font-size:var(--text-xs)}
.fy-choice:hover{border-color:var(--navy)}
.fy-choice.is-active{border-color:var(--navy);box-shadow:inset 0 -2px 0 var(--navy)}
.fy-count{color:var(--success);font-size:var(--text-sm);white-space:nowrap}
.fy-count.is-todo{color:var(--gold-ink)}
.fy-intro{margin-top:2px}
.fy-list{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.fy-item{display:grid;gap:3px;padding:6px 0 6px 14px;border-left:2px solid var(--line)}
.fy-item.is-done{border-left-color:var(--success)}
.fy-item.is-todo{border-left-color:var(--gold-accent)}
.fy-item-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.fy-item-title{color:var(--navy);font-size:var(--text-md);font-weight:500}
.fy-status{color:var(--muted);font-size:var(--text-xs);white-space:nowrap}
.fy-item.is-done .fy-status{color:var(--success)}
.fy-item.is-todo .fy-status{color:var(--gold-ink)}
.fy-item p{margin:0;color:var(--ink);font-size:var(--text-sm);line-height:1.55}
.fy-item small{color:var(--muted);font-size:var(--text-xs)}
.fy-links{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:2px}
.fy-links a{color:var(--navy);font-size:var(--text-sm);text-decoration:none;border-bottom:1px solid var(--line)}
.fy-links a:hover{border-bottom-color:var(--navy)}
.fy-reminders{margin-top:14px;padding-top:10px;border-top:1px solid var(--line)}
.fy-reminders span{color:var(--slate);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}
.fy-reminders ul{margin:6px 0 0;padding-left:18px;color:var(--muted);font-size:var(--text-sm);line-height:1.6}
@media (max-width:620px){.fy-state{align-items:flex-start;flex-direction:column;gap:6px}.fy-choice{flex:1 1 100%}}
/* Page d'erreur (erreur.html, 28.10.2026) : même cadre que la connexion, détail sur filets fins. */
.error-details{margin:26px 0 22px;border-top:1px solid var(--gray-300)}
.error-details div{display:flex;justify-content:space-between;gap:18px;padding:9px 0;border-bottom:1px solid var(--gray-200)}
.error-details dt{color:var(--muted);font-size:var(--text-sm)}
.error-details dd{margin:0;color:var(--navy);font-size:var(--text-sm);text-align:right;word-break:break-all}
.error-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-bottom:12px}
