.calroom{height:calc(100vh - 56px);display:flex;flex-direction:column;position:relative;background:var(--card);min-height:420px}@media(max-width:760px){.calroom{height:calc(100dvh - 133px)}}.caltop{display:flex;align-items:center;gap:9px;padding:10px 16px;border-bottom:1px solid var(--pale);flex:none;flex-wrap:wrap}.calmonth{font-size:15px;font-weight:700;letter-spacing:-.01em;padding:0 4px;white-space:nowrap}.calroom .calzone{margin-left:auto}.calroom .calnote{margin:10px 16px 0;flex:none}.mhead{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid var(--silver);background:var(--wash);flex:none}.mhead div{padding:6px 4px;text-align:center;font-size:9.5px;font-weight:700;letter-spacing:.09em;color:var(--dim)}.mgrid{flex:1;min-height:0;display:grid}.mrow{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--grid, var(--pale));min-height:0}.mrow:first-child{border-top:0}.mcell{border-left:1px solid var(--pale);padding:3px 5px;overflow:hidden;min-width:0;cursor:pointer;text-align:left;background:var(--card)}.mcell:first-child{border-left:0}.mcell:hover{background:color-mix(in srgb,var(--char) 3%,var(--card))}.mcell:focus-visible{outline:2px solid var(--pink);outline-offset:-2px}.mcell.out{background:var(--wash)}.mcell.out .mnum{color:var(--dim)}.mnum{display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;width:22px;height:22px;font-variant-numeric:tabular-nums}.mnum.today{background:var(--pink);color:#fff;border-radius:50%}.mchip{display:block;border-radius:4px;padding:1px 6px;margin-top:2px;font-size:10.5px;font-weight:600;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:color-mix(in srgb,var(--char) 8%,var(--card));color:var(--char)}.mchip.ours{background:color-mix(in srgb,var(--pink) 10%,var(--card));color:var(--pink)}.mchip.busyp{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--char) 9%,var(--card)),color-mix(in srgb,var(--char) 9%,var(--card)) 6px,var(--card) 6px,var(--card) 11px)}.mmore{display:block;font-size:10px;color:var(--dim);margin-top:2px;padding-left:6px}.calfloat{position:absolute;right:18px;bottom:18px;width:min(360px,calc(100% - 36px));max-height:min(60%,420px);overflow-y:auto;z-index:30;box-shadow:0 4px 10px #0101011a,0 18px 44px #0101012e}.calfloat.calday{width:min(420px,calc(100% - 36px))}.calpop{position:absolute;z-index:40;width:min(320px,calc(100% - 24px));background:var(--card);border:1px solid var(--pale);border-radius:12px;box-shadow:0 4px 10px #0101011a,0 18px 44px #0101012e;padding:14px 16px}.calpop h4{margin:0;font-size:14px;font-weight:700;line-height:1.3;padding-right:22px}.calpop .x{position:absolute;top:8px;right:8px;border:0;background:transparent;color:var(--dim);font-size:15px;cursor:pointer;width:26px;height:26px;border-radius:50%;line-height:1}.calpop .x:hover{background:var(--wash);color:var(--ink)}.calpop .inp{width:100%;margin-top:7px}.caltag{display:inline-block;border-radius:5px;padding:1px 7px;margin-bottom:6px;font-size:9.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;background:color-mix(in srgb,var(--pink) 10%,var(--card));color:var(--pink)}.caldur{display:flex;gap:6px;margin-top:9px}.caltop .chip[aria-pressed=true],.caltbar .chip[aria-pressed=true],.calpop .chip[aria-pressed=true]{background:var(--ink);color:var(--card);border-color:var(--ink)}.dayhead .calcell.clickable{cursor:pointer}.dayhead .calcell.clickable:hover{background:color-mix(in srgb,var(--char) 4%,var(--wash))}.dayhead .calcell.clickable:focus-visible{outline:2px solid var(--pink);outline-offset:-2px}.calshell{border:1px solid var(--pale);border-radius:12px;overflow:hidden;background:var(--card)}.calshell.calfull{flex:1;min-height:0;border:0;border-radius:0;display:flex;flex-direction:column;margin-top:0}.calshell.calfull .calscroll{flex:1;min-height:0;max-height:none}.calscroll{overflow:auto;max-height:560px}.cal{min-width:780px}.cal.calone{min-width:0}.calone .dayhead,.calone .adrow,.calone .gridbody{grid-template-columns:62px minmax(0,1fr)}.calhead{position:sticky;top:0;z-index:6;background:var(--card)}.dayhead{display:grid;grid-template-columns:62px repeat(7,minmax(0,1fr));border-bottom:1px solid var(--silver);background:var(--wash)}.dayhead .calcell{padding:9px 6px;text-align:center;border-left:1px solid var(--pale)}.dayhead .calcell:first-child{border-left:0}.dayhead .dow{font-size:9.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--dim)}.dayhead .dnum{font-size:19px;font-weight:600;margin-top:2px;line-height:1.15;font-variant-numeric:tabular-nums}.dayhead .calcell.today .dow{color:var(--pink)}.dayhead .calcell.today .dnum{color:#fff;background:var(--pink);border-radius:50%;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;font-size:14px}.adrow{display:grid;grid-template-columns:62px repeat(7,minmax(0,1fr));grid-auto-rows:24px;gap:2px 0;border-bottom:1px solid var(--silver);padding:3px 0;background:var(--card)}.adlbl{grid-column:1;grid-row:1;font-size:9px;color:var(--dim);text-align:right;padding:5px 8px 0 0;text-transform:uppercase;letter-spacing:.06em}.adband{border-radius:5px;background:color-mix(in srgb,var(--char) 8%,var(--card));border-left:3px solid color-mix(in srgb,var(--char) 55%,transparent);color:var(--char);font-size:10.5px;font-weight:600;line-height:21px;padding:0 8px;margin:0 3px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.adband.ours{background:color-mix(in srgb,var(--pink) 10%,var(--card));border-left-color:var(--pink);color:var(--pink)}.adband.clickable{cursor:pointer}.adband.clickable:hover{filter:brightness(.96)}.adband.clickable:focus-visible{outline:2px solid var(--pink);outline-offset:1px}.gridbody{display:grid;grid-template-columns:62px repeat(7,minmax(0,1fr));position:relative}.gutter,.gutter .hr{position:relative}.gutter .hr span{position:absolute;top:-7px;right:8px;font-size:10.5px;color:var(--dim);background:var(--card);padding:0 2px;font-variant-numeric:tabular-nums;white-space:nowrap}.calcol{position:relative;border-left:1px solid var(--pale)}.hline{border-top:1px solid var(--pale)}.calslot{position:absolute;left:0;right:0;background:transparent;border:0;padding:0;cursor:pointer;z-index:1}.calslot:hover:after,.calslot:focus-visible:after{content:attr(data-label);position:absolute;top:1px;right:4px;bottom:1px;left:4px;border:1.5px dashed var(--pink);border-radius:7px;background:color-mix(in srgb,var(--pink) 8%,transparent);color:var(--pink);font-size:10.5px;font-weight:700;display:flex;align-items:center;justify-content:center}.calslot:focus-visible{outline:none}.calev{position:absolute;left:3px;right:5px;border-radius:6px;padding:4px 7px;font-size:11px;line-height:1.3;overflow:hidden;z-index:2;border:0;border-left:3px solid color-mix(in srgb,var(--char) 55%,transparent);background:color-mix(in srgb,var(--char) 8%,var(--card));color:var(--char)}.calev b{display:block;font-weight:600;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calev i{font-style:normal;opacity:.75;font-size:9.5px;font-variant-numeric:tabular-nums}.calev.tiny{padding:0 7px;line-height:17px;font-size:10px}.calev.tiny b{font-size:10px;line-height:17px}.calev.busyp{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--char) 9%,var(--card)),color-mix(in srgb,var(--char) 9%,var(--card)) 6px,var(--card) 6px,var(--card) 11px)}.calev.ours{border-left-color:var(--pink);background:color-mix(in srgb,var(--pink) 10%,var(--card));color:var(--pink);box-shadow:0 1px 3px color-mix(in srgb,var(--pink) 18%,transparent)}.calev.ours.movable{cursor:grab;touch-action:none}.calev.drag{cursor:grabbing;z-index:8;box-shadow:0 8px 22px color-mix(in srgb,var(--pink) 35%,transparent);opacity:.95}.calev.hold{border:1.5px solid var(--pink);background:var(--pink);color:#fff;z-index:4;box-shadow:0 4px 14px color-mix(in srgb,var(--pink) 34%,transparent)}.calev.hold i{opacity:.9}.calev.hold.draft{background:color-mix(in srgb,var(--pink) 10%,var(--card));border:1.5px dashed var(--pink);border-left:3px solid var(--pink);color:var(--pink);box-shadow:none}.calev.hold.draft i{opacity:.8}.calev.hold.clash{background:repeating-linear-gradient(135deg,#b8342a,#b8342a 6px,#a12c23 6px,#a12c23 12px);border-color:#8f2119;box-shadow:none}.calev.hold.booked{box-shadow:none}.nowline{position:absolute;left:0;right:0;border-top:2px solid var(--pink);z-index:3}.nowline:before{content:"";position:absolute;left:-5px;top:-5px;width:8px;height:8px;border-radius:50%;background:var(--pink)}.caltbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:12px}.calpager{display:flex;align-items:center;gap:2px;border:1px solid var(--pale);border-radius:999px;padding:2px}.calpager button{border:0;background:transparent;color:var(--char);cursor:pointer;width:28px;height:26px;border-radius:999px;font-size:14px;line-height:1}.calpager button:hover{background:var(--wash);color:var(--ink)}.calrange{font-size:13px;font-weight:600;min-width:150px;text-align:center;padding:0 4px}.calzone{font-size:12px;color:var(--dim);margin-left:auto;white-space:nowrap}.calconfirm{margin-top:16px;border:1px solid var(--pale);border-radius:12px;background:var(--wash);padding:15px 17px;display:flex;gap:18px;align-items:center;flex-wrap:wrap}.calconfirm .csum{flex:1;min-width:240px}.calconfirm .csum b{display:block;font-size:14px;font-weight:700;margin-bottom:3px}.calconfirm .csum p{margin:0;font-size:12.5px;color:var(--dim);line-height:1.5}.calconfirm .csum p em{font-style:normal;color:var(--char)}.caltogs{display:flex;flex-direction:column;gap:7px}.caltog{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--char);cursor:pointer}.caltog input{accent-color:var(--pink);width:15px;height:15px;cursor:pointer}.calnote{border:1px solid var(--pale);background:var(--wash);border-radius:10px;padding:12px 14px;font-size:13px;color:var(--char);margin-bottom:14px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.calnote b{font-weight:600}.calnote .grow{flex:1;min-width:200px}.calempty{font-size:12.5px;color:var(--dim);margin:10px 0 0}.calmodal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:color-mix(in srgb,var(--ink) 42%,transparent);display:flex;align-items:flex-start;justify-content:center;padding:28px 16px;overflow-y:auto}.calmodal-card{background:var(--card);border:1px solid var(--pale);border-radius:14px;box-shadow:0 18px 48px #01010138;padding:18px 20px 20px;width:min(1100px,100%);min-width:0}.calmodal-head{display:flex;align-items:flex-start;gap:16px;margin-bottom:12px}.calmodal-head h3{font-size:19px;font-weight:700;margin:0}.calmodal-head .tsub{margin:3px 0 0}.calmodal-head .x{margin-left:auto;border:1px solid var(--pale);background:var(--card);color:var(--dim);width:30px;height:30px;border-radius:50%;font-size:16px;line-height:1;cursor:pointer;flex:none}.calmodal-head .x:hover{color:var(--ink);border-color:var(--silver)}.calsuggest{border:1px solid color-mix(in srgb,var(--pink) 30%,transparent);background:color-mix(in srgb,var(--pink) 7%,var(--card));border-radius:10px;padding:10px 13px;font-size:12.5px;color:var(--char);margin:0 0 12px}.calev.clickable{cursor:pointer}.calev.clickable:hover{filter:brightness(.97)}.calev.clickable:focus-visible{outline:2px solid var(--pink);outline-offset:1px}.calpick{margin-top:14px}.calpick-head{display:flex;align-items:flex-start;gap:16px}.calpick-head>div{flex:1;min-width:0}.calpick-head h3{font-size:16px;font-weight:700}.calpick-acts{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:12px}.calwho{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.calwho .inp{flex:1;min-width:160px}
