.calendar-heading,.calendar-toolbar,.staff-item{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.calendar-heading h2{margin:4px 0;font-size:24px}.calendar-heading p,.staff-panel p,.storage-panel small{color:var(--muted);font-size:12px;line-height:1.6}
.calendar-toolbar{justify-content:flex-start;margin:24px 0;align-items:end}.calendar-toolbar label{min-width:120px;flex:1}.calendar-toolbar .btn{min-height:42px;padding:10px 14px}
.calendar-weekdays,.calendar-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays span{text-align:center;padding:12px 0;font-size:12px;font-weight:700;color:var(--muted)}
.calendar-month{border:1px solid var(--line);border-radius:12px;overflow:hidden}.calendar-day{min-height:115px;padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}.calendar-day.outside{background:#f8f9fb;color:var(--muted)}.calendar-day.is-today{background:var(--primary-soft)}
.calendar-day-number{border:0;background:transparent;padding:4px 8px;border-radius:8px;font-weight:800;cursor:pointer;color:inherit}.is-today .calendar-day-number{background:var(--primary);color:white}
.calendar-event{display:block;text-align:left;width:100%;border:0;border-left:3px solid var(--primary);border-radius:4px;background:var(--primary-soft);padding:5px 4px;font-size:10px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--primary);cursor:pointer}.calendar-event.cancelled,.calendar-event.no_show{border-color:#b15454;background:#fceded;color:#a64747}.calendar-event.completed{border-color:#218363;background:#e3f4ec;color:#218363}.calendar-more{border:0;background:transparent;font-size:10px;color:var(--primary);padding:5px;cursor:pointer}
.calendar-agenda{display:grid;gap:10px;margin-top:20px}.calendar-agenda>p{color:var(--muted);font-size:13px;line-height:1.6}.agenda-item{display:grid;grid-template-columns:145px 1fr auto;align-items:start;gap:16px;padding:16px;border:1px solid var(--line);border-radius:12px;text-align:left;background:#fff;color:var(--ink);cursor:pointer;min-width:0}.agenda-item>span{display:grid;gap:5px;min-width:0}.agenda-item small{color:var(--muted);font-size:11px}.agenda-item strong{font-size:14px}.agenda-time{font-size:12px;font-weight:700}.appointment-status{font-size:11px!important;font-weight:700;color:var(--primary);background:var(--primary-soft);border-radius:20px;padding:5px 9px}.cancelled .appointment-status,.no_show .appointment-status{color:#a64747;background:#fceded}.completed .appointment-status{color:#218363;background:#e3f4ec}
.activity-summary{display:grid;gap:4px;border:0;border-radius:8px;text-align:left;padding:8px 10px;background:var(--primary-soft);color:var(--primary);margin-top:8px;max-width:100%;cursor:pointer;font-family:inherit}.activity-summary strong{font-size:11px}.activity-summary span{font-size:10px!important}.activity-note{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted)}.activity-summary .activity-note{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:280px}.appointment-label{font-weight:800}.expiry-card>.activity-summary{width:100%;margin:12px 0}
.activity-modal{width:min(800px,100%);display:flex;flex-direction:column;max-height:92dvh;overflow:hidden}.activity-scroll{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.activity-modal .modal-header{flex-shrink:0}.activity-modal form{display:grid;gap:16px}.activity-modal textarea{width:100%;resize:vertical;min-height:70px;border:1px solid var(--line);border-radius:10px;padding:12px;font:inherit;line-height:1.5}.activity-modal fieldset{border:1px solid var(--line);border-radius:12px;padding:16px;display:grid;gap:14px;min-width:0}.activity-modal legend{font-size:13px;font-weight:700;padding:0 8px}.appointment-check{display:flex;align-items:center;gap:10px}.appointment-check input{width:20px;height:20px;accent-color:var(--primary)}.activity-modal .modal-actions{margin-top:4px}.activity-error{color:#b13b46;font-size:13px;margin:0;white-space:pre-wrap}.activity-warning{font-size:12px;color:#a16a10;margin:0}.activity-modal .hidden{display:none!important}
.call-history{padding:0 24px 24px}.call-history h3,.customer-activity-history h3{font-size:16px}.call-timeline{display:grid;gap:12px;margin-top:20px}.call-timeline article{border-left:3px solid var(--primary);padding:12px 15px;border-radius:0 10px 10px 0;background:#f7f8fb}.call-timeline article>div{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.call-timeline strong{font-size:13px}.call-timeline span,.call-timeline small{font-size:11px;color:var(--muted)}.call-timeline p{font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.customer-activity-history>p{color:var(--muted);font-size:12px}.appointment-audit{display:grid;gap:5px;border-bottom:1px solid var(--line);padding:12px 0;font-size:12px}.appointment-audit span{color:var(--muted)}.appointment-audit p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.text-button{background:none;border:0;color:var(--primary);text-decoration:underline;cursor:pointer}
.staff-panel{margin-top:20px}.staff-panel form,#storageLimitForm{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:20px 0}.staff-panel form label{flex:1}.staff-item{padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.staff-item .btn{font-size:11px;padding:8px 12px}.storage-panel{margin-bottom:20px}.storage-panel progress{width:100%;height:14px;accent-color:var(--primary);margin:14px 0}.storage-panel #storageDetails{font-size:13px;line-height:1.6}.storage-banner{background:#fff2d6;border:1px solid #e9b760;color:#805613;padding:16px;border-radius:12px;margin:0 0 18px;font-size:14px;line-height:1.5}
@media(max-width:760px){.calendar-heading h2{font-size:20px}.calendar-heading .btn{width:100%}.calendar-toolbar{gap:8px}.calendar-toolbar label{min-width:calc(50% - 8px)}.calendar-day{min-height:72px;padding:3px}.calendar-day-number{padding:4px;font-size:12px}.calendar-event{font-size:9px;padding:3px}.calendar-event span{display:none}.calendar-more{font-size:9px;padding:2px}.calendar-weekdays span{font-size:10px}.agenda-item{grid-template-columns:1fr auto;gap:10px;padding:12px}.agenda-time{grid-column:1/-1}.agenda-item .agenda-time small{display:inline}.activity-modal{height:100dvh;max-height:100dvh;width:100%;border-radius:0}.activity-modal .modal-header{padding:16px}.activity-modal form{padding:16px}.activity-modal input,.activity-modal select,.activity-modal textarea,.calendar-toolbar input,.calendar-toolbar select{font-size:16px;min-height:44px}.activity-modal .modal-actions{position:sticky;bottom:0;z-index:2;background:#fff;margin:4px -16px -16px;padding:14px 16px max(18px,env(safe-area-inset-bottom));box-shadow:0 -8px 15px #1720360d}.activity-modal .modal-actions .btn{flex:1}.call-history{padding:16px}.calendar-agenda .appointment-status{font-size:10px!important}.customer-activity-history .agenda-item{grid-template-columns:1fr}.staff-panel form .btn{width:100%}}
