:root{--tabs:0px}html,body,#root{height:100%}body{overflow:hidden}.cal{flex-direction:column;height:100dvh;display:flex}.bar{justify-content:space-between;align-items:center;gap:var(--sp-10);padding:var(--sp-14) var(--sp-18) var(--sp-10);border-bottom:1px solid var(--line);flex-wrap:wrap;flex:none;display:flex}.bar-nav{align-items:center;gap:var(--sp-6);min-width:0;display:flex}.bar-title{font-size:var(--fs-18);margin-left:var(--sp-8);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bar-tools{align-items:center;gap:var(--sp-8);display:flex}.seg.views button{padding:var(--sp-6) var(--sp-12);font-size:var(--fs-13)}.search{border-radius:var(--r-pill);transition:border-color var(--dur-fast);border:1px solid #0000;align-items:center;display:flex}.search input{opacity:0;width:0;font-size:var(--fs-14);transition:width var(--dur),opacity var(--dur)}.search.open{border-color:var(--line2);padding-right:var(--sp-4)}.search.open input{opacity:1;width:180px;padding:0 var(--sp-4)}.btn.add .ic{width:16px;height:16px}.view{flex:1;min-height:0;position:relative;overflow:auto}.view.v-week,.view.v-day{flex-direction:column;display:flex;overflow:hidden}.view.v-month{flex-direction:column;display:flex}.banner-err{background:var(--danger-dim);color:var(--danger);padding:var(--sp-8) var(--sp-18);font-size:var(--fs-13)}.spin{border:2px solid var(--line2);border-top-color:var(--acc);border-radius:var(--r-round);width:14px;height:14px;margin-left:var(--sp-6);flex:none;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.wk{--gut:52px;flex-direction:column;height:100%;display:flex}.wk-top{z-index:var(--z-sticky);background:var(--bg);position:sticky;top:0}.wk-head,.wk-all{grid-template-columns:var(--gut) repeat(var(--days),minmax(0,1fr));display:grid}.wk-head{border-bottom:1px solid var(--line)}.wk-day{align-items:center;gap:var(--sp-2);padding:var(--sp-6) 0;flex-direction:column;display:flex}.wk-day .wd{font-size:var(--fs-11);color:var(--mute);text-transform:uppercase;letter-spacing:.08em}.wk-day .dn{font-family:var(--fh);font-size:var(--fs-18);border-radius:var(--r-round);width:34px;height:34px;transition:background var(--dur-fast);justify-content:center;align-items:center;display:flex}.wk-day:hover .dn{background:var(--hover)}.wk-day.today .wd{color:var(--acc-text)}.wk-day.today .dn{background:var(--acc);color:var(--acc-ink)}.wk-all{border-bottom:1px solid var(--line);min-height:30px}.wk-gutter{font-size:var(--fs-10);color:var(--mute2);text-align:right;padding:var(--sp-6) var(--sp-6) 0 0;line-height:1.1}.wk-allcell{border-left:1px solid var(--line);padding:var(--sp-2);gap:var(--sp-2);cursor:pointer;flex-direction:column;min-width:0;display:flex}.chipev{background:linear-gradient(var(--acc-dim),var(--acc-dim)),var(--bg);border-left:3px solid var(--acc);border-radius:var(--r-4);font-size:var(--fs-12);padding:var(--sp-2) var(--sp-6);text-align:left;white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.chipev:hover{filter:brightness(1.08)}.wk-scroll{flex:1;min-height:0;overflow:hidden auto}.wk-body{grid-template-columns:var(--gut) minmax(0,1fr);display:grid}.wk-hours .hr{height:var(--hour);position:relative}.wk-hours .hr span{top:-7px;right:var(--sp-6);font-size:var(--fs-10);color:var(--mute2);position:absolute}.wk-cols{grid-template-columns:repeat(var(--days),minmax(0,1fr));z-index:0;height:calc(var(--hour) * 24);background-image:repeating-linear-gradient(to bottom,var(--line) 0,var(--line) 1px,transparent 1px,transparent var(--hour));display:grid;position:relative}.wk-col{border-left:1px solid var(--line);cursor:pointer;height:100%;position:relative}.wk-col.today{background:var(--hover)}.blk{background:linear-gradient(var(--acc-dim),var(--acc-dim)),var(--bg);border-left:3px solid var(--acc);border-radius:var(--r-6);padding:var(--sp-2) var(--sp-6);cursor:grab;font-size:var(--fs-12);line-height:var(--lh-snug);-webkit-user-select:none;user-select:none;z-index:1;flex-direction:column;display:flex;position:absolute;overflow:hidden}.blk:hover{filter:brightness(1.08);z-index:2}.blk .t{white-space:nowrap;text-overflow:ellipsis;padding-right:var(--sp-14);font-weight:600;overflow:hidden}.blk .h{color:var(--mute);font-size:var(--fs-11);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.blk.short{align-items:center;gap:var(--sp-6);flex-direction:row}.blk .ri{right:var(--sp-4);top:var(--sp-4);width:12px;height:12px;color:var(--mute);position:absolute}.blk .rs{cursor:ns-resize;height:8px;position:absolute;bottom:0;left:0;right:0}.blk.ghost{opacity:.35}.blk.drop{outline:2px solid var(--acc);width:calc(100% - 3px);box-shadow:var(--shadow-float);z-index:var(--z-drag);pointer-events:none;left:1px}.now{background:var(--danger);z-index:3;pointer-events:none;height:2px;position:absolute;left:0;right:0}.now:before{content:"";border-radius:var(--r-round);background:var(--danger);width:10px;height:10px;position:absolute;top:-4px;left:-5px}.mo{flex-direction:column;flex:1;min-height:520px;display:flex}.mo-head{border-bottom:1px solid var(--line);flex:none;grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.mo-head div{text-align:center;font-size:var(--fs-11);color:var(--mute);text-transform:uppercase;letter-spacing:.08em;padding:var(--sp-6) 0}.mo-grid{flex:1;grid-template-rows:repeat(6,minmax(0,1fr));grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.mo-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:var(--sp-2) var(--sp-4) var(--sp-4);cursor:pointer;flex-direction:column;gap:1px;min-width:0;min-height:0;display:flex;overflow:hidden}.mo-cell:nth-child(7n){border-right:0}.mo-cell.out{background:var(--bg2)}.mo-cell.out .mo-dn{color:var(--mute2)}.mo-cell.over{outline:2px dashed var(--acc);outline-offset:-2px}.mo-dn{font-size:var(--fs-12);border-radius:var(--r-round);flex:none;align-self:center;min-width:24px;height:24px;font-weight:600}.mo-dn:hover{background:var(--hover)}.mo-cell.today .mo-dn{background:var(--acc);color:var(--acc-ink)}.mo-ev{align-items:center;gap:var(--sp-4);font-size:var(--fs-12);padding:1px var(--sp-4);border-radius:var(--r-4);white-space:nowrap;cursor:grab;-webkit-user-select:none;user-select:none;flex:none;display:flex;overflow:hidden}.mo-ev:hover{background:var(--hover)}.mo-ev:before{content:"";border-radius:var(--r-round);background:var(--acc);flex:none;width:6px;height:6px}.mo-ev .h{color:var(--mute);font-variant-numeric:tabular-nums;flex:none}.mo-ev .t{text-overflow:ellipsis;overflow:hidden}.mo-ev.all{background:var(--acc-dim);font-weight:600}.mo-ev.all:before{display:none}.mo-ev.ghost{opacity:.4}.mo-more{font-size:var(--fs-11);color:var(--mute);text-align:left;padding:0 var(--sp-4);flex:none}.mo-more:hover{color:var(--fg)}.ls{max-width:760px;padding:var(--sp-8) var(--sp-18) var(--sp-32);margin:0 auto}.ls-day{padding:var(--sp-10) 0;border-bottom:1px solid var(--line)}.ls-title{font-family:var(--fb);font-size:var(--fs-12);color:var(--mute);text-transform:uppercase;letter-spacing:.08em;margin:0 var(--sp-8) var(--sp-4);font-weight:600}.ls-day.today .ls-title{color:var(--acc-text)}.ls-ev{align-items:flex-start;gap:var(--sp-14);text-align:left;width:100%;padding:var(--sp-8);border-radius:var(--r-10);display:flex}.ls-ev:hover{background:var(--hover)}.ls-time{width:104px;color:var(--mute);font-size:var(--fs-13);font-variant-numeric:tabular-nums;flex:none;padding-top:1px}.ls-t{font-weight:600;display:block}.ls-s{align-items:center;gap:var(--sp-4);color:var(--mute);font-size:var(--fs-12);margin-top:var(--sp-2);display:flex}.ls-s .ic{flex:none;width:12px;height:12px}.ls-ev .ri{width:14px;height:14px;color:var(--mute2);margin-top:var(--sp-2);flex:none}.ls .more{margin:var(--sp-16) auto 0;display:flex}.ls .empty.lead{text-align:center;padding-top:var(--sp-32)}.row-line{align-items:center;gap:var(--sp-10);margin-top:var(--sp-16);font-size:var(--fs-15);display:flex}.f .in.when{gap:var(--sp-10);display:flex}.f .in.when input[type=time]{flex:none;width:96px}.hint{color:var(--mute);font-size:var(--fs-12);margin-top:var(--sp-6);line-height:var(--lh-base)}.rule{margin-top:var(--sp-10);padding:var(--sp-12);border:1px solid var(--line);border-radius:var(--r-12);gap:var(--sp-10);flex-direction:column;display:flex}.rule-row{align-items:center;gap:var(--sp-8);font-size:var(--fs-14);flex-wrap:wrap;display:flex}.rule .num{border-bottom:1px solid var(--line2);width:64px;padding:var(--sp-4) 0;text-align:center}.rule select,.rule input[type=date]{border-bottom:1px solid var(--line2);width:auto;padding:var(--sp-4) var(--sp-8)}.rule select option{background:var(--sheet);color:var(--fg)}.rule .seg button{padding:var(--sp-6) var(--sp-10);font-size:var(--fs-13)}.seg.days button{min-width:40px}.lead-text{font-size:var(--fs-15);margin:var(--sp-8) 0 var(--sp-14);line-height:var(--lh-base)}.opts{gap:var(--sp-8);flex-direction:column;display:flex}.opt{align-items:flex-start;gap:var(--sp-12);text-align:left;padding:var(--sp-12);border:1px solid var(--line);border-radius:var(--r-12);display:flex}.opt:hover{border-color:var(--line2)}.opt.on{border-color:var(--acc);background:var(--acc-dim)}.opt .dot{border-radius:var(--r-round);border:2px solid var(--line2);flex:none;width:18px;height:18px;margin-top:1px}.opt.on .dot{border-color:var(--acc);background:var(--acc);box-shadow:inset 0 0 0 3px var(--sheet)}.opt-t{font-weight:600;display:block}.opt-s{color:var(--mute);font-size:var(--fs-12);margin-top:var(--sp-2);display:block}.gate{text-align:center;justify-content:center;align-items:center;gap:var(--sp-12);min-height:100dvh;padding:var(--sp-24);flex-direction:column;display:flex}.gate-ic{width:44px;height:44px;color:var(--acc)}.gate .empty{max-width:440px;padding:0}@media (width<=899px){.bar{padding:var(--sp-10) var(--sp-12) var(--sp-8);gap:var(--sp-8)}.bar-nav{flex:1}.bar-title{font-size:var(--fs-16);margin-left:var(--sp-4)}.bar-tools{width:100%}.seg.views{gap:var(--sp-4);flex-wrap:nowrap;flex:1}.seg.views button{padding:var(--sp-6) var(--sp-4);font-size:var(--fs-12);flex:1}.search.open{flex-basis:100%;order:5}.search.open input{flex:1;width:auto}.wk{--gut:38px}.wk-day .dn{width:28px;height:28px;font-size:var(--fs-15)}.blk{padding:1px var(--sp-4)}.mo{min-height:420px}.mo-ev .h{display:none}.mo-ev{font-size:var(--fs-11);padding:0 var(--sp-2)}.ls{padding:var(--sp-4) var(--sp-12) var(--sp-24)}.ls-time{width:84px;font-size:var(--fs-12)}}@media (width<=600px){.sheet .f2{grid-template-columns:1fr;gap:0}.v-week .blk .h,.v-week .blk .ri{display:none}.v-week .blk .t{white-space:normal;font-size:var(--fs-11);padding-right:0}}
