/* The theme owns the 1200px page frame, typeface and primary navigation. */
.pde-carnet-page #cm-content { padding-top: 0; }
.pde-carnet-page .cm-entry-header, .pde-carnet-page .entry-header, .pde-carnet-page #cm-secondary, .pde-carnet-page .cm-post-meta { display: none !important; }
.pde-carnet-page #cm-primary, .pde-carnet-page .cm-posts { width: 100%; float: none; }
.pde-carnet-page article, .pde-carnet-page .cm-post-content, .pde-carnet-page .cm-entry-content, .pde-carnet-page .entry-content { padding: 0 !important; margin: 0 !important; border: 0; box-shadow: none; }
.pc-shell { --pc-ink: #29434d; --pc-muted: #62767c; --pc-line: #e2ebed; display: grid; grid-template-columns: 204px minmax(0, 1fr); gap: 16px; padding: 5px 0 24px; color: var(--pc-ink); font: inherit; font-size: 14px; line-height: 1.45; background: #fff; }
.pc-shell * { box-sizing: border-box; }
.pc-shell [hidden] { display: none !important; }
.pc-shell h1, .pc-shell h2, .pc-shell h3, .pc-shell p { margin: 0; padding: 0; font-family: inherit; line-height: 1.4; }
.pc-shell h1 { font-size: 27px !important; font-weight: 750; color: var(--pc-ink) !important; }
.pc-shell h2 { font-size: 19px; font-weight: 750; color: var(--pc-ink); }
.pc-shell h3 { font-size: 15px; font-weight: 650; }
.pc-shell a { text-decoration: none !important; color: inherit; transition: background-color .15s, box-shadow .15s, transform .15s; }
.pc-shell a:focus-visible, .pc-shell button:focus-visible { outline: 3px solid #5ab5bd; outline-offset: 4px; }
.pc-sidebar { align-self: start; position: sticky; top: calc(var(--pde-header-offset, 50px) + 5px); padding: 10px; border-radius: 18px; background: #f3f9fa; border: 1px solid #e4eff0; }
.pc-nav-link, .pc-category-link { display: flex; gap: 9px; align-items: center; padding: 7px 8px; border-radius: 10px; margin: 2px 0; font-size: 12px; color: #435f66 !important; }
.pc-nav-link { font-weight: 650; }
.pc-nav-link>span { font-size: 20px; width: 25px; flex-shrink: 0; text-align: center; }
.pc-nav-link:hover, .pc-category-link:hover { background: #e4f1f2; }
.pc-nav-link[aria-current=page] { color: #257f89 !important; background: #dff1f2; }
.pc-nav-journal[aria-current=page] { background: #f7e4ef; color: #a9477e !important; }
.pc-nav-edt[aria-current=page] { background: #dff1f5; color: #2d7e9a !important; }
.pc-nav-programmations[aria-current=page] { background: #e8f2d8; color: #62842f !important; }
.pc-nav-todo[aria-current=page] { background: #fff0d5; color: #986a26 !important; }
.pc-nav-label { display: block; margin: 22px 8px 7px; font-size: 10px; letter-spacing: 1px; color: #7a9297; font-weight: 700; }
.pc-category-link { font-size: 11px; align-items: start; gap: 8px; }
.pc-category-link>span { font-size: 16px; flex-shrink: 0; }
.pc-category-link>.pc-category-count { margin-left: auto; padding: 0; color: #6c858a; font-size: 10px; line-height: 1.2; font-weight: 700; white-space: nowrap; }
.pc-category-link[aria-current=page] { background: #dff1f2; }
.pc-main { min-width: 0; }
.pc-dashboard { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.pc-card { --pc-accent: #ab4e82; --pc-surface: #fdf1f7; --pc-border: #f1dce8; --pc-icon-bg: #f9dfec; display: flex; flex-direction: column; min-width: 0; padding: 20px; border: 1px solid var(--pc-border); border-radius: 18px; background: var(--pc-surface); box-shadow: 0 3px 10px #29434d06; }
.pc-edt { --pc-accent: #337e99; --pc-surface: #eef8fc; --pc-border: #d5eaf3; --pc-icon-bg: #d8edf6; }
.pc-programmations { --pc-accent: #698a37; --pc-surface: #f4f9e9; --pc-border: #e2edca; --pc-icon-bg: #e5f0cb; }
.pc-generateurs { --pc-accent: #77589c; --pc-surface: #f8f3fc; --pc-border: #e9ddf3; --pc-icon-bg: #eee3f8; }
.pc-generateurs-links { display: flex; flex-direction: column; gap: 7px; padding-bottom: 0; }
.pc-generateurs-links .pc-button { align-self: stretch; }
.pc-todo { --pc-accent: #9e7026; --pc-surface: #fff8e9; --pc-border: #f4e6c5; --pc-icon-bg: #ffedc4; }
.pc-card-heading { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.pc-card-heading h2 { font-size: 19px !important; color: var(--pc-accent) !important; }
.pc-card-heading p { color: var(--pc-muted); font-size: 11px; margin-top: 2px; }
.pc-tool-icon { display: grid; place-items: center; flex-shrink: 0; width: 52px; height: 52px; font-size: 31px; border-radius: 16px; background: var(--pc-icon-bg); }
.pc-tool-icon img { width: 100%; height: 100%; padding: 3px; object-fit: contain; }
.pc-card-body { flex: 1; min-height: 102px; padding-bottom: 15px; }
.pc-caption { display: inline-block; color: var(--pc-accent); font-size: 11px; font-weight: 700; margin-bottom: 10px; }
.pc-muted { color: var(--pc-muted); font-size: 12px !important; }
.pc-journal-invite { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(230px, .85fr); align-items: center; gap: 22px; min-height: 310px; padding: clamp(22px, 3.2vw, 42px); overflow: hidden; border: 1.5px solid #f4c7dc; border-radius: 24px; background: radial-gradient(ellipse at 82% 50%, #fffafd 0, #fff4f8 46%, #fff8fb 100%); }
.pc-journal-invite-content { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
.pc-journal-invite-eyebrow { display: flex; align-items: center; gap: 12px; margin-bottom: clamp(20px, 3vw, 38px); color: #c52f70; font-size: 19px; }
.pc-journal-invite-icon { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 17px; background: #fde7f0; font-size: 29px; }
.pc-journal-invite-title { max-width: 600px; margin: 0 0 12px !important; color: #c52f70 !important; font-size: clamp(25px, 3vw, 39px) !important; font-weight: 760 !important; line-height: 1.16 !important; }
.pc-journal-invite-description { max-width: 560px; margin: 0 0 22px !important; color: #77838d; font-size: clamp(15px, 1.6vw, 21px) !important; line-height: 1.45 !important; }
.pc-journal-invite-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.pc-journal-invite-primary { display: inline-flex; align-items: center; justify-content: space-between; gap: 22px; min-height: 58px; padding: 13px 19px; border-radius: 14px; background: linear-gradient(100deg, #cb3172, #c52e70); color: #fff !important; font-size: clamp(14px, 1.55vw, 20px); font-weight: 720; box-shadow: 0 5px 14px #c52f7024; }
.pc-journal-invite-primary:hover { background: #ae205e; transform: translateY(-1px); }
.pc-journal-invite-arrow { font-size: 25px; line-height: 1; }
.pc-button { display: inline-flex; justify-content: space-between; align-items: center; gap: 10px; align-self: start; border: 1px solid var(--pc-border, #c5e3e5); background: #fff; border-radius: 10px; padding: 9px 13px; color: var(--pc-accent, #32838a) !important; font-size: 12px; font-weight: 700; cursor: pointer; }
.pc-card>.pc-button { align-self: stretch; }
.pc-button:hover { box-shadow: 0 3px 10px #29434d12; transform: translateY(-1px); }
.pc-button>span { font-size: 16px; }
.pc-empty-icon { display: inline-block; font-size: 27px; vertical-align: middle; margin: 1px 8px 8px 0; }
.pc-empty-title { display: inline-block; font-size: 15px !important; font-weight: 650; vertical-align: middle; }
.pc-event { display: flex; gap: 9px; padding: 7px 9px; margin-bottom: 5px; border-radius: 7px; border-left: 3px solid var(--event-color, #da92b9); background: #ffffffba; font-size: 11px; }
.pc-event time { font-size: 10px; white-space: nowrap; padding-top: 2px; color: #76828a; }
.pc-event small { display: block; color: #76828a; font-size: 10px; }
.pc-task { display: flex; gap: 8px; padding: 3px 0; font-size: 12px; line-height: 1.25; }
.pc-task:before { content: ''; width: 14px; height: 14px; margin-top: 3px; border: 1.5px solid #cfb77b; border-radius: 4px; flex-shrink: 0; background: #fff; }
.pc-task small { color: #9b8a68; font-size: 10px; display: block; }
.pc-task.is-overdue small { color: #b45f4f; }
.pc-mini-prog { display: flex; gap: 6px; flex-wrap: wrap; margin: 8px 0 12px; }
.pc-mini-prog span { border-radius: 7px; padding: 6px 9px; font-size: 10px; color: #698647; background: #fff; border: 1px solid #deebcb; }
.pc-prog-steps { display: flex; gap: 5px; margin: 0 0 12px; max-width: 260px; }
.pc-prog-steps i { display: block; width: 20%; height: 8px; background: #c8dda6; border-radius: 4px; }
.pc-prog-steps i:nth-child(2) { background: #e5cfaa; }
.pc-prog-steps i:nth-child(3) { background: #b6dce1; }
.pc-prog-steps i:nth-child(4) { background: #e4c3d7; }
.pc-prog-steps i:nth-child(5) { background: #d4c9e4; }
.pc-explore { margin-top: 24px; }
.pc-explore h2 { font-size: 16px; margin-bottom: 12px; }
.pc-category-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.pc-category-pills a { display: flex; gap: 6px; align-items: center; border: 1px solid #e2ecee; border-radius: 11px; background: #f8fbfc; padding: 9px 11px; font-size: 11px; }
.pc-category-pills a:hover { background: #eef7f8; }
.pc-category-pills a>span { font-size: 17px; }
.pc-library-heading, .pc-tool-heading { padding: 20px 0; }
.pc-tool-heading { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.pc-catalog-category { margin-bottom: 24px; }
.pc-catalog-category>h2 { font-size: 17px; margin-bottom: 12px; }
.pc-catalog-group { margin-bottom: 18px; }
.pc-catalog-group>h3 { font-size: 13px; margin-bottom: 9px; color: #779296; }
.pc-resource-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.pc-resource { display: flex; align-items: center; gap: 9px; border: 1px solid #e6edf0; border-radius: 12px; background: #f7fbfc; padding: 12px; font-size: 12px; }
.pc-resource:nth-child(4n+2) { background: #fff9ed; }
.pc-resource:nth-child(4n+3) { background: #fdf3f8; }
.pc-resource:nth-child(4n+4) { background: #f4f9eb; }
.pc-resource:hover { box-shadow: 0 3px 12px #29434d12; transform: translateY(-1px); }
.pc-resource strong { flex: 1; font-weight: 600; }
.pc-resource-icon { font-size: 23px; }
.pc-resource>span:last-child { color: #90a7ab; }
.pc-tool-frame { display: block; width: 100%; min-height: 800px; border: 0; border-radius: 0; background: #fff; }
.pc-login { display: flex; align-items: center; justify-content: space-between; gap: 12px; background: #eef9fa; border-radius: 12px; padding: 14px; margin-bottom: 18px; font-size: 12px; }
.pc-error { color: #a96b59; font-size: 12px !important; }
.pc-retry { margin-top: 8px; }
@media (max-width: 1000px) {
  .pc-shell { grid-template-columns: 168px minmax(0, 1fr); gap: 12px; padding: 5px 0 20px; }
  .pc-card { padding: 15px; }
  .pc-card-heading { gap: 9px; }
  .pc-tool-icon { width: 42px; height: 42px; font-size: 26px; border-radius: 12px; }
  .pc-card-heading h2 { font-size: 17px !important; }
}
@media (max-width: 760px) {
  .pc-shell { display: block; padding: 5px 0 16px; }
  .pc-sidebar { position: static; padding: 8px; border-radius: 14px; }
  .pc-sidebar>nav:first-of-type { display: flex; overflow-x: auto; gap: 6px; padding-bottom: 4px; scrollbar-width: none; }
  .pc-sidebar>nav:first-of-type::-webkit-scrollbar { display: none; }
  .pc-nav-link { flex-shrink: 0; padding: 8px; font-size: 11px; margin: 0; gap: 6px; }
  .pc-nav-link>span { font-size: 18px; width: 20px; }
  .pc-sidebar>.pc-nav-label, .pc-sidebar>nav:last-of-type { display: none; }
  .pc-shell h1 { font-size: 24px !important; }
  .pc-dashboard { gap: 12px; }
  .pc-card { padding: 14px; }
  .pc-resource-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .pc-dashboard { grid-template-columns: 1fr; }
  .pc-card-body { min-height: 75px; }
  .pc-tool-icon { width: 48px; height: 48px; font-size: 29px; }
  .pc-card-heading h2 { font-size: 19px !important; }
  .pc-card { padding: 18px; }
  .pc-tool-heading h1 { font-size: 22px !important; }
}

/* Native header + resource subbar already reserve their own space. */
body.pde-carnet-page.pde-unified-header-merged.pde-resource-page:not(.wp-admin) #page #cm-content { margin-top: 0 !important; padding-top: 0 !important; }
.pc-sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip-path: inset(50%) !important; white-space: nowrap !important; border: 0 !important; }
.pc-nav-link[data-view=accueil] { white-space: nowrap; font-size: 11px; }
.pc-nav-link[data-view=accueil]>span { width: 20px; font-size: 18px; }
.pc-sidebar { padding: 7px; border-radius: 14px; }
.pc-nav-link { padding: 6px 7px; margin: 1px 0; }
.pc-nav-link>span { font-size: 18px; }
.pc-library-heading { padding: 0; }
.pc-tool-heading { padding: 0 0 9px; min-height: 27px; }
.pc-journal-label { display: block; font-size: 10px; color: var(--pc-accent); margin-bottom: 4px; }
#pc-journal-select, #pc-tool-journal-select { max-width: 100%; width: 100%; font: inherit; font-size: 12px; padding: 7px 9px; border: 1px solid #edcedf; border-radius: 8px; color: #77586b; background: #fff; margin-bottom: 9px; }
#pc-tool-journal-label { display: flex; align-items: center; gap: 8px; font-size: 11px; }
#pc-tool-journal-select { width: auto; margin: 0; }
.pc-rdv { --pc-accent: #558f8c; --pc-surface: #eff9f7; --pc-border: #d5eae4; --pc-icon-bg: #d9eee7; display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; grid-template-rows: auto auto; align-items: center; gap: 4px 9px; margin: 0 0 12px; padding: 7px 10px; }
.pc-bulletins { --pc-accent: #a95537; --pc-surface: #fff4ed; --pc-border: #f2dfd3; display: flex; flex-direction: row; align-items: center; gap: 14px; padding: 12px 16px; overflow: hidden; }
.pc-bulletins-visual { flex: 0 0 126px; width: 126px; height: 84px; overflow: hidden; border-radius: 12px; background: #fff; }
.pc-bulletins-visual img { display: block; width: 100%; height: 100%; object-fit: cover; }
.pc-bulletins-copy { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
.pc-bulletins h2 { margin: 0 !important; color: var(--pc-accent) !important; font-size: 16px !important; line-height: 1.25 !important; }
.pc-bulletins p { margin-top: 5px !important; color: var(--pc-muted); font-size: 11px !important; }
.pc-bulletins .pc-button { margin-top: 8px; padding: 6px 10px; white-space: nowrap; }

.pc-rdv .pc-card-heading { display: contents; margin: 0; }
.pc-rdv .pc-card-heading h2 { grid-column: 2; grid-row: 1; min-width: 0; overflow: hidden; font-size: 16px !important; text-overflow: ellipsis; white-space: nowrap; }
.pc-rdv .pc-tool-icon { grid-column: 1; grid-row: 1; width: 38px; height: 38px; font-size: 24px; border-radius: 11px; }
#pc-rdv-content { grid-column: 2; grid-row: 2; display: flex; align-items: center; gap: 6px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#pc-rdv-content>strong { font-size: 11px; }
#pc-rdv-content .pc-muted { display: inline; margin-left: 5px; font-size: 10px !important; }
.pc-rdv-next-label { flex-shrink: 0; padding: 3px 7px; border-radius: 99px; background: #dcefeb; color: #397a72; font-size: 10px; font-weight: 750; }
.pc-rdv>.pc-button { grid-column: 3; grid-row: 1 / span 2; align-self: center; padding: 7px 10px; white-space: nowrap; }
.pc-todo-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; margin-bottom: 10px; }
.pc-todo-stat { --stat-ink: #e57c80; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 4px; padding: 7px 3px; border-radius: 10px; background: #fff; border: 1px solid #f0e7d7; color: var(--stat-ink) !important; }
.pc-todo-stat>span { display: grid; place-items: center; width: 25px; height: 25px; background: #fff1f1; border-radius: 9px; }
.pc-todo-stat>span svg { display: block; width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.pc-todo-stat>strong { font-size: 18px; }
.pc-todo-stat>small { flex-basis: 100%; text-align: center; font-size: 8px; color: #8b8272; }
.pc-todo-soon { --stat-ink: #c48a16; }
.pc-todo-soon>span { background: #fff8d9; }
.pc-todo-later { --stat-ink: #3d9a69; }
.pc-todo-later>span { background: #ebfaef; }
.pc-todo-done { --stat-ink: #258a98; }
.pc-todo-done>span { background: #e9f8fb; }
.pc-todo-stats~.pc-empty-icon { font-size: 20px; margin-bottom: 2px; }
.pc-todo-stats~.pc-empty-title { font-size: 13px !important; }
.pc-catalog-group:first-of-type>h3 { margin-top: 0; }
@media (max-width: 1000px) and (min-width: 761px) { .pc-shell { grid-template-columns: 196px minmax(0, 1fr); } .pc-bulletins { gap: 9px; padding: 10px; } .pc-bulletins-visual { flex-basis: 92px; width: 92px; height: 64px; } .pc-bulletins h2 { font-size: 14px !important; } .pc-bulletins .pc-button { padding: 6px 8px; font-size: 10px; } }
@media (max-width: 760px) {
  .pc-shell { padding-top: 5px; }
  .pc-sidebar { margin-bottom: 12px; }
  .pc-rdv { grid-template-columns: 34px minmax(0, 1fr) auto; gap: 4px 6px; padding: 6px 7px; }
  .pc-rdv .pc-card-heading h2 { font-size: 13px !important; }
  .pc-rdv .pc-tool-icon { width: 34px; height: 34px; font-size: 21px; }
  .pc-rdv>.pc-button { grid-column: 3; grid-row: 1 / span 2; padding: 6px 7px; font-size: 10px; }
  .pc-journal-invite { grid-template-columns: 1fr; gap: 14px; min-height: 0; padding: 20px; }
  .pc-journal-invite-eyebrow { margin-bottom: 12px; }
  .pc-journal-invite-title { font-size: 25px !important; }
  .pc-journal-invite-description { font-size: 15px !important; }
  .pc-journal-invite-primary { width: 100%; }
  .pc-journal-invite-actions { width: 100%; }
  #pc-tool-journal-label { display: block; }
  #pc-tool-journal-select { width: 100%; }
}

#pc-edt-select { width: 100%; max-width: 100%; font: inherit; font-size: 12px; padding: 7px 9px; border: 1px solid var(--pc-border); border-radius: 8px; background: #fff; color: var(--pc-accent); margin-bottom: 8px; }
#pc-edt-day { max-height: none; overflow: visible; }
.pc-card-heading>div { flex: 1; min-width: 0; }
.pc-task-add { display: grid; place-items: center; width: 33px; height: 33px; flex-shrink: 0; padding: 0 !important; border: 0; border-radius: 10px; background: #0c9cae; color: #fff; font: inherit; font-size: 26px; font-weight: 500; cursor: pointer; line-height: 1; text-align: center; }
.pc-task-add>span { display: block; line-height: 1; transform: translateY(-1px); }
.pc-task-add:hover { background: #087d8d; }
.pc-task>div { display: flex; align-items: center; gap: 8px; min-width: 0; width: 100%; }
.pc-task>div>span { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pc-task small { flex-shrink: 0; display: inline; white-space: nowrap; }
body.pde-carnet-page .pc-shell select:focus, body.pde-carnet-page .pc-shell select:focus-visible { outline: none !important; box-shadow: none !important; border-color: var(--pc-border, #edcedf) !important; }
.pc-task-add { display: inline-grid !important; place-items: center !important; padding: 0 !important; text-align: center !important; line-height: 1 !important; }
.pc-task-add::before { content: none !important; }

/* Dashboard: appointments on top, with the task list spanning the two lower rows. */
.pc-dashboard { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(180px, 204px); grid-template-rows: auto repeat(2, minmax(220px, auto)); row-gap: 9px; align-items: stretch; }
.pc-dashboard>.pc-rdv { margin-bottom: 0; }
.pc-tool-icon img { transform: scale(1.33); }
:is(.pc-journal, .pc-edt).is-empty { padding: 0; overflow: hidden; }
:is(.pc-journal, .pc-edt).is-empty > .pc-card-heading, :is(.pc-journal, .pc-edt).is-empty > .pc-button, :is(.pc-journal, .pc-edt).is-empty .pc-journal-label, :is(.pc-journal, .pc-edt).is-empty #pc-journal-select, .pc-edt.is-empty #pc-edt-select { display: none; }
:is(.pc-journal, .pc-edt).is-empty > .pc-card-body { padding: 0; }
:is(.pc-journal, .pc-edt).is-empty .pc-journal-invite { position: relative; display: block; height: 100%; min-height: 0; padding: 16px; border: 0; border-radius: inherit; }
:is(.pc-journal, .pc-edt).is-empty .pc-journal-invite-eyebrow { min-height: 40px; gap: 8px; margin-bottom: 8px; font-size: 15px; }
:is(.pc-journal, .pc-edt).is-empty .pc-journal-invite-icon { width: 38px; height: 38px; border-radius: 12px; font-size: 22px; }
:is(.pc-journal, .pc-edt).is-empty img.pc-journal-invite-icon { width: 50px; height: 50px; padding: 2px; object-fit: contain; }
.pc-edt.is-empty #pc-edt-day { max-height: none; overflow: visible; height: 100%; }
.pc-edt.is-empty .pc-journal-invite { background: radial-gradient(ellipse at 82% 50%, #fff 0, #eaf7fc 100%); }
.pc-edt.is-empty .pc-journal-invite-eyebrow, .pc-edt.is-empty .pc-journal-invite-title { color: #337e99 !important; }
.pc-edt.is-empty .pc-journal-invite-icon { background: #d8edf6; }
.pc-edt.is-empty .pc-journal-invite-primary { background: #337e99; box-shadow: 0 5px 14px #337e9924; }
.pc-edt.is-empty .pc-journal-invite-primary:hover { background: #286b84; }
:is(.pc-journal, .pc-edt).is-empty .pc-journal-invite-title { margin-bottom: 6px !important; font-size: 19px !important; }
:is(.pc-journal, .pc-edt).is-empty .pc-journal-invite-description { margin-bottom: 10px !important; font-size: 13px !important; line-height: 1.3 !important; }
:is(.pc-journal, .pc-edt).is-empty .pc-journal-invite-actions { width: 100%; gap: 6px; }
:is(.pc-journal, .pc-edt).is-empty .pc-journal-invite-primary { width: auto; max-width: 100%; min-height: 34px; padding: 7px 9px; gap: 5px; border-radius: 9px; font-size: 10px; white-space: nowrap; }
:is(.pc-journal, .pc-edt).is-empty .pc-journal-invite-arrow { font-size: 16px; }
.pc-todo .pc-card-heading { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 5px 9px; }
.pc-todo .pc-card-heading>div { min-width: 0; }
.pc-todo-stats { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 3px; }
.pc-todo-stats .pc-task-add { width: 100%; height: auto; min-height: 43px; align-self: stretch; border-radius: 10px; }
.pc-todo-stat { flex-direction: column; flex-wrap: nowrap; gap: 1px; min-width: 0; padding: 5px 1px; }
.pc-todo-stat>span { width: 20px; height: 20px; }
.pc-todo-stat>span img { display: block; width: 100%; height: 100%; object-fit: contain; }
.pc-todo-stat>strong { font-size: 12px; line-height: 1.2; }
.pc-todo-stat>small { display: none; }
.pc-todo-empty { text-align: center; }
.pc-todo-empty-image { display: block; width: min(100%, 140px); height: auto; margin: 0 auto 6px; }
.pc-todo-empty-message { margin: 0 0 8px !important; font-size: 12px !important; }
.pc-todo-empty .pc-muted { font-size: 11px !important; }
.pc-dashboard>.pc-rdv { grid-column: 1; grid-row: 1; }
.pc-dashboard>.pc-bulletins { grid-column: 2 / 4; grid-row: 1; }
.pc-dashboard>.pc-journal { grid-column: 1; grid-row: 2; }
.pc-dashboard>.pc-edt { grid-column: 2; grid-row: 2; }
.pc-dashboard>.pc-programmations { grid-column: 1; grid-row: 3; }
.pc-dashboard>.pc-generateurs { grid-column: 2; grid-row: 3; }
.pc-dashboard>.pc-todo { grid-column: 3; grid-row: 2 / span 2; min-height: 0; contain: size; }
.pc-dashboard>.pc-todo .pc-card-body { min-height: 0; overflow: hidden; }
@media (max-width: 760px) {
  .pc-dashboard { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto; }
  .pc-dashboard>.pc-rdv, .pc-dashboard>.pc-bulletins { grid-column: 1 / -1; grid-row: auto; }
  .pc-dashboard>.pc-journal, .pc-dashboard>.pc-edt, .pc-dashboard>.pc-programmations, .pc-dashboard>.pc-generateurs, .pc-dashboard>.pc-todo { grid-column: auto; grid-row: auto; }
  .pc-dashboard>.pc-todo { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  .pc-dashboard { grid-template-columns: 1fr; }
  .pc-dashboard>.pc-todo { grid-column: auto; }
}

/* Rendez-vous : laisser toute sa place au prochain rendez-vous. */
.pc-dashboard .pc-rdv { grid-template-columns: 38px minmax(0, 1fr); grid-template-rows: auto auto auto; }
.pc-dashboard #pc-rdv-content { grid-column: 1 / -1; grid-row: 2; flex-wrap: wrap; overflow: visible; white-space: normal; }
.pc-dashboard .pc-rdv>.pc-button { grid-column: 1 / -1; grid-row: 3; max-width: 100%; white-space: normal; }
.pc-bulletins-visual { background: transparent; }
.pc-bulletins-visual img { object-fit: contain; }

.pc-dashboard-top { grid-column: 1 / -1; grid-row: 1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; min-width: 0; }
.pc-dashboard-top > .pc-rdv { margin: 0; }
@media (max-width: 760px) { .pc-dashboard-top { grid-row: auto; grid-template-columns: 1fr; gap: 12px; } }

/* Colonne Todo et mots aux familles. */
.pc-dashboard > .pc-side { grid-column: 3; grid-row: 2 / span 2; display: flex; flex-direction: column; gap: 9px; min-width: 0; }
.pc-side > .pc-todo { flex: 1; }
.pc-familles { --pc-accent: #425c80; --pc-surface: #f1f4f9; --pc-border: #dbe2ef; --pc-icon-bg: #e4eaf3; }
.pc-familles .pc-card-heading { margin-bottom: 12px; }
.pc-familles .pc-card-heading h2 { font-size: 16px !important; }
.pc-familles .pc-button { white-space: normal; }
@media (max-width: 760px) { .pc-dashboard > .pc-side { grid-column: 1 / -1; grid-row: auto; } }
@media (max-width: 560px) { .pc-dashboard > .pc-side { grid-column: auto; } }

/* Les cartes de chaque colonne suivent leur contenu. */
.pc-dashboard { grid-template-rows: auto auto; align-items: start; }
.pc-column { display: flex; flex-direction: column; gap: 9px; min-width: 0; }
.pc-dashboard > .pc-column--journal { grid-column: 1; grid-row: 2; }
.pc-dashboard > .pc-column--edt { grid-column: 2; grid-row: 2; }
.pc-dashboard > .pc-side { grid-row: 2; }
.pc-side > .pc-todo { flex: 0 0 auto; }
.pc-dashboard .pc-card-body { flex: 0 1 auto; min-height: 0; }
:is(.pc-journal, .pc-edt).is-empty .pc-journal-invite { height: auto; }
.pc-edt.is-empty #pc-edt-day { height: auto; }
@media (max-width: 760px) {
  .pc-dashboard { grid-template-rows: auto; }
  .pc-dashboard > .pc-column { grid-column: auto; grid-row: auto; }
  .pc-dashboard > .pc-side { grid-column: 1 / -1; grid-row: auto; }
}
@media (max-width: 560px) { .pc-dashboard > .pc-side { grid-column: auto; } }


/* Cartes ressources et alignement du bas des colonnes. */
.pc-assistant { --pc-accent: #76629d; --pc-surface: #f6f2fb; --pc-border: #e5dcf2; --pc-icon-bg: #eae1f5; }
.pc-guides { --pc-accent: #a26943; --pc-surface: #fcf4ec; --pc-border: #f0dfd0; --pc-icon-bg: #f5e5d5; }
:is(.pc-assistant, .pc-guides) > p { margin: 0 0 13px; font-size: 13px; line-height: 1.45; }
:is(.pc-assistant, .pc-guides) > .pc-button { margin-top: auto; }
@media (min-width: 761px) {
  .pc-dashboard { align-items: stretch; }
  .pc-dashboard > :is(.pc-column, .pc-side) { height: 100%; }
  .pc-dashboard > :is(.pc-column, .pc-side) > .pc-card:last-child { flex: 1 0 auto; }
  .pc-side > .pc-familles > .pc-button { margin-top: auto; }
}


/* Programmations personnelles : toutes les matières dans une liste compacte défilante. */
.pc-programmations { --pc-accent: #426787; --pc-surface: #f2f7fb; --pc-border: #dbe6ef; --pc-icon-bg: #e3edf6; }
.pc-prog-controls { display: flex; gap: 6px; margin-bottom: 8px; }
.pc-prog-controls select { width: 50%; min-width: 0; margin: 0; padding: 6px 8px; border: 1px solid var(--pc-border); border-radius: 7px; background: #fff; color: var(--pc-accent); font: inherit; font-size: 11px; }
.pc-prog-list { max-height: 150px; overflow-y: auto; overscroll-behavior: contain; touch-action: pan-y; -webkit-overflow-scrolling: touch; scrollbar-gutter: stable; }
.pc-prog-list:focus-visible { outline: 2px solid var(--pc-accent); outline-offset: 2px; border-radius: 4px; }
.pc-prog-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 9px 0; border-bottom: 1px solid var(--pc-border); }
.pc-prog-row:last-child { border-bottom: 0; }
.pc-prog-row strong { display: block; font-size: 12px; line-height: 1.3; }
.pc-prog-row small { display: block; margin-top: 3px; font-size: 10px; color: var(--pc-muted); }
.pc-prog-row > span { color: var(--pc-accent); font-size: 22px; }
.pc-prog-row:hover strong { text-decoration: underline; }
.pc-prog-empty-title { display: block; font-size: 13px; margin-bottom: 6px; }
.pc-prog-empty-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; margin-top: 12px; }
.pc-prog-empty-actions .pc-button { max-width: 100%; white-space: normal; }



/* Assistant : micro et envoi partagent les deux côtés du champ. */
.pc-ai-composer { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; align-items: stretch; margin: 0 0 12px; }
.pc-ai-field { --line: #ddd4eb; --purple: #76629d; display: grid; grid-template-columns: 34px minmax(0, 1fr) 34px; gap: 0; align-items: stretch; width: 100%; border: 1px solid var(--line); border-radius: 10px; background: #fff; overflow: hidden; }
.pc-ai-field:focus-within { border-color: #bca8d9; box-shadow: 0 0 0 3px rgba(118, 84, 200, .12); }
.pc-ai-field textarea { display: block; width: 100%; min-width: 0; min-height: 58px; max-height: 160px; margin: 0; padding: 10px 8px; resize: none; border: 0; border-radius: 0; box-shadow: none; outline: 0; background: #fff; color: var(--pc-ink); font: inherit; font-size: 12px; line-height: 1.45; }
.pc-ai-field .voice-mic, .pc-ai-field .pc-ai-send { display: grid; place-items: center; align-self: stretch; width: 34px; min-height: 58px; margin: 0; padding: 6px; border: 0; border-radius: 0; background: #f5f1fa; color: #76629d; box-shadow: none; cursor: pointer; transition: background .15s ease, color .15s ease; }
.pc-ai-field .voice-mic { border-right: 1px solid var(--line); }
.pc-ai-field .pc-ai-send { border-left: 1px solid var(--line); }
.pc-ai-field .voice-mic svg { display: block; width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.pc-ai-field .pc-ai-send svg { display: block; width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.pc-ai-field .voice-mic:hover, .pc-ai-field .voice-mic:focus-visible, .pc-ai-field .pc-ai-send:hover, .pc-ai-field .pc-ai-send:focus-visible { background: #eee7ff; color: #7654c8; }
.pc-ai-field .voice-mic:focus-visible, .pc-ai-field .pc-ai-send:focus-visible { outline: 2px solid #7654c8; outline-offset: -2px; }
.pc-ai-field .voice-mic.is-listening { color: #c93535; background: #fff0f0; }
.pc-ai-field .pc-ai-send:disabled, .pc-ai-field .pc-ai-send:disabled:hover { background: #f5f1fa; color: #c2b4d6; opacity: 1; cursor: default; }
.pc-ai-status { grid-column: 1 / -1; margin: 6px 0 0 !important; font-size: 11px !important; line-height: 1.4; }


/* Le tableau de bord garde le RDV à gauche et partage la moitié droite entre bulletins et IA. */
.pc-dashboard-top { align-items: start; }
.pc-dashboard-top-tools { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; min-width: 0; align-items: stretch; }
.pc-dashboard-top-tools > .pc-card { height: 100%; min-width: 0; padding: 12px; }
.pc-dashboard-top-tools .pc-card-heading { gap: 7px; margin-bottom: 8px; }
.pc-dashboard-top-tools .pc-card-heading h2 { font-size: 14px !important; line-height: 1.25 !important; }
.pc-dashboard-top-tools .pc-tool-icon { width: 36px; height: 36px; border-radius: 11px; }
.pc-dashboard-top-tools .pc-bulletins { display: grid; grid-template-columns: 38px minmax(0, 1fr); grid-template-rows: auto 1fr; align-items: start; gap: 8px; }
.pc-dashboard-top-tools .pc-bulletins-visual { grid-column: 1; grid-row: 1 / span 2; width: 38px; height: 38px; flex-basis: 38px; }
.pc-dashboard-top-tools .pc-bulletins-copy { grid-column: 2; grid-row: 1 / span 2; gap: 8px; height: 100%; }
.pc-dashboard-top-tools .pc-bulletins h2 { font-size: 13px !important; }
.pc-dashboard-top-tools .pc-bulletins .pc-button { margin: auto 0 0; padding: 6px 7px; font-size: 10px; white-space: normal; }
.pc-dashboard-top-tools .pc-assistant-top .pc-ai-composer { margin: 0; }
.pc-dashboard-top-tools .pc-assistant-top .pc-ai-field textarea { min-height: 108px; padding: 8px 6px; font-size: 10px; line-height: 1.38; }
.pc-dashboard-top-tools .pc-assistant-top .pc-ai-field .voice-mic,
.pc-dashboard-top-tools .pc-assistant-top .pc-ai-field .pc-ai-send { min-height: 108px; }
.pc-dashboard-top-tools .pc-assistant-top .pc-ai-status { font-size: 10px !important; }
@media (max-width: 560px) {
  .pc-dashboard-top-tools { grid-template-columns: 1fr; }
  .pc-dashboard-top-tools > .pc-card { height: auto; }
  .pc-dashboard-top-tools .pc-bulletins { min-height: 0; grid-template-rows: auto; }
  .pc-dashboard-top-tools .pc-assistant-top .pc-ai-field textarea,
  .pc-dashboard-top-tools .pc-assistant-top .pc-ai-field .voice-mic,
  .pc-dashboard-top-tools .pc-assistant-top .pc-ai-field .pc-ai-send { min-height: 94px; }
}

/* Toutes les illustrations en tête de carte partagent le même cadre et le même retrait. */
.pc-dashboard .pc-card:not(.is-empty) { padding: 14px; }
.pc-dashboard .pc-card-heading { align-items: start; gap: 9px; }
.pc-dashboard .pc-tool-icon,
.pc-dashboard .pc-bulletins-visual { display: grid; place-items: center; flex: 0 0 40px; width: 40px; height: 40px; margin: 0; padding: 0; border-radius: 12px; }
.pc-dashboard .pc-tool-icon img,
.pc-dashboard .pc-bulletins-visual img,
.pc-dashboard img.pc-journal-invite-icon { display: block; width: 100%; height: 100%; margin: 0; padding: 0; object-fit: contain; transform: none; }
.pc-dashboard .pc-rdv { grid-template-columns: 40px minmax(0, 1fr); }
.pc-dashboard .pc-rdv .pc-tool-icon { grid-column: 1; grid-row: 1; }
.pc-dashboard .pc-bulletins { grid-template-columns: 40px minmax(0, 1fr); }
.pc-dashboard .pc-bulletins-visual { grid-column: 1; grid-row: 1 / span 2; }
.pc-dashboard .pc-todo .pc-card-heading { grid-template-columns: 40px minmax(0, 1fr); align-items: start; }
.pc-dashboard :is(.pc-journal, .pc-edt).is-empty { padding: 0; }
.pc-dashboard :is(.pc-journal, .pc-edt).is-empty .pc-journal-invite { padding: 14px; }
.pc-dashboard :is(.pc-journal, .pc-edt).is-empty .pc-journal-invite-icon,
.pc-dashboard :is(.pc-journal, .pc-edt).is-empty img.pc-journal-invite-icon { width: 40px; height: 40px; flex: 0 0 40px; padding: 0; border-radius: 12px; object-fit: contain; transform: none; }

/* Les outils de droite rejoignent la hauteur naturelle de la carte RDV. */
.pc-dashboard-top { align-items: stretch; }
.pc-dashboard-top-tools { align-items: stretch; }
.pc-dashboard-top-tools .pc-bulletins { gap: 6px; }
.pc-dashboard-top-tools .pc-bulletins h2 { font-size: 12px !important; }
.pc-dashboard-top-tools .pc-bulletins-copy { gap: 6px; }
.pc-dashboard-top-tools .pc-assistant-top .pc-ai-field textarea { height: 40px !important; min-height: 40px !important; max-height: 40px !important; overflow-y: auto; padding-block: 5px; }
.pc-dashboard-top-tools .pc-assistant-top .pc-ai-field .voice-mic,
.pc-dashboard-top-tools .pc-assistant-top .pc-ai-field .pc-ai-send { min-height: 40px; }
@media (max-width: 560px) {
  .pc-dashboard-top { align-items: start; }
  .pc-dashboard-top-tools { align-items: stretch; }
  .pc-dashboard-top-tools .pc-assistant-top .pc-ai-field textarea { height: auto !important; min-height: 58px !important; max-height: 160px !important; }
  .pc-dashboard-top-tools .pc-assistant-top .pc-ai-field .voice-mic,
  .pc-dashboard-top-tools .pc-assistant-top .pc-ai-field .pc-ai-send { min-height: 58px; }
}

/* Le bouton Bulletins suit l’image et le titre sur toute la largeur de la carte. */
.pc-dashboard-top-tools .pc-bulletins { grid-template-rows: auto minmax(0, 1fr); }
.pc-dashboard-top-tools .pc-bulletins-visual { grid-row: 1; }
.pc-dashboard-top-tools .pc-bulletins-copy { grid-row: 1; height: auto; }
.pc-dashboard-top-tools .pc-bulletins > .pc-button { grid-column: 1 / -1; grid-row: 2; width: 100%; margin: 0; align-self: end; }
