/* Shared interaction language: black actions, quiet states, stable navigation. */
:root{--sfl-action:#292d35;--sfl-action-hover:#3a3f47;--sfl-line:#e7e8eb;--sfl-muted:#92969d;--sfl-radius:8px}
.discover-panel button,.task-hall button,.admin-app button,dialog button{font-family:inherit;-webkit-tap-highlight-color:transparent}
.discover-panel :where(button:not(.icon-button):not(.discover-entry):not(.site-favorite):not(.task-image-remove):not(.task-image-open):not(.task-image-add):not(.task-image-thumb):not(.task-tab)),.task-pagination>button,.admin-app .pagination>button{min-height:40px;padding:9px 15px;border:1px solid var(--sfl-line);border-radius:var(--sfl-radius);background:#fff;color:var(--sfl-action);font-size:14px;line-height:20px;cursor:pointer}
:is(.discover-panel,.admin-app,dialog,.task-hall,.me-subpage-body,.personal-link-host) button.primary{background:var(--sfl-action);border:1px solid var(--sfl-action);color:#fff;min-height:40px;border-radius:var(--sfl-radius);padding:9px 16px;box-shadow:none}
:is(.discover-panel,.admin-app,dialog,.task-hall,.me-subpage-body,.personal-link-host) button.primary:hover:not(:disabled){background:var(--sfl-action-hover);border-color:var(--sfl-action-hover)}
.discover-panel button.secondary,.admin-app button.secondary,dialog button.secondary{background:#fff;border:1px solid var(--sfl-line);color:var(--sfl-action);min-height:40px;border-radius:var(--sfl-radius);padding:9px 15px;box-shadow:none}
.discover-panel .text-button,.task-hall .text-button,.admin-app .text-button{border-color:transparent!important;background:transparent!important;color:#68717d}
.discover-panel button:disabled,.admin-app button:disabled,dialog button:disabled{opacity:1;cursor:default;color:#a8abb1}:is(.discover-panel,.admin-app,dialog,.task-hall,.me-subpage-body,.personal-link-host) button.primary:disabled{opacity:1;background:#bfc1c5;border-color:#bfc1c5;color:#fff}
.discover-panel button[aria-busy=true],.admin-app button[aria-busy=true],dialog button[aria-busy=true]{cursor:wait;opacity:.65}
.discover-panel button:active:not(:disabled),.admin-app button.secondary:active:not(:disabled),dialog button.secondary:active:not(:disabled){transform:none;background:#f0f1f3}:is(.discover-panel,.admin-app,dialog,.task-hall,.me-subpage-body,.personal-link-host) button.primary:active:not(:disabled){background:#202329;border-color:#202329}
.discover-panel button:focus-visible,.admin-app button:focus-visible,dialog button:focus-visible{outline:2px solid #929da9;outline-offset:2px}
.discover-heading .discover-back,.me-settings-heading>.icon-button,.directory-page-back,.admin-app .icon-button,dialog .icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;min-height:36px;padding:7px;border:0;border-radius:8px;background:transparent;color:#515963;box-shadow:none;transform:none}
.discover-panel .task-back{display:inline-flex;align-items:center;gap:6px;min-height:40px;margin:0 0 14px;padding:8px 0!important;background:transparent!important;border:0!important;border-radius:6px;color:#515963;font-size:14px;line-height:24px;box-shadow:none}
.task-back svg{width:18px;height:18px;flex:none}.discover-heading .discover-back:active:not(:disabled),.me-settings-heading>.icon-button:active:not(:disabled),dialog .icon-button:active:not(:disabled){background:#e8eaed;transform:none}
.ui-state,.discover-empty,.admin-app .empty,.admin-app .loading,.admin-app .load-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:210px;margin:0;padding:36px 20px;text-align:center;font-size:14px;font-weight:400;line-height:1.8;color:var(--sfl-muted);overflow-wrap:anywhere}
.ui-state>p,.admin-app .load-error>p{margin:0;color:inherit;font-size:14px}.ui-state>button,.admin-app .load-error>button{min-width:96px;background:white;border:1px solid var(--sfl-line);border-radius:8px;min-height:40px;padding:9px 15px;color:var(--sfl-action);font:inherit}
.ui-loading:before,.admin-app .loading:before{content:'';display:block;width:20px;height:20px;border:2px solid #e1e3e6;border-top-color:#747b84;border-radius:50%;animation:sfl-state-spin .8s linear infinite}
.task-hall{position:relative}.task-hall[aria-busy=true]:after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#a0a5ad,transparent);background-size:50% 100%;background-repeat:no-repeat;animation:sfl-loading-line 1.1s ease-in-out infinite;pointer-events:none}
.ui-confirm{padding:4px 0 0}.ui-confirm>p{margin:0;white-space:pre-wrap;color:#737b86;font-size:14px;line-height:1.8}.ui-confirm>.button-row{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.ui-confirm>.button-row>button{min-width:80px;min-height:42px;border-radius:8px;padding:10px 18px;font-size:14px}
.task-remove-confirm{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:16px;padding:16px;border:1px solid var(--sfl-line);border-radius:10px;background:#f6f7f8;color:#6f7885}
.task-remove-confirm>p,.task-remove-confirm>label{flex-basis:100%;margin:0;line-height:1.8;font-size:13px}.task-remove-confirm>button{min-height:40px;min-width:76px;border-radius:8px;padding:9px 15px;font:inherit;font-size:13px}.task-remove-confirm>button.danger{order:2!important;background:var(--sfl-action)!important;border:1px solid var(--sfl-action)!important;color:white!important}.task-remove-confirm>button:not(.danger){order:1;border:1px solid var(--sfl-line)!important;background:white!important;color:var(--sfl-action)!important}
.admin-app .dialog-actions,.dialog-actions{display:flex;justify-content:flex-end;gap:10px}.dialog-actions>button{min-height:42px;min-width:80px;border-radius:8px;padding:10px 18px}.primary.danger{background:var(--sfl-action);border-color:var(--sfl-action);color:#fff}
.admin-app .filter-bar button,.admin-app .filters button,.task-search>button{min-height:40px}.task-search input{min-height:42px}.task-pagination,.admin-app .pagination{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.task-pagination>span{color:#92969d;font-size:12px}
@keyframes sfl-state-spin{to{transform:rotate(360deg)}}@keyframes sfl-loading-line{from{background-position:-100% 0}to{background-position:200% 0}}
@media(max-width:759px){.ui-state,.discover-empty,.admin-app .empty,.admin-app .loading{min-height:190px;padding:30px 16px}.task-hall .task-tabs{gap:0}.task-hall .task-tab{padding:9px 10px;font-size:13px}.task-hall .task-search{gap:7px}.task-hall .task-search>button{padding-inline:11px}}
@media(prefers-reduced-motion:reduce){.ui-loading:before,.admin-app .loading:before,.task-hall[aria-busy=true]:after{animation:none}}

.ui-state-label{display:flex;flex-direction:column;align-items:center;gap:14px}.ui-state>button[hidden]{display:none}.discover-panel button.secondary.danger{background:#fff;border-color:#e7e8eb;color:#bd565c}

/* Inline confirmations use the same action geometry in profiles and groups. */
.safety-confirm{margin:10px 0 16px;padding:16px;border:1px solid var(--sfl-line);border-radius:8px;background:#f6f7f8}.safety-confirm>.safety-note{margin:0;font-size:13px;line-height:1.8;color:#737b86}
:root :is(.safety-confirm-actions,.group-member-actions,.group-inline-actions,.official-reminder-actions){display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:16px}
:root :is(.safety-confirm-actions,.group-member-actions,.group-inline-actions,.official-reminder-actions)>button:is(.primary,.secondary){display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:80px;min-height:42px;height:auto;margin:0;padding:10px 16px;border-radius:8px;box-shadow:none;font:inherit;font-size:13px;line-height:20px}
:root :is(.safety-confirm-actions,.group-member-actions,.group-inline-actions,.official-reminder-actions)>button.primary{background:var(--sfl-action);border:1px solid var(--sfl-action);color:#fff}
:root :is(.safety-confirm-actions,.group-member-actions,.group-inline-actions,.official-reminder-actions)>button.secondary{background:#fff;border:1px solid var(--sfl-line);color:var(--sfl-action)}
:root :is(.safety-confirm-actions,.group-member-actions,.group-inline-actions,.official-reminder-actions)>button.primary:hover:not(:disabled){background:var(--sfl-action-hover)}
:root :is(.safety-confirm-actions,.group-member-actions,.group-inline-actions,.official-reminder-actions)>button:disabled{opacity:1;cursor:default;color:#a8abb1}
:root :is(.safety-confirm-actions,.group-member-actions,.group-inline-actions,.official-reminder-actions)>button.primary:disabled{background:#bfc1c5;border-color:#bfc1c5;color:#fff}
:root :is(.safety-confirm-actions,.group-member-actions,.group-inline-actions,.official-reminder-actions)>button:focus-visible{outline:2px solid #929da9;outline-offset:2px}

.notification-category-settings{margin:20px 0 22px}
.notification-category-title{margin:0 0 8px;padding:0 20px;color:#747b85;font-size:12px;font-weight:500}
.notification-category-settings .menu-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;margin:0;padding:14px 20px;border:0;border-bottom:1px solid #ededee;background:#fff;color:#25282e;line-height:1.5}
.notification-category-settings .menu-row>span{font-size:var(--mobile-action-size,14px);color:#25282e}
.notification-category-note,.notification-preference-status{margin:10px 0 0;padding:0 20px;color:#747b85;font-size:12px;line-height:1.8}
.notification-preference-status:empty{display:none}
