/* Final suite blue–green identity. Existing dataset and frame lifecycle retained. */
:root{--bg-primary:#fff;--bg-secondary:#f3f7fa;--border-color:#d8e5eb;--text-primary:#203b4d;--text-secondary:#587182;--accent:#2369b1;--gradient:linear-gradient(115deg,#2369b1,#197f99 52%,#138777);font-family:Inter,"Segoe UI",system-ui,sans-serif}
html,body{background:linear-gradient(120deg,#f2f6fb,#f4f8f8 62%,#eff8f4);color:#203b4d}
.home{max-width:1160px;gap:24px}.hub-intro{padding:10px 0 4px;max-width:800px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:750;color:#2369b1;margin-bottom:12px}.hub-intro h1{font-size:clamp(28px,3.2vw,42px);letter-spacing:-1.5px;line-height:1.12;font-weight:650;color:#203b4d;margin-bottom:14px}.hub-intro p{font-size:15px;line-height:1.65;color:#587182;max-width:720px}
.home.is-locked{align-content:start}.home.is-locked .database-selector{min-height:0;display:block}.database-selector{border-radius:18px;box-shadow:0 4px 20px #203b4d05;padding:24px;background:#ffffffeb}.database-expanded-panel{max-width:none}.database-selector-intro{font-size:20px;font-weight:650;color:#203b4d;letter-spacing:-.4px}.database-selector-kicker{color:#2369b1;font-size:10px;letter-spacing:1.4px;margin-bottom:6px}.database-selector-status{font-weight:400;line-height:1.6}.database-choice-grid{gap:14px}.database-choice-btn{background:linear-gradient(120deg,#f2f6fb,#eff8f4);border-radius:13px;min-height:144px;padding:20px 20px 36px}.database-choice-btn:hover,.database-choice-btn.is-active{border-color:#4b9bac;box-shadow:0 5px 18px #2369b110}.database-choice-title{font-weight:650;font-size:18px}.database-choice-subtitle{font-weight:500}.database-change-btn,.dataset-chip{border-radius:24px;background:#f3f8fa;color:#356784}.database-progress-fill{background:var(--gradient)}
.grid{gap:20px}.card{border:1px solid #d8e5eb;border-radius:18px;min-height:280px;padding:24px;background:#fff;box-shadow:0 4px 18px #203b4d05;transition:transform .18s,box-shadow .18s,border-color .18s;position:relative;overflow:hidden}.card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--gradient)}.card:hover{transform:translateY(-3px);border-color:#8abdc8;box-shadow:0 12px 28px #2369b110}.meta{margin-bottom:18px}.app-logo{width:56px;height:56px}.label{color:#587182;font-size:10px;letter-spacing:1.8px}.card h2{font-size:24px;letter-spacing:-.65px;font-weight:650;margin:0 0 10px}.card p{color:#587182;font-size:14px;line-height:1.65;margin-bottom:24px}.open-btn{background:var(--gradient);border-radius:10px;font-size:13px;font-weight:600;min-height:40px;padding:0 16px}.open-btn span{margin-left:14px}.open-btn:hover{filter:brightness(.95)}button:focus-visible{outline:3px solid #84bed5;outline-offset:3px}
header{background:#ffffffed;border-color:#d8e5eb}.bar{padding:12px 24px;gap:18px;flex-wrap:wrap}.brand{min-width:150px;gap:12px}.hub-logo{width:130px;height:42px;object-fit:contain}.hub-word{font-size:11px;letter-spacing:2px;font-weight:650;color:#587182;border-left:1px solid #d8e5eb;padding-left:12px}.switcher{border:1px solid #d8e5eb;border-radius:14px;background:#f3f7fa;padding:5px;gap:4px}.switcher button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;font-weight:600;font-size:12px;padding:7px 11px;white-space:nowrap}.switcher button[aria-selected="true"]{background:var(--gradient);color:white}.switcher button img{border-radius:7px}.status-strip{min-width:0}.workspace{background:#f3f7fa}.shell{height:100dvh}
@media(max-width:1100px){.bar{gap:10px}.brand{flex:1}.switcher{order:3;width:100%;justify-content:center}.switcher button{flex:1}.status-strip{margin-left:auto}}
@media(max-width:600px){body{padding:16px}.bar{padding:10px 12px}.shell header .brand{flex:1 1 auto}.switcher{justify-content:flex-start;overflow-x:auto;max-width:100%;border-radius:11px}.switcher button{flex:0 0 auto;padding:7px 9px;font-size:11px}.switcher button img{width:21px;height:21px}.grid,.database-choice-grid{grid-template-columns:1fr}.home{gap:18px}.card{min-height:250px;padding:22px}.database-selector{padding:18px}.database-expanded-header{grid-template-columns:1fr auto}.hub-intro h1{font-size:30px}.hub-intro p{font-size:14px}body:has(.shell){padding:0}.hub-logo{width:108px;height:34px}.dataset-chip{max-width:140px;overflow:hidden;text-overflow:ellipsis}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}.card:hover{transform:none}}
.shell{width:100%;min-width:0;grid-template-columns:minmax(0,1fr)}.shell header,.bar,.workspace,.switcher{min-width:0}.switcher{max-width:100%}.home,.database-expanded-panel,.database-expanded-header,.card{min-width:0}
