.shared-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:16px;padding:9px 13px;border:1px solid #d7e7e2;border-radius:8px;background:#f0f8f5;color:#376b5c;font-size:12px}
.shared-actions{display:flex;gap:13px;align-items:center;flex-wrap:wrap}.shared-actions button,.shared-actions a{color:#176e66;padding:3px 0;font-size:12px}.shared-actions button:hover,.shared-actions a:hover{text-decoration:underline}.shared-actions [hidden]{display:none!important}
.shared-readonly #clear-button,.shared-readonly .import-actions,.shared-readonly .dblclick-hint{display:none!important}
.shared-readonly .import-card{cursor:default}.shared-admin .shared-bar{border-color:#b7d7cf}
#cloud-password{display:block;width:100%;padding:10px;margin-top:8px;border:1px solid #cbded9;border-radius:7px}#cloud-login-error{color:#b24c47;min-height:20px}
.database-info{display:grid;grid-template-columns:100px 1fr;gap:9px;margin:15px 0}.database-info dt{color:#7a8b94}.database-info dd{margin:0;overflow-wrap:anywhere}
@media(max-width:560px){.shared-bar{font-size:11px}.shared-actions{gap:10px}}
.modal-header>.icon-button,.column-filter-heading>.icon-button{width:30px;height:30px;margin:-4px -6px -4px 12px;border:1px solid transparent;border-radius:8px;color:#718793;transition:color .15s,background .15s,border-color .15s;flex:0 0 30px}
.column-filter-dialog .column-filter-heading>.icon-button,.home-scope-dialog .column-filter-heading>.icon-button{width:30px;height:30px}
.modal-header>.icon-button svg,.column-filter-heading>.icon-button svg{width:15px;height:15px;stroke-width:1.8}
.modal-header>.icon-button:hover,.column-filter-heading>.icon-button:hover{color:#176e66;background:#eef7f5;border-color:#d7e7e2}
.modal-header>.icon-button:active,.column-filter-heading>.icon-button:active{background:#e2f1ed}

/* Consistent, quiet loading feedback for requests and local processing. */
.app-loading-spinner,.app-loading-button::before{display:inline-block;width:16px;height:16px;flex:none;border:2px solid #cce9e5;border-top-color:#108c82;border-radius:50%;animation:app-loading-spin .8s linear infinite}
.app-loading-button::before{content:"";margin-right:6px;vertical-align:middle}.app-loading-button{cursor:wait!important}.app-loading-button>svg,.app-loading-button>span[data-icon]{display:none}
.app-loading-status{display:flex;align-items:center;gap:9px;color:#39746e;font-size:12px;line-height:1.5;min-width:0;overflow-wrap:anywhere}
.app-loading-dock{position:fixed;right:24px;bottom:24px;z-index:110;padding:12px 18px;max-width:calc(100vw - 32px);background:#f2faf8;border:1px solid #cce7e2;border-radius:12px;box-shadow:0 5px 22px #183f3a14;pointer-events:none}
.modal-footer:has(>.app-loading-status){flex-wrap:wrap}.modal-footer>.app-loading-status{flex-basis:100%;order:-1;padding:0 0 5px}
body:has(#busy-overlay[open])>.app-loading-dock{display:none}
dialog.busy-overlay{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:24px;border:0;color:var(--ink);background:#102a3955}dialog.busy-overlay::backdrop{background:transparent}
.dashboard-stat strong.app-loading-placeholder{color:transparent;background:#eaf3f1;border-radius:5px;min-width:42px;animation:app-loading-pulse 1.4s ease-in-out infinite}
@keyframes app-loading-spin{to{transform:rotate(360deg)}}@keyframes app-loading-pulse{50%{opacity:.4}}
@media(prefers-reduced-motion:reduce){.app-loading-spinner,.app-loading-button::before,.dashboard-stat strong.app-loading-placeholder,.busy-overlay .spinner{animation:none}}
@media(max-width:600px){.app-loading-dock{right:16px;bottom:16px}.modal-footer>.app-loading-status{font-size:11px}}

.app-loading-inline{display:inline-flex;align-items:center;gap:9px;padding:16px 0;color:#597c78}
dialog.busy-overlay{outline:0}
