/* v0.14.4 Calm Calendar — overview first, detail on tap */
.calm-calendar-panel{padding:20px;border-radius:24px;background:#fff;overflow:visible}
.calm-calendar-head{align-items:flex-start;margin-bottom:8px}.calm-calendar-head h2{margin:0 0 6px;font-size:24px;letter-spacing:-.02em}.calm-calendar-head .hint{max-width:520px;line-height:1.45}
.compact-action{padding:9px 12px!important;border-radius:12px!important;font-size:13px!important;white-space:nowrap}
.calm-month-bar{justify-content:space-between;margin:12px 0 14px;padding:0 2px}.calm-month-bar b{font-size:20px;min-width:0;letter-spacing:-.02em}.calm-month-bar .icon-btn{width:40px;height:40px;border-radius:14px;background:#f8f5fc}
.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px}.calendar-weekdays b{font-size:11px;color:#8b8496;text-align:center;font-weight:800}
.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.calendar-cell{min-height:74px!important;padding:9px 7px!important;border:1px solid #eee9f4!important;border-radius:16px!important;background:#fff!important;box-shadow:none!important;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;text-align:left;overflow:hidden}
.calendar-cell:hover{border-color:#dcd1ee!important}.calendar-cell.muted{border-color:transparent!important;background:transparent!important}
.calendar-cell .cal-number{font-size:15px!important;color:#27203c;font-weight:850!important;background:transparent!important;width:auto!important;height:auto!important;display:block!important;border-radius:0!important}
.calendar-cell.is-today{border-color:#8d68ee!important;box-shadow:0 0 0 2px #efe9ff inset!important}.calendar-cell.is-today .cal-number{color:#6d42df!important}
.calendar-cell.has-booking{background:#faf8ff!important;border-color:#e5dcfa!important}.calendar-cell.is-blocked-all{background:#fff8f8!important;border-color:#f3d8dc!important}.calendar-cell.is-selected{outline:2px solid #7447e8!important;outline-offset:1px;background:#f8f4ff!important}
.calendar-cell .cal-summary{margin-top:auto!important;gap:2px!important;width:100%}.calendar-cell .cal-summary small{font-size:10px!important;line-height:1.15;font-weight:750!important;color:#776f82!important;white-space:normal}.calendar-cell .cal-summary .meaningful-booking{color:#6946c6!important}.calendar-cell .cal-summary .meaningful-low{color:#9a5b16!important}.calendar-cell .cal-summary .meaningful-partial{color:#9c5560!important}.day-off-chip{padding:0!important;background:transparent!important;color:#a65964!important;font-size:10px!important}
.day-planner{z-index:150;margin:0!important;border:0!important;padding:0!important}.day-planner[hidden]{display:none!important}.calendar-sheet-backdrop{position:fixed;inset:0;background:rgba(25,20,48,.34);backdrop-filter:blur(4px);z-index:148}.day-planner.calendar-sheet{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);width:min(620px,calc(100vw - 24px));max-height:min(78vh,720px);overflow:auto;background:#fff;border-radius:28px;padding:20px!important;box-shadow:0 28px 80px rgba(29,20,62,.28)}
.day-planner-head{align-items:flex-start;margin:0 0 16px!important}.day-planner-head h3{font-size:24px!important;margin:2px 0 5px!important}.day-planner-head p{max-width:430px;line-height:1.4}.day-planner-close{width:42px;height:42px;border-radius:14px;border:1px solid #ece5f4;background:#faf8fc;font-size:24px;color:#5a477a;flex:none}
.day-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0 16px}.day-overview div{background:#faf9fc;border:1px solid #eee9f4;border-radius:14px;padding:10px}.day-overview b{display:block;font-size:17px;color:#29213c}.day-overview span{font-size:11px;color:#7d7588}
.slot-grid-owner{grid-template-columns:repeat(4,1fr)!important;gap:8px!important}.owner-slot{min-height:48px;border-radius:14px!important;background:#fff!important;border:1px solid #e9e4ef!important;color:#302844!important;padding:9px 5px!important}.owner-slot.free{background:#fff!important;border-color:#ded7e7!important;color:#2f2842!important}.owner-slot.blocked{background:#fff6f7!important;border-color:#f0d8dc!important;color:#98525d!important}.owner-slot.booked{background:#f7f3ff!important;border-color:#e1d7fb!important;color:#6544b9!important}.owner-slot.selected{outline:2px solid #7549e8!important;background:#f5f0ff!important}.owner-slot small{font-size:9px;line-height:1.1}
.planner-tip{display:none}.planner-save-row{position:sticky;bottom:-1px;background:linear-gradient(180deg,rgba(255,255,255,0),#fff 26%);padding-top:18px;margin-top:4px!important}.planner-save-row .btn{width:100%}.day-planner-actions .btn{font-size:13px;padding:9px 12px}.calendar-empty-hours{border:1px solid #eee9f4;background:#faf9fc}
.multi-day-bar{border-radius:18px!important;background:#fff!important;box-shadow:0 18px 45px rgba(37,25,76,.16)!important}.multi-day-bar .btn{font-size:12px!important;padding:9px 11px!important}
@media(max-width:560px){.calm-calendar-panel{padding:16px 14px;border-radius:22px}.calm-calendar-head{display:block}.calm-calendar-head h2{font-size:21px}.calm-calendar-head .calendar-actions{margin-top:10px}.compact-action{background:transparent!important;border:0!important;padding:4px 0!important;color:#6e4cce!important}.calm-month-bar{margin-top:8px}.calm-month-bar b{font-size:19px}.calendar-weekdays{gap:4px}.calendar-days{gap:4px}.calendar-cell{min-height:64px!important;padding:7px 5px!important;border-radius:13px!important}.calendar-cell .cal-number{font-size:14px!important}.calendar-cell .cal-summary small{font-size:8.5px!important}.day-planner.calendar-sheet{bottom:0;width:100vw;max-height:82vh;border-radius:26px 26px 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom))!important}.day-planner-head{display:flex!important}.day-planner-head h3{font-size:21px!important}.day-planner-head p{font-size:12px}.day-planner-actions{margin-top:8px}.slot-grid-owner{grid-template-columns:repeat(3,1fr)!important}.owner-slot{font-size:12px}.day-overview{grid-template-columns:repeat(3,1fr)}.calendar-control-panel .calendar-legend{display:none!important}}
