:root{--navy:#0D1220;--softblue:#475569;--lightblue:#8FA7C9;--sage:#7FA295;--purple:#A78BCE;--pink:#E6A1B5;--offwhite:#FAF7F2;--almostblack:#0F172A;--bg:#F2EDE6;--ivory:#FAF7F2;--beige:#E8E2D9;--warmgray:#DAD3C7;--taupe:#AFA59A;--stone:#7D7871;--charcoal:#2D3138;--card:#FFFFFF;color-scheme:light;--fg:var(--navy);--fg2:var(--softblue);--muted:var(--stone);--line:var(--beige);--line2:var(--warmgray);--btn:var(--softblue);--btn-fg:#FFFFFF;--sel:#EEE8F7;--sel-fg:#4F3A78;--m-pink:#F8E8EE;--m-blue:#E6EDF6;--m-green:#E7EFEB;--m-purple:#EEE8F7;--m-warm:#F1EAE2;--nc-bg:#F8E8EE;--nc-fg:#8C2F4B;--nc-bd:#E6A1B5;--att-bg:#F7E7D8;--att-fg:#85491D;--att-bd:#E2B48D;--ok-bg:#E1EEE6;--ok-fg:#326347;--ok-bd:#7FA295;--lib-bg:#E6EDF6;--lib-fg:#34507A;--lib-bd:#8FA7C9;--na-bg:#F1EAE2;--na-fg:#6B665F;--na-bd:#DAD3C7;--comp-bg:#EDE5F5;--comp-fg:#694A86;--comp-bd:#A78BCE;--warn-bg:#F5EECF;--warn-fg:#6B5712;--warn-bd:#D9C27A;--f-head:"Manrope",system-ui,sans-serif;--f-body:"DM Sans",system-ui,sans-serif;--r:20px;--r2:12px}*{box-sizing:border-box}html{height:100%}body{min-height:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}.app{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh;min-height:100dvh}aside.side{background:var(--offwhite);border-right:1px solid var(--line);padding:22px 14px;display:flex;flex-direction:column;gap:18px;position:sticky;top:0;height:100vh;overflow:auto}.brand{font-family:var(--f-head);font-weight:800;font-size:22px;padding:0 10px;letter-spacing:-.01em;display:flex;align-items:center;gap:9px}.brand-logo{width:34px;height:34px;object-fit:contain;flex:none}.auth-card .brand-logo{width:44px;height:44px}.school{font-size:12px;color:var(--muted);padding:0 10px;margin-top:-10px}nav.menu{display:grid;gap:2px}nav.menu button{display:flex;align-items:center;gap:10px;border:0;background:none;padding:9px 10px;border-radius:12px;text-align:left;cursor:pointer;color:var(--fg2);font-weight:500}nav.menu button:hover{background:var(--beige);color:var(--fg)}nav.menu button[aria-current=page]{background:var(--sel);color:var(--sel-fg);font-weight:700}nav.menu .count{margin-left:auto;font-size:11px;font-weight:700;background:var(--nc-bg);color:var(--nc-fg);border-radius:999px;padding:0 7px}.rolebox{margin-top:auto;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px;display:grid;gap:8px}.rolebox label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}select,input[type=text],input[type=email],input[type=password],input[type=date],input[type=tel],input[type=search],textarea{background:var(--card);border:1px solid var(--line2);border-radius:10px;padding:8px 10px;width:100%}textarea{min-height:70px;resize:vertical}.main{min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:color-mix(in srgb,var(--bg) 94%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);padding:12px 28px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}.datenav{display:flex;align-items:center;gap:6px}.datenav .d{font-family:var(--f-head);font-weight:800;font-size:17px;min-width:15ch;text-align:center}.ctx{display:flex;flex-wrap:wrap;gap:6px}.topbar .spacer{flex:1}.content{padding:24px 28px 60px;display:grid;gap:20px;min-width:0}h1{font-family:var(--f-head);font-weight:750;font-size:clamp(24px,2.3vw,32px);line-height:1.2;margin:0;text-wrap:balance}h2{font-family:var(--f-head);font-weight:750;font-size:18px;margin:0;line-height:1.35}h3{font-family:var(--f-head);font-weight:750;font-size:15px;margin:0}.sub{color:var(--fg2);margin:4px 0 0}.small{font-size:12px;color:var(--muted)}.card{background:var(--card);border:1px solid var(--line2);border-radius:var(--r);padding:18px 20px;min-width:0;box-shadow:0 1px 3px #0d122014,0 10px 28px #0d122014}.card-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line2);background:var(--card);border-radius:12px;padding:7px 12px;cursor:pointer;font-weight:600;font-size:13px;white-space:nowrap}.btn:hover{border-color:var(--taupe)}.btn.primary{background:linear-gradient(90deg,var(--softblue),var(--lightblue));color:#fff;border-color:transparent}.btn.primary:hover{filter:brightness(1.08)}.btn.ghost{border-color:transparent;background:none;color:var(--fg2)}.btn.danger{color:var(--nc-fg)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn svg,nav.menu svg{width:16px;height:16px;flex:none}.iconbtn{border:1px solid var(--line2);background:var(--card);border-radius:10px;width:32px;height:32px;display:grid;place-items:center;cursor:pointer}.pill{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;padding:2px 9px;border-radius:999px;white-space:nowrap;line-height:1.5}.p-nc{background:var(--nc-bg);color:var(--nc-fg)}.p-att{background:var(--att-bg);color:var(--att-fg)}.p-ok{background:var(--ok-bg);color:var(--ok-fg)}.p-lib{background:var(--lib-bg);color:var(--lib-fg)}.p-na{background:var(--na-bg);color:var(--na-fg)}.p-comp{background:var(--comp-bg);color:var(--comp-fg)}.p-warn{background:var(--warn-bg);color:var(--warn-fg)}.p-neutral{background:var(--ivory);color:var(--fg2);border:1px solid var(--line)}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}.metric{border-radius:16px;padding:14px 16px;display:grid;gap:2px}.metric .v{font-family:var(--f-head);font-weight:800;font-size:28px;line-height:1.1;font-variant-numeric:tabular-nums}.metric .l{font-size:12.5px;color:var(--fg2);font-weight:500}.alerts{display:grid;gap:8px}.alert{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 12px;border-radius:12px;background:var(--ivory)}.alert .t{flex:1;min-width:200px}.gridwrap{overflow-x:auto;border:1px solid var(--line);border-radius:16px}table.board{border-collapse:separate;border-spacing:0;width:100%;min-width:980px}table.board th{font-size:12px;text-align:left;font-weight:700;color:var(--fg2);padding:10px;background:var(--ivory);border-bottom:1px solid var(--line);white-space:nowrap}table.board th .h{display:block;font-weight:500;color:var(--muted);font-variant-numeric:tabular-nums}table.board td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:6px;vertical-align:top}table.board tr:last-child td{border-bottom:0}table.board td:last-child{border-right:0}td.who{min-width:210px;background:var(--card)}td.diner{width:44px;background:var(--ivory);color:var(--muted);font-size:11px;text-align:center;writing-mode:vertical-rl;padding:8px 4px}.cellbtn{display:grid;gap:4px;width:100%;min-height:86px;text-align:left;border:1px solid transparent;border-radius:12px;padding:8px 9px;cursor:pointer;background:none}.cellbtn:hover{border-color:var(--line2);background:var(--ivory)}.cellbtn .what{font-weight:600;font-size:13px;line-height:1.3}.cellbtn .loc{font-size:11.5px;color:var(--muted)}.cellbtn .by{font-size:12.5px;color:var(--fg)}.cellbtn .ind{font-size:11px;color:var(--fg2)}.cellbtn.present{min-height:0;color:var(--muted);font-size:12px;cursor:default}.cellbtn.present:hover{background:none;border-color:transparent}.s-nc{box-shadow:inset 3px 0 0 var(--nc-fg)}.s-att{box-shadow:inset 3px 0 0 var(--att-fg)}.s-ok{box-shadow:inset 3px 0 0 var(--ok-fg)}.s-lib{box-shadow:inset 3px 0 0 var(--lib-fg)}.s-na{box-shadow:inset 3px 0 0 var(--na-fg)}.s-warn{box-shadow:inset 3px 0 0 var(--warn-fg)}.s-comp{box-shadow:inset 3px 0 0 var(--comp-fg)}.whobtn{display:grid;gap:4px;width:100%;text-align:left;border:0;background:none;padding:6px;border-radius:12px;cursor:pointer}.whobtn:hover{background:var(--ivory)}.whobtn .n{font-family:var(--f-head);font-weight:750;font-size:14px}.row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.legend{display:flex;flex-wrap:wrap;gap:6px}.two{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:20px}@media (max-width:1100px){.two{grid-template-columns:minmax(0,1fr)}}table.list{width:100%;border-collapse:collapse;font-size:13.5px}table.list th{text-align:left;font-size:12px;color:var(--fg2);font-weight:700;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--ivory)}table.list td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}table.list tr:last-child td{border-bottom:0}.tblwrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px}.bar{height:8px;border-radius:99px;background:var(--ivory);overflow:hidden;min-width:90px}.bar>i{display:block;height:100%;background:var(--lightblue);border-radius:99px}.bar.full>i{background:var(--purple)}.num{font-variant-numeric:tabular-nums}.drawer-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#0d122047;z-index:58}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(480px,100%);background:var(--card);z-index:59;border-left:1px solid var(--line);display:flex;flex-direction:column;box-shadow:-12px 0 40px #0d12201f}.drawer-h{padding:18px 20px 14px;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:flex-start}.drawer-h .grow{flex:1;min-width:0}.drawer-b{padding:16px 20px 30px;overflow:auto;display:grid;gap:18px;align-content:start;flex:1 1 auto;min-height:0;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.field{display:grid;gap:5px}.field>label,.lbl{font-size:12px;font-weight:700;color:var(--fg2)}.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:13.5px}.kv dt{color:var(--muted)}.kv dd{margin:0}.opts{display:grid;gap:4px;max-height:320px;overflow:auto;border:1px solid var(--line);border-radius:12px;padding:6px}.opt{display:flex;gap:10px;align-items:center;padding:8px 10px;border-radius:10px;border:1px solid transparent;background:none;text-align:left;width:100%;cursor:pointer}.opt:hover{background:var(--ivory)}.opt[aria-pressed=true]{border-color:var(--purple);background:var(--sel)}.opt[disabled]{cursor:not-allowed;opacity:.75}.opt .grow{flex:1;min-width:0}.opt .nm{font-weight:600}.optgroup{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;padding:8px 10px 2px}.box{background:var(--ivory);border-radius:14px;padding:12px 14px}.checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}.check{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border:1px solid var(--line);border-radius:10px;cursor:pointer}.check input{margin-top:3px}.fiche{display:grid;gap:14px}.fiche-h{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px 20px}.slot{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);align-items:start}.slot:last-child{border-bottom:0}.slot .tm{font-variant-numeric:tabular-nums;font-weight:700}.slot .tm span{display:block;font-weight:500;color:var(--muted);font-size:12px}.slot .body{display:grid;gap:3px}.change{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 12px;border-radius:12px;background:var(--m-warm)}.change .t{flex:1;min-width:180px}.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translate(-50%);background:var(--navy);color:#faf7f2;padding:10px 16px;border-radius:12px;z-index:40;font-weight:600;box-shadow:0 8px 30px #0003;max-width:calc(100% - 32px)}.empty{padding:28px;text-align:center;color:var(--muted)}.banner{display:flex;gap:10px;align-items:center;font-size:12.5px;color:var(--fg2);background:var(--card);border:1px solid var(--line);border-radius:12px;padding:8px 12px}.parse{display:inline-flex;flex-direction:column;gap:1px;padding:5px 8px;border-radius:10px;font-size:12px;min-width:120px}.parse b{font-weight:600}:focus-visible{outline:2px solid var(--purple);outline-offset:2px}.stats{display:flex;flex-wrap:wrap;gap:10px}.stat{display:flex;align-items:baseline;gap:8px;border-radius:14px;padding:10px 14px;min-width:120px}.stat .v{font-family:var(--f-head);font-weight:800;font-size:22px;font-variant-numeric:tabular-nums}.stat .l{font-size:12.5px;color:var(--fg2)}.blocktabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px}.btab{display:grid;gap:3px;text-align:left;border:1px solid var(--line);background:var(--card);border-radius:16px;padding:10px 12px;cursor:pointer}.btab:hover{border-color:var(--warmgray)}.btab[aria-pressed=true]{border-color:var(--purple);background:var(--sel);box-shadow:0 0 0 1px var(--purple) inset}.btab .c{font-family:var(--f-head);font-weight:800;font-size:16px}.btab .h{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.btab.evtab{background:var(--m-blue)}.btab.evtab[aria-pressed=true]{background:var(--sel)}.btab.dinner{cursor:default;background:var(--ivory);color:var(--muted)}.blockview{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}@media (max-width:1150px){.blockview{grid-template-columns:minmax(0,1fr)}}.needs{display:grid;gap:10px}.need{display:grid;grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) minmax(230px,1.3fr);gap:12px 16px;align-items:center;border:1px solid var(--line);border-left:5px solid var(--na-bd);border-radius:16px;padding:12px 14px;background:var(--card)}.need.st-NC{border-left-color:var(--nc-bd);background:var(--nc-bg)}.need.st-ATT{border-left-color:var(--att-bd)}.need.st-OK{border-left-color:var(--ok-bd)}.need.st-VERIF{border-left-color:var(--warn-bd)}.need.st-COMP{border-left-color:var(--comp-bd)}@media (max-width:760px){.need{grid-template-columns:minmax(0,1fr)}}.need .nm{font-family:var(--f-head);font-weight:750;font-size:15px}.need .course{font-weight:600}.need select{font-weight:500}.need .acts{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.need .current{font-size:13px}.sectlabel{font-size:11.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:700;margin:6px 2px 0}.avail{display:grid;gap:4px}.av{display:flex;align-items:center;gap:10px;padding:7px 4px;border-bottom:1px solid var(--line)}.av:last-child{border-bottom:0}.av .grow{flex:1;min-width:0}.av .bar{width:64px;min-width:64px}.dot{width:10px;height:10px;border-radius:50%;flex:none;border:2px solid var(--card);box-shadow:0 0 0 1px var(--line2)}table.over{border-collapse:separate;border-spacing:6px;width:100%;min-width:760px}table.over th{font-size:12px;color:var(--fg2);text-align:left;font-weight:700;padding:2px 4px;white-space:nowrap}table.over th .h{display:block;font-weight:500;color:var(--muted)}table.over td.p{font-weight:600;font-size:13px;white-space:nowrap;padding-right:8px}.tile{display:grid;gap:1px;width:100%;text-align:left;border:1px solid transparent;border-radius:12px;padding:7px 9px;cursor:pointer;font-size:12px;line-height:1.35;min-height:46px}.tile b{font-weight:700;font-size:12.5px}.tile:hover{filter:brightness(.97)}.tile.sel{outline:2px solid var(--purple);outline-offset:1px}.t-NC{background:var(--nc-bg);color:var(--nc-fg);border-color:var(--nc-bd)}.t-ATT{background:var(--att-bg);color:var(--att-fg);border-color:var(--att-bd)}.t-OK{background:var(--ok-bg);color:var(--ok-fg)}.t-LIB{background:var(--lib-bg);color:var(--lib-fg)}.t-NA{background:var(--na-bg);color:var(--na-fg)}.t-VERIF{background:var(--warn-bg);color:var(--warn-fg);border-color:var(--warn-bd)}.t-COMP{background:var(--comp-bg);color:var(--comp-fg)}.t-present{background:none;color:var(--muted);cursor:default;border:1px dashed var(--line)}.imp-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:20px;align-items:start}@media (max-width:1100px){.imp-grid{grid-template-columns:minmax(0,1fr)}}.maprow{display:grid;grid-template-columns:70px minmax(0,1fr) 170px;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.maprow:last-child{border-bottom:0}.maprow .code{font-family:var(--f-head);font-weight:800;font-size:15px}@media (max-width:560px){.maprow{grid-template-columns:60px minmax(0,1fr)}.maprow select{grid-column:1/-1}}.issue{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--line)}.issue:last-child{border-bottom:0}.issue .grow{flex:1;min-width:0}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}.seg{display:inline-flex;background:var(--ivory);border:1px solid var(--line);border-radius:12px;padding:3px;gap:2px;flex-wrap:wrap}.seg button{border:0;background:none;border-radius:9px;padding:6px 12px;font-weight:600;font-size:13px;color:var(--fg2);cursor:pointer}.seg button[aria-pressed=true]{background:var(--card);color:var(--fg);box-shadow:0 1px 3px #0d122014}.toolbar input[type=search]{max-width:260px}table.sched{border-collapse:separate;border-spacing:0;width:100%;min-width:900px;font-size:13px}table.sched th{position:sticky;top:0;background:var(--ivory);text-align:left;font-size:12px;font-weight:700;color:var(--fg2);padding:9px 10px;border-bottom:1px solid var(--line);white-space:nowrap}table.sched th .h{display:block;font-weight:500;color:var(--muted)}table.sched td{padding:4px;border-bottom:1px solid var(--line);vertical-align:top}table.sched tr:last-child td{border-bottom:0}table.sched td.pn{position:sticky;left:0;background:var(--card);padding:8px 10px;min-width:170px;border-right:1px solid var(--line)}table.sched td.pn b{font-weight:700}.sc{display:grid;gap:1px;border-radius:10px;padding:6px 9px;min-height:44px;line-height:1.3}.sc b{font-weight:600}.sc span{font-size:11.5px;color:var(--muted)}.sc.f-G{background:var(--ok-bg);color:var(--ok-fg)}.sc.f-G span{color:var(--ok-fg)}.sc.f-Y{background:#f5eecf;color:#6b5712}.sc.f-Y span{color:#6b5712}.sc.f-W{background:var(--card);color:var(--fg2);box-shadow:inset 0 0 0 1px var(--line2)}.sc.need{box-shadow:inset 0 0 0 2px var(--nc-bd)}.sc .tag{justify-self:start;font-size:10.5px;font-weight:700;background:var(--nc-bg);color:var(--nc-fg);border-radius:999px;padding:0 7px;margin-top:2px}.sw{display:inline-block;width:14px;height:14px;border-radius:4px;vertical-align:-2px;margin-right:6px}.sc.k-PLANIF{background:var(--lib-bg);color:var(--lib-fg)}.sc.k-PLANIF span{color:var(--lib-fg)}.sc.k-VERIF{background:var(--warn-bg);color:var(--warn-fg);box-shadow:inset 0 0 0 1px var(--warn-bd)}.sc.k-VERIF span{color:var(--warn-fg)}.sc.k-NONREMP{background:var(--na-bg);color:var(--na-fg)}.sc.k-BAM{background:var(--comp-bg);color:var(--comp-fg)}.sc.k-BAM span{color:var(--comp-fg)}.sc.k-CAP{background:var(--ivory);color:var(--fg2)}.hm-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:20px;align-items:start}@media (max-width:900px){.hm-layout{grid-template-columns:minmax(0,1fr)}}.hm-list{position:sticky;top:calc(env(safe-area-inset-top,0px) + 70px);padding:14px}.hm-list .seg button{padding:5px 9px;font-size:12px}.hm-names{display:grid;gap:2px;max-height:min(62vh,640px);overflow:auto;margin:0 -4px;padding:0 4px}@media (max-width:900px){.hm-list{position:static}.hm-names{max-height:300px}}.hm-name{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:1px solid transparent;background:none;border-radius:12px;padding:6px 10px;cursor:pointer;line-height:1.3}.hm-name:hover{background:var(--ivory)}.hm-name[aria-pressed=true]{background:var(--sel);border-color:var(--purple)}.hm-name .grow{flex:1;min-width:0}.dots{display:inline-flex;gap:3px}.md{display:inline-block;width:10px;height:10px;border-radius:3px;vertical-align:-1px;margin-right:3px;box-shadow:inset 0 0 0 1px #0d12201f}.md-G{background:var(--ok-bd)}.md-Y{background:#e8d27a}.md-W{background:var(--card)}.md-R{background:var(--nc-bd)}.pgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:6px 0}.pgrid .lbl{margin-bottom:4px}.plink{color:inherit;text-decoration:underline;text-decoration-color:var(--line2);text-underline-offset:2px}.plink:hover{text-decoration-color:var(--purple)}.namebtn{border:0;background:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left;text-decoration:underline;text-decoration-color:var(--line2);text-underline-offset:3px}.namebtn:hover{text-decoration-color:var(--purple)}.sheets{display:grid;gap:20px;justify-items:center}.sheet{background:#fff;color:#0d1220;width:100%;max-width:820px;border:1px solid var(--line);border-radius:14px;padding:28px 32px;display:grid;gap:16px;box-shadow:0 8px 24px #0d12200d}.sheet-h{display:flex;justify-content:space-between;gap:16px;border-bottom:2px solid #0D1220;padding-bottom:12px}.sheet-k{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#475569;font-weight:700}.sheet-d{text-align:right;font-size:13px;line-height:1.5}.sheet-kv{font-size:13px}.sheet-t{width:100%;border-collapse:collapse;font-size:13px}.sheet-t th{text-align:left;border-bottom:1px solid #DAD3C7;padding:6px 8px;font-size:11.5px;color:#475569}.sheet-t td{border-bottom:1px solid #E8E2D9;padding:8px;vertical-align:top}.sheet-t tr.free td{color:#475569;background:#f7f9fc}.sheet-t .cons{font-size:12px;color:#475569;margin-top:3px}.sheet-f{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:11.5px;color:#7d7871;border-top:1px solid #E8E2D9;padding-top:10px}.mail{display:grid;gap:10px}.mailfield{display:flex;gap:12px;align-items:center;font-size:13.5px}.mailfield .lbl{width:44px}.mailbody{white-space:pre-wrap;font-family:var(--f-body);font-size:13.5px;line-height:1.55;background:var(--ivory);border-radius:12px;padding:12px 14px;margin:0}a.btn{text-decoration:none;color:inherit}@media print{@page{margin:14mm}body{background:#fff}aside.side,.topbar,.noprint,#drawerRoot,#toastRoot{display:none!important}.app{display:block}.content{padding:0;gap:0}.sheets{display:block}.sheet{border:0;box-shadow:none;border-radius:0;padding:0;max-width:none;break-after:page;page-break-after:always}.sheet:last-child{break-after:auto;page-break-after:auto}}.evlist{list-style:none;margin:0;padding:0;display:grid;gap:6px}.evlist li{display:flex;gap:10px;align-items:center;padding:8px 12px;border-radius:12px;background:var(--ivory);max-width:none;margin:0}.evlist li .grow{flex:1;min-width:0}.evform{display:flex;gap:8px}.aegrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px 14px}.evday{display:grid;gap:6px;padding-bottom:10px;border-bottom:1px solid var(--line)}.evday:last-child{border-bottom:0;padding-bottom:0}.calgrid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr)) repeat(2,minmax(70px,.55fr));gap:6px;min-width:860px;padding:8px}.calhead{font-size:12px;font-weight:700;color:var(--fg2);padding:2px 6px}.calday{display:grid;align-content:start;gap:4px;min-height:112px;text-align:left;border:1px solid var(--line);background:var(--card);border-radius:12px;padding:8px;cursor:pointer;font-size:12px;line-height:1.3}.calday:hover{border-color:var(--warmgray)}.calday.we{background:var(--ivory);min-height:70px}.calday.out{opacity:.45}.calday.today{box-shadow:0 0 0 2px var(--purple) inset}.calday.sel{border-color:var(--purple)}.calev{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fg2);border-left:3px solid var(--lightblue);padding-left:6px}.alertline{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:13px}@media (max-width:860px){.app{grid-template-columns:minmax(0,1fr)}aside.side{position:static;height:auto;flex-direction:column;border-right:0;border-bottom:1px solid var(--line);padding:14px 16px;gap:10px}nav.menu{display:flex;overflow-x:auto;gap:4px}nav.menu button{white-space:nowrap}.rolebox{margin-top:0}.topbar{padding:10px 16px;position:static}.content{padding:16px 16px 60px}.slot{grid-template-columns:70px minmax(0,1fr)}.slot>.act{grid-column:2}}@media (prefers-reduced-motion:no-preference){.drawer{animation:slide .18s ease-out}@keyframes slide{0%{transform:translate(24px);opacity:.6}}}[hidden]{display:none!important}.auth{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:var(--bg)}.auth-card{width:min(420px,100%);background:var(--card);border:1px solid var(--line);border-radius:20px;padding:28px 24px;display:grid;gap:14px;box-shadow:0 8px 30px #0d12200f}.auth-card .school{padding:0;margin-top:-8px}.auth-card input{font-size:16px}#meBox{display:grid;gap:8px}@media (max-width:860px){.rolebox{grid-template-columns:1fr}}.auth-card .brand{padding:0}.dhead{position:relative;display:grid;gap:0;min-width:14ch}.hello{font-size:12.5px;font-weight:600;color:var(--fg2);letter-spacing:.01em}.dpick{display:inline-flex;align-items:center;gap:6px;border:0;background:none;padding:2px 4px;margin-left:-4px;border-radius:8px;cursor:pointer;font-family:var(--f-head);font-weight:800;font-size:17px;color:var(--fg)}.dpick:hover{background:var(--ivory)}.dpick svg{width:16px;height:16px;color:var(--fg2)}#datePick{position:absolute;left:0;bottom:0;width:1px;height:1px;opacity:0;pointer-events:none;border:0;padding:0}.ctx{align-items:center}.ctx .seg button{padding:4px 10px;font-size:12px}.topbar{gap:10px 18px}.topbar .actions{display:flex;gap:8px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}.pagehead{display:grid;gap:2px}.pagehead h1{font-size:clamp(22px,2vw,28px)}nav.menu button[aria-current=page]{box-shadow:inset 3px 0 0 var(--purple)}.card.calm{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:center;background:var(--m-green);border-color:transparent}.card.calm h2{margin:0 0 2px}.card.calm .sub{margin:0}.calm-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--card);color:var(--ok-fg)}.calm-icon svg{width:22px;height:22px}.btn{min-height:36px}.btn:focus-visible,.iconbtn:focus-visible{outline:2px solid var(--purple);outline-offset:2px}.need{transition:box-shadow .15s}.need:hover{box-shadow:0 4px 14px #0d12200f}@media (max-width:860px){.topbar .actions{margin-left:0;width:100%;justify-content:flex-start}.topbar .actions .btn:not(.primary) span{display:none}.card.calm{grid-template-columns:auto minmax(0,1fr)}.card.calm .btn{grid-column:1/-1;justify-self:start}aside.side .school{display:none}.rolebox{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px}#meBox{display:flex;align-items:center;gap:10px;flex-wrap:wrap}#roleBox{display:none!important}nav.menu button[aria-current=page]{box-shadow:inset 0 -3px 0 var(--purple)}}@media (prefers-reduced-motion:reduce){.need{transition:none}}details.more{border-top:1px solid var(--line);padding-top:8px}details.more summary{cursor:pointer;font-size:12.5px;font-weight:600;color:var(--fg2);padding:4px 2px}details.more[open] summary{margin-bottom:4px}@media (max-width:860px){.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.stat{min-width:0;padding:8px 10px;flex-direction:column;align-items:flex-start;gap:0}.stat .v{font-size:20px}.stat .l{font-size:11.5px}.pagehead .sub{display:none}}.statbtn{border:0;text-align:left;cursor:pointer;font:inherit;color:inherit;transition:transform .12s,box-shadow .12s}.statbtn:hover{box-shadow:0 4px 14px #0d122014;transform:translateY(-1px)}.detlist{display:grid;gap:6px}.detrow{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:1px solid var(--line);background:var(--card);border-radius:12px;padding:10px 12px;cursor:pointer;font:inherit;color:inherit}div.detrow{cursor:default}button.detrow:hover{border-color:var(--warmgray);background:var(--ivory)}.detrow .grow{flex:1;min-width:0}.detrow .tm{display:grid;min-width:46px;font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:reduce){.statbtn{transition:none}.statbtn:hover{transform:none}}.evbar{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:1px solid var(--line);background:var(--m-blue);border-radius:14px;padding:10px 14px;cursor:pointer;font:inherit;color:inherit}.evbar svg{width:18px;height:18px;color:var(--lib-fg)}.evbar .evtog{margin-left:auto;font-weight:600;color:var(--lib-fg)}.evbar:hover{border-color:var(--lightblue)}.absday{display:grid;gap:4px;padding:14px 16px}.absrow{display:grid;grid-template-columns:minmax(170px,1.2fr) 200px minmax(150px,1.2fr) 130px auto;gap:12px;align-items:center;padding:8px 4px;border-top:1px solid var(--line)}.absrow:first-of-type{border-top:0}.absmain{display:grid;gap:1px;text-align:left;border:0;background:none;padding:4px 6px;margin:-4px -6px;border-radius:10px;cursor:pointer;font:inherit;color:inherit}.absmain:hover{background:var(--ivory)}.bchips{display:flex;gap:4px;flex-wrap:wrap}.bchip{display:inline-block;font-size:11.5px;font-weight:700;border-radius:7px;padding:2px 7px;background:var(--na-bg);color:var(--na-fg)}.bchip.b-OK{background:var(--ok-bg);color:var(--ok-fg)}.bchip.b-ATT{background:var(--att-bg);color:var(--att-fg)}.bchip.b-NC{background:var(--nc-bg);color:var(--nc-fg)}.bchip.b-VERIF{background:var(--warn-bg);color:var(--warn-fg)}.abssub{display:flex;align-items:center;gap:6px;min-width:0}.abssub svg{width:15px;height:15px;flex:none;color:var(--fg2)}.abssub .muted{color:var(--muted)}.absact{justify-self:end}.toolbar .seg button .small{opacity:.7;margin-left:2px}@media (max-width:1180px){.absrow{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px}.absrow .bchips{grid-column:1/-1;grid-row:2}.absrow .abssub{grid-column:1;grid-row:3}.absrow .absstate{grid-column:2;grid-row:1}.absrow .absact{grid-column:2;grid-row:3}}.absrow .absstate{justify-self:start}.abssub span{overflow:hidden;text-overflow:ellipsis}.sortbtn{display:inline-flex;align-items:center;gap:4px;border:0;background:none;padding:0;font:inherit;font-weight:700;color:inherit;cursor:pointer;white-space:nowrap}.sortbtn:hover{color:var(--fg)}.sorti{font-size:10px;color:var(--muted)}.sortbtn[aria-sort=ascending] .sorti,.sortbtn[aria-sort=descending] .sorti{color:var(--purple)}.picklist{display:grid;gap:2px;max-height:240px;overflow:auto;border:1px solid var(--line);border-radius:12px;padding:4px}.pick{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:9px;cursor:pointer}.pick:hover{background:var(--ivory)}.pick span:first-of-type{flex:1;min-width:0}.pick:has(input:checked){background:var(--sel)}.hm-filters{display:grid;gap:8px;margin-top:8px}.hm-filters .seg button{padding:5px 10px;font-size:12px}.hm-person{display:grid;gap:16px}.facts4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.facts4>div{background:var(--ivory);border-radius:12px;padding:10px 12px;display:grid;gap:2px;min-width:0}.facts4 b{font-size:14px;overflow:hidden;text-overflow:ellipsis}.timeline{display:grid;gap:6px}.tl{display:grid;grid-template-columns:54px 46px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:8px 12px;background:var(--card)}.tl-t{font-variant-numeric:tabular-nums;font-weight:700;display:grid;line-height:1.2}.tl-t small{font-weight:500;color:var(--muted);font-size:11px}.tl-c{font-family:var(--f-head);font-weight:800;color:var(--fg2)}.tl-b{display:grid;gap:1px;min-width:0}.tl-diner{grid-template-columns:54px minmax(0,1fr);background:var(--ivory);border-style:dashed;color:var(--muted);padding:5px 12px}.tl-off{background:var(--nc-bg)}@media (max-width:860px){.facts4{grid-template-columns:repeat(2,minmax(0,1fr))}.tl{grid-template-columns:48px 36px minmax(0,1fr)}.tl>.pill{grid-column:3}}.hm-group{position:sticky;top:0;z-index:1;background:var(--card);font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:700;color:var(--muted);padding:8px 10px 4px;border-bottom:1px solid var(--line)}.plan-modes{align-self:start}.plan-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:16px;align-items:start}.plan-grid.with-preview{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) 360px}.plan-col{display:grid;gap:14px}.plan-col h2{margin:0}.req{color:var(--nc-fg);font-weight:600;font-size:11.5px}.mini-sched{display:grid;gap:4px;font-size:13px;background:var(--ivory);border-radius:12px;padding:10px 12px}.devrow{display:grid;gap:4px;margin-top:8px}.devrow .seg{flex-wrap:nowrap;justify-self:start}.devrow input{grid-column:1/-1}.warnline{display:flex;gap:8px;align-items:flex-start;background:var(--warn-bg);color:var(--warn-fg);border:1px solid var(--warn-bd);border-radius:10px;padding:8px 10px;font-size:13px;margin-bottom:6px}.warnline svg{width:16px;height:16px;flex:none;margin-top:1px}.pchips{display:flex;gap:6px;flex-wrap:wrap}.pchip{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:6px 14px;font-weight:700;cursor:pointer;color:var(--fg2)}.pchip svg{width:14px;height:14px}.pchip.ok{background:var(--ok-bg);color:var(--ok-fg);border-color:var(--ok-bd)}.pchip[aria-selected=true]{outline:2px solid var(--fg);outline-offset:1px;color:var(--fg)}.planbar{position:sticky;bottom:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px 16px;box-shadow:0 -6px 20px #0d12200f}.planbar #planStatus{display:inline-flex;align-items:center;gap:6px}.planbar #planStatus svg{width:15px;height:15px;color:var(--ok-fg)}.rep{border-top:1px solid var(--line);padding:12px 0}.rep:first-of-type{border-top:0}.phone-wrap{position:sticky;top:12px}.phone{border:10px solid var(--fg);border-radius:34px;height:720px;overflow:auto;background:var(--bg,#F7F3EC);padding:12px}@media (max-width:1200px){.plan-grid.with-preview{grid-template-columns:1fr 1fr}.phone-wrap{grid-column:1/-1;position:static}.phone{max-width:380px;margin:0 auto}}@media (max-width:820px){.plan-grid,.plan-grid.with-preview{grid-template-columns:1fr}}.sub-view{display:grid;gap:12px;max-width:560px;width:100%;margin:0 auto}.sub-head h2{margin:2px 0;font-size:20px}.sub-alert{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap;border-radius:12px;padding:10px 12px;font-size:14px;font-weight:600}.sub-alert>span{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}.sub-alert svg{width:16px;height:16px;flex:none}.sub-alert.red{background:var(--nc-bg);color:var(--nc-fg);border:1px solid var(--nc-bd)}.sub-alert.yellow{background:var(--warn-bg);color:var(--warn-fg);border:1px solid var(--warn-bd)}.sub-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;background:var(--ivory);border:1px solid var(--line);border-radius:12px;padding:3px;position:sticky;top:0;z-index:4}.sub-tabs button{border:0;background:none;border-radius:9px;padding:9px 4px;font-weight:600;font-size:13px;color:var(--fg2);cursor:pointer}.sub-tabs button[aria-selected=true]{background:var(--card);color:var(--fg);box-shadow:0 1px 3px #0d122014}.progress{display:grid;gap:6px}.progress .bar{height:8px;border-radius:99px;background:var(--line);overflow:hidden}.progress .bar i{display:block;height:100%;background:var(--ok-fg);border-radius:99px;transition:width .3s}.pcard{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}.pcard.open{border-color:var(--fg2);box-shadow:0 6px 18px #0d122012}.pcard-h{display:flex;align-items:center;gap:12px;width:100%;border:0;background:none;text-align:left;padding:12px 14px;cursor:pointer;color:inherit;font:inherit;min-height:56px}.pcard-h .tm{display:grid;min-width:62px}.pcard-h .grow{display:grid;flex:1;min-width:0}.pcard-b{display:grid;gap:10px;padding:12px 14px 14px;border-top:1px solid var(--line)}.pcard-b .btn{min-height:44px;flex:1;justify-content:center}.pl{display:grid;gap:2px}.pl .lbl{font-size:12px}.sub-list{display:grid;gap:12px}.calm{display:flex;gap:12px;align-items:center}@media (max-width:600px){.sub-view{gap:10px}.sub-tabs button{font-size:12px;padding:9px 2px}}.vuecards{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.vuecard{display:grid;gap:2px;text-align:left;border:1px solid var(--line);background:var(--ivory);border-radius:14px;padding:10px 14px;cursor:pointer;color:var(--fg2);font:inherit;font-weight:600}.vuecard .n{font-size:22px;font-weight:800;color:var(--fg)}.vuecard[aria-pressed=true]{background:var(--card);border-color:var(--fg);color:var(--fg);box-shadow:0 2px 8px #0d122014}table.list select[data-adrole]{min-width:170px}table.list select[data-adlink]{min-width:190px}.vuecards{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.linkbtn{border:0;background:none;padding:0;font:inherit;color:var(--fg);cursor:pointer;text-align:left;text-decoration:underline;text-decoration-color:var(--line2);text-underline-offset:3px}.linkbtn:hover{text-decoration-color:var(--fg)}.thsort{border:0;background:none;padding:0;font:inherit;font-weight:inherit;color:inherit;cursor:pointer;white-space:nowrap}.thsort[aria-pressed=true]{color:var(--fg)}table.list input.fonction{margin-top:6px;width:100%;min-width:190px;font-size:12.5px;padding:5px 8px}.classer{display:flex;align-items:center;gap:6px;margin-top:4px}.classer select{font-size:12px;padding:3px 6px}.vuefixe{display:inline-block;padding:7px 12px;border:1px solid var(--line);border-radius:12px;background:var(--ivory);font-weight:600;white-space:nowrap}.calev.perso{background:var(--comp-bg,#EEE8F7);color:var(--comp-fg,#5B3F8C);border-left:3px solid currentColor}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.htile{display:grid;gap:2px;justify-items:start;text-align:left;border:1px solid var(--line);background:var(--card);border-radius:16px;padding:12px 14px;cursor:pointer;font:inherit;color:var(--fg);box-shadow:0 1px 2px #0d12200a}.htile svg{width:18px;height:18px;color:var(--fg2);margin-bottom:4px}.htile b{font-size:16px}.htile:hover{border-color:var(--fg2)}.htile.t-ATT{background:var(--att-bg);border-color:var(--att-bd)}.htile.t-NC{background:var(--nc-bg);border-color:var(--nc-bd)}.subapp{display:grid;gap:12px;max-width:620px;width:100%;margin:0 auto;padding-bottom:84px}.sub-hello{background:linear-gradient(135deg,var(--card),var(--ivory));border:1px solid var(--line);border-radius:var(--r);padding:16px 18px}.sub-hello h1{margin:0;font-size:24px}.sub-alert{flex-direction:column;align-items:flex-start}.sub-alert .msg{font-weight:500}.sub-alert.blue{background:var(--lib-bg,#E3ECF7);color:var(--lib-fg,#2B4D7A);border:1px solid currentColor}.subbody{display:grid;gap:12px}.checklist{display:grid;gap:6px}.chk{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--card);cursor:pointer;min-height:44px}.chk input{width:20px;height:20px;margin-top:1px;flex:none;accent-color:var(--ok-fg)}.chk.done{background:var(--ok-bg);border-color:var(--ok-bd)}.chk.done span{text-decoration:line-through;text-decoration-color:var(--ok-bd)}.sub-tl{display:grid;gap:8px}.tlrow{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px;align-items:start}.tlrow>.tm{font-size:12px;font-weight:700;color:var(--fg2);padding-top:14px;font-variant-numeric:tabular-nums}.tlrow.past>.tm{opacity:.55}.tlrow.now>.tm{color:var(--att-fg)}.tlrow.now .pcard{border-color:var(--att-bd);box-shadow:0 0 0 3px var(--att-bg)}.pcard.mini{display:flex;gap:10px;align-items:center;padding:10px 14px;background:var(--ivory)}.tlrow.pause .pcard.mini{border-style:dashed}.tlrow.garde .pcard.mini{background:var(--warn-bg);border-color:var(--warn-bd)}.endcard{display:flex;gap:10px;align-items:center;width:100%;text-align:left;padding:12px 14px;background:var(--ok-bg);border-color:var(--ok-bd);cursor:pointer;font:inherit;color:inherit}.endcard svg{width:20px;height:20px}.steps{margin:0;padding-left:20px;display:grid;gap:6px}details.guide summary{display:flex;gap:8px;align-items:center;cursor:pointer;list-style:none}details.guide summary svg{width:18px;height:18px;color:var(--fg2)}.bellgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}table.bells td{padding:5px 8px}.minical{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.minical .h{font-size:11px;font-weight:700;color:var(--fg2)}.minical .d{padding:7px 0;border-radius:10px;font-size:13px;font-variant-numeric:tabular-nums}.minical .d.out{opacity:.35}.minical .d.today{outline:2px solid var(--fg)}.minical .d.worked,.dot.worked{background:var(--ok-bg);color:var(--ok-fg);font-weight:700}.minical .d.coming,.dot.coming{background:var(--att-bg);color:var(--att-fg);font-weight:700}.dot{display:inline-block;width:12px;height:12px;border-radius:4px;vertical-align:middle}.evalbox{display:grid;gap:10px;border-top:1px solid var(--line);padding-top:12px}.evalbox h2{margin:0}.topbar[hidden]{display:none}.subapp{gap:14px}.herowrap{border-radius:22px;overflow:hidden;box-shadow:0 8px 24px #0d12201a}.sub-hero{background:var(--navy);color:#fff;padding:18px 20px 20px;display:grid;gap:2px}.sub-hero .hello{font-size:13px;opacity:.8}.sub-hero .chip{font-size:12px;font-weight:700;border:1px solid rgba(255,255,255,.45);border-radius:999px;padding:3px 10px;white-space:nowrap}.sub-hero .k{margin-top:10px;font-size:15px;opacity:.85}.sub-hero h1{margin:0;font-size:26px;line-height:1.15;color:#fff}.sub-hero .d{font-size:15px;opacity:.9}.sub-strip{background:var(--nc-fg);color:#fff;padding:12px 20px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:15px}.sub-strip svg{width:18px;height:18px}.sub-strip .btn{margin-left:auto;background:#fff;color:var(--nc-fg);border-color:#fff}.sub-note{display:grid;gap:6px;justify-items:start;border-radius:16px;padding:14px 16px;border:1.5px solid}.sub-note.yellow{background:var(--warn-bg);border-color:var(--warn-bd);color:var(--fg)}.sub-note.blue{background:var(--lib-bg,#E3ECF7);border-color:var(--lib-fg,#2B4D7A);color:var(--fg)}.sub-note.red{background:var(--nc-bg);border-color:var(--nc-bd);color:var(--fg)}.btn.dark{background:var(--navy);color:#fff;border-color:var(--navy)}.sub-list2{display:grid;gap:10px}.sub-list2 .pcard{border-radius:16px;border:1.5px solid var(--line)}.sub-list2 .pcard-h{padding:14px 16px}.sub-list2 .pcard-h b{font-size:16px}.sub-list2 .pcard.now{border:2px solid var(--navy);box-shadow:0 6px 18px #0d12201a}.sub-list2 .pcard.past{opacity:.8}.sub-list2 .pcard-b{border-top:1px solid var(--line);margin:0 16px;padding:12px 0 16px}.pcard.mini{display:flex;align-items:center;gap:10px;padding:14px 16px;background:var(--card)}.pcard.mini.now{border:2px solid var(--navy)}.pcard.mini .grow{display:grid}.tchip{font-size:12.5px;font-weight:700;background:var(--ivory);border:1px solid var(--line);border-radius:999px;padding:3px 10px;white-space:nowrap}.st{font-size:12.5px;font-weight:700;border-radius:999px;padding:3px 10px;background:var(--ivory);color:var(--fg2);white-space:nowrap;display:inline-flex;align-items:center;gap:4px}.st svg{width:14px;height:14px}.st.ok{background:var(--ok-bg);color:var(--ok-fg)}.st.part{background:var(--att-bg);color:var(--att-fg)}.st.now{background:var(--navy);color:#fff}.clines{display:grid;gap:2px}.cline{display:flex;gap:10px;align-items:center;padding:8px 0;cursor:pointer;font-size:15px}.cline svg,.iline svg{width:18px;height:18px;color:var(--fg2);flex:none}.cline input{width:22px;height:22px;accent-color:var(--ok-fg);flex:none}.cline.done .grow{text-decoration:line-through;color:var(--fg2)}.iline{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;padding:4px 0}.endcard{border-radius:16px}.repform{display:grid;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:18px}.lbl2{font-size:15px;font-weight:700;color:var(--fg);margin-bottom:4px}.perlist{display:grid}.perrow{display:flex;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);font-size:15px}.perrow .st{background:none;padding:0;font-size:14px}.btn.big{width:100%;justify-content:center;min-height:52px;font-size:16px;border-radius:14px}.locknote{display:flex;gap:6px;align-items:center;justify-content:center;margin:0}.locknote svg{width:14px;height:14px}@media (max-width:380px){.subnav button{font-size:11px;gap:3px}.subnav .dot{width:7px;height:7px}}.sub-hero .hello,.sub-hero .k,.sub-hero .d,.sub-hero .chip{color:#fff}.sub-hero{background:linear-gradient(135deg,var(--navy) 0%,#26324D 100%)}.cline .grow,.pcard.mini .grow,.perrow .grow{flex:1;min-width:0}.repform .field>label.lbl2{font-size:15px;font-weight:700;color:var(--fg)}.subdesk{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:26px;align-items:start;max-width:1180px;width:100%;margin:0 auto}.subdesk.solo{grid-template-columns:minmax(0,1fr)}.subdesk .subapp{max-width:none;padding-bottom:0}.subtools{display:flex;justify-content:flex-end}.phonecap{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;padding:0 6px}.phonetoggle svg{width:16px;height:16px}.submain .subnav{display:none}.phone{border:10px solid var(--navy);border-radius:40px;height:740px;overflow:auto;background:var(--bg);padding:12px 12px 0;scrollbar-width:none}.phone::-webkit-scrollbar{display:none}.phone .subapp{padding-bottom:0;max-width:none}.phone .sub-hero h1{font-size:22px}.alertband{border-radius:18px;border:1.5px solid;overflow:hidden}.alertband.yellow{background:var(--warn-bg);border-color:var(--warn-bd);color:var(--warn-fg)}.alertband.blue{background:var(--lib-bg,#E3ECF7);border-color:var(--lib-fg,#2B4D7A);color:var(--lib-fg,#2B4D7A)}.alertband.red{background:var(--nc-fg);border-color:var(--nc-fg);color:#fff}.alertband-h{display:flex;align-items:center;gap:12px;width:100%;border:0;background:none;padding:12px 14px;font:inherit;color:inherit;text-align:left;cursor:pointer}.alertband-h>svg{width:22px;height:22px;flex:none}.alertband-h .grow{display:grid;min-width:0;flex:1}.alertband-h .grow .small{color:inherit;opacity:.85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alertband.open .alertband-h .grow .small{white-space:normal}.alertband-b{display:grid;gap:8px;padding:0 10px 10px}.alertband-b .sub-note{background:var(--card);color:var(--fg);border-color:transparent}.bell{position:relative;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.45);background:#ffffff1f;color:#fff;cursor:pointer;flex:none}.bell svg{width:17px;height:17px}.bell i{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--nc-fg);color:#fff;font-style:normal;font-size:11px;font-weight:800;display:grid;place-items:center;border:2px solid var(--navy)}.sub-strip{display:grid;gap:2px;justify-items:start}.sub-strip b{display:flex;gap:8px;align-items:center}.sub-strip .small{color:#fff;opacity:.9}.subnav{position:sticky;bottom:10px;z-index:30;display:grid;grid-template-columns:repeat(6,1fr);gap:2px;margin:12px 0 0;padding:6px;background:color-mix(in srgb,var(--card) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:22px;box-shadow:0 10px 28px #0d122024;max-width:none}.subnav button{display:grid;justify-items:center;gap:3px;border:0;background:none;padding:8px 2px 6px;font:inherit;font-size:10px;font-weight:600;color:var(--fg2);cursor:pointer;border-radius:16px;min-height:50px;transition:background .15s,color .15s}.subnav button svg{width:20px;height:20px}.subnav button span{letter-spacing:.01em}.subnav button:hover{background:var(--ivory)}.subnav button[aria-current=page]{background:var(--navy);color:#fff;font-weight:700}.subnav .dot{display:none}.phone .subnav{margin:12px -2px 0}@media (max-width:1180px){.subdesk,.subdesk.solo{grid-template-columns:minmax(0,1fr)}.subdesk>.phone-wrap,.subtools{display:none}}@media (max-width:899px){.submain .subnav{display:grid;position:fixed;left:0;right:0;bottom:0;margin:0;border-radius:0;border-left:0;border-right:0;border-bottom:0;padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px));box-shadow:0 -8px 24px #0d122014;z-index:70}.subdesk .subapp{padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))}body.has-drawer .submain .subnav{display:none}}.auth-split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);width:min(960px,100%);background:var(--card);border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 14px 44px #0d12201a}.auth-photo{background:url(../connexion.webp) center/cover no-repeat;min-height:520px;position:relative}.auth-photo:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 90%,var(--card) 100%)}.auth-split .auth-card{width:auto;border:0;border-radius:0;box-shadow:none;padding:40px 36px;align-content:center}@media (max-width:760px){.auth-split{grid-template-columns:1fr}.auth-photo{min-height:180px}.auth-photo:after{background:linear-gradient(180deg,transparent 60%,var(--card) 100%)}.auth-split .auth-card{padding:24px 20px}}.detrow,.pcard,.btab,.htile,.vuecard,.need,.absrow,.evbar,.planbar,.repform,.sub-note,.chk,.hm-group,.metric{border-color:var(--line2)}.detrow,.btab,.htile,.evbar{box-shadow:0 1px 2px #0d12200d}.evlist li{border:1px solid var(--line2);background:var(--card);box-shadow:0 1px 2px #0d12200d}.evopen{border:0;background:none;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer;text-decoration:underline;text-decoration-color:var(--line2);text-underline-offset:3px}.evopen:hover{text-decoration-color:var(--fg)}.box{border:1px solid var(--line)}.evpick{max-height:300px}.evp .evmodes{display:none;margin:0 10px 8px 38px;padding:2px}.evp:has(input[name=evWho]:checked) .evmodes{display:inline-flex}.evp:has(input[name=evWho]:checked){background:var(--ivory);border-radius:10px}.evmodes label{display:inline-flex}.evmodes input{position:absolute;opacity:0;width:0;height:0}.evmodes span{border-radius:9px;padding:5px 10px;font-weight:600;font-size:12.5px;color:var(--fg2);cursor:pointer}.evmodes input:checked+span{background:var(--card);color:var(--fg);box-shadow:0 1px 3px #0d122014}.evmodes input:focus-visible+span{outline:2px solid var(--fg)}.dropzone{display:flex;align-items:center;gap:14px;border:2px dashed var(--line2);border-radius:16px;padding:26px 20px;cursor:pointer;background:var(--ivory);color:var(--fg2)}.dropzone svg{width:26px;height:26px;color:var(--fg)}.dropzone:hover,.dropzone.over{border-color:var(--fg);background:var(--card)}.passmap{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}table.list tr.bad td{background:var(--nc-bg)}.btn.install{justify-content:center;width:100%;margin-bottom:8px}.installhelp{border:1px dashed var(--line2);border-radius:12px;padding:8px 10px;margin-bottom:8px}.installhelp summary{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:600;font-size:13px;list-style:none}.installhelp summary svg{width:16px;height:16px}.installhelp p{margin:6px 0 0}.half{border:1px solid var(--line2);border-radius:12px;padding:8px 10px;display:grid;gap:6px;background:var(--ivory)}.half .small .pill{margin-left:4px}nav.menu button[data-nav=passerelle],nav.menu button[data-nav=messagerie]{background:var(--comp-bg);color:var(--comp-fg)}nav.menu button[data-nav=passerelle][aria-current=page],nav.menu button[data-nav=messagerie][aria-current=page]{background:var(--purple);color:#fff}nav.menu button[data-nav=passerelle][aria-current=page] svg,nav.menu button[data-nav=messagerie][aria-current=page] svg{color:#fff}.msg-grid{display:grid;grid-template-columns:minmax(0,1fr) 460px;gap:32px;align-items:start}.msgphone{height:860px;width:420px;margin:0 auto;border-width:12px;border-radius:46px;padding:14px 12px 10px;display:flex;flex-direction:column}.msgphone .subapp{flex:1;display:grid;grid-template-rows:auto auto auto auto auto 1fr;gap:12px}.msgphone .subnav{align-self:end;position:static;margin-top:auto}.msg-grid .phone{font-size:16px}.msg-grid .phone .sub-hero h1{font-size:24px}.msg-grid .phone .sub-note span,.msg-grid .phone .alertband-h .grow b{font-size:16px}@media (max-width:1180px){.msg-grid{grid-template-columns:minmax(0,1fr) 400px;gap:20px}.msgphone{width:380px;height:800px}}@media (max-width:1000px){.msg-grid{grid-template-columns:1fr}.msg-grid aside{max-width:440px;width:100%;margin:0 auto}}.seg.wrap button{display:inline-flex;align-items:center;gap:6px}.seg .cnt{font-size:11px;font-weight:700;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:0 6px;color:var(--fg2)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip2{font-size:12.5px;border:1px solid var(--line2);border-radius:999px;padding:3px 10px;background:var(--card)}.chip2.ok{background:var(--ok-bg);border-color:var(--ok-bd);color:var(--ok-fg)}.btn.primary.danger{background:var(--nc-fg);border-color:var(--nc-fg)}.msg{border:1.5px solid var(--line2);border-radius:16px;background:var(--card);overflow:hidden}.msg.red{border-color:var(--nc-bd)}.msg.yellow{border-color:var(--warn-bd)}.msg.ice{border-color:#9db8d6}.msg-h{display:flex;gap:14px;align-items:center;width:100%;border:0;background:none;padding:12px 14px;text-align:left;font:inherit;color:inherit;cursor:pointer}.msg-h .grow{display:grid;gap:4px;min-width:0;flex:1}.readstat{display:grid;gap:3px;min-width:130px;text-align:right;justify-items:end}.readstat .bar{width:120px;height:6px;border-radius:99px;background:var(--line);overflow:hidden}.readstat .bar i{display:block;height:100%;background:var(--ok-fg)}.msg-b{border-top:1px solid var(--line);padding:12px 14px}.msglist{display:grid;gap:10px}.sub-note.read{opacity:.7}.sub-note.ice,.alertband.ice{background:#e6f0f8;border-color:#7fa4c9;color:#234b73}.alertband.ice{color:#234b73}.recips summary{cursor:pointer}.chip2.noapp{background:var(--warn-bg);border-color:var(--warn-bd);color:var(--warn-fg);display:inline-flex;align-items:center;gap:4px}.chip2.noapp svg{width:13px;height:13px}.noapp-box{background:var(--warn-bg);border:1px solid var(--warn-bd);border-radius:12px;padding:10px 12px;display:grid;gap:8px;justify-items:start}.noapp-box .lbl{display:flex;align-items:center;gap:6px;color:var(--warn-fg)}.noapp-box .lbl svg{width:15px;height:15px}.noapp-note{display:flex;gap:6px;align-items:flex-start;margin:6px 0 0;color:var(--warn-fg)}.noapp-note svg{width:14px;height:14px;flex:none;margin-top:2px}.btn.small{padding:4px 9px;font-size:12px;min-height:0}.btn.small svg{width:13px;height:13px}.composer{display:grid;gap:14px}.step{display:flex;align-items:center;gap:10px}.step .n{width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:800;font-size:13px;flex:none}.step h2{margin:0}.kinds{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.kind{display:grid;gap:3px;justify-items:start;text-align:left;border:1.5px solid var(--line2);background:var(--card);border-radius:14px;padding:10px 12px;cursor:pointer;font:inherit;color:var(--fg)}.kind svg{width:18px;height:18px;color:var(--fg2)}.kind .small{line-height:1.3}.kind:hover{border-color:var(--fg2)}.kind.on{border-color:var(--navy);box-shadow:0 0 0 3px var(--ivory)}.kind.red.on{border-color:var(--nc-fg);background:var(--nc-bg)}.kind.red.on svg{color:var(--nc-fg)}.kind.yellow.on{border-color:var(--warn-bd);background:var(--warn-bg)}.kind.yellow.on svg{color:var(--warn-fg)}.kind.blue.on{background:var(--lib-bg,#E3ECF7)}.kind.blue.on svg{color:var(--lib-fg,#2B4D7A)}.kind.ice.on{border-color:#7fa4c9;background:#e6f0f8}.kind.ice.on svg{color:#234b73}.tos{display:flex;flex-wrap:wrap;gap:8px}.to{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--line2);background:var(--card);border-radius:999px;padding:7px 8px 7px 14px;cursor:pointer;font:inherit;font-weight:600;color:var(--fg2)}.to b{min-width:26px;height:22px;padding:0 7px;border-radius:999px;background:var(--ivory);display:grid;place-items:center;font-size:12px;color:var(--fg)}.to.empty{opacity:.55}.to.on{border-color:var(--navy);color:var(--fg);background:var(--ivory)}.to.on b{background:var(--navy);color:#fff}.hint{margin:0;padding:8px 10px;background:var(--ivory);border-radius:10px}.recipsum{display:grid;gap:6px}.chip2.more{background:var(--ivory);color:var(--fg2)}.tpls{display:flex;flex-wrap:wrap;gap:6px}.tpl{border:1px dashed var(--line2);background:var(--ivory);border-radius:10px;padding:6px 10px;font:inherit;font-size:12.5px;color:var(--fg2);cursor:pointer;text-align:left;max-width:100%}.tpl:hover{border-color:var(--fg);color:var(--fg)}.sendbar{position:sticky;bottom:10px;z-index:5;display:flex;align-items:center;gap:12px;background:var(--card);border:1.5px solid var(--line2);border-radius:16px;padding:12px 16px;box-shadow:0 -6px 20px #0d122014}.sendbar.red{border-color:var(--nc-bd);background:var(--nc-bg)}.sendbar.yellow{border-color:var(--warn-bd);background:var(--warn-bg)}.sendbar.ice{border-color:#7fa4c9;background:#e6f0f8}.msg-side{position:sticky;top:12px}.msgday{display:grid;gap:8px}.msgday>.lbl{margin-top:6px}.msg-h{align-items:center}.msg-h>svg{width:18px;height:18px;color:var(--fg2);flex:none}.msgtext{font-weight:600}.ring{--p:0;width:48px;height:48px;border-radius:50%;flex:none;display:grid;place-items:center;background:conic-gradient(var(--ok-fg) calc(var(--p)*1%),var(--line) 0)}.ring b{width:38px;height:38px;border-radius:50%;background:var(--card);display:grid;place-items:center;font-size:11px}.ring.done{background:var(--ok-fg)}.ring.done b{color:var(--ok-fg)}.kindtag{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;border-radius:999px;padding:2px 9px;background:var(--lib-bg,#E3ECF7);color:var(--lib-fg,#2B4D7A)}.kindtag svg{width:13px;height:13px}.kindtag.red{background:var(--nc-bg);color:var(--nc-fg)}.kindtag.yellow{background:var(--warn-bg);color:var(--warn-fg)}.kindtag.ice{background:#e6f0f8;color:#234b73}.msg.open{box-shadow:0 8px 24px #0d122014}.ok-line{display:flex;gap:6px;align-items:center;margin:0;color:var(--ok-fg)}.ok-line svg{width:15px;height:15px}#msgSearch{min-width:220px}.btn.primary.danger{background:var(--nc-fg)!important;background-image:none!important;color:#fff!important;border-color:var(--nc-fg)!important}.btn.primary.danger svg{color:#fff}.mobnav{display:none}.sideclose{display:none;margin-left:auto}.menubtn{display:none}@media (max-width:860px){aside.side{display:none}body.menu-open aside.side{display:flex;position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;height:100vh;overflow:auto;padding:18px 16px 110px;background:var(--offwhite)}body.menu-open nav.menu{display:grid;overflow:visible}body.menu-open nav.menu button{white-space:normal;padding:12px;font-size:16px}body.menu-open{overflow:hidden}.sideclose{display:grid;place-items:center;width:36px;height:36px;font-size:22px;line-height:1}.menubtn{display:grid}.mobnav{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:0;position:fixed;left:0;right:0;bottom:0;z-index:70;padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb,var(--card) 96%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);box-shadow:0 -8px 24px #0d122014}.mobnav button{position:relative;display:grid;justify-items:center;align-content:center;gap:3px;border:0;background:none;border-radius:14px;min-height:54px;padding:6px 2px 4px;font:inherit;font-size:10px;font-weight:600;letter-spacing:0;color:var(--fg2);cursor:pointer;transition:background .15s,color .15s}.mobnav button span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.1}.mobnav button svg{width:22px;height:22px}.mobnav button[aria-current=page]{background:var(--navy);color:#fff}.mobnav button:active{transform:scale(.97)}.mobnav .dot{position:absolute;top:4px;right:calc(50% - 20px);min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--nc-fg);color:#fff;font-style:normal;font-size:10px;font-weight:800;display:grid;place-items:center;border:2px solid var(--card)}body.has-drawer .mobnav,body.menu-open .mobnav{display:none}.content{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}.subdesk .subapp{padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))}.drawer{width:100%;border-left:0}.drawer-b{padding-bottom:calc(30px + env(safe-area-inset-bottom,0px))}.toast{bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:75}}.dwrap{position:relative;display:inline-flex;align-items:center}@media (max-width:860px){#datePick{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;pointer-events:auto;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:16px}}.hm-layout>*,.hm-person>*,.content>*{min-width:0;max-width:100%}.gridwrap{max-width:100%}.hamb{display:none}@media (max-width:860px){.topbar{position:sticky;top:0;z-index:40;background:var(--navy);color:#fff;border-bottom:0;padding:10px 12px;gap:8px 12px;-webkit-backdrop-filter:none;backdrop-filter:none}.topbar .hamb{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#ffffff1f;color:#fff;border:0;flex:none}.topbar .hamb svg{width:22px;height:22px}.topbar .small,.topbar .dpick,.topbar .datenav .d,.topbar label{color:#fff}.topbar .small{opacity:.8}.topbar .dpick svg{color:#fffc}.topbar .dpick:hover{background:#ffffff1a}.topbar .btn:not(.primary){background:#ffffff1a;color:#fff;border-color:#ffffff59}.topbar .btn:not(.primary) svg{color:#fff}.topbar .btn.primary{background:#fff;color:var(--navy);border-color:#fff}.topbar .seg{background:#ffffff1f;border-color:#ffffff40}.topbar .seg button{color:#ffffffd9}.topbar .seg button[aria-pressed=true]{background:#fff;color:var(--navy)}.topbar .pill{background:#ffffff29;color:#fff}.topbar .iconbtn:not(.hamb){color:#fff;border-color:#ffffff59}}.tb1,.tb2{display:contents}@media (max-width:860px){.topbar{display:grid;padding:0;gap:0;background:var(--navy)}.tb1{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--navy)}.tb1 .datenav{flex:1;min-width:0}.tb2{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:8px 12px 10px;background:#2e3d5c;border-top:1px solid rgba(255,255,255,.08)}.tb2 .ctx{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.tb2 .actions{margin-left:auto}}.bc-btn{margin-top:0;display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:var(--card);border-radius:14px;padding:8px 10px;cursor:pointer;font:inherit;color:var(--fg);text-align:left}.bc-btn:hover{border-color:var(--fg2)}.bc-mark{width:30px;height:30px;border-radius:9px;flex:none;object-fit:cover;display:block}.bc-mark.big{width:40px;height:40px;border-radius:12px;font-size:19px}.bc-txt{display:grid;line-height:1.2}.bc-txt span{font-size:11.5px;color:var(--fg2)}@media (max-width:860px){body.menu-open .bc-btn{margin-top:12px}}.gen-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.routs{display:grid;gap:8px}.rout{display:flex;gap:12px;align-items:center;border:1.5px solid var(--line2);border-radius:14px;padding:10px 12px;background:var(--card);cursor:text}.rout.on{border-color:var(--ok-bd);background:var(--ok-bg)}.rico{width:36px;height:36px;border-radius:11px;background:var(--ivory);display:grid;place-items:center;flex:none;color:var(--fg2)}.rico svg{width:18px;height:18px}.rout.on .rico{background:var(--card);color:var(--ok-fg)}.rbody{display:grid;gap:4px;flex:1;min-width:0}.rbody b{font-size:13.5px}.rbody input{border:0;background:transparent;padding:0;font-size:14.5px;color:var(--fg);width:100%}.rbody input::placeholder{color:var(--muted)}.rbody input:focus{outline:none}.rout:focus-within{border-color:var(--navy);box-shadow:0 0 0 3px var(--ivory)}.devs{display:grid;gap:10px}.dev{border:1.5px solid var(--line2);border-radius:14px;padding:10px 12px;display:grid;gap:8px;background:var(--card)}.dev .dhead{display:flex;gap:12px;align-items:center}.dev.interdit{border-color:var(--nc-bd)}.dev.precis{border-color:var(--warn-bd)}.dev.permis{border-color:var(--ok-bd)}.devchoice{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.dc{display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1.5px solid var(--line);background:var(--ivory);border-radius:10px;padding:8px 6px;font:inherit;font-weight:600;font-size:13px;color:var(--fg2);cursor:pointer}.dc svg{width:14px;height:14px}.dc.interdit[aria-pressed=true]{background:var(--nc-bg);color:var(--nc-fg);border-color:var(--nc-bd)}.dc.precis[aria-pressed=true]{background:var(--warn-bg);color:var(--warn-fg);border-color:var(--warn-bd)}.dc.permis[aria-pressed=true]{background:var(--ok-bg);color:var(--ok-fg);border-color:var(--ok-bd)}.warnline.strong{background:var(--nc-bg);color:var(--nc-fg);border-color:var(--nc-bd);align-items:center}.warnline.strong svg{width:18px;height:18px}.besoins textarea{border-color:var(--line2)}.pl div{white-space:pre-line}@media (max-width:900px){.gen-grid{grid-template-columns:1fr}}.grps{display:grid;gap:8px}.grps.compact{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.grp{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1.5px solid var(--line2);border-radius:12px;padding:9px 12px;background:var(--card);cursor:pointer;font:inherit;color:var(--fg);text-align:left}.grp.ok{border-color:var(--ok-bd)}.grp.on{border-color:var(--navy);background:var(--ivory);box-shadow:0 0 0 3px var(--ivory)}.grp .days{display:inline-flex;gap:4px}.grp .days i{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:11px;font-weight:700;background:var(--ivory);color:var(--fg2);border:1px solid var(--line)}.grp .days i.on{background:var(--ok-bg);color:var(--ok-fg);border-color:var(--ok-bd)}.datechips{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:6px}.dchip{display:grid;gap:1px;text-align:left;border:1.5px solid var(--line2);border-radius:12px;padding:8px 10px;background:var(--card);cursor:pointer;font:inherit;color:var(--fg)}.dchip.abs{border-style:dashed;border-color:var(--att-bd)}.dchip.on{border-color:var(--navy);background:var(--ivory);border-style:solid}.pchip small{font-weight:500;color:var(--fg2);margin-left:4px}.pchip.ok small{color:var(--ok-fg)}.sq{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border:1px solid var(--line);border-radius:12px;padding:8px 12px}.stars{display:inline-flex;gap:2px}.star{border:0;background:none;font-size:24px;line-height:1;color:var(--line2);cursor:pointer;padding:0 2px}.star.on{color:#d9a441}.star:hover{transform:scale(1.1)}.plancal .d{border:0;background:none;font:inherit;cursor:pointer;color:var(--fg)}.plancal .d.off{color:var(--muted);cursor:default}.plancal .d.abs{box-shadow:inset 0 0 0 2px var(--att-bd)}.plancal .d.sent{background:var(--ok-bg);color:var(--ok-fg)}.plancal .d.on{background:var(--navy);color:#fff;font-weight:700}.dot.sel{background:var(--navy)}.dot.abs{box-shadow:inset 0 0 0 2px var(--att-bd);background:var(--card)}.dot.sent{background:var(--ok-bg)}.daycard{gap:10px}.absentico{padding:8px 12px;border:1px dashed var(--line2);border-radius:12px;font-weight:600}.absentico input{width:18px;height:18px;accent-color:var(--ok-fg)}.pcourse.ok{border-color:var(--ok-bd)}.pcourse .pcard-h .tm{min-width:52px}.files{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px}.chip2.file{display:inline-flex;align-items:center;gap:6px;background:var(--ivory)}.chip2.file svg{width:14px;height:14px}.chip2.file .x{border:0;background:none;font-size:16px;line-height:1;cursor:pointer;color:var(--fg2);padding:0 2px}.filebtn{cursor:pointer}.plan-modes .cnt{font-size:11px;font-weight:700;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:0 6px;color:var(--fg2);margin-left:4px}.rolebox{margin-top:auto}@media (max-width:860px){body.menu-open .rolebox{margin-top:12px}}.coursetabs{display:flex;flex-wrap:wrap;gap:8px}.ctab{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--line2);background:var(--card);border-radius:999px;padding:8px 14px;cursor:pointer;font:inherit;color:var(--fg2)}.ctab svg{width:15px;height:15px}.ctab .small{color:inherit;opacity:.8}.ctab.ok{border-color:var(--ok-bd)}.ctab.on{background:var(--navy);color:#fff;border-color:var(--navy)}.routs2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px}.rout2{display:flex;gap:12px;align-items:flex-start;border:1.5px solid var(--line2);border-radius:14px;padding:12px;background:var(--card)}.rout2.on{border-color:var(--ok-bd);background:var(--ok-bg)}.rout2.on .rico{background:var(--card);color:var(--ok-fg)}.rbody2{display:grid;gap:6px;flex:1;min-width:0}.rbody2 label{font-size:13px;font-weight:700;color:var(--fg)}.rbody2 input{width:100%;border:1.5px solid var(--line2);border-radius:10px;padding:10px 12px;background:var(--ivory);font-size:14.5px;color:var(--fg)}.rbody2 input::placeholder{color:var(--muted);font-style:italic}.rbody2 input:focus{background:var(--card);border-color:var(--navy);outline:none;box-shadow:0 0 0 3px var(--ivory)}.devs.row3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.routs3{display:grid;gap:12px}.rout3{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:start;border:1.5px solid var(--line2);border-radius:16px;padding:14px;background:var(--card)}.rout3.on{border-color:var(--ok-bd)}.rout3.on .rico{background:var(--ok-bg);color:var(--ok-fg)}.rbody3{display:grid;gap:8px;min-width:0}.rbody3 label{font-size:15px;font-weight:700;color:var(--fg)}.sugs{display:flex;flex-wrap:wrap;gap:6px}.sug{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--line2);background:var(--ivory);border-radius:999px;padding:6px 12px 6px 8px;font:inherit;font-size:13px;color:var(--fg2);cursor:pointer;text-align:left}.sug svg{width:14px;height:14px;opacity:.25}.sug:hover{border-color:var(--fg2);color:var(--fg)}.sug.on{background:var(--ok-bg);border-color:var(--ok-bd);color:var(--ok-fg)}.sug.on svg{opacity:1}.rbody3 textarea{width:100%;border:1.5px solid var(--line2);border-radius:12px;padding:10px 12px;background:var(--card);font-size:14.5px;line-height:1.45;color:var(--fg);resize:vertical;min-height:58px}.rbody3 textarea::placeholder{color:var(--muted);font-style:italic}.rbody3 textarea:focus{border-color:var(--navy);outline:none;box-shadow:0 0 0 3px var(--ivory)}@media (max-width:600px){.rout3{grid-template-columns:1fr}.rout3 .rico{display:none}}.arrivee h2{display:flex;align-items:center;gap:10px}.arr-ic{width:30px;height:30px;border-radius:9px;background:var(--ivory);display:grid;place-items:center;color:var(--fg)}.arr-ic svg{width:16px;height:16px}.arrivee .bar{height:8px;border-radius:99px;background:var(--line);overflow:hidden;margin:10px 0 14px}.arrivee .bar i{display:block;height:100%;background:var(--ok-fg);border-radius:99px}.checklist.big .chk{border:0;background:none;padding:10px 4px;font-size:16px;min-height:0}.checklist.big .chk input{width:24px;height:24px;border-radius:6px}.checklist.big .chk.done{background:none}.checklist.big .chk.done span{text-decoration:none;color:var(--fg2)}.pcard.mini.pause{background:var(--ivory);border-style:dashed;border-color:var(--line2);color:var(--fg2);pointer-events:none;padding:9px 16px}.pcard.mini.pause b{font-weight:600;color:var(--fg2)}.pcard.mini.pause .tchip{background:var(--card)}.pcard.mini.pause.now{border-style:solid;border-color:var(--navy);color:var(--fg)}.evalcard{background:var(--comp-bg);border-color:var(--comp-bd)}.evalcard .seg,.evalcard textarea{background:var(--card)}.btn.primary.big.dark{background:var(--navy);background-image:none;border-color:var(--navy)}.subnav{grid-template-columns:repeat(6,minmax(0,1fr))}.subnav button{min-width:0;padding-left:0;padding-right:0}.subnav button span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.mobnav{grid-auto-columns:minmax(0,1fr)}.subapp,.subbody,.herowrap,.repform,.evalcard,.sub-hero{min-width:0;max-width:100%}.sub-hero>.row{flex-wrap:wrap!important}.sub-hero h1{overflow-wrap:anywhere}.repform .card-h{flex-wrap:wrap}.perrow .st{white-space:nowrap}.seg{max-width:100%}.seg button{min-width:0}@media (max-width:420px){.evalcard .seg,.repform .seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.subnav button span{font-size:9.5px}}.minical button.d{border:0;font:inherit;cursor:pointer}.minical button.d.worked:hover,.minical button.d.coming:hover{outline:2px solid var(--navy)}.btn.big{white-space:normal;line-height:1.3;height:auto;padding-top:12px;padding-bottom:12px}.sub-hero .chip{white-space:normal;text-align:center}.quickfind{border:1px solid var(--line2)}.quickfind .btn{flex:none}table.sched td{position:relative}table.sched td.open .tile{outline:2px solid var(--navy);outline-offset:1px}.cellpop{position:fixed;z-index:60;width:300px;max-width:min(300px,80vw);background:var(--card);border:1.5px solid var(--line2);border-radius:14px;padding:10px 12px;box-shadow:0 12px 32px #0d122029;display:grid;gap:4px;text-align:left;font-size:13px;white-space:normal}.cellpop select{width:100%;max-width:100%}.cellpop .btn.small{padding:4px 8px}td.p .namebtn{font-weight:700}.muted{color:var(--muted)}.half .linkbtn,.cellpop .linkbtn{font-weight:600}.timechip{font:inherit;font-weight:700;color:var(--navy);background:var(--ivory);border:1px dashed var(--line2);border-radius:8px;padding:1px 6px;width:auto;min-width:0;cursor:pointer;line-height:1.3}.timechip:hover{border-style:solid;border-color:var(--navy)}.timechip:focus{outline:none;border-style:solid;border-color:var(--navy);box-shadow:0 0 0 3px var(--ivory)}.timechip::-webkit-calendar-picker-indicator{display:none}.halfline{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.online{display:inline-block;width:9px;height:9px;border-radius:50%;background:#c9cfd8;margin-right:7px;vertical-align:middle;box-shadow:0 0 0 2px #fff}.online.on{background:#1fa463;box-shadow:0 0 0 2px #fff,0 0 0 4px #1fa46340}.pillbtn{cursor:pointer;border:0;font:inherit;line-height:inherit}.pillbtn:hover{outline:2px solid var(--navy);outline-offset:1px}option.opt-grey{color:#9aa3af}optgroup.og-grey{color:#9aa3af;font-style:italic}.sheet-rep{margin-top:8px;font-size:18px;line-height:1.3}.sheet-rep b{font-size:22px}.sheet-t td.nc{color:#8c2f4b;font-weight:700}@media print{.sheet-rep b{font-size:24px}}.tab-card{display:grid;gap:12px}.tab-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}.tab-person{display:grid;gap:3px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--ivory)}.tab-person .pill{justify-self:start}.tab-tools{gap:10px;flex-wrap:wrap;align-items:center}.tab-tools input[type=search]{min-width:200px}.locwrap{overflow:hidden;border:1px solid var(--line);border-radius:12px}table.loc{width:100%;table-layout:fixed;border-collapse:collapse;font-size:12px;line-height:1.25}table.loc th:first-child,table.loc td.who{width:19%}table.loc th.gcol,table.loc td.gcol{width:9%}table.loc th{background:var(--card);text-align:left;padding:6px;border-bottom:1px solid var(--line);font-size:11px;color:var(--fg2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}table.loc th span{display:block;font-weight:500;color:var(--fg2)}table.loc td{padding:5px 6px;border-bottom:1px solid var(--line);white-space:normal;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;vertical-align:top}table.loc td.who{background:var(--card);font-weight:600}table.loc td.who .namebtn{font-weight:700}table.loc tr.absent td.who{background:var(--nc-bg)}table.loc tr.absent td{background:color-mix(in srgb,var(--nc-bg) 35%,var(--card))}table.loc th.now,table.loc td.now{box-shadow:inset 0 0 0 2px var(--navy)}table.loc td.c-planif{color:var(--fg2);background:var(--ivory)}table.loc td.c-off{color:#9aa3af}table.loc td.c-bam{color:#5b4a8a}table.loc td.c-cap{color:#5b4a8a;font-style:italic}table.loc td.c-NC{color:var(--nc-fg);font-weight:700;background:var(--nc-bg)}table.loc td.c-OK,table.loc td.c-ATT{color:var(--ok-fg);font-weight:600;background:var(--ok-bg)}table.loc td.c-LIB{color:#2b5ea7;background:#eaf1fb}table.loc td.c-NA,table.loc td.c-VERIF{color:var(--fg2)}.legend .lg{padding:2px 8px;border-radius:999px;border:1px solid var(--line);font-size:11px}.legend .lg.c-cours{background:var(--card)}.legend .lg.c-planif{background:var(--ivory);color:var(--fg2)}.legend .lg.c-bam,.legend .lg.c-cap{color:#5b4a8a}.legend .lg.c-NC{background:var(--nc-bg);color:var(--nc-fg)}.legend .lg.c-OK{background:var(--ok-bg);color:var(--ok-fg)}@media (max-width:860px){table.loc{font-size:11px}table.loc td{max-width:120px}}table.loc .thsort{border:0;background:none;font:inherit;font-weight:700;color:inherit;cursor:pointer;padding:0}table.loc .thsort[aria-pressed=true]{color:var(--navy);text-decoration:underline}@media (max-width:860px){.locwrap{border:0;overflow:visible}table.loc,table.loc tbody,table.loc tr,table.loc td{display:block;max-width:none;white-space:normal}table.loc thead{display:none}table.loc tr{border:1px solid var(--line);border-radius:12px;padding:8px 10px;margin-bottom:8px;background:var(--card)}table.loc tr.absent{background:var(--nc-bg)}table.loc tr.absent td{background:transparent}table.loc td{border:0;padding:2px 0;display:inline-block;margin:2px 6px 2px 0;font-size:12px;border-radius:8px}table.loc td.who{display:block;position:static;background:transparent;padding:0 0 4px;font-size:14px;max-width:none}table.loc td[data-c]{padding:3px 8px;background:var(--ivory)}table.loc td[data-c]:before{content:attr(data-c) " · ";font-weight:700;color:var(--fg2)}table.loc td.gcol:empty{display:none}table.loc td.c-NC{background:var(--nc-bg)}table.loc td.c-OK,table.loc td.c-ATT{background:var(--ok-bg)}table.loc td.now{box-shadow:inset 0 0 0 2px var(--navy)}.tab-tools input[type=search]{flex:1 1 100%}}@media (max-width:1280px){table.loc{font-size:11px}table.loc td{padding:4px 5px}table.loc th:first-child,table.loc td.who{width:22%}table.loc .who .btn.small{padding:2px 6px;font-size:11px}}@media (max-width:1024px){table.loc th.gcol,table.loc td.gcol{display:none}table.loc th:first-child,table.loc td.who{width:24%}}.card,.pagehead,.card-h,.row{min-width:0}.card-h>*{min-width:0}@media (max-width:860px){.drawer{height:100dvh;max-height:100dvh}.drawer-h{flex:none}}.btn.undo{border-style:dashed}@media (max-width:860px){.btn.undo span{display:none}}
