/* Build 77 — temporary calendar clipboard stays compact on small phones. */
#calendarPage .lmo75-copy-status{display:flex!important;align-items:center;gap:5px;flex-wrap:wrap;margin:2px 0 1px!important;padding:3px 5px!important;font-size:10px!important;line-height:1.23!important}
#calendarPage .lmo75-copy-status .lmo75-copy-clear{flex:none;min-height:27px!important;padding:2px 5px!important;margin:0 0 0 auto!important;font-size:10px!important}
#calendarPage .preview-actions.v29-day-actions{gap:4px!important;margin:3px 0!important}
#calendarPage .preview-actions.v29-day-actions button{min-height:37px!important}
#v13MasterPanel .lmo77-person-button{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:100%;text-align:left;min-height:58px;margin:5px 0;padding:9px 12px;border:1px solid #e8c5d7;border-radius:11px;background:var(--v24-cards,#fff9fc);color:var(--v24-card-text,#54374b);box-sizing:border-box;max-width:100%}
#v13MasterPanel .lmo77-person-button strong{font-size:13px;line-height:1.2}
#v13MasterPanel .lmo77-person-button small{font-size:11px;overflow-wrap:anywhere}
#f12MasterPanel .lmo77-feedback-person{display:inline-block;margin:3px 0 5px;padding:5px 9px;font-size:11px}
.lmo77-person-sheet{position:fixed;inset:0;width:100%;height:100%;max-width:100vw;max-height:100dvh;margin:0;padding:0;border:0;border-radius:0;background:var(--v24-cards,#fff9fc);color:var(--v24-card-text,#54374b);overflow:hidden;box-sizing:border-box;z-index:2300}
.lmo77-person-sheet:not([open]){display:none}
.lmo77-person-sheet::backdrop{background:rgba(36,17,30,.46)}
.lmo77-person-panel{height:100%;display:flex;flex-direction:column;min-height:0;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);box-sizing:border-box}
.lmo77-person-panel>header{display:flex;align-items:center;gap:15px;flex:none;padding:10px 14px;background:linear-gradient(110deg,var(--v24-primary,#a8507d),#d49ab3);color:white;min-height:58px}
.lmo77-person-panel>header button{width:43px;min-width:43px;height:43px;border-radius:12px;background:#f5e4ef;color:#54374b;font-size:28px;padding:0}
.lmo77-person-panel>header strong{font-size:18px}
.lmo77-person-content{padding:15px;max-width:700px;width:100%;margin:0 auto;box-sizing:border-box;overflow-y:auto;min-height:0;flex:1;overscroll-behavior:contain}
.lmo77-person-field{display:flex;align-items:start;justify-content:space-between;gap:12px;border:1px solid #e8c5d7;background:color-mix(in srgb,var(--v24-primary,#a8507d) 7%,var(--v24-cards,#fff9fc));border-radius:11px;margin:6px 0;padding:11px 12px;min-width:0;overflow-wrap:anywhere}
.lmo77-person-field span{color:var(--v24-muted,#80647a);font-size:12px;flex:1}
.lmo77-person-field strong{font-size:13px;text-align:right;min-width:0;flex:1}
.lmo77-person-status{color:var(--v24-muted,#80647a);font-size:12px;line-height:1.4;padding:7px}
body.v22-night .lmo77-person-sheet{background:#29232e;color:#fff0f8}
@media(max-width:360px){.lmo77-person-content{padding:9px}.lmo77-person-field{padding:9px}.lmo77-person-field strong{font-size:12px}}

/* 77 finale — evidenzia il tipo obbligatorio senza perdere gli orari. */
#dayEditorCard .shift-type-buttons.lmo77-type-required{border:2px solid #b64f7b!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--v24-primary,#b64f7b) 20%,transparent)!important;border-radius:10px;padding:4px;animation:lmo77-type-pulse 0.75s ease-in-out 2}
#dayEditorCard .shift-type-buttons.lmo77-type-required .shift-type-button{border-color:var(--v24-primary,#b64f7b)!important}
@keyframes lmo77-type-pulse{0%,100%{box-shadow:0 0 0 1px transparent}50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--v24-primary,#b64f7b) 30%,transparent)}}
@media(prefers-reduced-motion:reduce){#dayEditorCard .shift-type-buttons.lmo77-type-required{animation:none!important}}
/* Il tipo e l'orario dei turni verdi restano nella casella, senza alterare il computo. */
#calendarPage .day.lmo77-planned-with-time .lmo77-planned-time{display:block!important;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:clamp(7px,1.8vw,9px)!important;font-weight:750;color:#185e3f!important;line-height:1.1;margin-top:2px!important;letter-spacing:-.02em}
#calendarPage .day.lmo77-plan-mattina::before{content:'MAT'!important;color:#18633e!important}
#calendarPage .day.lmo77-plan-centrale::before{content:'CEN'!important;color:#18633e!important}
#calendarPage .day.lmo77-plan-serale::before{content:'SER'!important;color:#18633e!important}
#calendarPage .day.lmo77-plan-notturno::before{content:'NOT'!important;color:#18633e!important}
#v13MasterPanel .v19-person{min-width:0;flex-wrap:wrap}
#v13MasterPanel .lmo77-open-person{font-size:11px;min-height:31px;padding:4px 7px;flex:none}
body.v22-night #calendarPage .day.lmo77-planned-with-time .lmo77-planned-time{color:#185e3f!important}

/* Build100: la scheda persona rispetta le aree laterali protette. */
.lmo77-person-panel>header{padding-left:max(14px,env(safe-area-inset-left,0px));padding-right:max(14px,env(safe-area-inset-right,0px))}
.lmo77-person-content{padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px))}
