/* Task-based data dialog. Shared tokens remain the design source of truth. */
dialog.data-hub{padding:0!important;width:min(520px,calc(100% - 24px));max-width:520px;max-height:calc(100dvh - 24px);overflow:hidden;border-radius:var(--radius-dialog)!important;font-size:14px}
dialog.data-hub[open]{display:flex;flex-direction:column}.data-hub [hidden]{display:none!important}.data-hub-top{flex:none;padding:16px 16px 0;background:var(--surface);border-bottom:1px solid var(--border)}.data-hub .data-menu-head{gap:16px}.data-hub #dataMenuTitle{font-size:18px!important;line-height:1.5}.data-hub #dataMenuDescription{margin:4px 0 12px}.data-hub #closeDataMenu{width:44px;min-width:44px;height:44px;min-height:44px;background:var(--surface-low);color:var(--primary);padding:8px}.data-hub-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.data-hub-tabs button{display:flex;flex-direction:column;gap:4px;background:transparent;color:var(--muted);border-radius:8px 8px 0 0;min-height:60px;padding:8px 4px;font-size:13px;border-bottom:3px solid transparent}.data-hub-tabs button[aria-selected=true]{background:var(--action-surface);color:var(--action-text);border-bottom-color:var(--action-text)}.data-hub-tabs button:hover{background:var(--surface-low)}.data-hub-tabs svg{width:19px;height:19px}.data-hub-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px 16px 24px;scrollbar-gutter:stable;scroll-padding:12px}.data-hub [role=tabpanel]{padding:0;margin:0;border:0;outline-offset:3px}.data-hub h3{font-size:16px;margin:0 0 8px;line-height:1.5}.data-hub p.small,.data-hub label{font-size:14px;line-height:1.6}.data-hub .small{color:var(--muted)}.data-hub .buttons{display:grid;grid-template-columns:1fr;gap:10px;margin:16px 0}.data-hub .buttons button,.data-hub button{font-size:14px!important;min-height:44px!important}.data-hub input:not([type=checkbox]),.data-hub select{font-size:16px;min-height:48px;width:100%;max-width:100%}.data-hub button:disabled{opacity:1;background:var(--surface-low);color:var(--muted);border:1px solid var(--border);cursor:not-allowed}.data-hub :is(button,input,select,a,summary,[role=tabpanel]):focus-visible{outline:3px solid var(--primary);outline-offset:3px}.data-hub #cloudOpenLatest{margin:0}.data-hub #cloudSignIn{display:block;background:var(--action-text);color:var(--surface);padding:12px;border-radius:8px;min-height:48px;text-align:center;text-decoration:none;font-weight:600;margin:12px 0}.data-connection{font-size:13px;line-height:1.5;background:var(--surface-low);border-radius:8px;padding:10px 12px;margin:12px 0;color:var(--primary)}.data-connection[data-state=ready]{border-left:3px solid var(--action-text)}.data-hub #cloudStatus:empty,.data-hub #dataFileStatus:empty,.data-hub #projectShareStatus:empty{display:none}.data-hub #cloudStatus,.data-hub #dataFileStatus,.data-hub #projectShareStatus{font-size:13px;line-height:1.6;padding:10px 12px;background:var(--surface-low);border-radius:8px;margin:12px 0;overflow-wrap:anywhere}.data-hub .cloud-auto-option{align-items:center;margin:16px 0 4px;min-height:44px;gap:10px}.data-hub .cloud-auto-option input{width:22px;height:22px;margin:0;accent-color:var(--action-text)}.data-hub .data-auto-help{font-size:12px;margin:0 0 16px}.data-history{border-top:1px solid var(--border);padding-top:8px;margin-top:16px}.data-history summary{min-height:48px;cursor:pointer;padding:12px 0;color:var(--primary);font-weight:600}.data-history label{display:block;margin-top:12px}.data-history #cloudRefresh{margin:10px 0;width:100%}.data-hub .cloud-report-row{border:1px solid var(--border);border-radius:8px;padding:12px;margin:12px 0;overflow-wrap:anywhere}.data-hub .cloud-report-row strong{font-size:14px}.data-hub .cloud-report-row button{width:100%}.data-hub #projectShareEmpty{background:var(--surface-low);border-radius:8px;padding:12px;margin:12px 0;font-size:14px;line-height:1.6}.data-hub #projectShareEmpty button{display:block;width:100%;margin-top:10px}.data-hub #newShareLink{border:1px solid var(--action);border-radius:8px;padding:12px}.data-hub #projectShareUrl{font:12px var(--font-number)}.data-hub #openProjectShare{font-size:14px}.data-hub [role=tabpanel]>p:first-of-type{margin-top:0}
@media(max-width:480px){dialog.data-hub{margin:auto auto 0;width:100%;max-height:calc(100dvh - 12px);border-radius:20px 20px 0 0!important;border-bottom:0}.data-hub-content{padding-bottom:calc(20px + env(safe-area-inset-bottom))}}
