.availability-section{margin:28px 0;padding:0;overflow:hidden}.availability-summary{width:100%;display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;text-align:left;border:0;background:transparent;color:inherit;padding:18px 20px;cursor:pointer}.availability-summary-main{min-width:0}.availability-summary .eyebrow{margin:0 0 3px}.availability-summary h2{margin:0;font-family:"Playfair Display",serif;font-size:1.3rem}.availability-summary-next{display:flex;align-items:center;justify-content:flex-end;gap:10px;color:#d9cbd4;min-width:0}.availability-summary-next>span:first-child{font-size:.75rem;color:#948691;white-space:nowrap}.availability-summary-next strong{font-size:.86rem;color:#fff7fa;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}.availability-chevron{font-size:1.1rem;color:#ff9fbd;transition:transform .2s ease}.availability-section.open .availability-chevron{transform:rotate(180deg)}.availability-body{border-top:1px solid rgba(255,255,255,.07);padding:18px 20px 22px}.availability-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.availability-head h3{margin:0 0 .35rem;font-family:"Playfair Display",serif;font-size:1.05rem}.availability-head p{margin:0;color:#a99aa6;line-height:1.45}.availability-next{margin:16px 0;padding:15px 16px;border:1px solid rgba(255,127,167,.24);border-radius:16px;background:linear-gradient(135deg,rgba(255,127,167,.09),rgba(255,255,255,.025))}.availability-next small{display:block;color:#9e909b;margin-bottom:4px}.availability-next strong{font-size:1rem;color:#fff7fa}.availability-toolbar{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;margin:16px 0 10px}.availability-toolbar button,.availability-actions button,.calendar-copy{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.045);color:#fff;border-radius:12px;min-height:42px;padding:0 12px;font:inherit;font-weight:700;cursor:pointer}.availability-toolbar .week-label{text-align:center;font-weight:700;color:#f6ebf1}.week-current{display:block;width:max-content;max-width:100%;margin:0 auto 16px;padding:9px 14px;border:1px solid rgba(255,127,167,.42);border-radius:999px;background:rgba(255,127,167,.10);color:#ffd2df;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer;box-shadow:none;-webkit-appearance:none;appearance:none}.week-current:hover{background:rgba(255,127,167,.16)}.week-current.hidden{display:none}.availability-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:15px}.availability-actions .primary{background:linear-gradient(135deg,#ff7fa7,#ff9bb9);color:#27121a;border:0}.availability-legend{display:flex;gap:14px;flex-wrap:wrap;margin:0 0 13px;color:#a99aa6;font-size:.78rem}.availability-legend span{display:inline-flex;align-items:center;gap:6px}.availability-legend i{width:9px;height:9px;border-radius:50%;display:inline-block}.availability-legend .busy{background:#ff6f91}.availability-legend .maybe{background:#f4b65f}.availability-legend .free{background:#67d59b}.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:9px;overflow-x:auto;padding-bottom:5px}.calendar-day{min-width:130px;border:1px solid rgba(255,255,255,.08);border-radius:15px;background:rgba(255,255,255,.025);padding:10px}.calendar-day.today{border-color:rgba(255,127,167,.38)}.calendar-day-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:9px}.calendar-day-head strong{font-size:.82rem;text-transform:capitalize}.calendar-day-head small{color:#8f818d}.calendar-person{margin-top:8px}.calendar-person-title{font-size:.69rem;color:#978995;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}.calendar-block{position:relative;padding:7px 25px 28px 8px;margin:5px 0;border-radius:10px;font-size:.73rem;line-height:1.35;border:1px solid rgba(255,255,255,.08)}.calendar-block.busy{background:rgba(255,111,145,.12);border-color:rgba(255,111,145,.25)}.calendar-block.maybe{background:rgba(244,182,95,.11);border-color:rgba(244,182,95,.26)}.calendar-block b{display:block;color:#fff}.calendar-block span{color:#c7b8c2}.calendar-block .delete-block{position:absolute;right:5px;top:4px;border:0;background:transparent;color:#ff9fba;font-size:1rem;cursor:pointer}.calendar-block .edit-block{position:absolute;left:8px;bottom:6px;border:0;background:transparent;color:#ffd0de;font:inherit;font-size:.66rem;font-weight:700;cursor:pointer;padding:2px 0}.calendar-block .edit-block:hover{text-decoration:underline}.calendar-empty{font-size:.7rem;color:#6f636c;font-style:italic;margin:5px 0}.calendar-common{margin-top:10px;padding-top:8px;border-top:1px dashed rgba(255,255,255,.08)}.calendar-common strong{font-size:.68rem;color:#8fdcb2;display:block;margin-bottom:4px}.calendar-free-slot{display:block;font-size:.69rem;color:#b9ecd0;margin:3px 0}.calendar-dialog{border:1px solid rgba(255,255,255,.1);border-radius:20px;background:#160f19;color:#fff;max-width:520px;width:calc(100% - 28px);padding:22px}.calendar-dialog::backdrop{background:rgba(5,3,7,.74);backdrop-filter:blur(4px)}.calendar-dialog h3{font-family:"Playfair Display",serif;margin:0 0 5px}.calendar-dialog .sub{margin:0 0 16px;color:#9d8f99;font-size:.85rem}.calendar-dialog label{display:block;margin:12px 0 6px;color:#d8cbd3;font-size:.82rem}.calendar-dialog input,.calendar-dialog select{width:100%;box-sizing:border-box;min-height:44px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#0e0a11;color:#fff;padding:9px 11px;font:inherit;font-size:16px}.calendar-day-picks{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.calendar-day-picks label{margin:0}.calendar-day-picks input{display:none}.calendar-day-picks span{display:flex;align-items:center;justify-content:center;height:39px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(255,255,255,.035);font-size:.73rem;cursor:pointer}.calendar-day-picks input:checked+span{border-color:#ff7fa7;background:rgba(255,127,167,.14);color:#ffd1df}.calendar-time-row{display:grid;grid-template-columns:1fr 1fr;gap:9px}.calendar-midnight-hint{margin:7px 0 0;color:#8f818d;font-size:.74rem}.calendar-status-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.calendar-status-row label{margin:0}.calendar-status-row input{display:none}.calendar-status-row span{display:flex;align-items:center;justify-content:center;min-height:42px;border:1px solid rgba(255,255,255,.1);border-radius:11px;cursor:pointer}.calendar-status-row input:checked+span{border-color:#ff7fa7;background:rgba(255,127,167,.11)}.calendar-dialog-actions{display:flex;gap:8px;margin-top:16px}.calendar-dialog-actions button{flex:1;min-height:46px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.045);color:#fff;font:inherit;font-weight:700;cursor:pointer}.calendar-dialog-actions .save{border:0;background:linear-gradient(135deg,#ff7fa7,#ff9bb9);color:#27121a}.calendar-status{min-height:1.2em;margin:8px 0 0;color:#ffc0d4;font-size:.8rem}@media(max-width:700px){.availability-summary{grid-template-columns:1fr;padding:16px 14px;gap:12px}.availability-summary h2{font-size:1.08rem}.availability-summary-next{justify-content:space-between;width:100%;gap:8px}.availability-summary-next>span:first-child{display:none}.availability-summary-next strong{max-width:none;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.3;font-size:.76rem}.availability-chevron{margin-left:auto;flex:0 0 auto}.availability-body{padding:15px 14px 18px}.availability-head{display:block}.availability-head p{font-size:.88rem}.availability-toolbar{grid-template-columns:42px 1fr 42px}.availability-toolbar button{padding:0}.week-current{margin:2px auto 18px}.calendar-days{grid-template-columns:repeat(7,148px);scroll-snap-type:x proximity}.calendar-day{scroll-snap-align:start}.availability-actions button{flex:1 1 145px}.calendar-day-picks{grid-template-columns:repeat(4,1fr)}.calendar-time-row{grid-template-columns:1fr 1fr}}