:root{--color-ink:#2c2b28;--color-paper:#f5f3ee;--color-mid:#9b9489;--color-accent:#e25e36;--color-accent-light:#f9e3dc;--color-accent-dark:#c04520;--color-green:#5a9e6f;--color-green-light:#d8efe0;--color-blue:#4a7db5;--color-blue-light:#d5e6f5;--color-purple:#7e4688;--color-purple-light:#f3e9f1;--color-red:#c05050;--color-red-light:#f5dada;--color-red-dark:#ac3e3e;--color-primary:var(--color-ink);--color-primary-hover:#3f3e3a;--color-bg:#fafaf7;--color-bg-subtle:var(--color-paper);--color-bg-muted:#eee9df;--color-border:#c8c4bb;--color-border-light:#d8d4cc;--color-border-input:#c0bcb3;--color-text:var(--color-ink);--color-text-secondary:#6b6660;--color-text-muted:#756e63;--color-learning-bg:var(--color-accent-light);--color-learning-text:var(--color-accent-dark);--color-repertoire-bg:var(--color-green-light);--color-repertoire-text:#3d7a50;--color-progress-bg:var(--color-blue-light);--color-progress-text:#2e5e8a;--color-abandoned-bg:var(--color-red-light);--color-abandoned-text:var(--color-red-dark);--color-chip-bg:var(--color-bg-muted);--type-repetition-bg:var(--color-accent-light);--type-repetition-text:var(--color-learning-text);--type-repetition-from:var(--color-accent);--type-repetition-to:#a93a1a;--type-concert-bg:var(--color-green-light);--type-concert-text:var(--color-repertoire-text);--type-concert-from:var(--color-green);--type-concert-to:#2f6b42;--type-studio-bg:var(--color-purple-light);--type-studio-text:var(--color-purple);--type-studio-from:#9a5a9f;--type-studio-to:#5e2e66;--type-autre-bg:var(--color-bg-muted);--type-autre-text:var(--color-text-secondary);--type-autre-from:#8c857a;--type-autre-to:#5a554d;--type-indisponibilite-bg:var(--color-red-light);--type-indisponibilite-text:var(--color-red-dark);--color-error:var(--color-red-dark);--color-danger-bg:#fbedea;--color-danger-border:#e5c1ba;--color-warning-bg:#f8eccf;--color-warning-border:#e9d49a;--color-warning-text:#7c5a00;--color-success-bg:var(--color-green-light);--color-success-border:#b8dfc8;--color-success-text:#3d7a50;--color-highlight:#fcf4da;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-8:2rem;--text-2xs:.6875rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.5rem;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--radius-sm:3px;--radius-md:4px;--radius-lg:6px;--radius-xl:8px;--radius-pill:999px;--shadow-popover:0 2px 10px #2c2b2829;--shadow-modal:0 8px 30px #00000026;--disabled-opacity:.45;--footer-actions-h:0px;--top-bar-h:44px;--mini-player-h:0px;--page-narrow:640px;--page-medium:720px;--page-wide:900px}@media (width<=640px){:root{--top-bar-h:52px;--footer-actions-h:60px}}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);margin:0}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:0}.page{max-width:var(--page-medium);margin:2rem auto;padding:0 1rem}.page-narrow{max-width:var(--page-narrow)}.page-wide{max-width:var(--page-wide)}@media (width<=640px){.page{margin:1rem auto;padding:0 .75rem}}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;margin-bottom:1.5rem;display:flex}.page-header h1{font-size:var(--text-xl);margin:0}.page-actions{flex-wrap:wrap;gap:.5rem;display:flex}.btn{border:1px solid var(--color-border-input);border-radius:var(--radius-md);font-size:var(--text-sm);cursor:pointer;background:var(--color-bg);color:var(--color-text);white-space:nowrap;justify-content:center;align-items:center;gap:.4rem;padding:.4rem .8rem;font-family:inherit;line-height:1.4;text-decoration:none;transition:background .1s,border-color .1s;display:inline-flex}.btn:disabled{opacity:var(--disabled-opacity);cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-secondary{background:var(--color-bg);color:inherit;border-color:var(--color-border-input)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-muted)}.btn-danger{color:var(--color-error);border-color:var(--color-danger-border)}.btn-danger:hover:not(:disabled){background:var(--color-danger-bg)}.btn-danger.btn-solid{background:var(--color-error);border-color:var(--color-error);color:#fff}.btn-danger.btn-solid:hover:not(:disabled){background:var(--color-error);filter:brightness(.9)}.btn-ghost{color:var(--color-text-secondary);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--color-bg-muted)}.btn-sm{font-size:var(--text-xs);padding:.25rem .6rem}.btn-lg{font-size:var(--text-base);padding:.65rem 1.5rem}.btn-link{font:inherit;color:var(--color-accent-dark);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.btn-link-muted{color:var(--color-text-secondary)}.btn-link:hover:not(:disabled){color:var(--color-text)}.btn-link:disabled{opacity:var(--disabled-opacity);cursor:not-allowed}.btn-icon{min-width:2.15rem;padding-inline:.45rem}.btn-collapse{gap:.35rem}@media (width<=640px){.btn-collapse .btn-label{display:none}.btn-collapse{min-width:2.5rem;min-height:2.5rem;padding-inline:.55rem}}.btn svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1.1rem;height:1.1rem}.badge{border-radius:var(--radius-sm);font-size:var(--text-xs);padding:.2rem .5rem;font-weight:600;display:inline-block}.badge-en_apprentissage{background:var(--color-accent-light);color:var(--color-learning-text)}.badge-proposition_de_travail{background:var(--color-purple-light);color:var(--color-purple)}.badge-au_repertoire{background:var(--color-green-light);color:var(--color-repertoire-text)}.badge-abandonne{background:var(--color-abandoned-bg);color:var(--color-abandoned-text)}.badge-superadmin{background:var(--color-warning-bg);color:var(--color-warning-text)}.badge-admin,.badge-group-admin{background:var(--color-blue-light);color:var(--color-progress-text)}.badge-user,.badge-group-member{background:var(--color-bg-muted);color:var(--color-text-secondary)}.session-type-repetition{--type-bg:var(--type-repetition-bg);--type-text:var(--type-repetition-text);--type-from:var(--type-repetition-from);--type-to:var(--type-repetition-to)}.session-type-concert{--type-bg:var(--type-concert-bg);--type-text:var(--type-concert-text);--type-from:var(--type-concert-from);--type-to:var(--type-concert-to)}.session-type-studio{--type-bg:var(--type-studio-bg);--type-text:var(--type-studio-text);--type-from:var(--type-studio-from);--type-to:var(--type-studio-to)}.session-type-autre{--type-bg:var(--type-autre-bg);--type-text:var(--type-autre-text);--type-from:var(--type-autre-from);--type-to:var(--type-autre-to)}.session-type-indisponibilite{--type-bg:var(--type-indisponibilite-bg);--type-text:var(--type-indisponibilite-text)}.badge-quality-a-revoir{background:var(--color-warning-bg);color:var(--color-warning-text)}.badge-quality-moyen{background:var(--color-progress-bg);color:var(--color-progress-text)}.badge-quality-bon{background:var(--color-blue-light);color:var(--color-learning-text)}.badge-quality-reference{background:var(--color-green-light);color:var(--color-repertoire-text)}.badge-quality-custom{background:var(--color-bg-subtle);color:var(--color-text-secondary)}.form-label{gap:var(--space-1);font-size:var(--text-sm);flex-direction:column;font-weight:600;display:flex}.form-input{border:1px solid var(--color-border-input);border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--color-bg);padding:.45rem .6rem;font-family:inherit}.form-input:disabled{opacity:var(--disabled-opacity)}.form-section{background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-5);gap:var(--space-3);flex-direction:column;display:flex}.form-hint{font-size:var(--text-xs);color:var(--color-text-muted);margin:.5rem 0 0}.section{margin-bottom:2.5rem}.section-title{border-bottom:1px solid var(--color-border-light);font-size:var(--text-base);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin:0 0 1rem;padding-bottom:.4rem;font-weight:700}.info-list{grid-template-columns:auto 1fr;gap:.6rem 1.5rem;margin:0 0 1rem;display:grid}.info-list dt{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:600}.info-list dd{margin:0}.data-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.data-table th{text-align:left;border-bottom:2px solid var(--color-border);font-size:var(--text-xs);text-transform:uppercase;color:#666;padding:.5rem .75rem}.data-table td{vertical-align:middle;border-bottom:1px solid #f0f0f0;padding:.6rem .75rem}.table-scroll{overflow-x:auto}@media (width<=640px){.btn-icon{min-width:44px;min-height:44px}.btn-icon svg{width:1.25rem;height:1.25rem}.data-table,.data-table tbody,.data-table tr,.data-table td{display:block}.data-table thead{display:none}.data-table tr{border:1px solid var(--color-border-light);border-radius:var(--radius-lg);flex-wrap:wrap;align-items:center;gap:.45rem .8rem;margin-bottom:.6rem;padding:.7rem .75rem;display:flex}.data-table td{border:none;min-width:0;padding:0}.data-table td:empty{display:none}.data-table td[data-label]:before{content:attr(data-label) " ";font-size:var(--text-xs);text-transform:uppercase;color:var(--color-text-muted);margin-right:.25rem}}.modal-backdrop{z-index:100;background:#00000073;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-backdrop-close{cursor:default;background:0 0;border:none;position:absolute;inset:0}.modal{background:var(--color-bg);border-radius:var(--radius-xl);box-shadow:var(--shadow-modal);flex-direction:column;width:600px;max-width:100%;max-height:90vh;display:flex;position:relative;overflow:hidden}.modal-sm{width:360px}.modal-header{border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem .75rem;display:flex}.modal-header h2{font-size:var(--text-lg);margin:0}.modal-close{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;padding:0;font-size:1rem;line-height:1}.modal-close:hover{color:var(--color-primary-hover)}.modal form{flex-direction:column;min-height:0;display:flex}.modal-body{padding:1rem 1.25rem;overflow-y:auto}.modal-footer{border-top:1px solid var(--color-border-light);justify-content:flex-end;gap:.5rem;padding:.75rem 1.25rem 1rem;display:flex}.menu-item{border-radius:var(--radius-sm);width:100%;font:inherit;font-size:var(--text-sm);color:var(--color-text);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:none;align-items:center;gap:.6rem;padding:.5rem .6rem;text-decoration:none;display:flex}.menu-item:hover,.menu-item:focus-visible{background:var(--color-bg-subtle)}.menu-item svg{color:var(--color-text-secondary);flex-shrink:0}.menu-item:has(.menu-item-text){align-items:flex-start}.menu-item:has(.menu-item-text) svg{margin-top:.15rem}.menu-item-text{white-space:normal;flex-direction:column;gap:.05rem;min-width:0;display:flex}.menu-item-title{font-weight:600}.menu-item-hint{font-size:var(--text-xs);color:var(--color-text-muted)}@media (width<=640px){.menu-item{min-height:44px}}.breadcrumb{white-space:nowrap;min-width:0;font-size:var(--text-sm);color:var(--color-text-muted);grid-auto-columns:minmax(0,max-content);grid-auto-flow:column;justify-content:start;gap:.35em;margin-bottom:1.25rem;display:grid}.breadcrumb>*{text-overflow:ellipsis;overflow:hidden}.breadcrumb a{color:inherit;text-decoration:none}.breadcrumb a:hover{text-decoration:underline}@media (width<=640px){.breadcrumb{gap:0;font-size:0}.breadcrumb>*{display:none}.breadcrumb>a:last-of-type{min-height:32px;font-size:var(--text-sm);align-items:center;display:inline-flex}.breadcrumb>a:last-of-type:before{content:"‹ "}}.message-error{color:var(--color-error);font-size:var(--text-sm);margin:0}.message-ok{color:var(--color-success-text);font-size:var(--text-sm);margin:0}.message-success{background:var(--color-success-bg);color:var(--color-success-text);border:1px solid var(--color-success-border);border-radius:var(--radius-lg);padding:.75rem var(--space-4);font-size:var(--text-sm);justify-content:space-between;align-items:center;display:flex}.message-success a{color:var(--color-success-text);font-weight:600}.message-info{background:var(--color-blue-light);color:var(--color-blue);border:1px solid var(--color-blue);border-radius:var(--radius-lg);padding:.6rem var(--space-4);font-size:var(--text-sm);margin:0 0 .75rem}.empty{color:var(--color-text-muted);font-style:italic}.audio-marker{cursor:pointer;z-index:10;background:#2c2b288c;border:0;width:2px;height:100%;padding:0;position:absolute;top:0;transform:translate(-50%)}.audio-marker:after{content:"";background:var(--color-accent);width:9px;height:9px;box-shadow:0 0 0 2px var(--color-bg-subtle);border-radius:50%;position:absolute;top:-2px;left:50%;transform:translate(-50%)}.audio-marker.draft{border-left:2px dashed var(--color-accent);pointer-events:none;z-index:11;background:0 0;width:0}.audio-marker.draft:after{background:var(--color-bg);box-shadow:inset 0 0 0 2px var(--color-accent), 0 0 0 2px var(--color-bg-subtle)}.player-controls{grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem;display:grid}.player-controls-start{justify-self:start}.player-controls-end{justify-self:end;align-items:center;gap:.25rem;display:flex}.player-transport{align-items:center;gap:.3rem;display:flex}.player-ctrl{min-width:36px;height:36px;color:var(--color-text-secondary);font-family:inherit;font-size:var(--text-xs);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;padding:0 .35rem;font-weight:600;transition:background .12s,color .12s;display:inline-flex}.player-ctrl:hover:not(:disabled){color:var(--color-text);background:#2c2b2812}.player-play{background:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:50%;place-items:center;width:46px;height:46px;transition:transform .12s,filter .12s;display:grid;box-shadow:0 2px 8px #e25e3659}.player-play:hover:not(:disabled){filter:brightness(1.05);transform:scale(1.05)}.player-ctrl:disabled,.player-play:disabled{opacity:var(--disabled-opacity);cursor:not-allowed}.player-time{font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--color-text-muted);white-space:nowrap}.player-time strong{color:var(--color-text);font-weight:700}@media (prefers-reduced-motion:reduce){.player-play{transition:none}.player-play:hover:not(:disabled){transform:none}}html,body{height:100%}html:has(.app-shell){scroll-padding-top:var(--top-bar-h);scrollbar-gutter:stable}html:has(.modal-backdrop){overflow:hidden}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-top-bar{height:var(--top-bar-h);background:var(--color-ink);z-index:100;flex-shrink:0;align-items:center;gap:1rem;padding:0 1rem;display:flex;position:sticky;top:0}.app-body{flex:1;display:flex}.app-sidebar{top:var(--top-bar-h);height:calc(100vh - var(--top-bar-h) - var(--mini-player-h));background:var(--color-ink);border-right:1px solid #ffffff0f;flex-direction:column;flex-shrink:0;align-self:flex-start;gap:2px;width:188px;padding:12px 10px;display:flex;position:sticky;overflow-y:auto}.app-content{background:var(--color-bg);flex:1;min-width:0}@media (width<=640px){.app-content{padding-bottom:calc(var(--footer-actions-h) + var(--mini-player-h))}}.spinner{vertical-align:-.15em;border:2px solid;border-right-color:#0000;border-radius:50%;width:1em;height:1em;animation:.7s linear infinite spinner-turn;display:inline-block}@keyframes spinner-turn{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2s}}.mini-player.svelte-kbbpe6{background:var(--color-ink);z-index:95;border-top:1px solid #ffffff14;flex-shrink:0;align-items:center;gap:.75rem;padding:.5rem 1rem;display:flex;position:sticky;bottom:0}.mini-btn.svelte-kbbpe6{color:var(--color-mid);cursor:pointer;border-radius:var(--radius-md);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.mini-play.svelte-kbbpe6{background:var(--color-accent);color:#fff;border-radius:50%;width:36px;height:36px;font-size:.9rem}.mini-cover.svelte-kbbpe6{border-radius:var(--radius-md);flex-shrink:0;display:flex;overflow:hidden}.mini-play.svelte-kbbpe6:hover{filter:brightness(1.08)}.mini-personal.svelte-kbbpe6{width:38px;height:38px;color:var(--color-mid);background:#ffffff1a;justify-content:center;align-items:center;display:flex}.mini-close.svelte-kbbpe6{width:26px;height:26px;font-size:var(--text-xs)}.mini-next.svelte-kbbpe6{width:30px;height:30px}.mini-close.svelte-kbbpe6:hover,.mini-next.svelte-kbbpe6:hover{color:#fff;background:#ffffff1a}.mini-body.svelte-kbbpe6{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.mini-title.svelte-kbbpe6{font-size:var(--text-sm);white-space:nowrap;text-overflow:ellipsis;align-items:baseline;gap:.4rem;display:flex;overflow:hidden}.mini-title.svelte-kbbpe6 a:where(.svelte-kbbpe6){color:#fff;text-overflow:ellipsis;font-weight:600;text-decoration:none;overflow:hidden}.mini-title.svelte-kbbpe6 a:where(.svelte-kbbpe6):hover{text-decoration:underline}.mini-take.svelte-kbbpe6{color:var(--color-mid);flex-shrink:0}.mini-progress.svelte-kbbpe6{align-items:center;gap:.5rem;display:flex}.mini-time.svelte-kbbpe6{font-size:var(--text-2xs);color:var(--color-mid);font-variant-numeric:tabular-nums;flex-shrink:0}.mini-seek.svelte-kbbpe6{appearance:none;background:linear-gradient(to right, var(--color-accent) var(--progress), #ffffff2e var(--progress));cursor:pointer;border-radius:2px;flex:1;min-width:0;height:4px}.mini-seek.svelte-kbbpe6::-webkit-slider-thumb{appearance:none;background:#fff;border-radius:50%;width:11px;height:11px}.mini-seek.svelte-kbbpe6::-moz-range-thumb{background:#fff;border:none;border-radius:50%;width:11px;height:11px}@media (width<=640px){.mini-player.svelte-kbbpe6{left:0;right:0;bottom:var(--footer-actions-h);padding:.45rem .7rem;position:fixed}}.notif.svelte-hxbjef{flex-shrink:0}.notif-bell.svelte-hxbjef{color:#fff;cursor:pointer;opacity:.75;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:.95rem;line-height:1;transition:background .1s,opacity .1s;display:flex;position:relative}.notif-bell.svelte-hxbjef:hover,.notif-bell[aria-expanded=true].svelte-hxbjef{opacity:1;background:#ffffff1f}.notif-bell.has-unread.svelte-hxbjef{opacity:1}.notif-badge.svelte-hxbjef{border-radius:var(--radius-xl);background:var(--color-accent);color:#fff;text-align:center;min-width:15px;height:15px;padding:0 3px;font-size:.6rem;font-weight:700;line-height:15px;position:absolute;top:-1px;right:-2px}.notif-head.svelte-hxbjef{justify-content:space-between;align-items:center;gap:var(--space-2);border-bottom:1px solid var(--color-border-light);font-size:var(--text-sm);padding:.55rem .7rem;display:flex}.notif-mark-all.svelte-hxbjef{font-family:inherit;font-size:var(--text-xs);color:var(--color-accent);cursor:pointer;background:0 0;border:none;padding:0}.notif-mark-all.svelte-hxbjef:disabled{color:var(--color-text-muted);opacity:var(--disabled-opacity);cursor:not-allowed}.notif-filters.svelte-hxbjef{gap:var(--space-1);border-bottom:1px solid var(--color-border-light);background:var(--color-bg-subtle);padding:.45rem .7rem;display:flex}.notif-filters.svelte-hxbjef button:where(.svelte-hxbjef){border-radius:var(--radius-md);font-family:inherit;font-size:var(--text-xs);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;padding:.15rem .5rem}.notif-filters.svelte-hxbjef button.active:where(.svelte-hxbjef){background:var(--color-bg);border-color:var(--color-border);color:var(--color-text);font-weight:600}.notif-list.svelte-hxbjef{max-height:min(60vh,380px);overflow-y:auto}.notif-settings.svelte-hxbjef{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-muted);justify-content:center;align-items:center;margin-left:auto;display:inline-flex}.notif-settings.svelte-hxbjef:hover{background:var(--color-bg-muted);color:var(--color-text)}.notif-feed.svelte-hxbjef{border-top:1px solid var(--color-border-light);background:var(--color-bg-subtle);min-height:40px;font-size:var(--text-xs);color:var(--color-accent-dark);justify-content:center;align-items:center;gap:.2rem;font-weight:600;text-decoration:none;display:flex}.notif-feed.svelte-hxbjef:hover{text-decoration:underline}.notif-msg.svelte-hxbjef{font-size:var(--text-sm);color:var(--color-text-muted);text-align:center;margin:0;padding:1rem .7rem}.notif-msg.error.svelte-hxbjef{color:var(--color-error)}.notif-item.svelte-hxbjef{border-bottom:1px solid var(--color-border-light);align-items:flex-start;display:flex}.notif-item.svelte-hxbjef:last-child{border-bottom:none}.notif-item.unread.svelte-hxbjef{background:var(--color-accent-light)}.notif-main.svelte-hxbjef{flex:1;min-width:0}.notif-link.svelte-hxbjef{color:inherit;gap:.5rem;padding:.5rem .2rem .55rem .7rem;text-decoration:none;display:flex}.notif-link.svelte-hxbjef:hover{background:#00000008}.notif-link.svelte-hxbjef .notif-icon{opacity:.7;margin-top:.15rem}.notif-attendance.svelte-hxbjef{padding:0 .2rem .6rem 2.2rem}.notif-text.svelte-hxbjef{flex-direction:column;gap:1px;min-width:0;display:flex}.notif-action.svelte-hxbjef{font-size:var(--text-xs);color:var(--color-text-secondary)}.notif-subject.svelte-hxbjef{font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.notif-excerpt.svelte-hxbjef{font-size:var(--text-xs);color:var(--color-text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.notif-time.svelte-hxbjef{font-size:var(--text-2xs);color:var(--color-text-muted);margin-top:2px}.notif-dot.svelte-hxbjef{width:26px;color:var(--color-accent);cursor:pointer;opacity:.75;background:0 0;border:none;flex-shrink:0;align-self:stretch;font-size:.6rem}.notif-dot.svelte-hxbjef:hover{opacity:1}@media (width<=640px){.notif-bell.svelte-hxbjef{width:44px;height:44px}.notif-bell.svelte-hxbjef svg{width:1.35rem;height:1.35rem}.notif-badge.svelte-hxbjef{top:7px;right:6px}.notif.svelte-hxbjef .menu-panel{top:var(--top-bar-h);--menu-width:auto;--menu-max-width:none;max-height:calc(100dvh - var(--top-bar-h) - var(--footer-actions-h) - var(--mini-player-h) - 1rem);border-radius:0 0 calc(var(--radius-xl) * 2) calc(var(--radius-xl) * 2);--menu-enter-y:-16px;border:none;position:fixed;left:0;right:0;box-shadow:0 100vmax 0 100vmax #00000073}html:has(.notif .menu-panel){overflow:hidden}.notif-list.svelte-hxbjef{overscroll-behavior:contain;flex:1;min-height:0;max-height:none}.notif-head.svelte-hxbjef{font-size:var(--text-lg);padding:.4rem .4rem .4rem .9rem}.notif-mark-all.svelte-hxbjef{min-height:44px;font-size:var(--text-sm);padding:0 .5rem}.notif-filters.svelte-hxbjef{padding:.5rem .9rem}.notif-filters.svelte-hxbjef button:where(.svelte-hxbjef){min-height:36px;font-size:var(--text-sm);padding:0 .9rem}.notif-link.svelte-hxbjef{gap:.7rem;padding:.7rem .2rem .75rem .9rem}.notif-attendance.svelte-hxbjef{padding:0 .2rem .75rem 2.6rem}.notif-dot.svelte-hxbjef{width:44px;font-size:.7rem}.notif-settings.svelte-hxbjef{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-muted);justify-content:center;align-items:center;margin-left:auto;display:inline-flex}.notif-settings.svelte-hxbjef:hover{background:var(--color-bg-muted);color:var(--color-text)}.notif-feed.svelte-hxbjef{min-height:48px;font-size:var(--text-sm)}}.gs-trigger.svelte-7ddowc{border-radius:var(--radius-lg);color:#fff;min-width:0;min-height:44px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:.6rem;padding:.3rem .5rem .3rem .3rem;text-decoration:none;display:flex}.gs-trigger.svelte-7ddowc:hover,.gs-trigger[aria-expanded=true].svelte-7ddowc{background:#ffffff14}.gs-sidebar{width:100%;display:flex}.gs-trigger-sidebar.svelte-7ddowc{background:#ffffff0d;border:1px solid #ffffff1f;width:100%}.gs-text.svelte-7ddowc{flex-direction:column;flex:1;min-width:0;line-height:1.2;display:flex}.gs-name.svelte-7ddowc{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);font-weight:600;overflow:hidden}.gs-trigger-bar.svelte-7ddowc .gs-name:where(.svelte-7ddowc){font-size:var(--text-base)}.gs-sub.svelte-7ddowc{font-size:var(--text-2xs);color:var(--color-mid)}.gs-trigger.svelte-7ddowc .gs-chevron{color:var(--color-mid);flex-shrink:0}.gs-badge.svelte-7ddowc{object-fit:cover;background:#fff;border-radius:50%;flex-shrink:0;width:30px;height:30px}.gs-initials.svelte-7ddowc{color:var(--color-ink);justify-content:center;align-items:center;font-size:.7rem;font-weight:700;display:flex}.menu-item.svelte-7ddowc .gs-badge:where(.svelte-7ddowc){width:26px;height:26px;box-shadow:inset 0 0 0 1px var(--color-border-light)}.gs-dot.svelte-7ddowc{background:var(--color-accent);border-radius:50%;flex-shrink:0;width:9px;height:9px}.gs-unread.svelte-7ddowc{background:var(--color-accent-dark);color:#fff;min-width:1.35rem;font-size:var(--text-2xs);text-align:center;border-radius:999px;padding:.05rem .4rem;font-weight:700;line-height:1.4}.gs-head.svelte-7ddowc{font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin:0;padding:.4rem .6rem .25rem;font-weight:700}.gs-option.svelte-7ddowc{text-overflow:ellipsis;flex:1;min-width:0;font-weight:600;overflow:hidden}.menu-item[aria-checked=true].svelte-7ddowc{background:var(--color-accent-light)}.menu-item.svelte-7ddowc .gs-check{color:var(--color-accent-dark)}.gs-perso.svelte-7ddowc{border-top:1px solid var(--color-border-light);border-radius:0;margin-top:.25rem}.gs-info.svelte-7ddowc{border-top:1px solid var(--color-border-light);color:var(--color-accent-dark);border-radius:0;justify-content:space-between;margin-top:.25rem;font-weight:600}.gs-error.svelte-7ddowc{padding:.25rem .6rem .4rem}.add-menu-sidebar{width:100%;display:flex}.add-trigger.svelte-azcty0{background:var(--color-accent);color:#fff;font:inherit;cursor:pointer;border:none;justify-content:center;align-items:center;gap:.4rem;display:flex}.add-trigger.svelte-azcty0:hover{filter:brightness(1.06)}.add-trigger.svelte-azcty0 svg{pointer-events:none}.add-trigger-sidebar.svelte-azcty0{border-radius:var(--radius-lg);width:100%;min-height:36px;font-size:var(--text-sm);font-weight:600}.add-trigger-tab.svelte-azcty0{border-radius:50%;width:52px;height:52px;box-shadow:0 4px 12px #e25e3659}.add-trigger-tab[aria-expanded=true].svelte-azcty0{background:var(--color-bg);color:var(--color-ink);box-shadow:none}.add-item.svelte-azcty0{align-items:center;gap:.75rem}.add-item.svelte-azcty0 svg{color:inherit;margin-top:0}.add-tile.svelte-azcty0{border-radius:var(--radius-xl);background:var(--color-bg-muted);width:36px;height:36px;color:var(--color-text);flex-shrink:0;justify-content:center;align-items:center;display:flex}.add-item.primary.svelte-azcty0 .add-tile:where(.svelte-azcty0){background:var(--color-accent);color:#fff}.add-head.svelte-azcty0{font-size:var(--text-lg);margin:0 0 .25rem;padding:0 .6rem;font-weight:700}.add-menu-tab .menu-panel{top:auto;left:0;right:0;bottom:var(--footer-actions-h);border-radius:calc(var(--radius-xl) * 2) calc(var(--radius-xl) * 2) 0 0;--menu-enter-y:24px;border:none;width:auto;max-width:none;padding:.9rem .75rem .75rem;position:fixed;box-shadow:0 0 0 100vmax #00000073}.add-menu-tab .add-item.svelte-azcty0{min-height:60px}.add-menu-tab .add-tile.svelte-azcty0{border-radius:var(--radius-xl);width:44px;height:44px}.add-menu-tab .menu-item-title.svelte-azcty0{font-size:var(--text-base)}.nav-progress.svelte-12qhfyh{z-index:1000;background:var(--color-accent-light);pointer-events:none;height:3px;position:fixed;inset:0 0 auto;overflow:hidden}.nav-progress.svelte-12qhfyh:before{content:"";background:var(--color-accent);width:40%;animation:1.1s ease-in-out infinite svelte-12qhfyh-nav-progress-slide;position:absolute;inset:0}@keyframes svelte-12qhfyh-nav-progress-slide{0%{transform:translate(-100%)}to{transform:translate(250%)}}@media (prefers-reduced-motion:reduce){.nav-progress.svelte-12qhfyh:before{opacity:.7;width:100%;animation:none}}.brand.svelte-12qhfyh{font-weight:700;font-size:var(--text-base);color:#fff;white-space:nowrap;letter-spacing:-.01em;flex-shrink:0;align-items:center;gap:.5rem;text-decoration:none;display:inline-flex}.brand-text.svelte-12qhfyh{flex-direction:column;line-height:1.1;display:flex}.brand-version.svelte-12qhfyh{font-size:var(--text-2xs);letter-spacing:0;color:#ffffff73;font-variant-numeric:tabular-nums;font-weight:400}.brand-mark.svelte-12qhfyh{object-fit:contain;flex-shrink:0;width:30px;height:30px}.bar-group.svelte-12qhfyh{min-width:0;display:none}.top-spacer.svelte-12qhfyh{flex:1}.user-avatar.svelte-12qhfyh{border:1.5px solid var(--color-accent);border-radius:50%;flex-shrink:0;width:30px;height:30px;text-decoration:none;transition:filter .1s;display:flex}.user-avatar.svelte-12qhfyh:hover,.user-avatar.active.svelte-12qhfyh{filter:brightness(1.08);box-shadow:0 0 0 2px #e07b3a59}.app-sidebar.svelte-12qhfyh{z-index:20;overflow:visible}.sidebar-scroll.svelte-12qhfyh{flex-direction:column;flex:1;width:100%;min-height:0;display:flex;overflow-y:auto}.sidebar-group.svelte-12qhfyh{margin-bottom:10px}.sidebar-add.svelte-12qhfyh{margin-bottom:6px}.sidebar-section.svelte-12qhfyh{font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-mid);margin:12px 10px 4px;font-weight:700}.sidebar-nav.svelte-12qhfyh{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.sidebar-link.svelte-12qhfyh{border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-mid);align-items:center;gap:8px;padding:7px 10px;text-decoration:none;transition:background .1s,color .1s;display:flex}.sidebar-link.svelte-12qhfyh:hover{color:#d8d4cc;background:#ffffff12}.sidebar-link.active.svelte-12qhfyh{background:var(--color-accent);color:#fff}.sidebar-link.svelte-12qhfyh .nav-icon{opacity:.85;flex-shrink:0}.nav-short.svelte-12qhfyh,.rail-only.svelte-12qhfyh{display:none}.sidebar-spacer.svelte-12qhfyh{flex:1}.sidebar-account.svelte-12qhfyh{border-top:1px solid #ffffff14;align-items:center;gap:4px;margin-top:6px;display:flex}.sidebar-legal.svelte-12qhfyh{color:#ffffff73;padding:.25rem 12px .5rem}.sidebar-account.svelte-12qhfyh form:where(.svelte-12qhfyh){flex-shrink:0;margin:0}.sidebar-user.svelte-12qhfyh{min-width:0;color:inherit;border-radius:var(--radius-lg);flex:1;align-items:center;gap:8px;padding:6px 4px;text-decoration:none;display:flex}.sidebar-user.svelte-12qhfyh:hover,.sidebar-user.active.svelte-12qhfyh{background:#ffffff14}.sidebar-logout.svelte-12qhfyh{border-radius:var(--radius-lg);width:24px;height:24px;color:var(--color-mid);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:background .1s,color .1s;display:flex}.sidebar-logout.svelte-12qhfyh:hover{color:#fff;background:#ffffff14}.sidebar-avatar.svelte-12qhfyh{border:1.5px solid var(--color-mid);--avatar-bg:transparent;--avatar-fg:var(--color-mid);border-radius:50%;flex-shrink:0;width:24px;height:24px;display:flex}.sidebar-username.svelte-12qhfyh{font-size:var(--text-xs);color:var(--color-mid);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tab-bar.svelte-12qhfyh{display:none}.app-banners.svelte-12qhfyh{top:var(--top-bar-h);z-index:30;position:sticky}.app-banner.svelte-12qhfyh{background:var(--color-bg-subtle);border-bottom:1px solid var(--color-border);font-size:var(--text-sm);text-align:center;color:var(--color-text-muted);align-items:center;gap:.5rem;padding:.5rem 1rem;display:flex}.app-banner.svelte-12qhfyh strong:where(.svelte-12qhfyh){color:var(--color-text)}.app-banner.svelte-12qhfyh>span:where(.svelte-12qhfyh){overflow-wrap:anywhere;flex:1;min-width:0}.app-banner-close.svelte-12qhfyh{border-radius:var(--radius-md);width:32px;height:32px;color:inherit;cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.app-banner-close.svelte-12qhfyh:hover{background:var(--color-border);color:var(--color-text)}.app-banner-close.svelte-12qhfyh:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.no-group-banner.svelte-12qhfyh{background:var(--color-warning-bg);border-bottom:1px solid var(--color-warning-border);font-size:var(--text-sm);text-align:center;color:var(--color-warning-text);padding:.5rem 1rem}.no-group-banner.svelte-12qhfyh a:where(.svelte-12qhfyh){color:inherit;font-weight:600}@media (width>=641px) and (width<=1023px){.app-sidebar.svelte-12qhfyh{align-items:center;width:76px;padding:10px 6px}.sidebar-section.svelte-12qhfyh,.full-only.svelte-12qhfyh{display:none}.nav-label.svelte-12qhfyh{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.rail-only.svelte-12qhfyh,.nav-short.svelte-12qhfyh{display:flex}.sidebar-nav.svelte-12qhfyh{width:100%}.sidebar-link.svelte-12qhfyh{font-size:var(--text-2xs);text-align:center;flex-direction:column;gap:3px;padding:6px 0}.sidebar-link.active.svelte-12qhfyh{color:#fff;background:#e25e3638;font-weight:600}.sidebar-link.active.svelte-12qhfyh .nav-icon{color:var(--color-accent);opacity:1}.sidebar-group.svelte-12qhfyh .gs-text,.sidebar-group.svelte-12qhfyh .gs-chevron,.sidebar-add.svelte-12qhfyh .add-label{display:none}.sidebar-group.svelte-12qhfyh .gs-trigger{background:0 0;border:none;justify-content:center;padding:4px}.sidebar-group.svelte-12qhfyh .gs-trigger .gs-badge{width:40px;height:40px;box-shadow:0 0 0 2px var(--color-accent)}.sidebar-add.svelte-12qhfyh{width:100%}.sidebar-add.svelte-12qhfyh .add-menu-sidebar{justify-content:center}.sidebar-add.svelte-12qhfyh .add-trigger-sidebar{border-radius:50%;width:44px;height:44px;min-height:0;box-shadow:0 4px 12px #e25e3659}.sidebar-add.svelte-12qhfyh .add-trigger-sidebar svg{width:1.35rem;height:1.35rem}}@media (width<=640px){.app-top-bar.svelte-12qhfyh{gap:.4rem;padding:0 .4rem 0 .6rem}.brand.svelte-12qhfyh:not(.brand-always),.user-avatar.svelte-12qhfyh,.app-sidebar.svelte-12qhfyh{display:none}.bar-group.svelte-12qhfyh{display:flex}.app-body.svelte-12qhfyh{flex-direction:column}.tab-bar.svelte-12qhfyh{z-index:96;height:var(--footer-actions-h);background:var(--color-ink);border-top:1px solid #ffffff14;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;padding:0 .25rem;display:grid;position:fixed;bottom:0;left:0;right:0}.tab.svelte-12qhfyh{min-height:48px;color:var(--color-mid);font-size:var(--text-2xs);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-weight:500;text-decoration:none;display:flex}.tab-pill.svelte-12qhfyh{border-radius:var(--radius-pill);justify-content:center;align-items:center;width:52px;height:28px;display:flex}.tab[aria-current].svelte-12qhfyh{color:#fff;font-weight:600}.tab[aria-current].svelte-12qhfyh .tab-pill:where(.svelte-12qhfyh){color:var(--color-accent);background:#e25e3647}.tab-add.svelte-12qhfyh{justify-content:center;display:flex}}
