:root{--bg:#fafaf7;--surface:#fff;--ink:#1a1a1a;--ink-2:#4a4a4a;--ink-3:#8a8a8a;--ink-4:#b8b8b5;--line:#00000014;--line-strong:#00000024;--accent:#0b5c14;--accent-press:#084510;--accent-tint:#e9f2ea;--success:#2e7d5b;--success-tint:#e8f2ec;--warn:#a8761a;--warn-tint:#f6efdf;--danger:#b33a3a;--danger-tint:#f5e6e6;--r:12px;--rlg:16px;--sb:env(safe-area-inset-bottom,0px)}html,body{height:100%;margin:0;padding:0}body{color:var(--ink);-webkit-font-smoothing:antialiased;background:#e8e7e1;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.4}button,input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer;text-align:inherit;background:0 0;border:none;padding:0}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-press)}.screen{background:var(--bg);flex-direction:column;height:100%;display:flex;position:relative;overflow:hidden}.sbar{font-variant-numeric:tabular-nums;letter-spacing:-.01em;flex:0 0 46px;justify-content:space-between;align-items:flex-start;height:46px;padding:15px 26px 0;font-size:14.5px;font-weight:600;display:flex}.sbar .rt{align-items:center;gap:5px;display:flex}.scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;overflow-y:auto}.scroll::-webkit-scrollbar{width:0;height:0}.pageIn{animation:.26s cubic-bezier(.32,.72,0,1) pageIn}@keyframes pageIn{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}.tabIn{animation:.2s tabIn}@keyframes tabIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.appbar{flex:none;justify-content:space-between;align-items:center;gap:10px;padding:3px 18px 11px;display:flex}.appbar .mid{text-align:center;flex:1;min-width:0}.appbar .mid .t{letter-spacing:-.01em;font-size:15px;font-weight:600}.appbar .mid .s{color:var(--ink-3);margin-top:2px;font-size:12px}.appbar.big{padding-bottom:13px}.appbar.big h1{letter-spacing:-.022em;margin:0;font-size:26px;font-weight:700}.appbar.big .s{color:var(--ink-3);margin-top:3px;font-size:12.5px}.iconbtn{width:42px;height:42px;color:var(--ink-2);border-radius:999px;flex-shrink:0;place-items:center;transition:background .15s;display:grid}.iconbtn:hover{background:#0000000b}.iconbtn:active{background:#00000014}.iconbtn.ghost{opacity:0;pointer-events:none}.txtbtn{color:var(--accent);flex-shrink:0;height:42px;padding:0 6px;font-size:15px;font-weight:500}.tabbar{-webkit-backdrop-filter:saturate(180%)blur(20px);border-top:1px solid var(--line);padding:5px 0 calc(7px + var(--sb));background:#fafaf7f0;flex:none;grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.tabbar .tb{color:var(--ink-3);flex-direction:column;align-items:center;gap:2px;min-height:49px;padding:5px 2px;font-size:10px;font-weight:500;transition:color .15s;display:flex;position:relative}.tabbar .tb.on{color:var(--accent)}.tabbar .tb svg{width:25px;height:25px}.tabbar .tb .dot{background:var(--danger);color:#fff;border-radius:999px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:9.5px;font-weight:700;line-height:1;display:grid;position:absolute;top:3px;right:calc(50% - 17px)}.cta{padding:11px 16px calc(13px + var(--sb));border-top:1px solid var(--line);background:var(--bg);flex-direction:column;flex:none;gap:8px;display:flex}.cta .pair{grid-template-columns:1fr 1fr;gap:9px;display:grid}.cta .pair.wide{grid-template-columns:1fr 1.3fr}.btn{letter-spacing:-.01em;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-width:44px;height:51px;padding:0 18px;font-size:16.5px;font-weight:600;transition:transform 70ms,background .15s,opacity .15s;display:inline-flex}.btn:active{transform:scale(.982)}.btn[disabled]{opacity:.4;pointer-events:none}.btn.pri{background:var(--accent);color:#fff}.btn.pri:hover{background:var(--accent-press)}.btn.sec{background:var(--surface);color:var(--ink);border:1px solid var(--line-strong)}.btn.sec:hover{background:#00000006}.btn.dgr{background:var(--danger-tint);color:var(--danger)}.btn.sm{border-radius:12px;height:45px;font-size:15px}.btn.block{width:100%}.fset{flex-direction:column;gap:14px;padding:0 20px;display:flex}.lab{color:var(--ink-3);justify-content:space-between;align-items:baseline;margin-bottom:6px;font-size:12.5px;font-weight:500;display:flex}.lab .cnt{color:var(--ink-4);font-variant-numeric:tabular-nums;font-size:11.5px}.input{border:1px solid var(--line-strong);background:var(--surface);width:100%;height:50px;color:var(--ink);border-radius:12px;outline:none;padding:0 15px;font-size:16px;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.input::placeholder{color:var(--ink-4)}.input.ta{resize:none;height:auto;padding:13px 15px;font-size:15px;line-height:1.5}.input.err{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-tint)}.errline{color:var(--danger);align-items:center;gap:6px;margin-top:7px;font-size:12.5px;display:flex}.shake{animation:.34s shake}@keyframes shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(4px)}30%,50%,70%{transform:translate(-7px)}40%,60%{transform:translate(7px)}}.seg{background:#0000000d;border-radius:10px;flex-direction:row;gap:2px;padding:3px;display:flex}.seg button{height:34px;color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;border-radius:8px;flex:1;min-width:0;font-size:13.5px;font-weight:500;transition:background .15s,color .15s;overflow:hidden}.seg button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #00000012,0 0 0 .5px #00000008}.seg.big button{height:40px;font-size:14.5px}.chip{white-space:nowrap;border-radius:999px;align-items:center;padding:4px 10px;font-size:11.5px;font-weight:500;line-height:1.45;display:inline-flex}.chip>svg{margin-right:5px}.chip.ok{background:var(--success-tint);color:var(--success)}.chip.warn{background:var(--warn-tint);color:var(--warn)}.chip.dgr{background:var(--danger-tint);color:var(--danger)}.chip.neu{color:var(--ink-2);background:#0000000d}.chip.acc{background:var(--accent-tint);color:var(--accent)}.chiprow{scrollbar-width:none;gap:7px;padding:0 20px;display:flex;overflow-x:auto}.chiprow::-webkit-scrollbar{display:none}.chiprow.wrap{flex-wrap:wrap;overflow:visible}.pick{background:var(--surface);border:1px solid var(--line-strong);height:33px;color:var(--ink-2);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:0 13px;font-size:12.5px;font-weight:500;transition:background .15s,color .15s,border-color .15s}.pick:hover{background:#00000006}.pick.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.pick.acc.on{background:var(--accent);color:#fff;border-color:var(--accent)}.sect{justify-content:space-between;align-items:center;gap:10px;padding:21px 20px 8px;display:flex}.sect h2{color:var(--ink-3);letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:12.5px;font-weight:600}.sect .act{color:var(--accent);font-size:13.5px;font-weight:500}.sect .num{color:var(--accent);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.blk{background:var(--surface);border:1px solid var(--line);border-radius:var(--rlg);margin:0 20px;padding:14px 16px}.blk.flush{padding:2px 16px}.blk .bh{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:9px;display:flex}.blk .bh .t{color:var(--ink-3);letter-spacing:.05em;text-transform:uppercase;font-size:11.5px;font-weight:600}.kv{justify-content:space-between;align-items:baseline;gap:12px;padding:6px 0;display:flex}.kv .k{color:var(--ink-3);flex-shrink:0;font-size:13.5px}.kv .v{color:var(--ink);text-align:right;font-variant-numeric:tabular-nums;font-size:13.5px;font-weight:500}.listcard{border:1px solid var(--line);border-radius:var(--rlg);background:var(--surface);margin:0 20px;overflow:hidden}.row{border-bottom:1px solid var(--line);background:var(--surface);align-items:center;gap:12px;width:100%;min-height:66px;padding:12px 18px;transition:background .13s;display:flex}.row:last-child{border-bottom:none}.row:hover{background:#00000004}.row:active{background:#00000009}.row .b{flex:1;min-width:0}.row .t{flex-wrap:wrap;align-items:center;gap:7px;font-size:15px;font-weight:500;display:flex}.row .s{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:6px;margin-top:3px;font-size:12px;display:flex}.row .e{color:var(--ink-3);font-variant-numeric:tabular-nums;flex-shrink:0;align-items:center;gap:8px;font-size:13px;display:flex}.chev{color:var(--ink-4);flex-shrink:0}.groupline{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);background:var(--bg);border-bottom:1px solid var(--line);padding:9px 20px 5px;font-size:11.5px;font-weight:600}.av{background:var(--accent-tint);color:var(--accent);border-radius:999px;flex-shrink:0;place-items:center;font-weight:600;display:grid;position:relative;overflow:hidden}.av img{object-fit:cover;width:100%;height:100%;display:block}.av svg{opacity:.4}.phw{flex-shrink:0;display:inline-block;position:relative}.phw .cam{background:var(--accent);color:#fff;width:30px;height:30px;box-shadow:0 0 0 3px var(--bg);border-radius:999px;place-items:center;transition:background .15s;display:grid;position:absolute;bottom:-2px;right:-2px}.phw .cam:hover{background:var(--accent-press)}.belt{color:var(--ink-2);white-space:nowrap;align-items:center;gap:6px;font-size:12px;font-weight:500;display:inline-flex}.belt .dot{width:10px;height:10px;box-shadow:0 0 0 1px var(--line-strong) inset;border-radius:999px;flex-shrink:0}.disc{color:var(--ink-2);white-space:nowrap;align-items:center;gap:6px;font-size:12px;font-weight:500;display:inline-flex}.disc .bar{border-radius:2px;flex-shrink:0;width:3px;height:13px}.kpigrid{grid-template-columns:1fr 1fr;gap:9px;padding:0 20px;display:grid}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--rlg);text-align:left;flex-direction:column;justify-content:space-between;min-height:94px;padding:13px 14px;transition:background .13s;display:flex}.kpi:hover{border-color:var(--line-strong);background:#ffffffb3}.kpi .l{color:var(--ink-3);font-size:11.5px;font-weight:500;line-height:1.35}.kpi .v{letter-spacing:-.025em;font-variant-numeric:tabular-nums;margin-top:4px;font-size:27px;font-weight:700;line-height:1}.kpi .v small{color:var(--ink-3);letter-spacing:0;font-size:17px;font-weight:500}.kpi .d{color:var(--ink-3);margin-top:5px;font-size:11.5px;font-weight:500}.kpi .d.up{color:var(--success)}.kpi .d.warn{color:var(--warn)}.nc{background:var(--surface);border:1px solid var(--line);border-radius:var(--rlg);margin:0 20px;overflow:hidden}.nc .top{justify-content:space-between;align-items:flex-start;gap:12px;padding:13px 16px;display:flex}.nc .when{color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase;font-size:11.5px;font-weight:500}.nc .what{letter-spacing:-.01em;align-items:center;gap:8px;margin-top:4px;font-size:16.5px;font-weight:600;display:flex}.nc .who{color:var(--ink-3);margin-top:3px;font-size:12.5px}.nc .acts{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.nc .acts button{height:47px;color:var(--accent);border-right:1px solid var(--line);font-size:14.5px;font-weight:600;transition:background .13s}.nc .acts button:hover{background:var(--accent-tint)}.nc .acts button:last-child{color:var(--ink-2);border-right:none;font-weight:500}.nc .acts button:last-child:hover{background:#00000008}.banner{text-align:left;border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;gap:13px;width:100%;padding:13px 20px;transition:filter .13s;display:flex}.banner:hover{filter:brightness(.985)}.banner .ic{flex-shrink:0;place-items:center;display:grid}.banner .b{flex:1;min-width:0}.banner .t{font-size:14.5px;font-weight:500;display:block}.banner .s{margin-top:3px;font-size:12px;line-height:1.4;display:block}.banner.warn{background:var(--warn-tint);color:var(--warn)}.banner.warn .t{color:var(--ink)}.banner.acc{background:var(--accent-tint);color:var(--accent)}.banner.acc .t{color:var(--ink)}.ib{background:var(--accent-tint);color:var(--ink-2);border-radius:12px;gap:10px;padding:12px 14px;font-size:12.5px;line-height:1.5;display:flex}.ib svg{color:var(--accent);flex-shrink:0;margin-top:1px}.ib.warn{background:var(--warn-tint)}.ib.warn svg{color:var(--warn)}.tr{border-bottom:1px solid var(--line);background:var(--surface);align-items:center;gap:13px;width:100%;min-height:72px;padding:13px 18px;transition:background .15s;display:flex}.tr.present{background:var(--accent-tint)}.tr.excused{background:var(--warn-tint)}.tr .ck{border:2px solid var(--ink-4);color:#0000;border-radius:999px;flex-shrink:0;place-items:center;width:42px;height:42px;transition:background .15s,border-color .15s,color .15s,transform .15s;display:grid}.tr.present .ck{background:var(--accent);border-color:var(--accent);color:#fff;transform:scale(1.03)}.tr.excused .ck{background:var(--warn);border-color:var(--warn);color:#fff}.tr .b{flex:1;min-width:0}.tr .n{letter-spacing:-.005em;font-size:16.5px;font-weight:500}.tr .m{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.tr .swipe{width:38px;height:38px;color:var(--ink-4);border-radius:10px;flex-shrink:0;place-items:center;transition:background .13s,color .13s;display:grid}.tr .swipe:hover{background:var(--warn-tint);color:var(--warn)}.tcount{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--line);background:#fafaf7f0;flex:none;justify-content:space-between;align-items:center;gap:14px;padding:11px 20px;display:flex}.tcount .num{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:22px;font-weight:700}.tcount .num small{color:var(--ink-3);font-size:15px;font-weight:500}.tcount .lg2{color:var(--ink-3);text-align:right;max-width:180px;font-size:11px;line-height:1.5}.tcount .lg2 b{color:var(--ink-2);font-weight:600}.dcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--rlg);margin:0 20px 11px;overflow:hidden}.dcard .dh{align-items:center;gap:12px;width:100%;padding:13px 16px;display:flex}.dcard .dh .sw{border-radius:3px;flex-shrink:0;width:4px;height:36px}.dcard .dh .b{flex:1;min-width:0}.dcard .dh .n{letter-spacing:-.01em;font-size:16.5px;font-weight:600;display:block}.dcard .dh .s{color:var(--ink-3);margin-top:2px;font-size:12px;display:block}.grow{border-top:1px solid var(--line);align-items:center;gap:12px;width:100%;min-height:60px;padding:11px 16px 11px 32px;transition:background .13s;display:flex}.grow:hover{background:#00000005}.grow .b{flex:1;min-width:0}.grow .n{align-items:center;gap:7px;font-size:14.5px;font-weight:500;display:flex}.grow .s{color:var(--ink-3);font-variant-numeric:tabular-nums;margin-top:3px;font-size:11.5px;display:block}.grow.off .n,.grow.off .s{opacity:.45}.grow .c{color:var(--ink-3);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:12.5px}.addrow{border-top:1px solid var(--line);color:var(--accent);align-items:center;gap:9px;width:100%;padding:12px 16px;font-size:14.5px;font-weight:500;transition:background .13s;display:flex}.addrow:hover{background:var(--accent-tint)}.slot{border:1px solid var(--line-strong);background:var(--surface);border-radius:12px;align-items:center;gap:10px;min-height:52px;padding:8px 8px 8px 14px;display:flex}.slot .d{flex-shrink:0;width:44px;font-size:14px;font-weight:600}.slot .h{color:var(--ink-2);font-variant-numeric:tabular-nums;flex:1;font-size:14px}.slot .r{color:var(--ink-3);flex-shrink:0;font-size:11.5px}.slot .x{color:var(--ink-4);border-radius:8px;flex-shrink:0;place-items:center;width:34px;height:34px;transition:background .13s,color .13s;display:grid}.slot .x:hover{background:var(--danger-tint);color:var(--danger)}.tog{background:var(--line-strong);border-radius:999px;flex-shrink:0;width:50px;height:30px;transition:background .2s;position:relative}.tog.on{background:var(--success)}.tog:after{content:"";background:#fff;border-radius:999px;width:26px;height:26px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000038}.tog.on:after{transform:translate(20px)}.togrow{border-bottom:1px solid var(--line);text-align:left;align-items:center;gap:14px;width:100%;min-height:56px;padding:11px 0;display:flex}.togrow:last-child{border-bottom:none}.togrow .b{flex:1;min-width:0}.togrow .t{font-size:14.5px;font-weight:500;display:block}.togrow .s{color:var(--ink-3);margin-top:3px;font-size:11.5px;line-height:1.45;display:block}.cbx{border:2px solid var(--line-strong);color:#0000;border-radius:7px;flex-shrink:0;place-items:center;width:23px;height:23px;transition:background .13s,border-color .13s,color .13s;display:grid}.cbx.on{background:var(--accent);border-color:var(--accent);color:#fff}.cbx.half{background:var(--accent-tint);border-color:var(--accent);color:var(--accent)}.vac{border-bottom:1px solid var(--line);background:var(--surface);align-items:center;gap:13px;width:100%;min-height:74px;padding:13px 20px;transition:background .13s;display:flex}.vac:hover{background:#00000004}.vac .dt{flex-shrink:0;place-items:center;width:48px;display:grid}.vac .dt .m{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);font-size:9.5px;font-weight:600;display:block}.vac .dt .d{font-variant-numeric:tabular-nums;font-size:19px;font-weight:700;line-height:1.15;display:block}.vac .b{flex:1;min-width:0}.vac .n{align-items:center;gap:7px;font-size:14.5px;font-weight:500;display:flex}.vac .s{color:var(--ink-3);font-variant-numeric:tabular-nums;margin-top:3px;font-size:11.5px;display:block}.camp{background:var(--surface);border:1px solid var(--line);border-radius:var(--rlg);width:calc(100% - 40px);margin:0 20px 11px;transition:border-color .13s;overflow:hidden}.camp:hover{border-color:var(--line-strong)}.camp .ct{text-align:left;padding:13px 16px}.camp .ty{letter-spacing:.07em;text-transform:uppercase;color:var(--accent);font-size:10.5px;font-weight:600;display:block}.camp .n{letter-spacing:-.01em;margin-top:5px;font-size:15.5px;font-weight:600;display:block}.camp .d{color:var(--ink-3);margin-top:4px;font-size:12.5px;line-height:1.45;display:block}.camp .cf{border-top:1px solid var(--line);color:var(--ink-3);font-variant-numeric:tabular-nums;align-items:center;gap:11px;padding:9px 16px;font-size:11.5px;display:flex}.barmini{background:var(--line);border-radius:999px;flex:1;max-width:60px;height:4px;overflow:hidden}.barmini span{background:var(--success);height:100%;transition:width .7s cubic-bezier(.22,1,.36,1);display:block}.linkcard{border:1px solid var(--line-strong);background:var(--bg);border-radius:12px;align-items:center;gap:11px;margin-top:8px;padding:10px 12px;display:flex}.linkcard .ic{background:var(--accent-tint);width:34px;height:34px;color:var(--accent);border-radius:9px;flex-shrink:0;place-items:center;display:grid}.linkcard .b{flex:1;min-width:0}.linkcard .t{text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:500;display:block;overflow:hidden}.linkcard .u{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:11px;display:block;overflow:hidden}.tgt{border-bottom:1px solid var(--line);align-items:center;gap:12px;width:100%;min-height:56px;padding:10px 14px;transition:background .13s;display:flex}.tgt:last-child{border-bottom:none}.tgt:hover{background:#00000004}.tgt.sub{background:#00000003;padding-left:34px}.tgt .b{flex:1;min-width:0}.tgt .n{font-size:14.5px;font-weight:500;display:block}.tgt .c{color:var(--ink-3);margin-top:2px;font-size:11.5px;display:block}.scrim{opacity:0;pointer-events:none;z-index:40;background:#0f0f0c70;transition:opacity .24s;position:absolute;inset:0}.scrim.on{opacity:1;pointer-events:auto}.sheet{background:var(--surface);padding:0 0 calc(10px + var(--sb));z-index:50;border-radius:20px 20px 0 0;flex-direction:column;max-height:88%;transition:transform .3s cubic-bezier(.32,.72,0,1);display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(102%);box-shadow:0 -10px 28px -10px #0003}.sheet.on{transform:translateY(0)}.sheet .grab{background:var(--line-strong);border-radius:999px;flex-shrink:0;width:36px;height:5px;margin:9px auto 5px}.sheet .sh{color:var(--ink-3);text-align:center;flex-shrink:0;padding:7px 22px 13px;font-size:12.5px;font-weight:500}.sheet .body{overflow-y:auto}.sheet .body::-webkit-scrollbar{width:0}.sheet .srow{border-top:1px solid var(--line);align-items:center;gap:14px;width:100%;min-height:60px;padding:13px 22px;transition:background .13s;display:flex}.sheet .srow:hover{background:#00000005}.sheet .srow .ic{background:var(--accent-tint);width:38px;height:38px;color:var(--accent);border-radius:11px;flex-shrink:0;place-items:center;display:grid}.sheet .srow .b{text-align:left;flex:1;min-width:0}.sheet .srow .n{font-size:16.5px;font-weight:500;display:block}.sheet .srow .s{color:var(--ink-3);margin-top:2px;font-size:11.5px;display:block}.sheet .cancelbtn{background:var(--bg);border:1px solid var(--line-strong);border-radius:14px;flex-shrink:0;width:calc(100% - 32px);height:51px;margin:9px 16px 0;font-size:16.5px;font-weight:600}.ovl{z-index:70;padding:0 16px calc(18px + var(--sb));opacity:0;pointer-events:none;background:#0f0f0c8c;align-items:flex-end;transition:opacity .2s;display:flex;position:absolute;inset:0}.ovl.on{opacity:1;pointer-events:auto}.ovl .card{background:var(--surface);border-radius:18px;width:100%;padding:19px;box-shadow:0 16px 34px -12px #00000057}.ovl .card h3{margin:0 0 9px;font-size:16.5px;font-weight:600}.ovl .card .li{color:var(--ink-2);align-items:flex-start;gap:12px;padding:7px 0;font-size:13.5px;line-height:1.45;display:flex}.ovl .card .li .sw{width:14px;height:14px;box-shadow:0 0 0 1px var(--line-strong) inset;border-radius:4px;flex-shrink:0;margin-top:3px}.ovl .card b{color:var(--ink);font-weight:600}.toasts{left:14px;right:14px;bottom:calc(16px + var(--sb));z-index:200;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:absolute}.toast{color:#fff;background:#1a1a18f2;border-radius:13px;align-items:center;gap:11px;padding:13px 15px;font-size:13.5px;font-weight:500;line-height:1.4;animation:.3s cubic-bezier(.32,.72,0,1) toastIn;display:flex;box-shadow:0 10px 26px -8px #0006}.toast .ic{background:var(--success);color:#fff;border-radius:999px;flex-shrink:0;place-items:center;width:22px;height:22px;display:grid}.toast .ic.acc{background:#6fa878}@keyframes toastIn{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:none}}.login{flex-direction:column;flex:1;padding:0 28px;display:flex;overflow-y:auto}.login::-webkit-scrollbar{width:0}.hero{text-align:center;flex-direction:column;flex:none;align-items:center;padding:30px 0 24px;display:flex}.lotus{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;height:auto;display:block}@media (prefers-color-scheme:dark){.lotus{filter:brightness(2.1)saturate(.8)}}.brand{letter-spacing:-.022em;margin-top:15px;font-size:25px;font-weight:700}.sig{color:var(--ink-4);letter-spacing:-.005em;margin-top:3px;font-size:11px;font-weight:300}.sig em{color:var(--ink-3);font-style:normal;font-weight:400}.tag{color:var(--ink-3);margin-top:13px;font-size:13.5px}.sumi{width:64px;color:var(--ink-4);margin:16px auto 0;display:block}.lfoot{padding:14px 0 calc(18px + var(--sb));text-align:center;color:var(--ink-4);flex:none;font-size:11.5px}.code{grid-template-columns:repeat(6,1fr);gap:7px;margin-top:8px;display:grid}.code .c{aspect-ratio:1/1.18;border:1px solid var(--line-strong);background:var(--surface);font-variant-numeric:tabular-nums;border-radius:12px;place-items:center;min-height:50px;font-size:25px;font-weight:600;transition:border-color .15s,box-shadow .15s;display:grid}.code .c.empty{color:var(--ink-4)}.code .c.cur{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.code.bad .c{border-color:var(--danger)}.kpad{grid-template-columns:repeat(3,1fr);gap:9px;padding:0 8px;display:grid}.kpad button{background:var(--surface);border:1px solid var(--line);font-variant-numeric:tabular-nums;border-radius:14px;height:56px;font-size:23px;font-weight:500;transition:background .1s}.kpad button:hover{background:#00000008}.kpad button:active{background:var(--accent-tint)}.kpad button.blank{pointer-events:none;background:0 0;border:none}.dor{color:var(--ink-4);text-transform:uppercase;letter-spacing:.09em;align-items:center;gap:12px;margin:20px 0 13px;font-size:11.5px;display:flex}.dor:before,.dor:after{content:"";background:var(--line);flex:1;height:1px}.amt{letter-spacing:-.035em;font-variant-numeric:tabular-nums;text-align:center;padding:16px 20px 4px;font-size:52px;font-weight:700;line-height:1}.amt .cu{color:var(--ink-3);vertical-align:5px;margin-right:6px;font-size:28px;font-weight:600}.amt .ph{color:var(--ink-4)}.amtlbl{text-align:center;color:var(--ink-3);letter-spacing:.05em;text-transform:uppercase;font-size:12px;font-weight:500}.chrows{grid-template-columns:repeat(6,1fr);align-items:end;gap:9px;height:124px;display:grid}.chbar{background:var(--accent-tint);border-radius:6px 6px 0 0;transition:height .6s cubic-bezier(.22,1,.36,1)}.chbar.cur{background:var(--accent)}.chx{color:var(--ink-3);text-align:center;grid-template-columns:repeat(6,1fr);gap:9px;padding-top:9px;font-size:10.5px;display:grid}.strp{background:var(--line);border-radius:999px;height:8px;margin-top:4px;display:flex;overflow:hidden}.strp span{height:100%;transition:width .6s cubic-bezier(.22,1,.36,1)}.lgd{flex-direction:column;gap:8px;margin-top:11px;display:flex}.lgd .r{align-items:center;gap:10px;font-size:12.5px;display:flex}.lgd .sw{border-radius:3px;flex-shrink:0;width:10px;height:10px}.lgd .lb{color:var(--ink-2);flex:1}.lgd .vl{font-variant-numeric:tabular-nums;font-weight:600}.dnum{letter-spacing:-.035em;font-variant-numeric:tabular-nums;font-size:52px;font-weight:700;line-height:1}.dnum .cu{color:var(--ink-3);vertical-align:5px;margin-right:6px;font-size:26px;font-weight:600}.attgrid{gap:3px;margin-top:4px;display:grid}.attgrid span{aspect-ratio:1;border-radius:3px}.attlgd{color:var(--ink-3);justify-content:space-between;margin-top:8px;font-size:10.5px;display:flex}.msg{border-bottom:1px solid var(--line);background:var(--surface);gap:12px;width:100%;min-height:74px;padding:13px 18px;transition:background .13s;display:flex}.msg:hover{background:#00000004}.msg.unread{background:var(--accent-tint)}.msg .ic{width:38px;height:38px;color:var(--ink-2);background:#0000000d;border-radius:11px;flex-shrink:0;place-items:center;display:grid}.msg.unread .ic{background:var(--accent);color:#fff}.msg .b{flex:1;min-width:0}.msg .ty{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-size:10.5px;font-weight:600;display:block}.msg.unread .ty{color:var(--accent)}.msg .t{letter-spacing:-.005em;margin-top:3px;font-size:14.5px;font-weight:600;display:block}.msg .p{color:var(--ink-3);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:3px;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.msg .when{color:var(--ink-4);white-space:nowrap;flex-shrink:0;font-size:11px}.prog{background:var(--line);border-radius:999px;height:7px;overflow:hidden}.prog span{background:var(--accent);border-radius:999px;height:100%;transition:width .6s cubic-bezier(.22,1,.36,1);display:block}.beltbar{gap:3px;margin-top:9px;display:flex}.beltbar span{background:var(--line);border-radius:999px;flex:1;height:6px}.beltbar span.done{background:var(--accent)}.beltbar span.now{background:var(--accent);box-shadow:0 0 0 2px var(--accent-tint)}.vid{border-bottom:1px solid var(--line);background:var(--surface);align-items:center;gap:12px;width:100%;min-height:76px;padding:12px 18px;transition:background .13s;display:flex}.vid:hover{background:#00000004}.vid .th{background:var(--accent-tint);width:64px;height:46px;color:var(--accent);border-radius:9px;flex-shrink:0;place-items:center;display:grid;position:relative;overflow:hidden}.vid .th .dur{color:#fff;font-variant-numeric:tabular-nums;background:#000000ad;border-radius:4px;padding:1px 4px;font-size:9px;font-weight:600;position:absolute;bottom:3px;right:3px}.vid .b{flex:1;min-width:0}.vid .t{font-size:14.5px;font-weight:500;display:block}.vid .s{color:var(--ink-3);align-items:center;gap:7px;margin-top:3px;font-size:11.5px;display:flex}.vid.done .th{background:var(--success-tint);color:var(--success)}.empty{text-align:center;color:var(--ink-3);padding:60px 34px}.empty .ic{width:52px;height:52px;color:var(--ink-4);background:#0000000a;border-radius:999px;place-items:center;margin:0 auto 14px;display:grid}.empty .t{color:var(--ink-2);font-size:15px;font-weight:600}.empty .s{margin-top:5px;font-size:12.5px;line-height:1.5}.srch{background:var(--bg);padding:2px 16px 11px}.srch .ip{height:38px;color:var(--ink-3);background:#0000000d;border-radius:10px;align-items:center;gap:8px;padding:0 12px;display:flex}.srch .ip input{color:var(--ink);background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:15px}.srch .ip input::placeholder{color:var(--ink-4)}.fab{background:var(--accent);color:#fff;z-index:6;border-radius:999px;place-items:center;width:55px;height:55px;transition:transform .12s,background .15s;display:grid;position:absolute;bottom:78px;right:18px;box-shadow:0 12px 24px -8px #0b5c1480,0 3px 7px #00000021}.fab:hover{background:var(--accent-press)}.fab:active{transform:scale(.94)}.pb{height:110px}.trombi{grid-template-columns:repeat(3,1fr);gap:11px;padding:2px 20px 0;display:grid}.trombi .c{background:var(--surface);border:1px solid var(--line);text-align:center;border-radius:14px;padding:11px 7px 10px;transition:border-color .13s,background .13s}.trombi .c:hover{border-color:var(--line-strong);background:#ffffffb3}.trombi .c .n{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;margin-top:8px;font-size:12.5px;font-weight:600;display:block;overflow:hidden}.trombi .c .k{color:var(--ink-3);margin-top:2px;font-size:10.5px;display:block}.trombi .c .fl{margin-top:5px;display:block}.trombi .bdot{vertical-align:-1px;width:9px;height:9px;box-shadow:0 0 0 1px var(--line-strong) inset;border-radius:999px;margin-right:4px;display:inline-block}.rsvpstrip{background:var(--surface);border-bottom:1px solid var(--line);color:var(--ink-2);align-items:center;gap:8px;padding:10px 20px;font-size:12px;display:flex}.rsvpstrip b{font-weight:600}.tr .rz{color:var(--warn);font-size:11.5px;font-weight:500}.tr .rz.ok{color:var(--success)}.grd{border-bottom:1px solid var(--line);background:var(--surface);text-align:left;align-items:center;gap:12px;width:100%;min-height:74px;padding:12px 18px;transition:background .13s;display:flex}.grd:hover{background:#00000004}.grd.on{background:var(--accent-tint)}.grd .b{flex:1;min-width:0}.grd .n{font-size:15px;font-weight:500;display:block}.grd .s{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:6px;margin-top:3px;font-size:11.5px;display:flex}.grd .jump{flex-shrink:0;align-items:center;gap:5px;display:flex}.grd .jump .b1,.grd .jump .b2{width:16px;height:16px;box-shadow:0 0 0 1px var(--line-strong) inset;border-radius:999px}.grd .jump .ar{color:var(--ink-4)}.gblk{border-bottom:1px solid var(--line);background:var(--surface);align-items:flex-start;gap:12px;padding:11px 18px;display:flex}.gblk .b{flex:1;min-width:0}.gblk .n{color:var(--ink-2);font-size:14px;font-weight:500;display:block}.gblk .r{color:var(--warn);margin-top:3px;font-size:11.5px;line-height:1.45;display:block}:root{--bg:#fafaf7;--surface:#fff;--ink:#1a1a1a;--ink-2:#4a4a4a;--ink-3:#8a8a8a;--line:#00000014;--line-strong:#00000024;--accent:#0b5c14;--accent-press:#084510;--accent-tint:#e9f2ea;--success:#2e7d5b;--warn:#a8761a;--warn-tint:#f6efdf;--danger:#b33a3a;--danger-tint:#f5e6e6;--r:12px;--rlg:16px;--sb:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{min-height:100%;margin:0;padding:0}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.4}button,input,select{font-family:inherit;font-size:inherit;color:inherit}.ecran{max-width:480px;padding:28px 18px calc(32px + var(--sb));flex-direction:column;gap:20px;margin:0 auto;display:flex}h1{letter-spacing:-.02em;margin:0;font-size:26px;line-height:1.15}h2{color:var(--ink-2);margin:0;font-size:15px;font-weight:600}p{color:var(--ink-2);margin:0}.discret{color:var(--ink-3);font-size:14px}.bouton,input{border-radius:var(--r);width:100%;min-height:48px}input{border:1px solid var(--line-strong);background:var(--surface);padding:0 14px}input:focus{outline:2px solid var(--accent);outline-offset:-1px}.bouton{background:var(--accent);color:#fff;cursor:pointer;border:none;padding:0 18px;font-weight:600}.bouton:active{background:var(--accent-press)}.bouton:disabled{opacity:.5;cursor:default}.bouton.creux{color:var(--accent);border:1px solid var(--line-strong);background:0 0}.champ{flex-direction:column;gap:7px;display:flex}.champ label{color:var(--ink-2);font-size:13px;font-weight:600}.carte{background:var(--surface);border:1px solid var(--line);border-radius:var(--rlg);flex-direction:column;gap:4px;padding:16px;display:flex}.liste{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.pastille{border-radius:999px;align-self:flex-start;padding:3px 9px;font-size:12px;font-weight:600}.pastille.essai{background:var(--warn-tint);color:var(--warn)}.pastille.adherent{background:var(--accent-tint);color:var(--accent)}.pastille.invite{background:var(--line);color:var(--ink-2)}.message{border-radius:var(--r);padding:12px 14px;font-size:14px}.message.bien{background:var(--accent-tint);color:var(--accent)}.message.mal{background:var(--danger-tint);color:var(--danger)}.vide{text-align:center;flex-direction:column;gap:8px;padding:32px 8px;display:flex}.vide .emoji{font-size:34px}.page{max-width:760px;padding:0 18px calc(40px + var(--sb));margin:0 auto}.entete{z-index:5;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:space-between;align-items:center;padding:18px 0;display:flex;position:sticky;top:0}.marque{letter-spacing:-.02em;color:var(--accent);align-items:center;gap:9px;font-size:19px;font-weight:700;display:inline-flex}.marque.petite{font-size:15px}.bouton.compact{width:auto;min-height:44px;padding:0 20px;font-size:15px}.heros{flex-direction:column;gap:16px;padding:40px 0 48px;display:flex}.oeil{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:0;font-size:12px;font-weight:700}.heros h1{letter-spacing:-.03em;font-size:clamp(34px,8vw,50px);line-height:1.05}.chapeau{max-width:34em;font-size:18px;line-height:1.5}.heros .bouton{max-width:320px}.bande{background:var(--surface);border:1px solid var(--line);border-radius:var(--rlg);flex-direction:column;gap:14px;margin-bottom:48px;padding:24px;display:flex}.peines{color:var(--ink-2);flex-direction:column;gap:9px;margin:0;padding-left:20px;display:flex}.bloc{flex-direction:column;gap:16px;padding:0 0 48px;display:flex}.bloc h2,.final h2,.bande h2{letter-spacing:-.02em;color:var(--ink);margin:0;font-size:25px;font-weight:700}.grille{grid-template-columns:1fr;gap:12px;display:grid}@media (width>=620px){.grille{grid-template-columns:1fr 1fr}}.grille .carte strong{font-size:16px}.grille .carte p{margin-top:4px}.coches{flex-direction:column;gap:11px;margin:0;padding:0;list-style:none;display:flex}.coches li{color:var(--ink-2);align-items:flex-start;gap:11px;display:flex}.coches li:before{content:"";background:var(--accent);border-radius:999px;flex:0 0 8px;height:8px;margin-top:8px}.etapes{flex-direction:column;gap:18px;margin:0;padding:0;list-style:none;display:flex}.etapes li{align-items:flex-start;gap:14px;display:flex}.etapes span{background:var(--accent-tint);height:34px;color:var(--accent);border-radius:999px;flex:0 0 34px;place-items:center;font-size:15px;font-weight:700;display:grid}.etapes strong{display:block}.final{background:var(--accent-tint);border-radius:var(--rlg);text-align:center;flex-direction:column;align-items:center;gap:14px;padding:32px 24px;display:flex}.final .bouton{max-width:320px}.pied{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:40px;padding-top:28px;display:flex}.porte{max-width:420px;min-height:100dvh;padding:8vh 22px calc(32px + var(--sb));text-align:center;flex-direction:column;align-items:center;gap:14px;margin:0 auto;display:flex}.porte .logo{color:var(--accent)}.porte h1{letter-spacing:-.02em;margin:6px 0 0;font-size:32px}.porte .signature{color:var(--ink-3);font-size:15px}.porte .promesse{color:var(--ink-2);margin:26px 0 4px}.porte form,.porte .actions{flex-direction:column;gap:12px;width:100%;display:flex}.porte .note{text-align:left;background:var(--accent-tint);border-radius:var(--r);color:var(--accent);align-items:flex-start;gap:10px;margin-top:6px;padding:13px 15px;font-size:14px;display:flex}.porte .version{color:var(--ink-3);margin-top:auto;padding-top:32px;font-size:13px}.ou{color:var(--ink-3);letter-spacing:.12em;align-items:center;gap:12px;margin:4px 0;font-size:12px;display:flex}.ou:before,.ou:after{content:"";background:var(--line-strong);flex:1;height:1px}.proposition{text-align:left;gap:10px;margin:4px 0 8px}.paire{gap:10px;display:flex}.paire .bouton{flex:1}.app{flex-direction:column;min-height:100dvh;display:flex}.app-corps{flex:1;padding-bottom:8px;overflow-y:auto}.onglets{background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line);padding-bottom:var(--sb);grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:sticky;bottom:0}.onglets button{cursor:pointer;min-height:56px;color:var(--ink-3);background:0 0;border:none;font-size:13px;font-weight:600}.onglets button.on{color:var(--accent)}.ecran section{flex-direction:column;gap:10px;display:flex}.tuiles{grid-template-columns:1fr 1fr;gap:10px;display:grid}.tuile{background:var(--surface);border:1px solid var(--line);border-radius:var(--rlg);flex-direction:column;gap:2px;padding:14px;display:flex}.tuile-titre{color:var(--ink-3);font-size:13px}.tuile-valeur{font-size:30px;font-weight:600;line-height:1.1}.tuile-note{color:var(--ink-3);font-size:12px}.tuile-note.alerte{color:var(--warn)}.bandeau{background:var(--warn-tint);border-radius:var(--r);color:var(--warn);flex-direction:column;gap:2px;padding:13px 15px;font-size:14px;display:flex}.bandeau strong{color:var(--warn)}.filtres{gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.filtre{border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:999px;flex:none;min-height:40px;padding:0 14px;font-size:14px}.filtre.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.carte.cliquable{cursor:pointer}.carte.cliquable:active{background:var(--bg)}.pastilles{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.pastille.manque{background:var(--danger-tint);color:var(--danger)}.pastille.pause{background:var(--warn-tint);color:var(--warn);align-self:flex-start}.pastille.inactif{background:var(--line);color:var(--ink-2)}.liste.seances{gap:0}.seance{border-bottom:1px solid var(--line);grid-template-columns:62px 1fr auto;align-items:center;gap:12px;padding:12px 0;display:grid}.seance-heure{font-variant-numeric:tabular-nums;flex-direction:column;display:flex}.seance-heure .discret{font-size:13px}.seance-corps{flex-direction:column;gap:2px;min-width:0;display:flex}.seance-nombre{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:15px}.seance.en-pause{opacity:.55}.ligne{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:14px;padding:9px 0;display:flex}.ligne:last-child{border-bottom:none}.manquant{color:var(--danger)}.liste.nue{gap:0}.retour{cursor:pointer;color:var(--accent);background:0 0;border:none;align-self:flex-start;min-height:44px;padding:0;font-size:15px}.ecran h2{font-size:15px}.carte h2{color:var(--ink-3);text-transform:none;font-size:13px}html,body,#root{height:100%}#root{flex-direction:column;display:flex}.screen{flex:1}
