@font-face { font-family:'Atkinson Account'; src:url('/font/AtkinsonHyperlegibleNext-Regular.ttf') format('truetype'); font-display:swap; }
.generator-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.generator-toolbar .tool-switch { display:flex; min-width:0; margin:0; overflow-x:auto; }
.generator-toolbar .tool-switch a { min-width:0; flex-shrink:0; white-space:nowrap; }
.account-open,.account-draft-actions button { display:inline-flex; align-items:center; justify-content:center; background:#fff; color:#0752b8; border:1px solid #c7d9ed; border-radius:12px; padding:10px 18px; min-height:44px; box-sizing:border-box; font:inherit; font-weight:700; text-decoration:none; cursor:pointer; }
.account-open { flex-shrink:0; max-width:100%; overflow-wrap:anywhere; white-space:normal; transition:background .15s,border-color .15s,box-shadow .15s; }
.form-group input[type="email"][readonly] { background:#edf0f3; color:#435565; border-color:#aeb9c4; cursor:default; }
.account-open:hover,.account-draft-actions button:hover { background:#eef6ff; border-color:#0752b8; box-shadow:0 3px 10px #0752b812; }
.account-draft-actions { display:flex; margin:0; }
.account-draft-actions button { width:100%; flex-wrap:wrap; gap:8px; }
.account-data-note { font-size:14px; line-height:1.6; color:#435565; }
.account-notice { padding:16px; margin:16px 0; background:#edf7ff; border:1px solid #2370b5; border-radius:14px; }
.account-notice button { margin:8px; }
.account-document { margin:0; color:#24374a; background:linear-gradient(165deg,#f0f7ff 0,#f7fafc 45%,#f2f8f6 100%); font-family:'Atkinson Account',Arial,sans-serif; }
.agenda-account { box-sizing:border-box; color:#24374a; font-family:'Atkinson Account',Arial,sans-serif; font-size:16px; line-height:1.6; }
.agenda-account * { box-sizing:border-box; }
.agenda-account p { margin:0 0 16px; }
.agenda-account h1,.agenda-account h2,.agenda-account h3 { color:#183951; line-height:1.3; }
.agenda-account h2 { margin:0 0 22px; font-size:24px; }
.agenda-account h3 { margin:24px 0 12px; font-size:20px; }
.account-page { width:min(1120px,calc(100% - 64px)); min-height:100dvh; margin:0 auto; padding:28px 0 64px; }
.account-topbar { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.account-back,.account-brand { color:#0752b8; text-decoration:none; }
.account-back { display:inline-flex; align-items:center; min-height:44px; padding:8px 16px; border:1px solid #ccdceb; border-radius:12px; background:#ffffffc9; font-weight:700; }
.account-back:hover { background:#e7f1fe; border-color:#91b8e4; }
.account-brand { font-weight:800; font-size:23px; letter-spacing:-.5px; }
.account-heading { text-align:center; padding:36px 0 24px; }
.account-heading h1 { margin:0 0 8px; font-size:clamp(28px,4vw,38px); letter-spacing:-.7px; }
.agenda-account .account-eyebrow { margin:0 0 10px; color:#476878; font-size:14px; }
.agenda-account .account-email { margin:0; color:#526b7c; overflow-wrap:anywhere; }
.account-email:empty,.agenda-account nav:empty { display:none; }
.agenda-account nav { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:8px; margin:0 0 28px; }
.agenda-account button,.agenda-account .account-link { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 16px; border:1px solid #c7d9ed; border-radius:10px; background:#fff; color:#0752b8; font:inherit; font-weight:700; cursor:pointer; text-decoration:none; transition:background .15s,border-color .15s,box-shadow .15s,transform .15s; }
.agenda-account button:hover,.agenda-account .account-link:hover { background:#edf5ff; border-color:#8fb4df; box-shadow:0 3px 10px #0752b810; transform:translateY(-1px); }
.agenda-account button.primary,.agenda-account nav button[aria-current=page] { color:white; background:#0752b8; border-color:#0752b8; }
.agenda-account button.primary:hover,.agenda-account nav button[aria-current=page]:hover { background:#06469c; border-color:#06469c; }
.agenda-account button:disabled { opacity:.65; cursor:wait; transform:none; }
.agenda-account button:focus-visible,.agenda-account input:focus-visible,.agenda-account a:focus-visible,.account-open:focus-visible,.account-draft-actions button:focus-visible { outline:3px solid #bd7200; outline-offset:3px; }
.account-content { padding:28px; border:1px solid #dce6ef; border-radius:20px; background:#fff; box-shadow:0 8px 32px #1c456008; }
.account-content > button { margin:4px 8px 4px 0; }
.account-content.account-login { max-width:520px; margin:0 auto; padding:32px; }
.account-login h2 { text-align:center; }
.account-login p { color:#526578; }
.account-login > button,.account-login > div > button { width:100%; margin:8px 0 0; }
.agenda-account label { display:block; margin:18px 0 8px; font-weight:700; }
.agenda-account input:not([type=checkbox]) { display:block; width:100%; margin-top:8px; border:1px solid #96acbf; border-radius:10px; padding:12px; min-height:48px; font:inherit; background:#fbfdff; color:#24374a; }
.agenda-account input[type=checkbox] { width:20px; height:20px; vertical-align:middle; margin-left:12px; accent-color:#0752b8; }
.agenda-account .account-actions { display:flex; flex-wrap:wrap; gap:10px; margin:14px 0; }
.agenda-account .account-card { padding:20px; margin:14px 0; border:1px solid #d4e1ec; border-radius:14px; background:#f6faff; overflow-wrap:anywhere; }
.agenda-account .account-card p { margin:6px 0; }
.agenda-account .account-state { font-weight:700; color:#364f62; }
.agenda-account .account-status { padding:12px 16px; margin:0 auto 18px; border-radius:12px; background:#e8f2fd; overflow-wrap:anywhere; }
.agenda-account .account-status.error { color:#912424; background:#fff0ef; }
.agenda-account .account-status:empty { display:none; }
.agenda-account .premium-info { background:#fff9eb; border-color:#e1c985; }
.agenda-account small { display:block; color:#435565; }
.account-agenda-table { width:100%; border-collapse:collapse; text-align:left; font-size:15px; }
.account-table-scroll { overflow-x:auto; border-radius:10px; }
.account-table-scroll:focus-visible { outline:3px solid #bd7200; outline-offset:3px; }
.account-agenda-table thead th { padding:13px 16px; color:#516879; background:#f4f8fc; font-size:13px; font-weight:700; border-bottom:1px solid #dce6ef; }
.account-agenda-table thead th:first-child { border-radius:10px 0 0 0; }
.account-agenda-table thead th:last-child { border-radius:0 10px 0 0; }
.account-agenda-table tbody th,.account-agenda-table td { padding:20px 16px; border-bottom:1px solid #e6edf3; }
.account-agenda-table tbody tr:last-child > * { border-bottom:0; }
.account-agenda-table tbody tr:hover { background:#fbfdff; }
.account-agenda-table th:nth-child(n+3),.account-agenda-table td:nth-child(n+3) { text-align:right; width:1%; }
.account-agenda-table time { white-space:nowrap; color:#526578; font-size:14px; }
.account-agenda-title { font-weight:700; color:#183951; }
.agenda-account button.account-rename-button { width:44px; padding:10px; margin-left:8px; vertical-align:middle; }
.account-rename-button img { width:20px; height:20px; }
.agenda-account button.account-title-button { min-height:44px; padding:0; background:transparent; border:0; border-radius:4px; color:#183951; text-align:left; justify-content:flex-start; box-shadow:none; transform:none; }
.agenda-account button.account-title-button:hover { color:#0752b8; text-decoration:underline; text-underline-offset:4px; }
.agenda-account .account-row-action { gap:7px; min-width:108px; white-space:nowrap; }
.agenda-account .account-row-action.is-edit { background:#eef5ff; border-color:#c4d8f0; }
.agenda-account .account-row-action:hover { background:#dfeeff; border-color:#91b6e3; box-shadow:0 4px 12px #0752b817; }
.account-lock { width:17px; height:17px; flex-shrink:0; opacity:.48; }
.account-draft-badge { display:block; width:fit-content; font-size:12px; font-weight:400; padding:1px 8px; border:1px solid #dce6ef; border-radius:6px; color:#526578; }
.account-empty { text-align:center; padding:40px 12px !important; }
.account-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.account-modal { width:min(540px,calc(100% - 32px)); max-height:85dvh; padding:24px; margin:auto; border:1px solid #c8d9e7; border-radius:20px; overflow:auto; box-shadow:0 18px 70px #132d4c33; }
.account-modal::backdrop { background:#12233088; backdrop-filter:blur(3px); }
.account-modal > header { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; }
.account-modal > header h2 { margin:0; }
.account-modal .account-content { padding:0; border:0; box-shadow:none; border-radius:0; }
.account-modal .account-email { margin-bottom:12px; }
.agenda-account button.account-close { padding:0; min-width:44px; width:44px; height:44px; border:0; border-radius:50%; color:#526578; background:#f1f5f8; font-family:Arial,sans-serif; font-size:28px; font-weight:400; line-height:1; flex-shrink:0; }
.agenda-account button.account-close:hover { color:#183951; background:#e1ebf3; }
[hidden] { display:none !important; }
@media(max-width:600px) {
 .generator-toolbar { gap:8px; }
 .generator-toolbar .tool-switch a { padding:9px 10px; font-size:13px; }
 .account-open { padding:10px 12px; font-size:13px; }
 .account-page { width:calc(100% - 24px); padding-top:16px; }
 .account-heading { padding:28px 0 22px; }
 .account-back { padding:8px 12px; font-size:14px; }
 .account-brand { font-size:20px; }
 .agenda-account nav { gap:6px; margin-bottom:20px; }
 .agenda-account nav button { font-size:13px; padding:8px 10px; }
 .account-content { padding:18px 10px; border-radius:16px; }
 .account-content.account-login { padding:24px 20px; }
 .agenda-account h2 { font-size:21px; }
 .account-content > h2 { margin-left:6px; }
 .account-agenda-table thead th { padding:10px 5px; font-size:11px; }
 .account-agenda-table { min-width:340px; }
 .account-agenda-table tbody th,.account-agenda-table td { padding:14px 5px; }
 .account-agenda-table time { font-size:11px; }
 .account-agenda-title { font-size:13px; }
 .agenda-account .account-row-action { min-width:0; padding:8px 7px; gap:4px; font-size:12px; }
 .account-lock { width:13px; height:13px; }
 .account-modal { padding:20px; }
}
@media(prefers-reduced-motion:reduce) { .agenda-account button,.account-open { transition:none; } .agenda-account button:hover { transform:none; } }
/* Identité et réglages : un accès discret en haut à droite. */
.account-page-header { margin-bottom:28px; }
.account-identity { position:relative; min-width:0; max-width:65%; }
.agenda-account button.account-email-menu { color:#294b65; background:#ffffffb8; max-width:100%; overflow-wrap:anywhere; text-align:right; padding:10px 14px; font-size:15px; }
.account-email-menu::after { content:'⌄'; font-size:17px; margin-left:4px; flex-shrink:0; }
.account-user-menu { position:absolute; top:calc(100% + 8px); right:0; z-index:10; width:240px; max-width:calc(100vw - 24px); padding:6px; border:1px solid #d4e1ec; border-radius:12px; background:#fff; box-shadow:0 8px 28px #18395120; }
.agenda-account .account-user-menu :is(button, a) { display:flex; justify-content:flex-start; width:100%; text-align:left; border:0; box-shadow:none; transform:none; color:#294b65; font-weight:400; }
.agenda-account .account-user-menu :is(button, a):last-child { color:#953d36; }
.account-payment-table { overflow-wrap:normal; width:100%; border-collapse:collapse; font-size:15px; text-align:left; margin-bottom:16px; }
.account-payment-table th { background:#f4f8fc; color:#516879; font-size:13px; }
.account-payment-table th,.account-payment-table td { padding:14px 12px; border-bottom:1px solid #e6edf3; }
.account-payment-state,.account-test-badge { display:inline-block; padding:2px 9px; border-radius:7px; font-size:13px; background:#e9f5ee; color:#276342; white-space:nowrap; }
.account-payment-state.is-expired { background:#f1f3f5; color:#596572; }
.account-test-badge { margin-left:6px; background:#fff5df; color:#79551c; }
@media(max-width:600px) {
 .account-topbar { align-items:flex-start; gap:10px; }
 .account-identity { max-width:55%; }
 .agenda-account button.account-email-menu { padding:8px; font-size:12px; gap:4px; }
 .account-back { text-align:center; padding:8px; font-size:12px; }
 .account-payment-table { min-width:340px; font-size:13px; }
 .account-payment-table th,.account-payment-table td { padding:12px 6px; }
 .account-payment-table th { font-size:12px; }
 .account-test-badge { display:block; width:fit-content; margin:4px 0 0; }
}

.account-user-menu a { display: block; text-decoration: none; }

.account-lignage-entry { display:flex; align-items:center; gap:16px; }
.account-lignage-details { min-width:120px; overflow-wrap:anywhere; }
.account-lignage-preview { display:block; flex:0 0 180px; width:180px; max-width:100%; color:#0752b8; font-size:13px; }
.account-lignage-preview img { display:block; width:100%; height:auto; border:1px solid #dce6ef; border-radius:8px; background:#eef3f6; }
.agenda-account button.account-delete-button { width:44px; padding:10px; color:#912424; }
.agenda-account button.account-delete-button:hover { background:#fff0ef; border-color:#b96060; }
