/* Scoped refinements for the existing settings, admin panel, and program controls. */
#lifeRobotPanel .agent-hint-settings{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--line,#ffffff20);border-radius:16px;background:#ffffff03}
#lifeRobotPanel .agent-hint-settings label{display:flex!important;flex-direction:row;align-items:center!important;justify-content:space-between;gap:16px!important;min-height:44px;font-size:13px!important;line-height:1.6;overflow-wrap:anywhere}
#lifeRobotPanel .agent-hint-settings input[type=checkbox],.admin-user-media-access input[type=checkbox]{appearance:none!important;-webkit-appearance:none!important;flex:0 0 44px;order:2;position:relative;box-sizing:border-box;width:44px!important;height:26px!important;min-height:26px!important;margin:0!important;padding:0!important;border:1px solid #9db7d545!important;border-radius:20px!important;background:#9db7d52b!important;cursor:pointer;transition:background .2s,border-color .2s}
#lifeRobotPanel .agent-hint-settings input[type=checkbox]::before,.admin-user-media-access input[type=checkbox]::before{content:'';position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#e6edf6;box-shadow:0 1px 3px #0003;transition:transform .2s}
#lifeRobotPanel .agent-hint-settings input:checked,.admin-user-media-access input:checked{background:#6caee9!important;border-color:#9acdf9!important}
#lifeRobotPanel .agent-hint-settings input:checked::before,.admin-user-media-access input:checked::before{transform:translateX(18px)}
#lifeRobotPanel .agent-hint-settings input:focus-visible,.admin-user-media-access input:focus-visible{outline:2px solid var(--accent,#9acdf9);outline-offset:3px}
.profile-appearance-icon{width:22px;height:22px;flex:none;color:var(--accent,#9acdf9)}
.profile-appearance>summary{display:flex;align-items:center;gap:10px}
.admin-users-list{display:grid;gap:14px;max-height:65dvh;overflow:auto;overscroll-behavior:contain;padding:2px 4px 6px 0}
.admin-user-card{min-width:0;display:grid;gap:15px;padding:18px;border:1px solid var(--line,#ffffff20);border-radius:18px;background:#ffffff03}
.admin-user-heading{display:flex;gap:12px;align-items:flex-start;min-width:0}.admin-user-avatar{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line,#ffffff20);border-radius:13px;color:var(--accent,#9acdf9);background:#9acdf90a}
.admin-user-identity{min-width:0;flex:1;display:grid;gap:4px;overflow-wrap:anywhere}.admin-user-identity :is(strong,span,small){max-width:100%;white-space:normal;overflow-wrap:anywhere}.admin-user-activity{font-size:12px;line-height:1.7;color:var(--muted,#b5c4d8)}.admin-user-status{flex:none;border:1px solid var(--line,#ffffff20);border-radius:20px;padding:5px 8px;font-size:11px}.admin-user-status[data-status=blocked]{color:#ffadb6;border-color:#ffadb645}
.admin-user-actions{display:flex;flex-wrap:wrap;gap:8px}.admin-user-actions button{min-height:44px;white-space:normal;overflow-wrap:anywhere}.admin-user-actions .danger-text{border-color:#ffadb645;color:#ffadb6}
.admin-user-media-access{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin:0;padding:12px;border:1px solid var(--line,#ffffff20);border-radius:14px;min-width:0}.admin-user-media-access>label{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:42px;margin:0;font-size:13px}.admin-user-media-access legend{padding-inline:6px;font-size:12px;color:var(--muted,#b5c4d8)}.admin-user-media-access small{line-height:1.6;overflow-wrap:anywhere}
.custom-program-edit-actions{justify-content:center!important;width:100%;gap:10px!important}.custom-program-edit-actions .icon-btn{width:44px!important;height:44px!important;min-width:44px;padding:0;display:inline-grid;place-items:center}.workout-card-meta-row:has(.custom-program-edit-actions){flex-wrap:wrap;justify-content:center}
#modal:has(.social-dialog){display:block;opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease}
#modal.open:has(.social-dialog){opacity:1;visibility:visible}#modal:not(.open):has(.social-dialog){pointer-events:none}
#modal .modal__dialog:has(.social-dialog){max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
@media(max-width:650px){.admin-user-card{padding:13px}.admin-user-heading{flex-wrap:wrap}.admin-user-identity{flex-basis:calc(100% - 60px)}.admin-user-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-user-actions button{width:100%;min-width:0;padding:9px 6px;font-size:12px}.admin-users-panel{min-width:0;max-width:100%}.admin-users-list{max-height:60dvh}.modal-box.wide{max-width:100%;box-sizing:border-box;max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain}.modal-box.wide .modal-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.modal-box.wide .modal-actions>button{width:100%;min-width:0;min-height:44px;white-space:normal;overflow-wrap:anywhere}.modal-box.wide .modal-actions #startProgram{grid-column:1/-1}.developer-letters>header{flex-wrap:wrap}.developer-letters [data-developer-back]{min-height:44px;order:3;flex-basis:100%}}
@media(prefers-reduced-motion:reduce){#lifeRobotPanel .agent-hint-settings *,#modal:has(.social-dialog),.admin-user-media-access *{transition:none!important;animation:none!important}}
/* Challenge details use the same translucent surface as other application dialogs. */
#modal .modal__dialog:has(.social-dialog):not(:has(#globalChallengeForm,.social-detail)){background:linear-gradient(145deg,rgba(26,34,47,.74),rgba(12,18,28,.68))!important;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border:1px solid rgba(185,211,240,.24);box-shadow:0 28px 80px #0006,inset 0 1px #ffffff0b}
#modal .social-dialog{background:transparent!important}.social-detail__body{overscroll-behavior:contain}
#modal .calendar-swipe-confirm{box-sizing:border-box;width:100%;max-width:none;justify-self:stretch;padding:20px 16px}
#modal .calendar-swipe-confirm>:is(h3,p,small,.calendar-delete-remember,.form-actions){box-sizing:border-box;width:100%;max-width:none}
#modal .calendar-swipe-confirm .form-actions{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
#modal .calendar-swipe-confirm .form-actions button{width:100%;min-height:44px}
/* Reading cards in Development should not start a text-selection gesture. */
:is([data-page-view=talents],[data-page-view=habits],[data-page-view=results],[data-page-view=development]){-webkit-user-select:none;user-select:none}
:is([data-page-view=talents],[data-page-view=habits],[data-page-view=results],[data-page-view=development]) :is(input,textarea,[contenteditable=true]){-webkit-user-select:text;user-select:text}
/* Completion glow covers the entire dialog, including its padding. */
#modal .modal__dialog:has(.calendar-swipe-confirm--complete){position:relative;isolation:isolate;background:radial-gradient(ellipse at 50% 0%,rgba(67,182,122,.16),transparent 85%),linear-gradient(145deg,rgba(20,35,32,.8),rgba(10,21,21,.74));border-color:rgba(112,223,165,.3);overflow:hidden}
#modal .modal__dialog:has(.calendar-swipe-confirm--complete)::before{content:'';display:block;position:absolute;inset:0!important;width:100%;height:100%;max-width:none;max-height:none;border-radius:inherit;background:linear-gradient(115deg,transparent 15%,rgba(112,223,165,.14) 48%,transparent 80%);background-size:220% 100%;animation:completion-dialog-glow 5s ease-in-out infinite alternate;pointer-events:none;z-index:-1}
#modal .calendar-swipe-confirm--complete{background:transparent}
@keyframes completion-dialog-glow{from{background-position:100% 0;opacity:.4}to{background-position:0 0;opacity:1}}
@media(prefers-reduced-motion:reduce){#modal .modal__dialog:has(.calendar-swipe-confirm--complete)::before{animation:none;opacity:.45}}
#modal .modal__dialog:has(.calendar-swipe-confirm--complete){box-sizing:border-box;max-height:calc(100dvh - 24px);overflow-x:hidden;overflow-y:auto;padding:clamp(12px,3vh,24px)}

/* Account extras stay in rows; each whole label is an accessible touch target. */
.admin-user-media-access{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px 12px}
.admin-user-media-access>label{flex:0 0 auto;justify-content:flex-start;gap:8px;min-height:44px;padding:2px 6px}
.admin-user-media-access small{flex:0 0 100%;min-height:1.6em}
.admin-user-media-access input[disabled]{opacity:.5;cursor:wait}

.admin-user-media-access{display:block;max-width:100%;box-sizing:border-box}
.admin-user-permissions-row{display:flex;flex-wrap:nowrap;align-items:center;gap:10px;min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;padding:4px 2px 10px}
.admin-user-permissions-row>label{display:flex;flex:none;align-items:center;justify-content:flex-start;gap:8px;min-height:44px;margin:0;padding:2px 8px;font-size:13px;white-space:nowrap;border:1px solid #b5c4d826;border-radius:12px;cursor:pointer}
.admin-user-media-access>small{display:block}
/* One permission per row, with the same compact switch used by the assistant. */
.admin-user-permissions-row{flex-direction:column;align-items:stretch;overflow:visible}
.admin-user-permissions-row>label{justify-content:space-between;box-sizing:border-box;width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere}
.admin-user-permissions-row>label>span{min-width:0}
.admin-user-permissions-row input[type=checkbox]{align-self:center;flex:none!important}
