:root{--bg:#eef1f6;--surface:#fff;--surface-2:#f4f5f8;--separator:#3c3c431f;--glass-blur:24px;--glass-saturate:180%;--glass-rgb:255, 255, 255;--glass-alpha:.6;--glass:rgba(var(--glass-rgb), var(--glass-alpha));--glass-strong:#ffffffc7;--glass-hairline:#ffffffb3;--glass-shadow:0 8px 32px #1118271a;--glass-specular:linear-gradient(142deg, #ffffff8c 0%, #ffffff1f 38%, #fff0 60%);--page-bg:radial-gradient(1100px 700px at 12% -8%, #007aff2e, transparent 60%), radial-gradient(900px 600px at 92% 4%, #af52de24, transparent 62%), radial-gradient(800px 800px at 50% 112%, #34c7591f, transparent 60%), linear-gradient(180deg, #eef1f6 0%, #e7ebf2 100%);--page-bg-size:cover;--text:#16181d;--text-2:#5b6069;--text-3:#9aa0a9;--accent:#007aff;--c-tasks:#ff9500;--c-reminders:#ff3b30;--c-notes:#fc0;--c-events:#af52de;--c-success:#34c759;--c-info:#5ac8fa;--r-sm:10px;--r-md:14px;--r-lg:22px;--r-xl:30px;--r-full:999px;--shadow-1:0 1px 2px #1118270a, 0 1px 3px #1118270f;--shadow-2:0 4px 16px #11182714;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", system-ui, "Segoe UI", Roboto, sans-serif;--t-title-1:34px;--t-title-2:28px;--t-title-3:22px;--t-body:17px;--t-sub:15px;--t-caption:13px;--w-regular:400;--w-medium:500;--w-semibold:600;--w-bold:700;--tap-min:44px;--ease:cubic-bezier(.32, .72, 0, 1);--dur-fast:.15s;--dur-base:.25s;--nav-h:60px;--sidebar-w:260px;--content-max:1100px}:root[data-theme=dark]{--bg:#0b0c0f;--surface:#15171c;--surface-2:#1d2027;--separator:#ffffff1f;--glass-rgb:28, 30, 36;--glass:rgba(var(--glass-rgb), var(--glass-alpha));--glass-strong:#1c1e24c7;--glass-hairline:#ffffff24;--glass-shadow:0 8px 32px #00000073;--glass-specular:linear-gradient(142deg, #ffffff29 0%, #ffffff0a 38%, #fff0 60%);--page-bg:radial-gradient(1100px 700px at 12% -8%, #0a84ff38, transparent 60%), radial-gradient(900px 600px at 92% 4%, #bf5af22e, transparent 62%), linear-gradient(180deg, #0b0c0f 0%, #101218 100%);--text:#f5f6f8;--text-2:#a2a8b3;--text-3:#6b717b;--accent:#0a84ff;--c-tasks:#ff9f0a;--c-reminders:#ff453a;--c-notes:#ffd60a;--c-events:#bf5af2;--c-success:#30d158;--c-info:#64d2ff;--shadow-1:0 1px 2px #0006;--shadow-2:0 4px 16px #00000080}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{min-height:100dvh;color:var(--text);font-family:var(--font);font-size:var(--t-body);-webkit-font-smoothing:antialiased;background:var(--page-bg) center / var(--page-bg-size) no-repeat fixed var(--bg);margin:0;line-height:1.45}h1,h2,h3,p{margin:0}a{color:var(--accent);text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.so-glass{background:var(--glass);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));box-shadow:var(--glass-shadow), inset 0 0 0 1px var(--glass-hairline);position:relative;overflow:hidden}.so-glass:after{content:"";background:var(--glass-specular);pointer-events:none;position:absolute;inset:0}.so-glass--interactive{transition:background var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease)}.so-glass--interactive:hover{background:var(--glass-strong)}.so-glass--interactive:active{transform:scale(.985)}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.so-glass{background:var(--surface)}.so-glass:after{background:0 0}}.so-visuellement-cache{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.so-toasts{top:var(--s-4);right:var(--s-4);gap:var(--s-2);pointer-events:none;flex-direction:column;display:flex;position:fixed}.so-toast{align-items:center;gap:var(--s-2);max-width:min(360px, calc(100vw - var(--s-8)));padding:var(--s-3) var(--s-4);border-radius:var(--r-md);font-size:var(--t-sub);font-weight:var(--w-medium);animation:so-toast-entree var(--dur-base) var(--ease);display:flex}.so-toast>span:first-child{font-weight:var(--w-bold)}.so-toast--succes{color:color-mix(in srgb, var(--c-success) 72%, var(--text))}.so-toast--erreur{color:var(--c-reminders)}.so-toast--info{color:var(--text-2)}@keyframes so-toast-entree{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@media (width<=767px){.so-toasts{left:var(--s-3);right:var(--s-3);top:var(--s-3)}.so-toast{max-width:none}}.so-shell{flex-direction:column;min-height:100dvh;display:flex}.so-main{flex-direction:column;flex:1;min-width:0;display:flex}.so-header{justify-content:space-between;align-items:center;gap:var(--s-4);padding:var(--s-6) var(--s-4) var(--s-4);max-width:var(--content-max);flex-wrap:wrap;width:100%;margin-inline:auto;display:flex}.so-header h1{font-size:var(--t-title-1);font-weight:var(--w-bold);letter-spacing:-.02em}.so-content{padding:0 var(--s-4) var(--s-8);max-width:var(--content-max);flex:1;width:100%;margin-inline:auto}.so-footer{padding:var(--s-4);text-align:center;color:var(--text-2);font-size:var(--t-caption)}.so-nav__brand{display:none}.so-nav ul{margin:0;padding:0;list-style:none;display:flex}.so-nav a,.so-nav button{justify-content:center;align-items:center;gap:var(--s-2);width:100%;min-height:var(--tap-min);color:var(--text-2);font:inherit;font-size:var(--t-caption);font-weight:var(--w-medium);cursor:pointer;transition:color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);background:0 0;border:0;display:flex}.so-nav a.active{color:var(--accent)}.so-nav__pied{gap:var(--s-2);display:flex}.so-nav a.so-nav__icone,.so-nav button.so-nav__icone{border:1px solid var(--separator);border-radius:var(--r-md);flex:1;justify-content:center;padding:0}.so-nav a.so-nav__icone:hover{background:var(--surface-2);color:var(--text)}.so-nav a.so-nav__icone.active{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.so-nav button.so-nav__icone--sortie{color:var(--c-reminders);border-color:color-mix(in srgb, var(--c-reminders) 35%, transparent)}.so-nav button.so-nav__icone--sortie:hover{background:color-mix(in srgb, var(--c-reminders) 10%, transparent)}.so-nav__icon{font-size:20px;line-height:1}@media (width<=767px){.so-nav.so-glass{inset:auto var(--s-3) calc(var(--s-3) + env(safe-area-inset-bottom)) var(--s-3);border-radius:var(--r-full);padding:var(--s-1);position:fixed}.so-nav ul>li{flex:1}.so-nav a,.so-nav button{min-height:calc(var(--nav-h) - var(--s-2));border-radius:var(--r-full);flex-direction:column;gap:2px}.so-nav a.active{background:color-mix(in srgb, var(--accent) 14%, transparent)}.so-content{padding-bottom:calc(var(--nav-h) + var(--s-3) + var(--s-8) + env(safe-area-inset-bottom))}.so-footer{display:none}.so-nav__label{font-size:11px}}@media (width>=768px){.so-shell{flex-direction:row}.so-nav.so-glass{width:var(--sidebar-w);order:-1;flex:0 0 var(--sidebar-w);padding:var(--s-6) var(--s-3);border-radius:0;flex-direction:column;height:100dvh;display:flex;position:sticky;top:0}.so-nav>ul{flex:1}.so-nav__entete{padding-bottom:var(--s-4);margin-bottom:var(--s-4);border-bottom:1px solid var(--separator)}.so-nav__brand{font-size:var(--t-caption);font-weight:var(--w-semibold);letter-spacing:.08em;text-align:center;color:var(--text-3);padding:0;display:block}.so-nav ul{gap:var(--s-1);flex-direction:column}.so-nav a,.so-nav button{padding:0 var(--s-3);border-radius:var(--r-md);font-size:var(--t-sub);justify-content:flex-start}.so-nav a:hover,.so-nav button:hover{background:var(--glass-strong)}.so-nav a.active{background:color-mix(in srgb, var(--accent) 14%, transparent)}.so-nav__pied{margin-top:auto}.so-header{padding-top:var(--s-5)}}.so-nav__brand img{border-radius:var(--r-md);width:72%;max-width:140px;height:auto;margin:0 auto;display:block}.so-btn{min-height:var(--tap-min);padding:0 var(--s-5);border-radius:var(--r-md);font:inherit;font-size:var(--t-body);font-weight:var(--w-semibold);cursor:pointer;transition:opacity var(--dur-fast) var(--ease);border:0}.so-btn:disabled{opacity:.5;cursor:default}.so-btn:not(:disabled):active{opacity:.75}.so-btn--primary{background:var(--accent);color:#fff}.so-btn--primary:not(:disabled):hover{background:var(--surface);box-shadow:inset 0 0 0 1px var(--accent);color:var(--accent)}.so-btn--secondary{background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--separator);color:var(--text)}.so-btn--secondary:not(:disabled):hover{background:color-mix(in srgb, var(--text) 10%, var(--surface))}.so-btn--plain{color:var(--accent);background:0 0}.so-btn--danger{background:color-mix(in srgb, var(--c-reminders) 12%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--c-reminders) 22%, transparent);color:var(--c-reminders)}.so-btn--danger:not(:disabled):hover{background:color-mix(in srgb, var(--c-reminders) 18%, transparent)}.so-sheet{color:var(--text);border-radius:var(--r-xl);box-shadow:var(--glass-shadow), inset 0 0 0 1px var(--glass-hairline);border:0;padding:0}.so-sheet::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#11182752}.so-sheet__contenu{padding:var(--s-5);gap:var(--s-4);flex-direction:column;display:flex;position:relative}.so-sheet__head{justify-content:space-between;align-items:center;gap:var(--s-3);display:flex}.so-sheet__head h2{min-width:0;font-size:var(--t-title-3);font-weight:var(--w-semibold);overflow-wrap:anywhere}.so-sheet__fermer{min-width:var(--tap-min);min-height:var(--tap-min);color:var(--text-2);cursor:pointer;border-radius:var(--r-full);background:0 0;border:0;flex:none;font-size:17px}.so-sheet__fermer:hover{background:var(--surface-2)}@media (width<=767px){.so-sheet{border-end-end-radius:0;border-end-start-radius:0;width:100%;max-width:100%;margin:auto auto 0}.so-sheet__contenu{padding-bottom:calc(var(--s-5) + env(safe-area-inset-bottom))}}@media (width>=768px){.so-sheet{width:min(460px,92vw);margin:auto}}.so-field{gap:var(--s-1);flex-direction:column;display:flex}.so-field__label{font-size:var(--t-caption);font-weight:var(--w-semibold);color:var(--text-2)}.so-field__input{min-height:var(--tap-min);padding:0 var(--s-4);border-radius:var(--r-md);background:var(--surface);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--text) 18%, transparent);color:var(--text);font:inherit;font-size:var(--t-body);transition:box-shadow var(--dur-fast) var(--ease);border:0}.so-field__input::placeholder{color:var(--text-3)}.so-field__input:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--text) 28%, transparent)}.so-field__input:focus{box-shadow:inset 0 0 0 2px var(--accent);outline:none}.so-field__input[aria-invalid=true]{box-shadow:inset 0 0 0 2px var(--c-reminders)}.so-field__hint{font-size:var(--t-caption);color:var(--text-2)}.so-field__hint--error{color:var(--c-reminders)}.so-tile{border-radius:var(--r-lg);padding:var(--s-5)}.so-tile__head{align-items:center;gap:var(--s-3);display:flex}.so-tile__icon{border-radius:var(--r-sm);place-items:center;width:34px;height:34px;font-size:17px;display:grid;position:relative}.so-tile__label{font-size:var(--t-sub);font-weight:var(--w-semibold);color:var(--text-2)}.so-tile__value{margin-top:var(--s-4);font-size:var(--t-title-1);font-weight:var(--w-bold);letter-spacing:-.02em;position:relative}.so-tile__caption{font-size:var(--t-caption);color:var(--text-2);position:relative}.so-grid{gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.so-tuile-lien{color:inherit;display:block}.so-tuile-lien .so-tile{transition:transform var(--dur-fast) var(--ease)}.so-tuile-lien:hover .so-tile{transform:translateY(-2px)}.so-widget{border-radius:var(--r-lg);padding:var(--s-5)}.so-widget>*{position:relative}.so-widget__head{align-items:center;gap:var(--s-3);margin-bottom:var(--s-4);display:flex}.so-widget__head h2{min-width:0;font-size:var(--t-sub);font-weight:var(--w-semibold);color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.so-widget__icone{border-radius:var(--r-sm);place-items:center;width:34px;height:34px;font-size:17px;display:grid}.so-widget__lien{border-radius:var(--r-sm);background:var(--surface-2);width:28px;height:28px;box-shadow:inset 0 0 0 1px var(--separator);color:var(--text-2);transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);flex:none;place-items:center;font-size:14px;line-height:1;text-decoration:none;display:grid}.so-widget__lien:hover{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent)}.so-widget__vide{color:var(--text-2);font-size:var(--t-sub)}.so-widget__liste{margin:0;padding:0;list-style:none}.so-widget__liste>li+li{border-top:1px solid var(--separator)}.so-widget__liste a{align-items:flex-start;gap:var(--s-2);min-height:38px;padding:var(--s-2) 0;color:inherit;display:flex}.so-widget__liste a>.so-widget__puce{margin-top:7px}.so-widget__liste a>.so-widget__echeance{margin-top:1px}.so-widget__puce{border-radius:var(--r-full);background:var(--c-tasks);flex:none;width:8px;height:8px}.so-widget__titre{overflow-wrap:anywhere;min-width:0;font-size:var(--t-sub);flex:1}.so-widget__horaire{font-size:var(--t-caption);color:var(--text-2);margin-top:2px;display:block}.so-widget__echeance{font-size:var(--t-caption);color:var(--text-2);white-space:nowrap}.so-widget__echeance--retard{color:var(--c-reminders);font-weight:var(--w-semibold)}.so-widget__echeance--aujourdhui{color:var(--c-tasks);font-weight:var(--w-semibold)}.so-mini__jours,.so-mini__grille{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.so-mini__jours{color:var(--text-3);text-align:center;margin-bottom:3px;font-size:11px}.so-mini__case{aspect-ratio:1;border-radius:var(--r-sm);background:var(--surface-2);color:var(--text);font-size:var(--t-caption);place-items:center;display:grid;position:relative}.so-mini__case:hover{background:var(--separator)}.so-mini__case.hors-mois{opacity:.3}.so-mini__case.est-aujourdhui{box-shadow:inset 0 0 0 2px var(--accent);font-weight:var(--w-bold)}.so-mini__point{border-radius:var(--r-full);background:var(--c-tasks);width:5px;height:5px;position:absolute;bottom:3px}.so-slot{position:relative}.so-slot__outils{top:var(--s-2);right:var(--s-2);gap:4px;display:flex;position:absolute}.so-slot__outils button{border-radius:var(--r-full);background:var(--surface);width:28px;height:28px;box-shadow:inset 0 0 0 1px var(--separator), var(--shadow-1);color:var(--text-2);font:inherit;cursor:pointer;border:0;line-height:1}.so-slot__outils button:disabled{opacity:.35;cursor:default}.so-slot__outils button:not(:disabled):hover{background:var(--surface-2);color:var(--text)}.so-slot__retirer:not(:disabled):hover{color:var(--c-reminders)!important}.so-grid--edition .so-slot{border-radius:var(--r-lg);outline:2px dashed color-mix(in srgb, var(--accent) 40%, transparent);outline-offset:3px}.so-grid__aide{padding:var(--s-2) var(--s-3);border-radius:var(--r-md);background:color-mix(in srgb, var(--accent) 12%, transparent);color:color-mix(in srgb, var(--accent) 70%, var(--text));font-size:var(--t-caption);font-weight:var(--w-medium)}.so-catalogue{gap:var(--s-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.so-catalogue button{align-items:center;gap:var(--s-3);width:100%;min-height:var(--tap-min);padding:var(--s-3);border-radius:var(--r-md);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--separator);font:inherit;color:var(--text);text-align:left;cursor:pointer;border:0;display:flex}.so-catalogue button:hover{background:var(--separator)}.so-catalogue__icone{border-radius:var(--r-sm);flex:none;place-items:center;width:34px;height:34px;font-size:17px;display:grid}.so-catalogue__nom{font-weight:var(--w-semibold);display:block}.so-catalogue__desc{font-size:var(--t-caption);color:var(--text-2);display:block}.so-ajout{justify-content:center;align-items:center;gap:var(--s-2);border:2px dashed var(--separator);border-radius:var(--r-lg);min-height:140px;font:inherit;color:var(--text-2);cursor:pointer;transition:border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;flex-direction:column;display:flex}.so-ajout:hover{border-color:var(--accent);color:var(--accent)}.so-ajout__plus{font-size:28px;line-height:1}.so-widget__pagination{justify-content:space-between;align-items:center;gap:var(--s-2);margin-top:var(--s-3);padding-top:var(--s-3);border-top:1px solid var(--separator);font-size:var(--t-caption);color:var(--text-2);display:flex}.so-widget__pagination button{border-radius:var(--r-full);background:var(--surface-2);min-width:32px;min-height:32px;box-shadow:inset 0 0 0 1px var(--separator);font:inherit;color:var(--text);cursor:pointer;border:0}.so-widget__pagination button:disabled{opacity:.4;cursor:default}.so-widget__pagination button:not(:disabled):hover{background:var(--separator)}.so-catalogue__section{margin-top:var(--s-4)}.so-catalogue__section:first-child{margin-top:0}.so-catalogue__section>h3{margin-bottom:var(--s-2);font-size:var(--t-caption);font-weight:var(--w-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--text-2)}.so-meteo__actuel{align-items:center;gap:var(--s-3);grid-template-columns:auto auto 1fr;display:grid}.so-meteo__icone{font-size:34px;line-height:1}.so-meteo__temp{font-size:var(--t-title-1);font-weight:var(--w-bold);letter-spacing:-.02em}.so-meteo__detail{font-size:var(--t-caption);color:var(--text-2)}.so-meteo__jours{margin:var(--s-4) 0 0;padding:var(--s-3) 0 0;border-top:1px solid var(--separator);justify-content:space-between;gap:var(--s-2);list-style:none;display:flex}.so-meteo__jours>li{font-size:var(--t-caption);flex-direction:column;align-items:center;gap:2px;display:flex}.so-meteo__jour{color:var(--text-2);text-transform:capitalize}.so-meteo__minmax{color:var(--text-2);white-space:nowrap}.so-meteo__minmax strong{color:var(--text)}.so-villes{margin:var(--s-2) 0 0;gap:var(--s-1);flex-direction:column;padding:0;list-style:none;display:flex}.so-villes button{justify-content:space-between;align-items:center;gap:var(--s-2);width:100%;min-height:var(--tap-min);padding:0 var(--s-3);border-radius:var(--r-md);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--separator);font:inherit;color:var(--text);text-align:left;cursor:pointer;border:0;display:flex}.so-villes button:hover{background:var(--separator)}.so-villes__lieu{font-size:var(--t-caption);color:var(--text-2)}.so-widget__chiffres{gap:var(--s-6);display:flex}.so-widget__chiffres>div{flex-direction:column;display:flex}.so-widget__nombre{font-size:var(--t-title-2);font-weight:var(--w-bold);letter-spacing:-.02em}.so-widget__legende{font-size:var(--t-caption);color:var(--text-2)}.so-widget__etat{align-items:center;gap:var(--s-2);margin-top:var(--s-3);padding-top:var(--s-3);border-top:1px solid var(--separator);font-size:var(--t-caption);color:var(--text-2);display:flex}.so-pastille-etat{border-radius:var(--r-full);width:8px;height:8px}.so-pastille-etat.ouvert{background:var(--c-success)}.so-pastille-etat.clos{background:var(--text-3)}.so-cibles{margin:var(--s-3) 0 0;gap:var(--s-2);flex-direction:column;padding:0;list-style:none;display:flex}.so-cibles button{justify-content:space-between;align-items:center;gap:var(--s-3);width:100%;min-height:var(--tap-min);padding:0 var(--s-3);border-radius:var(--r-md);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--separator);font:inherit;color:var(--text);text-align:left;cursor:pointer;border:0;display:flex}.so-cibles button:hover{background:var(--separator)}.so-cibles__meta{font-size:var(--t-caption);color:var(--text-2);white-space:nowrap}.so-login{min-height:100dvh;padding:var(--s-4);place-items:center;display:grid}.so-login__card{gap:var(--s-4);width:100%;max-width:380px;padding:var(--s-6);border-radius:var(--r-xl);flex-direction:column;display:flex}.so-login__card>*{position:relative}.so-login__title{font-size:var(--t-title-2);font-weight:var(--w-bold);letter-spacing:-.02em;text-align:center}.so-login__sub{margin-top:calc(var(--s-2) * -1);margin-bottom:var(--s-2);text-align:center;font-size:var(--t-sub);color:var(--text-2)}.so-login__logo{width:min(180px,60%);margin:0 auto var(--s-2);object-fit:contain;border-radius:22%;height:auto;display:block}.so-pin{align-items:center;gap:var(--s-4);flex-direction:column;display:flex}.so-pin__cases{gap:var(--s-3);display:flex}.so-pin__cases>span{border-radius:var(--r-full);background:var(--surface-2);width:14px;height:14px;box-shadow:inset 0 0 0 2px var(--separator);transition:background var(--dur-fast) var(--ease)}.so-pin__cases>span.remplie{background:var(--accent);box-shadow:none}.so-pin__erreur{color:var(--c-reminders);font-size:var(--t-sub);font-weight:var(--w-semibold)}.so-pin__clavier{gap:var(--s-3);grid-template-columns:repeat(3,1fr);width:min(300px,100%);display:grid}.so-pin__clavier button{border-radius:var(--r-full);background:var(--surface-2);min-height:62px;box-shadow:inset 0 0 0 1px var(--separator);font:inherit;font-size:var(--t-title-3);font-weight:var(--w-medium);color:var(--text);cursor:pointer;border:0}.so-pin__clavier button:not(:disabled):active{background:var(--separator);transform:scale(.96)}.so-pin__clavier button:disabled{opacity:.4}.so-pin__effacer{font-size:var(--t-body)!important}.so-pin__clavier-physique{align-items:center;gap:var(--s-2);font-size:var(--t-caption);color:var(--text-2);flex-direction:column;display:flex}.so-pin__clavier-physique input{width:160px;min-height:var(--tap-min);padding:0 var(--s-3);border-radius:var(--r-md);background:var(--surface);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--text) 18%, transparent);font:inherit;font-size:var(--t-title-3);text-align:center;letter-spacing:.4em;text-indent:.4em;color:var(--text);transition:box-shadow var(--dur-fast) var(--ease);border:0}.so-pin__clavier-physique input:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--text) 28%, transparent)}.so-pin__clavier-physique input:focus{box-shadow:inset 0 0 0 2px var(--accent);outline:none}.so-form{justify-content:center;align-items:center;gap:var(--s-4);min-height:100dvh;padding:var(--s-6) var(--s-4);flex-direction:column;display:flex}.so-form__pied{font-size:var(--t-caption);font-weight:var(--w-semibold);letter-spacing:.14em;color:var(--text-3)}.so-form__bandeau{width:100%;max-width:560px;padding:var(--s-2) var(--s-3);border-radius:var(--r-md);background:color-mix(in srgb, var(--c-tasks) 18%, transparent);color:color-mix(in srgb, var(--c-tasks) 70%, var(--text));font-size:var(--t-caption);font-weight:var(--w-semibold);text-align:center}.so-form__carte{border-radius:var(--r-xl);width:100%;max-width:560px;overflow:hidden}.so-form__visuel{aspect-ratio:16/7;position:relative;overflow:hidden}.so-form__visuel img{object-fit:cover;width:100%;height:100%;display:block}.so-form__visuel:after{content:"";background:linear-gradient(to bottom, transparent, var(--glass));height:40%;position:absolute;inset:auto 0 0}.so-form__limite{align-items:center;gap:var(--s-2);padding:var(--s-1) var(--s-3);border-radius:var(--r-full);background:color-mix(in srgb, var(--c-tasks) 14%, transparent);color:color-mix(in srgb, var(--c-tasks) 72%, var(--text));font-size:var(--t-caption);font-weight:var(--w-semibold);align-self:flex-start;display:inline-flex}.so-form__corps{gap:var(--s-4);padding:var(--s-5);flex-direction:column;display:flex;position:relative}.so-form__corps h1{font-size:var(--t-title-2);font-weight:var(--w-bold);letter-spacing:-.02em}.so-form__intro,.so-form__info{color:var(--text-2)}.so-form__erreur{color:var(--c-reminders);font-weight:var(--w-semibold)}.so-form__champs{gap:var(--s-5);flex-direction:column;display:flex}.so-form__zone{min-height:96px;padding:var(--s-3) var(--s-4);resize:vertical}.so-form__choix{border:0;margin:0;padding:0}.so-form__choix legend{padding:0 0 var(--s-2);font-size:var(--t-caption);font-weight:var(--w-semibold);color:var(--text-2)}.so-form__choix label{align-items:center;gap:var(--s-3);min-height:var(--tap-min);padding:0 var(--s-3);border-radius:var(--r-md);background:var(--surface-2);margin-bottom:var(--s-1);cursor:pointer;display:flex}.so-form__choix input{width:20px;height:20px;accent-color:var(--accent)}.so-form__ouinon-paire{gap:var(--s-2);display:flex}.so-form__ouinon-paire label{padding:0 var(--s-2);font-weight:var(--w-medium);border:1px solid var(--separator);transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);flex:1;justify-content:center;margin-bottom:0}.so-form__ouinon-paire label:has(input:checked){background:color-mix(in srgb, var(--accent) 16%, transparent);border-color:var(--accent);color:var(--accent)}.so-form__ouinon-paire label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.so-form__corps--fin{text-align:center}.so-form__corps--fin .so-form__merci{margin-inline:auto}.so-form__merci{border-radius:var(--r-full);background:color-mix(in srgb, var(--c-success) 18%, transparent);width:56px;height:56px;color:var(--c-success);font-size:28px;font-weight:var(--w-bold);place-items:center;display:grid}@media (width>=768px){.so-form{padding:var(--s-8) var(--s-4)}}.so-form__titre{white-space:nowrap;font-weight:var(--w-bold);letter-spacing:-.02em;line-height:1.2;overflow:hidden}.so-bloc{padding:0}.so-bloc>*{position:relative}.so-bloc__tete{align-items:center;gap:var(--s-3);min-height:48px;padding:var(--s-3) var(--s-4);cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none;display:flex}.so-bloc__tete::-webkit-details-marker{display:none}.so-bloc__chevron{color:var(--text-3);transition:transform var(--dur-fast) var(--ease);font-size:17px;line-height:1}.so-bloc[open] .so-bloc__chevron{transform:rotate(90deg)}.so-bloc__titre{font-size:var(--t-body);font-weight:var(--w-semibold);flex:1}.so-bloc__apercu{font-size:var(--t-caption);color:var(--text-2);text-align:right}.so-bloc__corps{padding:0 var(--s-4) var(--s-4)}.so-bloc__action{margin-bottom:var(--s-3);justify-content:flex-end;display:flex}.so-bloc__tete:hover{background:color-mix(in srgb, var(--text) 3%, transparent)}.so-bloc__tete:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.so-confirmation{gap:var(--s-5);flex-direction:column;display:flex}.so-confirmation__message{color:var(--text-2);line-height:1.5}.so-confirmation__actions{gap:var(--s-3);display:flex}.so-confirmation__actions>*{flex:1}.so-constructeur{gap:var(--s-4);flex-direction:column;display:flex}.so-questions{gap:var(--s-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.so-question{gap:var(--s-3);padding:var(--s-3);border-radius:var(--r-md);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--separator);flex-direction:column;display:flex}.so-question__tete{align-items:center;gap:var(--s-2);display:flex}.so-question__rang{border-radius:var(--r-full);background:var(--surface);width:26px;height:26px;font-size:var(--t-caption);font-weight:var(--w-semibold);color:var(--text-2);flex:none;place-items:center;display:grid}.so-question__tete input{background:var(--surface);flex:1;min-width:0}.so-question__outils{flex:none;gap:2px;display:flex}.so-question__outils button{border-radius:var(--r-full);background:var(--surface);width:32px;height:32px;font:inherit;color:var(--text-2);cursor:pointer;border:0}.so-question__outils button:disabled{opacity:.35;cursor:default}.so-question__outils button:not(:disabled):hover{color:var(--text)}.so-question__supprimer:not(:disabled):hover{color:var(--c-reminders)!important}.so-question__reglages{gap:var(--s-3);flex-wrap:wrap;align-items:end;display:flex}.so-question__reglages label{gap:var(--s-1);flex-direction:column;display:flex}.so-question__reglages span{font-size:var(--t-caption);color:var(--text-2)}.so-question__reglages select{background:var(--surface);min-width:170px}.so-question__obligatoire{min-height:var(--tap-min);cursor:pointer;align-items:center;gap:var(--s-2)!important;flex-direction:row!important}.so-question__obligatoire input{width:20px;height:20px;accent-color:var(--accent)}.so-question__options{gap:var(--s-1);flex-direction:column;display:flex}.so-question__options span{font-size:var(--t-caption);color:var(--text-2)}.so-question__options textarea{background:var(--surface);padding:var(--s-2) var(--s-3);resize:vertical}.so-question__condition{padding-left:var(--s-3);border-left:2px solid color-mix(in srgb, var(--accent) 45%, transparent)}.so-stats{gap:var(--s-4);margin-bottom:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(110px,1fr));display:grid}.so-stats dt{font-size:var(--t-caption);color:var(--text-2)}.so-stats dd{font-size:var(--t-title-2);font-weight:var(--w-bold);letter-spacing:-.02em;margin:0}.so-stats dd.ouvert{color:var(--c-success);font-size:var(--t-title-3)}.so-stats dd.clos{color:var(--text-2);font-size:var(--t-title-3)}.so-event__lien{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--t-caption)}.so-rangee{gap:var(--s-3);margin-bottom:var(--s-3);flex-wrap:wrap;align-items:end;display:flex}.so-rangee>.so-field{flex:1;min-width:180px}.so-btn--lien{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.so-table-enveloppe{overflow-x:auto}.so-table{border-collapse:collapse;width:100%;font-size:var(--t-sub)}.so-table th,.so-table td{padding:var(--s-2) var(--s-3);text-align:left;border-bottom:1px solid var(--separator);white-space:nowrap}.so-table th{font-size:var(--t-caption);font-weight:var(--w-semibold);color:var(--text-2)}.so-table__date{color:var(--text-2);font-size:var(--t-caption)}.so-evenement{gap:var(--s-4);flex-direction:column;display:flex}.so-evenement__grille{gap:var(--s-4);display:grid}@media (width>=1000px){.so-evenement__grille{grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr);align-items:start}}.so-retour-liste{align-items:center;gap:var(--s-2);min-height:36px;padding:0 var(--s-3);border-radius:var(--r-full);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--separator);color:var(--text-2);font-size:var(--t-caption);font-weight:var(--w-semibold);align-self:flex-start;display:inline-flex}.so-retour-liste:hover{background:var(--separator);color:var(--text)}.so-evenement__chiffres{padding:var(--s-5)}.so-sous-titre{margin-bottom:var(--s-3);font-size:var(--t-caption);font-weight:var(--w-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--text-2)}.so-lien-boite{margin-bottom:var(--s-3);padding:var(--s-2) var(--s-3);border-radius:var(--r-md);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--separator);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--t-caption);overflow-wrap:anywhere;color:var(--text-2)}.so-avertissement{gap:var(--s-2);margin-bottom:var(--s-4);padding:var(--s-3);border-radius:var(--r-md);background:color-mix(in srgb, var(--c-tasks) 14%, transparent);color:color-mix(in srgb, var(--c-tasks) 72%, var(--text));font-size:var(--t-caption);display:flex}.so-apercu-image{object-fit:cover;border-radius:var(--r-md);width:100%;max-height:140px;margin-bottom:var(--s-3);display:block}.so-table__action{width:1%;padding-right:0!important}.so-table__supprimer,.so-table__retablir{border-radius:var(--r-full);width:32px;height:32px;color:var(--text-3);font:inherit;cursor:pointer;background:0 0;border:0;place-items:center;font-size:14px;display:grid}.so-table__supprimer:hover{color:var(--c-reminders);background:color-mix(in srgb, var(--c-reminders) 12%, transparent)}.so-table__retablir:hover{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.so-events{gap:var(--s-4);margin:0;padding:0;list-style:none;display:grid}@media (width>=768px){.so-events{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}.so-event{border-radius:var(--r-lg);color:inherit;transition:transform var(--dur-fast) var(--ease);display:block;overflow:hidden}.so-event:hover{transform:translateY(-2px)}.so-event__image{object-fit:cover;width:100%;height:120px;display:block}.so-event__corps{padding:var(--s-4) var(--s-5) var(--s-5);position:relative}.so-event__tete{justify-content:space-between;align-items:flex-start;gap:var(--s-3);margin-bottom:var(--s-2);display:flex}.so-event__tete h2{font-size:var(--t-title-3);font-weight:var(--w-semibold);overflow-wrap:anywhere}.so-event__meta{font-size:var(--t-caption);color:var(--text-2)}.so-etiquette{padding:2px var(--s-2);border-radius:var(--r-full);font-size:var(--t-caption);font-weight:var(--w-semibold);flex:none}.so-etiquette--ouvert{background:color-mix(in srgb, var(--c-success) 16%, transparent);color:color-mix(in srgb, var(--c-success) 72%, var(--text))}.so-etiquette--clos{background:var(--surface-2);color:var(--text-2)}.so-stack{gap:var(--s-4);flex-direction:column;display:flex}.so-card{border-radius:var(--r-lg);padding:var(--s-5)}.so-card>*{position:relative}.so-card__head{justify-content:space-between;align-items:center;gap:var(--s-3);margin-bottom:var(--s-4);display:flex}.so-card__head h2{font-size:var(--t-title-3);font-weight:var(--w-semibold)}.so-card__aide{font-size:var(--t-caption);color:var(--text-2)}.so-card__vide{color:var(--text-2)}.so-card__message{margin-top:var(--s-3);font-size:var(--t-sub);color:var(--text-2)}.so-card__actions{gap:var(--s-2);margin:var(--s-4) 0;flex-wrap:wrap;display:flex}.so-etats{margin:0;padding:0;list-style:none}.so-etats>li{align-items:center;gap:var(--s-2) var(--s-3);min-height:var(--tap-min);border-top:1px solid var(--separator);grid-template-columns:auto 1fr;display:grid}.so-etats>li:first-child{border-top:0}.so-etats__nom{font-weight:var(--w-medium)}.so-etats__detail{font-size:var(--t-caption);color:var(--text-2);grid-column:2}.so-pastille{border-radius:var(--r-full);width:10px;height:10px}.so-mesures{gap:var(--s-3);margin:var(--s-5) 0 0;padding-top:var(--s-4);border-top:1px solid var(--separator);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.so-mesures dt{font-size:var(--t-caption);color:var(--text-2)}.so-mesures dd{font-weight:var(--w-semibold);margin:0}.so-mesures code{font-size:var(--t-caption)}.so-curseur{gap:var(--s-2);flex-direction:column;display:flex}.so-curseur>span:first-child{font-size:var(--t-sub);font-weight:var(--w-medium)}.so-curseur input[type=range]{accent-color:var(--accent);min-height:var(--tap-min)}.so-retour{align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);border-radius:var(--r-md);font-size:var(--t-sub);display:flex}.so-retour>span:first-child{font-weight:var(--w-bold)}.so-retour--succes{background:color-mix(in srgb, var(--c-success) 14%, transparent);color:color-mix(in srgb, var(--c-success) 70%, var(--text))}.so-retour--erreur{background:color-mix(in srgb, var(--c-reminders) 12%, transparent);color:var(--c-reminders)}.so-retour--neutre{background:var(--surface-2);color:var(--text-2)}.so-agenda__head{justify-content:space-between;align-items:center;gap:var(--s-3);margin-bottom:var(--s-4);flex-wrap:wrap;display:flex}.so-agenda__nav{align-items:center;gap:var(--s-2);display:flex}.so-agenda__nav strong{text-align:center;min-width:11ch;font-size:var(--t-sub)}.so-agenda__nav button{background:var(--surface-2);border-radius:var(--r-md);min-width:36px;min-height:36px;font:inherit;color:var(--text);cursor:pointer;border:0}.so-agenda__nav button:hover{background:var(--separator)}.so-agenda__today{padding:0 var(--s-3);font-size:var(--t-caption)!important}.so-agenda__jours{gap:var(--s-1);margin-bottom:var(--s-1);font-size:var(--t-caption);color:var(--text-3);text-align:center;grid-template-columns:repeat(7,1fr);display:grid}.so-agenda__grille{gap:var(--s-1);display:grid}.so-agenda__grille--jour{grid-template-columns:1fr}.so-agenda__grille--semaine,.so-agenda__grille--mois{grid-template-columns:repeat(7,1fr)}.so-agenda__case{min-height:var(--tap-min);padding:var(--s-2) 0;border-radius:var(--r-md);background:var(--surface-2);font:inherit;color:var(--text);cursor:pointer;transition:background var(--dur-fast) var(--ease);border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:relative}.so-agenda__case:hover{background:var(--separator)}.so-agenda__case.hors-mois{opacity:.35}.so-agenda__case.est-aujourdhui{box-shadow:inset 0 0 0 2px var(--accent)}.so-agenda__case.est-choisi{background:var(--accent);color:#fff}.so-agenda__grille--jour .so-agenda__case{min-height:72px;font-size:var(--t-title-3)}.so-agenda__num{font-size:var(--t-sub);font-weight:var(--w-medium)}.so-agenda__compteur{border-radius:var(--r-full);background:var(--c-tasks);color:#fff;min-width:18px;font-size:11px;font-weight:var(--w-bold);padding:0 5px;line-height:18px}.so-agenda__case.est-choisi .so-agenda__compteur{color:var(--accent);background:#ffffffe6}.so-taches__barre{justify-content:flex-end;display:flex}.so-liste{margin:0;padding:0;list-style:none}.so-liste>li{align-items:center;gap:var(--s-3);min-height:var(--tap-min);padding:var(--s-2) 0;border-top:1px solid var(--separator);display:flex}.so-liste>li:first-child{border-top:0}.so-liste__case{border-radius:var(--r-full);border:2px solid var(--text-3);cursor:pointer;width:22px;height:22px;transition:border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);background:0 0;flex:none;place-items:center;display:grid}.so-liste__case:after{content:"✓";font-size:13px;font-weight:var(--w-bold);color:var(--c-success);opacity:0;transition:opacity var(--dur-fast) var(--ease)}.so-liste__case:hover,.so-liste__case:focus-visible{border-color:var(--c-success);background:color-mix(in srgb, var(--c-success) 18%, transparent)}.so-liste__case:hover:after,.so-liste__case:focus-visible:after{opacity:1}@media (hover:none){.so-liste__case:after{opacity:.55}}.so-liste__titre{overflow-wrap:anywhere;flex:1;min-width:0}.so-liste__echeance{font-size:var(--t-caption);color:var(--text-2);white-space:nowrap}.so-liste__echeance--retard{color:var(--c-reminders);font-weight:var(--w-semibold)}.so-liste__echeance--aujourdhui{color:var(--c-tasks);font-weight:var(--w-semibold)}.so-badge{font-size:var(--t-caption);font-weight:var(--w-bold);color:var(--c-reminders);letter-spacing:-1px}.so-liste__supprimer{width:var(--tap-min);height:var(--tap-min);color:var(--text-3);cursor:pointer;border-radius:var(--r-full);background:0 0;border:0;flex:none}.so-liste__supprimer:hover{color:var(--c-reminders);background:var(--surface-2)}.so-segments{gap:var(--s-1);background:var(--surface-2);border-radius:var(--r-md);padding:3px;display:flex}.so-segments button{border-radius:calc(var(--r-md) - 3px);min-height:36px;font:inherit;font-size:var(--t-caption);color:var(--text-2);cursor:pointer;background:0 0;border:0;flex:1}.so-segments button.actif{background:var(--surface);color:var(--text);font-weight:var(--w-semibold);box-shadow:var(--shadow-1)}.so-taches__barre{justify-content:space-between;align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.so-taches__filtre{font-size:var(--t-caption);color:var(--text-2)}.so-taches__filtre button{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.so-groupe+.so-groupe{margin-top:var(--s-5)}.so-groupe__titre{align-items:center;gap:var(--s-2);margin-bottom:var(--s-2);font-size:var(--t-caption);font-weight:var(--w-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);display:flex}.so-groupe__compte{border-radius:var(--r-full);background:var(--surface-2);min-width:20px;color:var(--text-2);text-align:center;letter-spacing:0;padding:0 6px;font-size:11px;line-height:18px}.so-liste>li.est-faite .so-liste__titre{color:var(--text-3);text-decoration:line-through}.so-liste__case--faite{border-color:var(--c-success);background:color-mix(in srgb, var(--c-success) 20%, transparent);color:var(--c-success);font-size:13px;font-weight:var(--w-bold);place-items:center;display:grid}.so-valide{padding:2px var(--s-2);border-radius:var(--r-full);background:color-mix(in srgb, var(--c-success) 16%, transparent);color:color-mix(in srgb, var(--c-success) 72%, var(--text));font-size:var(--t-caption);font-weight:var(--w-semibold);flex:none;align-items:center;gap:5px;display:inline-flex}.so-valide>span{font-weight:var(--w-bold)}.so-liste__rouvrir{min-height:32px;padding:0 var(--s-3);border-radius:var(--r-full);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--separator);font:inherit;font-size:var(--t-caption);color:var(--text-2);cursor:pointer;white-space:nowrap;border:0;flex:none}.so-liste__rouvrir:hover{background:var(--separator);color:var(--text)}.so-liste__modifier{width:var(--tap-min);height:var(--tap-min);color:var(--text-3);cursor:pointer;border-radius:var(--r-full);background:0 0;border:0;flex:none;font-size:15px}.so-liste__modifier:hover{color:var(--accent);background:var(--surface-2)}.so-liste__horaire{font-size:var(--t-caption);color:var(--text-2);align-items:center;gap:5px;margin-top:2px;display:flex}.so-liste>li.est-faite .so-liste__horaire{color:var(--text-3)}.so-taches__plage{gap:var(--s-3);margin-top:var(--s-2);display:flex}.so-taches__plage label{gap:var(--s-1);font-size:var(--t-caption);color:var(--text-2);flex-direction:column;flex:1;display:flex}.so-taches__plage input{min-height:var(--tap-min)}
