@charset "UTF-8";
:root{font-family:Inter,"Segoe UI",system-ui,sans-serif;color:#17243c;background:#f5f7fb;font-synthesis:none;--blue:#2859d8;--line:#e3e8f1;--muted:#66738b;--soft:#edf2ff;font-size:16px}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button{transition:background .15s,color .15s}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #7a9eff;outline-offset:3px}a{color:var(--blue)}button{border:0;background:none;color:inherit}h1,h2,h3,p{margin-top:0}h1{font-size:2rem;letter-spacing:-.05em;font-weight:650;line-height:1.2;margin-bottom:0}h2{font-size:1.3rem;font-weight:650;letter-spacing:-.025em}h3{font-size:1rem;margin-top:1.6rem}p{line-height:1.65}small,.hint{color:var(--muted);font-size:.875rem;line-height:1.6}.hint{margin:0 0 1rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}.shell{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:100vh}.sidebar{padding:36px 22px 24px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column}.brand{font-size:1.38rem;font-weight:740;letter-spacing:-.05em;display:flex;align-items:center;white-space:nowrap;text-decoration:none;color:#17243c;gap:9px}.brand-dot{color:var(--blue);margin-left:-9px}.brand-icon{display:grid;place-items:center;color:#fff;background:var(--blue);width:36px;height:36px;border-radius:10px;font-size:1.7rem;font-weight:400}.side-nav{margin:45px -5px 34px}.nav-active{display:flex;align-items:center;gap:10px;padding:14px 11px;background:var(--soft);color:#244fbf;font-weight:650;border-radius:9px;font-size:.9rem}.nav-active>span{font-size:1.3rem}.filter-section{margin-bottom:28px}.section-label{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px}.section-label h2{font-size:.875rem;letter-spacing:0;margin:0}.text-button{color:var(--blue);font-size:.875rem;padding:5px 0}.member-filter{display:flex;align-items:center;gap:10px;padding:10px 0;font-size:.94rem}.member-filter input{width:17px;height:17px;accent-color:var(--person)}.member-filter label{display:flex;align-items:center;gap:10px;flex:1;margin:0;cursor:pointer}.avatar{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--person,#edf2ff);color:white;font-size:.8rem;font-weight:650}.resource-legend{display:flex;flex-direction:column;gap:10px;font-size:.875rem;color:var(--muted);margin-top:14px}.resource-legend span{display:flex;align-items:center;gap:8px}.resource-legend svg{width:18px;height:18px}.sidebar-bottom{margin-top:auto;padding-top:55px}.side-button{display:flex;align-items:center;gap:10px;text-align:left;padding:12px 4px;width:100%;font-size:.875rem;color:#4d5e78}.side-button>span{font-size:1.25rem}.side-button:hover{color:var(--blue)}.account{display:flex;align-items:center;width:100%;gap:10px;text-align:left;border-top:1px solid var(--line);padding:22px 0 0;margin-top:22px}.account strong{display:block;font-size:.875rem}.account small{display:block;font-size:.8rem}.account-dots{margin-left:auto}.account .avatar{width:34px;height:34px}main{padding:37px 34px 25px;min-width:0}.main-header{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:36px}.eyebrow{font-size:.75rem;letter-spacing:.12em;font-weight:700;color:var(--muted);margin:0 0 10px;line-height:1.3}.primary,.secondary,.danger{padding:11px 16px;border-radius:8px;font-size:.875rem;font-weight:650;line-height:1.4}.primary{background:var(--blue);color:white;box-shadow:0 3px 7px #2859d814}.primary:hover{background:#1b47b9}.primary>span{font-size:1.2rem;margin-right:3px}.secondary{background:#fff;border:1px solid var(--line);color:#40516b}.secondary:hover{background:#f0f3fa}.danger{color:#b93244;background:#fff2f4}.danger:hover{background:#ffe1e6}.solid{background:#c33243;color:#fff}.solid:hover{background:#a12737}.icon-button{border:1px solid var(--line);background:#fff;border-radius:7px;width:34px;height:34px;font-size:1.4rem;display:inline-grid;place-items:center;line-height:1}.icon-button:hover{background:#edf2ff}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}.date-navigation{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.date-navigation h2{margin:0;font-size:1.45rem;min-width:185px;text-transform:capitalize}.nav-buttons{display:flex;gap:6px}.date-navigation .secondary{padding:7px 12px}.view-switch{display:flex;background:#e9edf5;padding:4px;border-radius:9px;gap:2px}.view-switch button{border-radius:6px;padding:7px 12px;color:#576984;font-size:.875rem}.view-switch button[aria-pressed=true]{background:white;color:#21395c;box-shadow:0 1px 4px #263c6714;font-weight:650}.calendar-caption{display:flex;justify-content:space-between;color:var(--muted);font-size:.875rem;margin:0 0 16px;gap:12px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden}.weekday{padding:15px 8px;text-align:center;border-bottom:1px solid var(--line);font-size:.875rem;color:#64728a;font-weight:550}.day-cell{min-height:124px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 6px;background:white;min-width:0}.day-cell:nth-child(7n){border-right:0}.day-cell.outside{background:#fafbfd}.day-cell.today{background:#f7f9ff}.day-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;padding:0 2px}.day-number{border-radius:50%;min-width:30px;height:30px;display:grid;place-items:center;font-size:.875rem}.outside .day-number{color:#66738b}.day-cell.today .day-number{background:var(--blue);color:#fff;font-weight:650}.day-number:hover{background:#edf2ff;color:var(--blue)}.day-add{width:24px;height:24px;color:#65748d;font-size:1rem;opacity:0}.day-cell:hover .day-add,.day-add:focus-visible{opacity:1}.event-chip{display:block;text-align:left;width:100%;border-radius:5px;border-left:3px solid var(--person);background:var(--tint);padding:6px 6px;margin-bottom:4px;font-size:.875rem;color:#17243c;line-height:1.35;overflow:hidden}.event-chip:hover{filter:brightness(.96)}.event-chip strong{font-weight:600;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-chip .event-time{font-size:.8rem;display:inline;color:#4d5b70;margin-right:4px}.event-chip .event-meta{display:block;font-size:.75rem;color:#536177;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day-more{font-size:.8rem;color:var(--blue);padding:4px}.calendar-footer{font-size:.8rem;color:var(--muted);display:flex;justify-content:space-between;gap:15px;padding:17px 3px}.demo-banner{border:1px solid #bfceef;background:#edf2ff;color:#254981;padding:10px 15px;border-radius:8px;font-size:.875rem;margin-bottom:22px;line-height:1.5}.week-grid .day-cell{min-height:450px}.week-grid .event-chip{padding:10px 8px;margin-bottom:10px}.week-grid .event-chip strong{white-space:normal}.agenda{background:white;border:1px solid var(--line);border-radius:12px;min-height:420px;padding:6px 24px}.agenda-day{display:grid;grid-template-columns:110px 1fr;border-bottom:1px solid var(--line);padding:22px 0;gap:18px}.agenda-day:last-child{border:0}.agenda-date{font-size:.875rem;color:var(--muted)}.agenda-date b{display:block;color:#17243c;font-size:1.6rem;margin-bottom:2px}.agenda-events{display:flex;flex-direction:column;gap:12px}.agenda-event{display:flex;align-items:center;gap:14px;text-align:left;border-left:3px solid var(--person);padding:8px 13px;background:var(--tint);border-radius:5px;width:100%}.agenda-event time{font-size:.875rem;min-width:80px}.agenda-event strong{font-size:1rem;font-weight:600}.agenda-event small{display:block}.empty{padding:70px 25px;text-align:center;color:var(--muted)}.empty strong{color:#21395c;display:block;margin-bottom:9px}.empty .primary{margin-top:16px}.wide{width:100%;margin-bottom:18px}dialog{border:1px solid var(--line);padding:28px;border-radius:16px;width:min(570px,calc(100vw - 28px));max-height:90vh;box-shadow:0 24px 90px #12275240;color:#17243c}dialog::backdrop{background:#12243b80;backdrop-filter:blur(3px)}.large-dialog{width:min(680px,calc(100vw - 28px))}.confirm-dialog{width:min(440px,calc(100vw - 28px))}.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:24px}.dialog-heading h2{margin:0;font-size:1.5rem}.dialog-heading .eyebrow{font-size:.75rem}label{display:block;font-size:.875rem;font-weight:550;margin-bottom:17px}input:not([type=checkbox]),textarea,select{border:1px solid #d3dbe8;border-radius:7px;background:white;padding:10px 11px;width:100%;color:#1b2c49;min-width:0;margin-top:7px}input[type=color]{padding:4px;height:42px}input[type=checkbox]{accent-color:var(--blue)}textarea{resize:vertical;line-height:1.5}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-grid>label{min-width:0}fieldset{padding:0;border:0;margin:0 0 20px}legend{font-size:.875rem;font-weight:550;margin:0 0 10px}.choice-list{display:flex;flex-wrap:wrap;gap:7px}.choice-list label{border:1px solid var(--line);border-radius:7px;padding:8px 11px;display:flex;align-items:center;gap:7px;margin:0;font-weight:400;cursor:pointer;background:white}.choice-list label:has(input:checked){background:var(--soft);border-color:#99b1ef}.choice-list input{margin:0;width:16px;height:16px}.dialog-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.spacer{flex:1}.error{font-size:.875rem;color:#b42337;margin:12px 0 0;line-height:1.5;white-space:pre-wrap}.error:empty{display:none}.instructions{padding:4px 17px 2px;background:#f5f7fb;border-radius:9px;margin-top:20px}.instructions p{font-size:.875rem}.instructions h3{margin-top:16px;margin-bottom:7px}.settings-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);font-size:.875rem}.settings-row .row-description{flex:1;min-width:0;overflow-wrap:anywhere}.settings-row small{display:block}.settings-row button{font-size:.875rem;color:var(--blue);padding:7px}.settings-row .remove{color:#b93244}.settings-form{background:#f5f7fb;border-radius:9px;padding:17px;margin-top:18px}.form-buttons{display:flex;gap:9px;flex-wrap:wrap}.inline-form{display:flex;gap:9px;align-items:end;margin-top:18px;flex-wrap:wrap}.inline-form label{flex:1;margin:0;min-width:160px}.gate{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at top,#e9efff,transparent 65%),#f5f7fb}.gate-card{background:white;border:1px solid var(--line);border-radius:20px;padding:40px;width:min(480px,100%);box-shadow:0 14px 70px #1a366011}.gate .brand{margin-bottom:40px}.gate h1{font-size:1.8rem;margin-bottom:16px}.gate p{font-size:.94rem;color:var(--muted)}.gate .error{color:#b42337}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#193358;color:white;padding:13px 20px;border-radius:10px;box-shadow:0 7px 22px #1a2c3830;z-index:10;font-size:.875rem;max-width:90vw;text-align:center}hr{border:0;border-top:1px solid var(--line);margin:24px 0}#resource-filter{font-size:.875rem;margin-top:0}#feed-result{background:#f5f7fb;border-radius:8px;padding:15px}#feed-url{font-size:.875rem}#calendar{min-width:0}.busy{pointer-events:none;opacity:.65}
@media(min-width:1600px){main{padding:42px 50px}.day-cell{min-height:145px}}
@media(max-width:1150px){.shell{grid-template-columns:210px minmax(0,1fr)}.sidebar{padding:28px 16px}main{padding:29px 20px}.toolbar{align-items:flex-start;flex-wrap:wrap}.main-header{gap:12px}h1{font-size:1.8rem}.day-cell{min-height:118px}.event-chip{padding:5px 4px}.event-chip .event-meta{display:none}}
@media(max-width:800px){.shell{display:block}.sidebar{padding:15px 18px;border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:16px}.brand{font-size:1.3rem}.side-nav,.resource-legend,.sidebar .filter-section:has(#resource-filter){display:none}.sidebar .filter-section{grid-column:1/-1;margin:0;order:3}.section-label{display:none}#member-filters{display:flex;gap:14px;flex-wrap:wrap}.member-filter{padding:0;font-size:.875rem}.member-filter label{gap:6px}.member-filter .avatar{display:none}.sidebar-bottom{padding:0;margin:0;display:flex;gap:12px;align-items:center}.side-button{width:auto;font-size:0;padding:0}.side-button>span{font-size:1.45rem}.side-button:focus::after{content:attr(aria-label)}.account{margin:0;border:0;padding:0;width:auto}.account>span:not(.avatar){display:none}main{padding:24px 15px}.main-header{margin-bottom:26px}.eyebrow{font-size:.7rem}.main-header h1{font-size:1.6rem}.primary{padding:10px 12px}.main-header .primary{font-size:.8rem}.toolbar{gap:14px}.date-navigation{gap:10px;justify-content:space-between;width:100%}.date-navigation h2{font-size:1.25rem;min-width:0;flex:1}.view-switch{margin-left:auto}.calendar-caption{font-size:.8rem}.calendar-footer{font-size:.75rem}.day-cell{padding:4px 2px;min-height:104px}.day-top{justify-content:center}.day-add{display:none}.day-number{width:27px;height:27px;font-size:.8rem}.weekday{font-size:.8rem;padding:12px 3px}.event-chip{border-left-width:2px;font-size:.8rem;padding:4px 2px}.event-chip .event-time{display:block;font-size:.75rem}.calendar-grid{border-radius:8px}.week-grid{grid-template-columns:1fr}.week-grid .weekday{display:none}.week-grid .day-cell{min-height:70px;padding:15px;border-right:0}.week-grid .day-top{justify-content:flex-start}.week-grid .day-number{width:auto;border-radius:5px;padding:4px 9px}.week-grid .event-chip .event-time{display:inline}.week-grid .event-chip .event-meta{display:block}.agenda{padding:0 15px}.agenda-day{grid-template-columns:55px 1fr;gap:12px}.agenda-event{display:block}.agenda-event time{display:block;margin-bottom:5px}.calendar-footer span:last-child{display:none}.demo-banner{font-size:.8rem}.day-more{font-size:.75rem;padding:2px}.gate-card{padding:28px}.form-grid{grid-template-columns:1fr;gap:0}dialog{padding:22px}.settings-row{flex-wrap:wrap}.settings-row .row-description{min-width:100px}.dialog-actions{gap:6px}.dialog-actions .primary,.dialog-actions .secondary,.dialog-actions .danger{padding:10px 12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media(max-width:800px){.sidebar .filter-section:has(#resource-filter){display:block;grid-column:1/-1;order:4;margin:0}.sidebar .filter-section:has(#resource-filter) select{max-width:260px}.main-header .eyebrow{display:none}}
@media(max-width:480px){.date-navigation h2{flex-basis:100%;margin-bottom:3px}.nav-buttons{margin-right:auto}.view-switch{margin-left:0}.main-header{align-items:flex-start}.main-header .primary{max-width:140px}.calendar-caption{flex-wrap:wrap}.calendar-grid:not(.week-grid) .event-chip .event-time{display:none}.calendar-grid:not(.week-grid) .event-chip{font-size:.75rem}.calendar-grid:not(.week-grid) .day-cell{min-height:94px}}

/* Les personnes restent visibles dans toutes les vues, même avec une voiture. */
.event-chip .event-people{display:block;font-size:.75rem;line-height:1.4;font-weight:550;margin-top:4px;white-space:normal;overflow-wrap:anywhere;color:#334561}
.private-badge{display:inline-block;font-size:.7rem;font-weight:600;color:#4f4276;background:#eee9f7;border-radius:4px;padding:2px 5px;margin-top:4px;line-height:1.35}
.agenda-event .private-badge{margin-left:7px}.privacy-option{padding:13px 15px;background:#f5f3fa;border:1px solid #ded7ec;border-radius:9px;margin-bottom:18px}
.checkbox-label{display:flex;align-items:flex-start;gap:9px;margin-bottom:8px;line-height:1.5}.checkbox-label input{flex:0 0 auto;margin:4px 0 0;width:16px;height:16px}.privacy-option .hint{margin:0;font-size:.8rem}
.busy-details dt{font-size:.8rem;color:var(--muted);margin-top:17px}.busy-details dd{margin:5px 0 0;line-height:1.5;overflow-wrap:anywhere}
@media(max-width:480px){.calendar-grid:not(.week-grid) .event-people{font-size:.7rem;line-height:1.3}.calendar-grid:not(.week-grid) .private-badge{font-size:.65rem;padding:2px}.agenda-event .private-badge{margin-left:0;display:table}}
