/* FIX3 visual guardrails: loaded after all previous styles. Scoped to desktop and relevant modules. */
@media(min-width:1024px){
 body.ux093:has(.p99-sidebar)>.ux-top .ux-nav,
 body.ux093:has(.p99-sidebar)>.ux-top .ux-brand,
 body.ux093:has(.p99-sidebar)>.ux-top .ux-section{display:none!important;visibility:hidden!important}
 body.ux093:has(.p99-sidebar)>.ux-top{margin-left:240px!important;width:calc(100% - 240px)!important;min-height:60px!important}
 body.ux093:has(.p99-sidebar) main#ux-main{margin-left:240px!important;max-width:none!important;width:calc(100% - 240px)!important;box-sizing:border-box!important}
 body.ux093 main#ux-main :is(.p99-planner,.p99-availability,.p99c,.p99m){width:100%!important;max-width:100%!important}
 body.ux093 main#ux-main :is(.p99c,.p99-planner,.p99-availability) form{max-width:none!important}
 body.ux093 main#ux-main .p99-availability .p99-submit{width:auto!important;max-width:none!important}
}
body.ux093 .p99c button.p99c-cell{width:100%!important;max-width:none!important;min-height:47px!important;height:47px!important;padding:3px!important;align-self:stretch!important}
body.ux093 .p99c .p99c-grid{width:100%;max-width:none}
body.ux093 .p99c .p99c-tablewrap{max-height:min(75vh,850px)}
body.ux093 .p99c .p99c-menus button{width:100%!important;max-width:none!important;min-height:35px!important}
body.ux093 .p99c .p99c-menu-svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;flex-shrink:0}
body.ux093 .p99c .p99c-menu-svg.morning{color:#ed9200}body.ux093 .p99c .p99c-menu-svg.main{color:#159857}body.ux093 .p99c .p99c-menu-svg.evening{color:#7040da}
body.ux093 .p99c .p99c-menus{z-index:3000;min-width:255px}
body.ux093 .p99-planner .p99-main-icon{display:none!important}
body.ux093 .p99-planner .p99-line-icon{display:inline-block!important}
body.ux093 .p99-planner .p99-month-scroll{max-height:68vh;overflow:auto}
body.ux093 .p99-planner .p99-cell-actions{display:none!important}
body.ux093 .p99-planner .p99-slot{min-height:39px;box-sizing:border-box}
body.ux093 .p99-planner .p99-month-table td{position:relative}
body.ux093 .p99-planner .p99-month-table td:focus-within .p99-cell-actions,
body.ux093 .p99-planner .p99-month-table td:hover .p99-cell-actions{display:flex!important;position:absolute;top:3px;right:3px;left:3px;flex-wrap:wrap;justify-content:center;z-index:4;padding:5px;border:1px solid #e8def7;border-radius:9px;background:#fff;box-shadow:0 5px 15px #2b23532e}
body.ux093 .p99-planner .p99-month-table td .p99-cell-actions a{font-size:10px!important;min-height:28px!important;padding:3px 5px!important}
body.ux093 .p99-availability{width:100%;max-width:980px!important;margin:0 auto}
body.ux093 .p99-availability .p99-grid{max-width:800px;margin:12px 0;gap:7px}
body.ux093 .p99-availability .p99-day span{box-sizing:border-box;min-height:70px;background:#fff;border-color:#e3e0f4;padding:7px;overflow:hidden}
body.ux093 .p99-availability .p99-day input:checked+span{background:#e9ddff;border-color:#8358e5;outline:2px solid #7b50df}
body.ux093 .p99-availability .p99-day em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#665b87}
body.ux093 .p99-availability .p99-form{width:100%;max-width:980px!important;box-sizing:border-box;align-items:end;display:flex;gap:12px}
body.ux093 .p99-availability .p99-form label{min-width:150px;flex:1 1 160px}
body.ux093 .p99-availability .p99-month{display:flex;align-items:end;gap:8px}
body.ux093 .p99-availability :is(input,select,button){box-sizing:border-box;min-height:38px;border-radius:10px}
@media(max-width:740px){body.ux093 .p99-availability .p99-day span{min-height:65px;padding:3px}body.ux093 .p99-availability .p99-form{position:static}body.ux093 .p99-availability .p99-grid{gap:3px}}

/* Explicit panel click targets and readable role styles. */
.p99c .p99c-cell.assigned.full .p99c-icon,.p99-planner .p99-slot[data-role="main"] .p99-role-icon{color:#16965b}
.p99-planner .p99-slot[data-role="morning_helper"] .p99-role-icon{color:#e99600}
.p99-planner .p99-slot[data-role="evening_helper"] .p99-role-icon{color:#7542de}
.p99-planner .p99-month-table{min-width:0!important;table-layout:fixed!important}
.p99-planner .p99-month-table th:first-child{width:170px!important}
.p99-planner .p99-month-table td{min-width:125px!important;vertical-align:top!important}
.p99c .p99c-legend button#p99c-legend-toggle{min-height:34px!important;min-width:24px!important;width:24px!important;padding:0!important}

/* FIX5: slot actions open only on click, never cover shifts on hover. */
body.ux093 .p99-planner .p99-month-table td{position:relative}
body.ux093 .p99-planner .p99-month-table td:hover .p99-cell-actions,
body.ux093 .p99-planner .p99-month-table td:focus-within .p99-cell-actions{display:none!important}
body.ux093 .p99-planner .p99-month-table td.p99-open .p99-cell-actions{display:flex!important;position:absolute;top:30px;left:3px;right:3px;z-index:20;flex-wrap:wrap;gap:5px;background:#fff;box-shadow:0 8px 20px #2520492e;border:1px solid #ded3f5;border-radius:10px;padding:8px}
body.ux093 .p99-planner .p99-cell-menu-toggle{position:absolute;right:4px;top:3px;z-index:5;width:25px!important;min-height:25px!important;height:25px!important;padding:0!important;margin:0!important;border:1px solid #d9d2f3!important;background:#fff!important;color:#6338c6!important;border-radius:7px!important;font-size:17px!important;line-height:1!important;cursor:pointer}
body.ux093 .p99-planner .p99-month-table td.p99-open .p99-cell-menu-toggle{background:#eee6ff!important}
