.hub{--bg:#f6f5f1;--card:#ffffff;--line:#e8e5dc;--line2:#d8d4c7;--ink:#1c1b18;--ink2:#55534b;--ink3:#8b887d;--olive:#56702c;--olive-deep:#3e5220;--olive-soft:#eff2e6;--olive-line:#d3dcbd;--gold:#c58a14;--gold-deep:#8f6107;--gold-soft:#fbf4e2;--gold-line:#f0deae;--red:#b5442f;--red-soft:#fcefeb;--red-line:#f2cfc6;--blue-soft:#eef3f8;min-height:100vh;background:var(--bg);color:var(--ink);font-family:var(--font-inter),ui-sans-serif,system-ui,sans-serif;font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}.hub ::selection{background:#e4ebcf}.hub-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}.hub-tab{position:relative;display:inline-flex;align-items:center;height:60px;padding:0 2px;font-weight:500;color:var(--ink2);transition:color .12s}@media (max-width:767px){.hub-tab{height:44px}}.hub-tab:hover,.hub-tab[data-active=true]{color:var(--ink)}.hub-tab[data-active=true]:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:2px;background:var(--olive)}.hub-card{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 1px 2px rgba(28,27,24,.04)}.hub-h1{font-size:26px;line-height:1.15;font-weight:650;letter-spacing:-.02em}.hub-h2{font-size:13px;font-weight:600;letter-spacing:.01em;color:var(--ink2)}.hub-muted{color:var(--ink3)}.hub-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 12px;border-radius:9px;border:1px solid var(--line2);background:var(--card);color:var(--ink);font-size:13px;font-weight:500;white-space:nowrap;transition:background .12s,border-color .12s,color .12s}.hub-btn:hover{background:#faf9f6;border-color:#c9c4b4}.hub-btn:disabled{opacity:.55;cursor:default}.hub-btn-primary{background:var(--olive-deep);border-color:var(--olive-deep);color:#fff}.hub-btn-primary:hover{background:#33451a;border-color:#33451a}.hub-btn-sm{height:28px;padding:0 10px;font-size:12.5px;border-radius:8px}.hub-btn-ghost{border-color:transparent;background:transparent;color:var(--ink2)}.hub-btn-ghost:hover{background:#efede6;border-color:transparent;color:var(--ink)}.hub-input,.hub-select{height:36px;width:100%;padding:0 11px;border-radius:9px;border:1px solid var(--line2);background:#fff;color:var(--ink);font-size:14px;outline:none}.hub-input:focus,.hub-select:focus,.hub-textarea:focus{border-color:var(--olive);box-shadow:0 0 0 3px rgba(86,112,44,.14)}.hub-textarea{width:100%;padding:9px 11px;border-radius:9px;border:1px solid var(--line2);background:#fff;color:var(--ink);font-size:14px;outline:none;resize:vertical}.hub-label{display:block;margin-bottom:5px;font-size:12.5px;font-weight:600;color:var(--ink2)}.hub-chip{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:550;white-space:nowrap;border:1px solid transparent}.hub-chip-red{background:var(--red-soft);color:var(--red);border-color:var(--red-line)}.hub-chip-gold{background:var(--gold-soft);color:var(--gold-deep);border-color:var(--gold-line)}.hub-chip-olive{background:var(--olive-soft);color:var(--olive-deep);border-color:var(--olive-line)}.hub-chip-gray{background:#f1efe9;color:var(--ink2);border-color:var(--line)}.hub-seg{display:inline-flex;padding:3px;gap:2px;border-radius:10px;background:#ecebe4}.hub-seg a,.hub-seg button{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border-radius:8px;font-size:13px;font-weight:500;color:var(--ink2)}.hub-seg [data-active=true]{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(28,27,24,.08)}.hub-check{display:inline-flex;flex:none;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;border:1.5px solid #c4bfaf;background:#fff;color:transparent;transition:border-color .12s,background .12s,color .12s}button.hub-check:hover{border-color:var(--olive);color:var(--olive)}.hub-check[data-state=done]{background:var(--olive);border-color:var(--olive);color:#fff}.hub-check[data-state=na]{background:#efede6;border-color:#d9d5c8;color:var(--ink3)}.hub-check[data-state=auto]{border-style:dashed;border-color:#c4bfaf;color:var(--ink3)}.hub-phase{height:6px;border-radius:999px;background:#ebe8df}.hub-phase[data-state=done]{background:var(--olive)}.hub-phase[data-state=active],.hub-phase[data-state=behind]{background:linear-gradient(90deg,var(--olive) var(--pct,0),#e2e7d2 var(--pct,0))}.hub-row-link{transition:background .12s,border-color .12s,box-shadow .12s}.hub-row-link:hover{border-color:var(--line2);box-shadow:0 2px 8px rgba(28,27,24,.06)}.hub-menu{position:absolute;z-index:30;min-width:170px;padding:5px;border-radius:11px;border:1px solid var(--line);background:#fff;box-shadow:0 10px 28px rgba(28,27,24,.14)}.hub-menu button{display:flex;width:100%;align-items:center;gap:8px;height:32px;padding:0 10px;border-radius:7px;font-size:13px;color:var(--ink);text-align:left}.hub-menu button:hover{background:#f4f2ec}.hub-dialog-backdrop{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-start;justify-content:center;padding:10vh 16px 16px;background:rgba(28,27,24,.32)}