/* Shared reliability and UX layer for local-first workspaces. */
.workspace-status{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.workspace-status .status-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--line,#2a2f35);border-radius:999px;font-size:.78rem;color:var(--muted,#a7adb4)}.workspace-status .status-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:#86c6a5;box-shadow:0 0 0 4px rgba(134,198,165,.12)}
.workspace-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.button.danger,.danger{border-color:rgba(239,127,116,.45);color:#ffaaa2}.button.danger:hover{background:rgba(239,127,116,.1)}
.app-input:focus,.app-select:focus,.app-textarea:focus,button:focus-visible,a:focus-visible,[contenteditable="true"]:focus{outline:2px solid rgba(134,198,165,.78);outline-offset:2px}
.inline-help{font-size:.78rem;color:var(--muted,#a7adb4);margin-top:6px}.field-error{color:#ffaaa2;font-size:.78rem;margin-top:6px}.is-invalid{border-color:#ef7f74!important}
.empty-state.rich{display:grid;place-items:center;min-height:180px;text-align:center;border:1px dashed var(--line,#2a2f35);border-radius:18px;padding:28px}.empty-state.rich strong,.empty-state.rich span{display:block}.empty-state.rich span{margin-top:6px;color:var(--muted,#a7adb4)}
.confirm-dialog{border:1px solid var(--line,#2a2f35);border-radius:20px;padding:0;background:#0b0e11;color:#f5f7f8;width:min(92vw,520px);box-shadow:0 32px 90px rgba(0,0,0,.56)}.confirm-dialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(7px)}.confirm-dialog-card{padding:26px}.confirm-dialog h2{margin:0 0 8px}.confirm-dialog p{color:var(--muted,#a7adb4);margin:0}.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;flex-wrap:wrap}.confirm-choice{display:grid;gap:10px;margin-top:20px}.confirm-choice button{text-align:left;width:100%;padding:14px 16px}.confirm-choice button strong,.confirm-choice button span{display:block}.confirm-choice button span{font-size:.78rem;color:var(--muted,#a7adb4);margin-top:3px}
.modal-backdrop{visibility:hidden;opacity:0;pointer-events:none}.modal-backdrop.open{visibility:visible;opacity:1;pointer-events:auto}.modal-backdrop[aria-hidden="true"]{visibility:hidden}.modal-backdrop[aria-hidden="false"]{visibility:visible}
.modal-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:24px;flex-wrap:wrap}.modal-footer-right{display:flex;gap:10px;align-items:center;margin-left:auto}
.data-health{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.health-dot{width:9px;height:9px;border-radius:50%;background:#86c6a5}.health-dot.warn{background:#eab95d}.health-dot.bad{background:#ef7f74}
.table-wrap{overflow:auto}.app-table th{white-space:nowrap}.app-table td{vertical-align:top}.row-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.loading-button{position:relative;pointer-events:none;opacity:.78}.loading-button::after{content:"";width:13px;height:13px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;display:inline-block;margin-left:8px;animation:workspace-spin .7s linear infinite}@keyframes workspace-spin{to{transform:rotate(360deg)}}
.storage-recovery{display:none;padding:12px 14px;border:1px solid rgba(234,185,93,.45);background:rgba(234,185,93,.08);border-radius:14px;margin-bottom:16px;color:#f4d690}.storage-recovery.show{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.toast-stack{position:fixed;right:18px;bottom:18px;display:grid;gap:10px;z-index:2000;max-width:min(390px,calc(100vw - 36px))}.toast{padding:13px 15px;border-radius:14px;background:#11161b;border:1px solid var(--line,#2a2f35);box-shadow:0 16px 44px rgba(0,0,0,.36);color:#f5f7f8}.toast.good{border-color:rgba(134,198,165,.4)}.toast.bad{border-color:rgba(239,127,116,.5)}.toast.warn{border-color:rgba(234,185,93,.5)}
@media(max-width:760px){.app-toolbar{align-items:flex-start}.app-toolbar-group,.workspace-actions{width:100%}.app-toolbar-group .button,.workspace-actions .button,.workspace-actions label.button{flex:1 1 auto;text-align:center;justify-content:center}.confirm-dialog-actions{display:grid}.confirm-dialog-actions .button{width:100%}.modal-footer{display:grid}.modal-footer-right{margin-left:0;display:grid;width:100%}.modal-footer-right .button,.modal-footer>.button{width:100%}.app-tabs{overflow:auto;scroll-snap-type:x proximity}.app-tab{white-space:nowrap;scroll-snap-align:start}}
@media print{.nav,.app-hero,.app-tabs,.app-toolbar,.toast-stack,.confirm-dialog,.no-print,footer{display:none!important}.app-workspace{border:0!important;box-shadow:none!important}.app-panel[hidden]{display:none!important}.app-panel:not([hidden]){display:block!important}.qbr-preview,.policy-editor,.report-preview{box-shadow:none!important;border:0!important;padding:0!important}}
