:root{--pm-ink: #323338;--pm-sub: #676879;--pm-line: #d0d4e4;--pm-soft: #e6e9ef;--pm-hover: #f5f6f8;--pm-sel: #cce5ff;--pm-blue: #0073ea;--pm-blue-dark: #0060b9;--pm-cols: minmax(300px, 1fr) 52px 96px 150px 130px 118px minmax(170px, 240px) 44px}.pm{background:#fff;color:var(--pm-ink);font-size:14px}.pm-page{padding:22px 32px 90px}.pm-muted{color:var(--pm-sub);margin:4px 0}.pm-muted.small,.pm .small,.hub-modal .small,.pm-pop .small{font-size:12px}.pm-kicker{margin:0 0 2px;color:var(--pm-sub);font-size:12px;letter-spacing:.06em;text-transform:uppercase}.pm-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:14px}.pm-head-main{min-width:0;flex:1}.pm-board-title{display:flex;align-items:center;gap:4px}.pm-h1{font-size:28px;font-weight:600;letter-spacing:-.03em;line-height:1.2;margin:0}.pm-goal{color:var(--pm-sub);font-size:15px;margin-top:2px}.pm-head-side{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end}.pm-progress-pill{display:flex;align-items:center;gap:10px;padding:6px 12px 6px 6px;border:1px solid var(--pm-line);border-radius:999px}.pm-progress-pill b{display:block;font-size:13px}.pm-progress-pill span{display:block;color:var(--pm-sub);font-size:12px}.pm-ring{width:40px;height:40px;border-radius:50%;background:conic-gradient(#00c875 var(--p),var(--pm-soft) 0);display:grid;place-items:center}.pm-ring span{width:30px;height:30px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:10px;font-weight:700;color:var(--pm-ink)}.pm-faces{display:flex}.pm-faces .avatar{border:2px solid white;margin-left:-8px}.pm-faces .avatar:first-child{margin-left:0}.pm-more-faces{margin-left:-8px;width:30px;height:30px;border-radius:50%;background:var(--pm-soft);border:2px solid white;display:grid;place-items:center;font-size:11px;font-weight:600}.pm-sync{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--pm-sub)}.pm-sync i{width:8px;height:8px;border-radius:50%;background:#00c875;box-shadow:0 0 0 3px #00c8752e}.pm-sync.off i{background:#e2445c;box-shadow:0 0 0 3px #e2445c2e}.pm-offline,.pm-readonly{margin:0 0 12px;padding:9px 12px;border-radius:6px;font-size:13px}.pm-offline{background:#ffebee;color:#8a1c2b}.pm-readonly{background:#f0f3ff;color:#2f3b8f}.pm-editable{display:inline-block;max-width:100%;text-align:left;border:1px solid transparent;background:transparent;border-radius:4px;padding:1px 4px;margin-left:-5px;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:text}.pm-editable:not(:disabled):hover{border-color:var(--pm-line)}.pm-editable:disabled{cursor:default;opacity:1}.pm-editable.empty{color:#9699a6}.pm-edit{font:inherit;color:inherit;border:1px solid var(--pm-blue);border-radius:4px;padding:1px 4px;margin-left:-5px;outline:none;background:#fff;min-width:200px;width:100%;max-width:640px}textarea.pm-edit{resize:vertical}.pm-tabs{display:flex;gap:2px;border-bottom:1px solid var(--pm-line);margin-bottom:12px}.pm-tabs button{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--pm-sub);padding:8px 12px 9px;border-bottom:2px solid transparent;margin-bottom:-1px;border-radius:4px 4px 0 0}.pm-tabs button:hover{background:var(--pm-hover);color:var(--pm-ink)}.pm-tabs button.on{color:var(--pm-ink);border-bottom-color:var(--pm-blue);font-weight:600}.pm-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:18px}.pm-btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;border-radius:4px;border:1px solid var(--pm-line);background:#fff;color:var(--pm-ink);cursor:pointer;white-space:nowrap}.pm-btn:hover{background:var(--pm-hover)}.pm-btn.primary{background:var(--pm-blue);border-color:var(--pm-blue);color:#fff}.pm-btn.primary:hover{background:var(--pm-blue-dark)}.pm-btn.small{height:28px;padding:0 10px;font-size:13px}.pm-btn.danger{color:#c4193b;border-color:#f2b8c2}.pm-btn.danger:hover{background:#fff0f2}.pm-btn.ai{border-color:#c8b8f5;color:#5e3cc4}.pm-btn.ai:hover:not(:disabled){background:#f5f0ff}.pm-btn:disabled{opacity:.5;cursor:not-allowed}.pm-tool{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border:0;border-radius:4px;background:transparent;color:var(--pm-ink)}.pm-tool:hover{background:var(--pm-soft)}.pm-tool.on{background:var(--pm-sel)}.pm-search{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border-radius:4px;color:var(--pm-sub)}.pm-search:hover,.pm-search:focus-within{background:var(--pm-hover);box-shadow:inset 0 0 0 1px var(--pm-line)}.pm-search input{border:0;background:transparent;outline:none;width:150px;color:var(--pm-ink)}.pm-icon-btn{display:inline-grid;place-items:center;width:32px;height:32px;border:0;border-radius:4px;background:transparent;color:var(--pm-sub)}.pm-icon-btn:hover{background:var(--pm-soft);color:var(--pm-ink)}.pm-link-btn{border:0;background:none;padding:0;color:var(--pm-blue);font-weight:500;text-align:left}.pm-link-btn:hover{text-decoration:underline}.pm-link-btn.muted{color:var(--pm-sub)}.pm-start{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;margin-bottom:18px;border-radius:8px;background:linear-gradient(100deg,#eef5ff,#f5f0ff);border:1px solid #d6e4fb}.pm-start h3{margin:0 0 4px;font-size:16px}.pm-start p{margin:0;color:var(--pm-sub);max-width:70ch}.pm-board{overflow-x:auto;padding-bottom:6px}.pm-empty-filter{color:var(--pm-sub);padding:20px 0}.pm-group{margin-bottom:30px;min-width:1080px}.pm-group-head{display:flex;align-items:center;gap:6px;height:36px;position:sticky;left:0}.pm-caret{display:grid;place-items:center;width:26px;height:26px;border:0;border-radius:4px;background:transparent;color:var(--g);transition:transform .15s ease}.pm-caret:hover{background:var(--pm-soft)}.pm-group.collapsed .pm-caret{transform:rotate(-90deg)}.pm-group-name{color:var(--g);font-size:18px;font-weight:600;letter-spacing:-.01em}.pm-group-count{color:var(--pm-sub);font-size:13px;opacity:0;transition:opacity .15s}.pm-group-head:hover .pm-group-count,.pm-group.collapsed .pm-group-count{opacity:1}.pm-group-more{display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:4px;background:transparent;color:var(--pm-sub);opacity:0}.pm-group-head:hover .pm-group-more,.pm-group-more:focus-visible{opacity:1}.pm-group-more:hover{background:var(--pm-soft)}.pm-collapsed{display:grid;grid-template-columns:minmax(260px,1fr) 240px;align-items:center;gap:18px;padding:10px 14px;border:1px solid var(--pm-line);border-left:6px solid var(--g);border-radius:6px;cursor:pointer}.pm-collapsed:hover{background:var(--pm-hover)}.pm-collapsed span{font-weight:600;color:var(--g)}.pm-table{border-top:1px solid var(--pm-line)}.pm-row{display:grid;grid-template-columns:var(--pm-cols);min-height:38px;background:#fff}.pm-cell{display:flex;align-items:center;justify-content:center;min-width:0;border-right:1px solid var(--pm-line);border-bottom:1px solid var(--pm-line);position:relative}.pm-cell.pm-name{justify-content:flex-start;gap:6px;padding:0 8px 0 10px;border-left:6px solid var(--g)}.pm-colhead .pm-cell{color:var(--pm-sub);font-size:13px;min-height:36px}.pm-colhead .pm-cell.pm-name{border-top-left-radius:6px;padding-left:34px}.pm-row:not(.pm-colhead):not(.pm-summary):not(.pm-add):hover .pm-cell{background-color:var(--pm-hover)}.pm-row.on .pm-cell:not(.pm-fill){background-color:var(--pm-sel)!important}.pm-row.dragging{opacity:.4}.pm-row.drop-before .pm-cell{box-shadow:inset 0 2px 0 var(--pm-blue)}.pm-drop-end{height:4px}.pm-drop-end.on{background:var(--pm-blue);height:2px;margin-top:-1px}.pm-grip{color:#a6a8b6;cursor:grab;margin-left:-6px;opacity:0;display:inline-flex}.pm-row:hover .pm-grip{opacity:1}.pm-title{flex:0 1 auto}.pm-open{display:inline-flex;align-items:center;gap:4px;margin-left:auto;flex:none;height:24px;padding:0 8px;border:1px solid var(--pm-line);border-radius:4px;background:#fff;color:var(--pm-sub);font-size:12px;opacity:0}.pm-row:hover .pm-open,.pm-open:focus-visible{opacity:1}.pm-open:hover{color:var(--pm-blue);border-color:var(--pm-blue)}.pm-tag{display:inline-flex;align-items:center;gap:3px;flex:none;height:20px;padding:0 7px;border-radius:10px;font-size:11px;font-weight:600;white-space:nowrap}.pm-tag.blocked{background:#f3ecff;color:#6a3fc1}.pm-tag.follow{background:#fff4e0;color:#9a5b00}.pm-tag.done{background:#e2f8ee;color:#037f4c}.pm-chat button{position:relative;display:grid;place-items:center;width:100%;height:100%;border:0;background:transparent;color:#c3c6d4}.pm-chat button.has,.pm-chat button:hover{color:var(--pm-blue)}.pm-chat b{position:absolute;top:4px;right:8px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--pm-blue);color:#fff;font-size:10px;line-height:16px}.pm-owner button{display:grid;place-items:center;width:100%;height:100%;border:0;background:transparent}.pm-noone{display:inline-grid;place-items:center;border-radius:50%;background:#e6e9ef;color:#a6a8b6}.pm-cell.pm-fill{border-right-color:#fff;border-bottom-color:#fff}.pm-fill button{width:100%;height:100%;min-height:37px;border:0;background:transparent;color:#fff;font-size:13px;padding:0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm-fill:hover{filter:brightness(.94)}.pm-date button,.pm-deps button,.pm-more button{width:100%;height:100%;border:0;background:transparent;color:var(--pm-ink);display:flex;align-items:center;justify-content:center;gap:4px;min-height:37px}.pm-date button.late{color:#d83a52;font-weight:600}.pm-date button.today{color:#c77c00;font-weight:600}.pm-date button.done{color:var(--pm-sub);text-decoration:line-through}.pm-late-dot{display:inline-grid;place-items:center;width:15px;height:15px;border-radius:50%;background:#e2445c;color:#fff;font-size:10px;text-decoration:none}.pm-cell-add{color:#c3c6d4;opacity:0;display:inline-flex}.pm-row:hover .pm-cell-add{opacity:1}.pm-deps button{justify-content:flex-start;padding:0 6px;overflow:hidden}.pm-deps .pm-cell-add{margin:0 auto}.pm-chips{display:flex;gap:4px;overflow:hidden}.pm-chip{display:inline-flex;align-items:center;gap:4px;max-width:150px;height:22px;padding:0 7px;border-radius:11px;background:var(--pm-soft);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:none}.pm-chip i{width:7px;height:7px;border-radius:50%;flex:none}.pm-chip.done{color:var(--pm-sub);text-decoration:line-through}.pm-more button{color:var(--pm-sub);opacity:0}.pm-row:hover .pm-more button,.pm-more button:focus-visible{opacity:1}.pm-add .pm-cell.pm-name{grid-column:1 / -1;border-left-color:color-mix(in srgb,var(--g) 45%,white)}.pm-add input{width:100%;height:36px;border:1px solid transparent;border-radius:4px;background:transparent;padding:0 8px;margin-left:18px;color:var(--pm-ink);outline:none}.pm-add input:hover{border-color:var(--pm-line)}.pm-add input:focus{border-color:var(--pm-blue);background:#fff}.pm-summary .pm-cell{border-bottom:0;border-right:0;padding:6px}.pm-summary .pm-cell:nth-child(4),.pm-summary .pm-cell:nth-child(5),.pm-summary .pm-cell:nth-child(6){border:1px solid var(--pm-line);border-top:0;border-left:0}.pm-summary .pm-cell:nth-child(4){border-left:1px solid var(--pm-line);border-bottom-left-radius:6px}.pm-summary .pm-cell:nth-child(6){border-bottom-right-radius:6px}.pm-summary .pm-cell.pm-name{border-left:0}.pm-range{font-size:12px;background:var(--g);color:#fff;border-radius:11px;padding:2px 9px;white-space:nowrap}.pm-battery{display:flex;width:100%;overflow:hidden;border-radius:2px;gap:0}.pm-battery span{display:block;min-width:3px}.pm-battery.is-empty{background:var(--pm-soft)}.pm-add-group{display:flex;align-items:center;gap:8px;max-width:520px;padding:6px 10px;color:var(--pm-sub);border:1px dashed var(--pm-line);border-radius:6px}.pm-add-group:focus-within{border-color:var(--pm-blue);border-style:solid}.pm-add-group input{flex:1;border:0;outline:none;background:transparent;padding:6px 0;color:var(--pm-ink)}.pm-pop{position:fixed;z-index:70;background:#fff;color:#323338;border-radius:8px;box-shadow:0 6px 24px #0003;padding:8px;font-size:14px;max-height:70vh;overflow:auto}.pm-pop-title{margin:2px 4px 8px;color:#676879;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.pm-labels{display:grid;gap:6px;padding:4px}.pm-labels button{height:32px;border:0;border-radius:2px;color:#fff;cursor:pointer}.pm-labels button:hover{filter:brightness(.92)}.pm-labels button.on{box-shadow:0 0 0 2px #fff,0 0 0 4px #0073ea}.pm-labels .pm-label-clear{background:#fff;color:#676879;border:1px dashed #c3c6d4}.pm-pick{display:flex;flex-direction:column;gap:6px}.pm-pick-note{margin:0 4px 2px;color:#676879;font-size:12px}.pm-pick-search{width:100%;height:32px;border:1px solid #c3c6d4;border-radius:4px;padding:0 8px;outline:none}.pm-pick-search:focus{border-color:#0073ea}.pm-pick-list{display:flex;flex-direction:column;max-height:260px;overflow:auto}.pm-pick-list.tall{max-height:340px}.pm-pick-list>button{display:flex;align-items:center;gap:10px;padding:6px 8px;border:0;border-radius:4px;background:transparent;text-align:left;color:inherit}.pm-pick-list>button:hover{background:#f5f6f8}.pm-pick-list>button.on{background:#cce5ff}.pm-pick-list>button span{flex:1}.pm-pick-list>button em{display:block;font-style:normal;color:#676879;font-size:12px}.pm-pick-group{margin:8px 4px 2px;font-size:12px;font-weight:600}.pm-pick-empty{color:#676879;margin:8px 4px}.pm-pick-clear{border:0;border-top:1px solid #e6e9ef;background:transparent;padding:8px 4px 2px;color:#d83a52;text-align:left}.pm-dep-option{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:4px;cursor:pointer}.pm-dep-option:hover{background:#f5f6f8}.pm-dep-option.off{opacity:.45;cursor:not-allowed}.pm-dep-option i{width:8px;height:8px;border-radius:50%;flex:none}.pm-dep-option span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm-date-pick{display:flex;flex-direction:column;gap:8px}.pm-date-pick input{height:34px;border:1px solid #c3c6d4;border-radius:4px;padding:0 8px}.pm-quick{display:grid;grid-template-columns:1fr 1fr;gap:6px}.pm-quick button{height:30px;border:1px solid #d0d4e4;border-radius:4px;background:#fff;color:#323338}.pm-quick button:hover{background:#f5f6f8}.pm-menu{display:flex;flex-direction:column}.pm-menu button{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:0;border-radius:4px;background:transparent;text-align:left;color:#323338}.pm-menu button:hover:not(:disabled){background:#f5f6f8}.pm-menu button.current{font-weight:600}.pm-menu button.danger{color:#d83a52}.pm-menu button:disabled{color:#a6a8b6;cursor:default}.pm-menu hr{border:0;border-top:1px solid #e6e9ef;margin:4px 0}.pm-swatches{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;padding:0 4px 8px}.pm-swatches button{aspect-ratio:1;border:0;border-radius:50%;cursor:pointer}.pm-swatches button.on{box-shadow:0 0 0 2px #fff,0 0 0 4px #323338}.pm-new-board{display:flex;gap:6px;padding:8px 4px 2px;border-top:1px solid #e6e9ef;margin-top:4px}.pm-new-board input{flex:1;min-width:0;height:28px;border:1px solid #c3c6d4;border-radius:4px;padding:0 8px}.pm-filter-list{display:flex;flex-direction:column}.pm-filter-list label{display:flex;align-items:center;gap:8px;padding:6px;border-radius:4px;cursor:pointer}.pm-filter-list label:hover{background:#f5f6f8}.pm-swatch{width:14px;height:14px;border-radius:3px}.pm-panel{position:fixed;top:0;right:0;bottom:0;z-index:35;width:min(640px,100vw);display:flex;flex-direction:column;background:#fff;color:var(--pm-ink, #323338);box-shadow:-8px 0 32px #00000029;font-size:14px;animation:pm-slide .18s ease-out}@keyframes pm-slide{0%{transform:translate(40px);opacity:0}to{transform:none;opacity:1}}.pm-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px 10px}.pm-panel-head h2{margin:0}.pm-panel-title{flex:1;min-width:0}.pm-panel-group{margin:0 0 4px;font-size:13px;font-weight:600}.pm-panel-name{font-size:22px;font-weight:600;letter-spacing:-.02em;white-space:normal}textarea.pm-panel-name{font-size:20px}.pm-panel-empty{padding:0 20px;color:#676879}.pm-panel-fields{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:4px 20px 14px}.pm-panel-fields>div{display:flex;flex-direction:column;gap:4px;min-width:0}.pm-panel-fields>div>span{color:#676879;font-size:12px}.pm-field-btn{display:flex;align-items:center;gap:6px;height:34px;padding:0 8px;border:1px solid #d0d4e4;border-radius:4px;background:#fff;color:#323338;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pm-field-btn:hover{background:#f5f6f8}.pm-field-btn.late{color:#d83a52;border-color:#f2b8c2}.pm-field-fill{height:34px;border:0;border-radius:4px;color:#fff}.pm-field-fill:hover{filter:brightness(.94)}.pm-panel-banner{display:flex;align-items:center;gap:8px;margin:0 20px 12px;padding:9px 12px;border-radius:6px;background:#f3ecff;color:#4b2a96;font-size:13px}.pm-panel-tabs{display:flex;gap:2px;padding:0 20px;border-bottom:1px solid #d0d4e4}.pm-panel-tabs button{border:0;background:transparent;padding:9px 12px;color:#676879;border-bottom:2px solid transparent;margin-bottom:-1px}.pm-panel-tabs button.on{color:#323338;border-bottom-color:#0073ea;font-weight:600}.pm-panel-body{flex:1;overflow:auto;padding:16px 20px 40px;background:#f6f7fb}.pm-composer{background:#fff;border:1px solid #d0d4e4;border-radius:8px;padding:10px;margin-bottom:16px}.pm-composer:focus-within{border-color:#0073ea}.pm-composer textarea{width:100%;border:0;outline:none;resize:vertical;font:inherit;color:inherit}.pm-composer-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:6px}.pm-check{display:inline-flex;align-items:center;gap:6px;color:#676879;font-size:13px;cursor:pointer}.pm-update{background:#fff;border:1px solid #e6e9ef;border-radius:8px;padding:12px 14px;margin-bottom:10px}.pm-update.follow{border-left:4px solid #fdab3d}.pm-update.follow.resolved{border-left-color:#00c875}.pm-update header{display:flex;align-items:center;gap:8px}.pm-update header time{color:#676879;font-size:12px}.pm-update header .pm-tag{margin-left:auto}.pm-update p{margin:8px 0 0;white-space:pre-wrap;line-height:1.5}.pm-update.resolved p{color:#676879}.pm-update footer{display:flex;gap:14px;margin-top:8px;font-size:13px}.pm-details{display:flex;flex-direction:column;gap:18px}.pm-details section{background:#fff;border:1px solid #e6e9ef;border-radius:8px;padding:12px 14px}.pm-details h3{margin:0 0 8px;font-size:14px}.pm-details-h{display:flex;justify-content:space-between;align-items:center}.pm-details-h h3{margin:0}.pm-dep-list{list-style:none;margin:8px 0 0;padding:0}.pm-dep-list li{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:8px;padding:6px 0;border-top:1px solid #f0f1f5}.pm-dep-list li:first-child{border-top:0}.pm-dep-list i{width:8px;height:8px;border-radius:50%}.pm-dep-list span{color:#676879;font-size:12px}.pm-notes{width:100%;border:1px solid #d0d4e4;border-radius:6px;padding:8px 10px;font:inherit;color:inherit;resize:vertical;outline:none}.pm-notes:focus{border-color:#0073ea}.pm-log{list-style:none;margin:0;padding:0}.pm-log li{display:grid;grid-template-columns:26px 1fr;gap:8px;padding:8px 0;border-top:1px solid #eceef4;font-size:13px}.pm-log li:first-child{border-top:0}.pm-log time{display:block;color:#676879;font-size:12px}.pm-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;align-items:start}.pm-person{border:1px solid var(--pm-line);border-radius:8px;padding:14px;background:#fff}.pm-person.idle{opacity:.7}.pm-person header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.pm-person header div{flex:1;min-width:0}.pm-person h3{margin:0;font-size:15px}.pm-person header p{margin:0;color:var(--pm-sub);font-size:12px}.pm-person header strong{font-size:20px;color:#00a35c}.pm-person-sum{color:var(--pm-sub);font-size:12px;margin:8px 0}.pm-person ul{list-style:none;margin:0;padding:0}.pm-person li button{display:grid;grid-template-columns:10px 1fr;gap:4px 10px;width:100%;border:0;border-top:1px solid #f0f1f5;background:transparent;padding:8px 4px;text-align:left;color:inherit}.pm-person li button:hover{background:var(--pm-hover)}.pm-person li i{width:10px;height:10px;border-radius:3px;margin-top:4px;grid-row:span 2}.pm-person-title{font-weight:500}.pm-person-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;color:var(--pm-sub);font-size:12px}.pm-person-meta em{font-style:normal;font-weight:600}.pm-person-meta .late{color:#d83a52;font-weight:600}.pm-kpis{display:grid;grid-template-columns:1.6fr repeat(5,1fr);gap:12px;margin-bottom:16px}.pm-kpi{border:1px solid var(--pm-line);border-radius:8px;padding:12px 14px;border-top:4px solid var(--k, #00c875)}.pm-kpi span{display:block;color:var(--pm-sub);font-size:12px}.pm-kpi b{display:block;font-size:28px;font-weight:600;letter-spacing:-.03em}.pm-kpi.big b{font-size:34px}.pm-kpi em{display:block;font-style:normal;color:var(--pm-sub);font-size:12px;margin-bottom:8px}.pm-recap-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:16px;align-items:start}.pm-recap-main,.pm-recap-side{display:flex;flex-direction:column;gap:16px}.pm-card{border:1px solid var(--pm-line, #d0d4e4);border-radius:8px;padding:14px 16px;background:#fff}.pm-card h3{margin:0 0 8px;font-size:15px;display:flex;align-items:center;gap:6px}.pm-card h4{margin:12px 0 4px;font-size:13px;color:var(--pm-sub)}.pm-card-h{display:flex;justify-content:space-between;align-items:center;gap:10px}.pm-card-h h3{margin:0}.pm-progress-row{display:grid;grid-template-columns:minmax(120px,200px) 1fr 44px;align-items:center;gap:12px;padding:6px 0}.pm-progress-row span{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm-progress-row b{text-align:right;font-size:13px}.pm-task-list h4{margin:10px 0 4px}.pm-task-list ul,.pm-follow-list{list-style:none;margin:0;padding:0}.pm-task-list li{display:grid;grid-template-columns:10px auto 1fr;align-items:baseline;gap:8px;padding:5px 0}.pm-task-list li i{width:8px;height:8px;border-radius:50%;align-self:center}.pm-task-list li span{color:var(--pm-sub);font-size:12px;min-width:0}.pm-follow-list li{display:grid;grid-template-columns:24px 1fr auto;gap:10px;align-items:start;padding:10px 0;border-top:1px solid #f0f1f5}.pm-follow-list li:first-child{border-top:0}.pm-follow-list p{margin:2px 0}.pm-ask{background:linear-gradient(180deg,#f8f5ff,#fff 120px);border-color:#ddd0fb}.pm-ai-state{font-size:12px;color:var(--pm-sub);background:var(--pm-soft);border-radius:10px;padding:2px 9px}.pm-ai-state.on{background:#e2f8ee;color:#037f4c}.pm-ask-setup{background:#fff8e6;border-radius:6px;padding:8px 10px;color:#6b4a00;font-size:13px}.pm-ask-setup code,.pm-paste code{background:#0000000f;border-radius:3px;padding:0 4px;font-size:12px}.pm-ask-form{display:flex;gap:8px;margin:10px 0 8px}.pm-ask-form input{flex:1;height:38px;border:1px solid var(--pm-line);border-radius:4px;padding:0 12px;outline:none}.pm-ask-form input:focus{border-color:#7e5bef}.pm-ask-form .pm-btn{height:38px;background:#7e5bef;border-color:#7e5bef}.pm-ask-form .pm-btn:hover:not(:disabled){background:#6a46d8}.pm-ask-prompts{display:flex;flex-wrap:wrap;gap:6px}.pm-ask-prompts button{border:1px solid #ddd0fb;background:#fff;color:#5e3cc4;border-radius:14px;padding:4px 10px;font-size:12px}.pm-ask-prompts button:hover:not(:disabled){background:#f5f0ff}.pm-ask-prompts button:disabled{opacity:.5;cursor:not-allowed}.pm-answer{border-top:1px solid #ece6fb;margin-top:12px;padding-top:12px}.pm-answer-q{font-weight:600;margin:0 0 6px}.pm-answer-error{color:#c4193b;background:#fff0f2;border-radius:6px;padding:8px 10px;margin:6px 0;font-size:13px}.pm-md{line-height:1.55}.pm-md p{margin:0 0 8px}.pm-md h4{margin:12px 0 4px;color:var(--pm-ink);font-size:14px}.pm-md ul,.pm-md ol{margin:0 0 8px;padding-left:20px}.pm-md li{margin:2px 0}.pm-unavailable{max-width:640px}.pm-unavailable p{margin:6px 0 12px}.pm-loading{display:flex;flex-direction:column;gap:10px;max-width:900px}.pm-loading span{height:38px;border-radius:6px;background:linear-gradient(90deg,#f0f1f5,#f8f9fb,#f0f1f5);background-size:200% 100%;animation:pm-shimmer 1.2s infinite linear}@keyframes pm-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.pm-paste{width:min(1180px,100%);height:min(88vh,860px);display:flex;flex-direction:column;background:#fff;color:#323338;border-radius:10px;overflow:hidden;font-size:14px}.pm-paste-head{display:flex;justify-content:space-between;gap:12px;padding:18px 20px 12px;border-bottom:1px solid #e6e9ef}.pm-paste-head h2{display:flex;align-items:center;gap:8px;margin:0;font-size:20px}.pm-paste-head p{margin:4px 0 0;color:#676879}.pm-paste-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}.pm-paste-left{display:flex;flex-direction:column;min-height:0;border-right:1px solid #e6e9ef}.pm-paste-left textarea{flex:1;min-height:200px;border:0;outline:none;resize:none;padding:16px 20px;font:13px/1.6 IBM Plex Mono,ui-monospace,Consolas,monospace;color:#323338}.pm-paste-tips{padding:10px 20px 14px;border-top:1px solid #e6e9ef;background:#f6f7fb}.pm-paste-tips p{margin:0 0 8px;color:#676879;font-size:12px;line-height:1.6}.pm-paste-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pm-paste-right{overflow:auto;padding:14px 20px 20px;background:#f6f7fb}.pm-paste-sum{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-bottom:12px;color:#676879;font-size:13px}.pm-paste-sum b{color:#323338;font-size:15px}.pm-paste-sum .warn{color:#9a5b00;font-weight:600}.pm-paste-sum .ai{display:inline-flex;align-items:center;gap:4px;color:#5e3cc4;font-weight:600}.pm-paste-empty{color:#676879;padding:30px 0;text-align:center}.pm-paste-group{background:#fff;border:1px solid #e6e9ef;border-radius:8px;margin-bottom:12px;overflow:hidden}.pm-paste-group-h{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid #e6e9ef}.pm-paste-group-h input{flex:1;min-width:0;border:1px solid transparent;border-radius:4px;padding:3px 6px;font-weight:600;font-size:15px;color:#0073ea;outline:none}.pm-paste-group-h input:hover{border-color:#d0d4e4}.pm-paste-group-h input:focus{border-color:#0073ea}.pm-paste-group-h span{color:#676879;font-size:12px;white-space:nowrap}.pm-paste-task{display:grid;grid-template-columns:18px 1fr;gap:10px;padding:8px 12px;border-top:1px solid #f0f1f5}.pm-paste-task:first-of-type{border-top:0}.pm-paste-task.off{opacity:.45}.pm-paste-task input{margin-top:3px}.pm-paste-task p{margin:0}.pm-paste-meta{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.pm-paste-meta span{display:inline-flex;align-items:center;gap:3px;height:20px;padding:0 7px;border-radius:10px;background:#e6e9ef;font-size:11px;color:#323338;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm-paste-meta .fill{color:#fff}.pm-paste-meta .dep{background:#f3ecff;color:#6a3fc1}.pm-paste-meta .notes{background:#fff4e0;color:#9a5b00}.pm-paste-warn{color:#9a5b00;font-size:12px;margin-top:3px!important}.pm-paste-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid #e6e9ef}@media(max-width:1200px){.pm-kpis{grid-template-columns:repeat(3,1fr)}.pm-kpi.big{grid-column:span 3}}@media(max-width:980px){.pm-page{padding:16px 16px 80px}.pm-head{flex-direction:column}.pm-head-side{justify-content:flex-start}.pm-recap-grid,.pm-paste-body{grid-template-columns:1fr}.pm-paste-left{border-right:0;border-bottom:1px solid #e6e9ef}.pm-panel-fields,.pm-kpis{grid-template-columns:1fr 1fr}.pm-kpi.big{grid-column:span 2}:root{--pm-cols: minmax(230px, 1fr) 48px 80px 130px 110px 100px minmax(150px, 200px) 40px}.pm-group{min-width:900px}.pm-open,.pm-more button,.pm-cell-add,.pm-group-more{opacity:1}.pm-open{padding:0 6px}.pm-open span,.pm-grip{display:none}}@media(prefers-reduced-motion:reduce){.pm-panel,.pm-loading span{animation:none}}.main:has(>.hub){display:flex;flex-direction:column;overflow:hidden}.main:has(>.hub)>.topbar{flex:none}.hub{flex:1;min-height:0;display:flex;background:#fff}.hub-main{flex:1;min-width:0;overflow:auto;position:relative}.hub-main:has(>.hub-chat),.hub-main:has(>.hub-map-page){display:flex;flex-direction:column;overflow:hidden}.hub-nav-toggle,.hub-scrim{display:none}.hub-nav{width:252px;flex:none;overflow-y:auto;padding:12px 8px 40px;border-right:1px solid var(--pm-soft);background:#f7f8fb}.hub-search-btn{display:flex;align-items:center;gap:8px;width:100%;height:34px;margin-bottom:10px;padding:0 10px;border:1px solid var(--pm-line);border-radius:6px;background:#fff;color:var(--pm-sub);font-size:13px;text-align:left}.hub-search-btn:hover{border-color:#a9b0c6;color:var(--pm-ink)}.hub-search-btn kbd{margin-left:auto;padding:1px 5px;border-radius:4px;background:var(--pm-soft);font:inherit;font-size:11px}.hub-nav-section{display:flex;flex-direction:column;gap:1px}.hub-nav-item{display:flex;align-items:center;gap:8px;width:100%;min-height:32px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:var(--pm-ink);font-size:14px;text-align:left}.hub-nav-item>span:not(.hub-twisty):not(.avatar){flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-nav-item>svg{flex:none;color:var(--pm-sub)}.hub-nav-item:hover{background:var(--pm-soft)}.hub-nav-item.on{background:var(--pm-sel);font-weight:600}.hub-nav-item.on>svg{color:var(--pm-ink)}.hub-nav-item.unread>span{font-weight:700}.hub-nav-item.project{gap:2px;padding-right:4px}.hub-nav-item.archived{opacity:.6}.hub-nav-link{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:6px 0;border:0;background:transparent;color:inherit;font-weight:inherit;text-align:left}.hub-nav-link>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-twisty{display:inline-grid;place-items:center;flex:none;width:18px;height:18px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--pm-sub);transform:rotate(-90deg);transition:transform .15s}.hub-twisty.open,span.hub-twisty{transform:none}button.hub-twisty:hover{background:#dfe3ec}.hub-dot{display:inline-block;flex:none;width:10px;height:10px;border-radius:3px}.hub-count{flex:none;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#e2445c;color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center}.hub-count.muted{background:var(--pm-soft);color:var(--pm-sub)}.hub-count.warn{background:#fdab3d}.hub-nav-head{display:flex;align-items:center;gap:2px;margin:16px 2px 4px 8px;color:var(--pm-sub);font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.hub-nav-head span{flex:1}.hub-mini{display:inline-grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--pm-sub)}.hub-mini:hover,.hub-mini.on{background:var(--pm-soft);color:var(--pm-ink)}.hub-nav-empty{margin:4px 8px;color:var(--pm-sub);font-size:12px}.hub-nav-group{gap:4px;padding-left:4px;color:var(--pm-sub);font-size:13px}.hub-nav-group .hub-twisty:not(.open){transform:rotate(-90deg)}.hub-nav-sub{flex:none;color:var(--pm-sub);font-size:12px}.hub-grow{flex:1}.hub-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:56px 20px;color:var(--pm-sub);text-align:center}.hub-empty p{margin:0;max-width:46ch}.hub-empty.small{padding:30px 16px}.hub-banner{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:12px;padding:9px 12px;border-radius:6px;background:#eef5ff;color:#1f4f8f;font-size:13px}.hub-banner.bad{background:#fff0f2;color:#8a1c2b}.hub-banner.warn{background:#fff8e6;color:#6b4a00}.hub-chip{display:inline-flex;align-items:center;gap:4px;max-width:200px;height:22px;padding:0 8px;border:0;border-radius:11px;background:color-mix(in srgb,var(--c, #579bfc) 15%,white);color:color-mix(in srgb,var(--c, #579bfc) 72%,black);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:none}.hub-chip.site{--c: #a25ddc}button.hub-chip:hover{background:color-mix(in srgb,var(--c, #579bfc) 25%,white)}.hub-chips{display:inline-flex;flex-wrap:wrap;gap:4px}.hub-faces{display:inline-flex;flex:none}.hub-faces .avatar{margin-left:-6px;border:2px solid white;box-sizing:content-box}.hub-faces .avatar:first-child{margin-left:0}.hub-select{height:32px;padding:0 8px;border:1px solid var(--pm-line);border-radius:4px;background:#fff;color:var(--pm-ink);font-size:13px;max-width:220px}.hub-row-gap{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:8px}.hub-toggle{display:inline-flex;align-items:center;gap:6px;color:var(--pm-sub);font-size:13px;cursor:pointer;white-space:nowrap}.hub-section{margin-bottom:24px}.hub-section-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.hub-section-h h2{margin:0;font-size:18px;font-weight:600;letter-spacing:-.01em}.hub-label{display:block;margin-bottom:6px;color:var(--pm-sub);font-size:12px;font-weight:500}.hub-mini-list{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column}.hub-mini-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;border-top:1px solid #f0f1f5;font-size:13px}.hub-mini-list li:first-child{border-top:0}.hub-mini-list .pm-link-btn{display:inline-flex;align-items:center;gap:6px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-mini-list.big li{padding:0}.hub-pick-row{display:flex;align-items:center;gap:10px;width:100%;padding:10px 8px;border:0;border-radius:6px;background:transparent;color:var(--pm-ink);font-size:14px;text-align:left}.hub-pick-row:hover{background:var(--pm-hover)}.pm-editable.empty{padding:1px 4px}.pm-tag.secret{padding:0 7px;border-radius:10px;background:#fff0f2;color:#c4193b;word-break:normal}.pm-tag.subs{border:0;background:#eaf3ff;color:#1f5fbf}.pm-tag.checks{background:var(--pm-soft);color:var(--pm-sub)}.pm-tag.checks.done{background:#e2f8ee;color:#037f4c}.pm-tag.site{max-width:150px;overflow:hidden;text-overflow:ellipsis;border:0;background:#f3ecff;color:#6a3fc1}button.pm-tag{cursor:pointer}button.pm-tag:hover{filter:brightness(.96)}.pm-icon-btn.small{width:24px;height:24px}.pm-icon-btn.flip svg{transform:rotate(180deg)}a.pm-icon-btn{text-decoration:none}.pm-link-btn.small{font-size:12px}.pm-link-btn.done{color:var(--pm-sub);text-decoration:line-through}a.pm-link-btn{text-decoration:none}.pm-search.wide{display:flex;width:100%;margin-bottom:10px;box-shadow:inset 0 0 0 1px var(--pm-line)}.pm-search.wide input{flex:1;width:auto}.pm-seg{display:inline-flex;flex:none;border:1px solid var(--pm-line);border-radius:6px;overflow:hidden;background:#fff}.pm-seg button{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border:0;border-right:1px solid var(--pm-line);background:#fff;color:var(--pm-sub);font-size:13px}.pm-seg button:last-child{border-right:0}.pm-seg button:hover{background:var(--pm-hover);color:var(--pm-ink)}.pm-seg button.on{background:var(--pm-sel);color:var(--pm-ink);font-weight:600}.pm-seg.small button{height:26px;padding:0 9px;font-size:12px}.pm-loading:has(.pm-spinner){flex-direction:row;align-items:center;gap:10px;padding:24px 0;color:var(--pm-sub);font-size:13px}.pm-loading .pm-spinner,.pm-spinner{display:inline-block;flex:none;width:16px;height:16px;border:2px solid var(--pm-soft);border-top-color:var(--pm-blue);border-radius:50%;background:none;animation:hub-spin .8s linear infinite}@keyframes hub-spin{to{transform:rotate(360deg)}}.pm-tabs button em{padding:0 6px;border-radius:9px;background:var(--pm-soft);color:var(--pm-sub);font-size:11px;font-style:normal;font-weight:600}.modal-back.hub-modal-back{z-index:50}.hub-modal{display:flex;flex-direction:column;max-height:min(90vh,920px);overflow:hidden;border-radius:10px;background:#fff;color:var(--pm-ink);font-size:14px;box-shadow:0 20px 60px #0f14284d}.hub-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px 10px}.hub-modal-head h2{flex:1;min-width:0;margin:0;font-size:19px;font-weight:600;letter-spacing:-.01em}.hub-modal-body{flex:1;min-height:0;overflow:auto;padding:4px 20px 18px}.hub-modal-body>p:first-child{margin-top:0}.hub-modal-foot{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;padding:12px 20px;border-top:1px solid var(--pm-soft)}.hub-form{display:flex;flex-direction:column;gap:12px}.hub-form+.hub-form,.hub-form>.hub-form{margin:0}.hub-form.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hub-form label,.hub-side-field,.hub-pop-form label{display:flex;flex-direction:column;gap:4px;color:var(--pm-sub);font-size:12px;font-weight:500}.hub-form input:not([type=checkbox]):not([type=radio]),.hub-form select,.hub-form textarea,.hub-side-field select,.hub-pop-form input,.hub-add-bar input,.hub-add-bar select,.hub-editor-foot input,.hub-note-edit textarea{min-height:36px;padding:0 10px;border:1px solid var(--pm-line);border-radius:6px;background:#fff;color:var(--pm-ink);font-size:14px;font-weight:400;outline:none}.hub-form textarea,.hub-note-edit textarea{padding:8px 10px;line-height:1.5;resize:vertical}.hub-form input:focus,.hub-form select:focus,.hub-form textarea:focus,.hub-side-field select:focus,.hub-pop-form input:focus,.hub-add-bar input:focus,.hub-add-bar select:focus,.hub-editor-foot input:focus,.hub-note-edit textarea:focus{border-color:var(--pm-blue)}.hub-check-row{flex-direction:row!important;align-items:center;gap:8px!important;color:var(--pm-ink)!important;font-size:13px!important;font-weight:400!important;cursor:pointer}.hub-prefixed{display:flex;align-items:center;gap:4px;padding-left:10px;border:1px solid var(--pm-line);border-radius:6px;background:#fff;color:var(--pm-sub)}.hub-prefixed:focus-within{border-color:var(--pm-blue)}.hub-form .hub-prefixed input{flex:1;min-width:0;border:0;padding-left:2px}.pm-swatches.inline{grid-template-columns:repeat(auto-fill,26px);padding:0}.hub-choice-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.hub-choice-row button,.hub-templates button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border:1px solid var(--pm-line);border-radius:8px;background:#fff;color:var(--pm-ink);text-align:left}.hub-choice-row button span,.hub-templates button span{color:var(--pm-sub);font-size:12px;line-height:1.35}.hub-choice-row button:hover,.hub-templates button:hover{border-color:#a9c8f5}.hub-choice-row button.on,.hub-templates button.on{border-color:var(--pm-blue);background:#f0f7ff;box-shadow:0 0 0 1px var(--pm-blue)}.hub-templates{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;margin-bottom:14px}.hub-pick-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.hub-form .hub-pick-chips{margin-bottom:0}.hub-pick-chips button{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 11px;border:1px solid var(--pm-line);border-radius:14px;background:#fff;color:var(--pm-ink);font-size:13px}.hub-pick-chips button:hover{background:var(--pm-hover)}.hub-pick-chips button.on{border-color:#8ec5ff;background:var(--pm-sel);font-weight:600}.hub-pop-form{display:flex;flex-direction:column;gap:8px;padding:4px}.hub-pop-form .pm-btn{align-self:flex-end}.hub-people-pick{list-style:none;margin:0 0 10px;padding:0;max-height:46vh;overflow-y:auto}.hub-people-pick button{display:flex;align-items:center;gap:10px;width:100%;padding:8px;border:0;border-radius:6px;background:transparent;color:var(--pm-ink);text-align:left}.hub-people-pick button:hover{background:var(--pm-hover)}.hub-people-pick button.on{background:#eef5ff}.hub-people-pick span:not(.avatar){flex:1;display:flex;flex-direction:column}.hub-people-pick em{color:var(--pm-sub);font-size:12px;font-style:normal}.hub-check{display:inline-grid;place-items:center;flex:none;width:20px;height:20px;border:1.5px solid var(--pm-line);border-radius:5px;color:#fff}.hub-people-pick button.on .hub-check{border-color:var(--pm-blue);background:var(--pm-blue)}.hub-quote{margin:0 0 14px;padding:8px 12px;border-left:3px solid var(--pm-line);background:#fafbfc;color:var(--pm-sub);font-size:13px;white-space:pre-wrap}.hub-import-list{max-height:50vh;overflow-y:auto;margin-top:8px}.hub-import-list span{display:flex;flex-direction:column}.hub-import-list em{color:var(--pm-sub);font-size:12px;font-style:normal}.hub-suggest{position:fixed;z-index:80;display:flex;flex-direction:column;width:280px;max-height:280px;overflow-y:auto;padding:4px;border:1px solid var(--pm-soft);border-radius:8px;background:#fff;box-shadow:0 10px 30px #0f14282e;font-size:13px}.hub-suggest button{display:flex;align-items:center;gap:8px;padding:6px 8px;border:0;border-radius:5px;background:transparent;color:var(--pm-ink);text-align:left}.hub-suggest button>span:not(.avatar):not(.hub-suggest-icon){flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-suggest button em{color:var(--pm-sub);font-size:11px;font-style:normal}.hub-suggest button.on{background:var(--pm-sel)}.hub-suggest-icon{display:inline-grid;place-items:center;flex:none;width:22px;height:22px;border-radius:5px;background:var(--pm-soft);font-size:13px}.md{color:var(--pm-ink);font-size:14px;line-height:1.6;overflow-wrap:anywhere}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p{margin:0 0 10px}.md .md-h{margin:20px 0 8px;line-height:1.3;letter-spacing:-.01em}.md h1.md-h{font-size:25px}.md h2.md-h{font-size:20px}.md h3.md-h{font-size:17px}.md h4.md-h,.md h5.md-h,.md h6.md-h{font-size:15px}.md.compact p{margin:0 0 6px}.md.compact .md-h{margin:10px 0 4px;font-size:15px}.md ul,.md ol{margin:0 0 10px;padding-left:22px}.md li{margin:2px 0}.md li>ul,.md li>ol{margin:2px 0 0}.md .md-nest{list-style:none}.md .md-tasks{list-style:none;padding-left:2px}.md .md-tasks ul{list-style:none;padding-left:24px}.md .md-task{display:flex;flex-wrap:wrap;align-items:flex-start;gap:0 8px}.md .md-task>input{margin:5px 0 0;flex:none}.md .md-task>span{flex:1;min-width:0}.md .md-task>ul{flex-basis:100%}.md .md-task.done>span{color:var(--pm-sub);text-decoration:line-through}.md a{color:var(--pm-blue)}.md code{padding:1px 5px;border-radius:4px;background:#f0f1f5;font-family:IBM Plex Mono,ui-monospace,Consolas,monospace;font-size:.88em}.md .md-code{position:relative;margin:0 0 12px;padding:12px 14px;overflow-x:auto;border-radius:6px;background:#1f2430;color:#e6e8ef;font:13px/1.5 IBM Plex Mono,ui-monospace,Consolas,monospace;white-space:pre}.md .md-code[data-lang]:before{content:attr(data-lang);position:absolute;top:4px;right:8px;color:#8a90a6;font-size:11px}.md .md-code code{padding:0;background:none;font-size:inherit;color:inherit}.md .md-quote{margin:0 0 10px;padding:2px 0 2px 12px;border-left:3px solid var(--pm-line);color:var(--pm-sub)}.md .md-table{margin:0 0 12px;overflow-x:auto}.md .md-table table{border-collapse:collapse;font-size:13px}.md .md-table th,.md .md-table td{padding:6px 10px;border:1px solid var(--pm-soft);text-align:left;vertical-align:top}.md .md-table th{background:#f6f7fb;font-weight:600}.md hr{margin:16px 0;border:0;border-top:1px solid var(--pm-soft)}.md .md-img{display:block;max-width:100%;max-height:420px;margin:6px 0;border-radius:6px}.md .md-mention{padding:0 3px;border-radius:4px;background:#e6f0ff;color:#1f5fbf;font-weight:500}.md .md-wiki{color:#6a3fc1;text-decoration:none;border-bottom:1px solid #cdb5f7}.md .md-wiki:hover{background:#f5f0ff}.md .md-wiki.missing{color:var(--pm-sub);border-bottom-style:dashed;border-bottom-color:var(--pm-line);cursor:help}.hub-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:24px}.pm-kpi.hub-kpi{display:flex;flex-direction:column;align-items:flex-start;background:#fff;color:var(--pm-ink);text-align:left}.pm-kpi.hub-kpi:disabled{cursor:default}.pm-kpi.hub-kpi:not(:disabled):hover{background:var(--pm-hover)}.hub-project-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px}.hub-project-card{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-height:170px;padding:14px 16px;border:1px solid var(--pm-line);border-top:4px solid var(--c, var(--pm-blue));border-radius:8px;background:#fff;color:var(--pm-ink);text-align:left;transition:box-shadow .15s,transform .15s}.hub-project-card:hover{box-shadow:0 6px 18px #0f142814;transform:translateY(-1px)}.hub-project-card.add{align-items:center;justify-content:center;border-style:dashed;border-top-width:1px;color:var(--pm-sub)}.hub-project-card.add:hover{border-color:var(--pm-blue);color:var(--pm-blue)}.hub-pc-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.hub-pc-name{font-size:16px;font-weight:600;line-height:1.3}.hub-health{flex:none;padding:2px 9px;border-radius:10px;color:#fff;font-size:11px;font-weight:600;white-space:nowrap}.hub-pc-goal{flex:1;margin:0;color:var(--pm-sub);font-size:13px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hub-pc-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;color:var(--pm-sub);font-size:12px}.hub-pc-meta b{color:var(--pm-ink);font-size:14px}.hub-pc-meta .bad{color:#d83a52;font-weight:600}.hub-home-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:16px;align-items:start}.hub-home-col{display:flex;flex-direction:column;gap:16px;min-width:0}.hub-task-list{list-style:none;margin:0;padding:0}.hub-task-list li{display:flex;align-items:center;gap:8px;padding:7px 0;border-top:1px solid #f0f1f5;font-size:13px}.hub-task-list li:first-child{border-top:0}.hub-task-list li>i{flex:none;width:9px;height:9px;border-radius:50%}.hub-task-list li>.pm-link-btn{flex:1;min-width:0;overflow:hidden;color:var(--pm-ink);font-weight:400;text-overflow:ellipsis;white-space:nowrap}.hub-task-list li>.pm-link-btn:hover{color:var(--pm-blue)}.hub-task-list li>.pm-muted,.hub-task-list li>.late{flex:none;margin:0;white-space:nowrap}.hub-task-list .late{color:#d83a52;font-size:12px;font-weight:600}.hub-task-list li.done>.pm-link-btn{color:var(--pm-sub);text-decoration:line-through}.hub-pipeline{display:flex;flex-direction:column;gap:2px}.hub-pipeline button{display:flex;align-items:center;gap:10px;padding:6px 4px;border:0;border-radius:4px;background:transparent;color:var(--pm-ink);font-size:13px;text-align:left}.hub-pipeline button:hover{background:var(--pm-hover)}.hub-pipeline i{flex:none;width:10px;height:10px;border-radius:50%}.hub-pipeline span{flex:1}.hub-pipeline .empty{color:var(--pm-sub)}.hub-chat-list{list-style:none;margin:0;padding:0}.hub-chat-list button{display:flex;align-items:center;gap:8px;width:100%;padding:7px 4px;border:0;border-radius:4px;background:transparent;color:var(--pm-ink);font-size:13px;text-align:left}.hub-chat-list button:hover{background:var(--pm-hover)}.hub-chat-list span{flex:1;min-width:0;overflow:hidden;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.hub-chat-list em{color:var(--pm-sub);font-size:12px;font-style:normal}.pm-crumb{padding:0;border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit}.pm-crumb:hover{color:var(--pm-blue);text-decoration:underline}.pm-kicker .pm-tag{margin-left:8px;background:var(--pm-soft);color:var(--pm-sub)}.pm-project-dot{flex:none;width:16px;height:16px;margin-right:6px;padding:0;border:0;border-radius:5px}.pm-project-dot:disabled{cursor:default}.pm-props{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.pm-prop{display:inline-flex;align-items:center;gap:6px;max-width:360px;height:30px;padding:0 10px;border:1px solid var(--pm-line);border-radius:15px;background:#fff;color:var(--pm-ink);font-size:13px;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pm-prop:hover:not(:disabled){background:var(--pm-hover)}.pm-prop:disabled{cursor:default;opacity:1}.pm-prop.chat{color:var(--pm-blue)}.pm-health{height:30px;padding:0 14px;border:0;border-radius:15px;color:#fff;font-size:13px;font-weight:600}.pm-health:disabled{cursor:default}.pm-description{max-width:90ch;margin:-2px 0 14px;color:var(--pm-ink);line-height:1.5;white-space:pre-wrap}.pm-children{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:14px}.pm-child{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border:1px solid var(--pm-line);border-radius:6px;background:#fff;color:var(--pm-ink);font-size:13px}.pm-child:hover{background:var(--pm-hover)}.pm-child i{width:8px;height:8px;border-radius:2px;background:var(--c)}.pm-child em{color:var(--pm-sub);font-size:12px;font-style:normal}.pm-docs-tab{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.pm-cell.pm-name{overflow:hidden}.pm-name .pm-title{min-width:min(140px,45%)}.pm-name .pm-tag{flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.pm-name .pm-open{position:absolute;top:50%;right:8px;transform:translateY(-50%);box-shadow:-12px 0 10px -2px var(--pm-hover)}.pm-row.on .pm-name .pm-open{box-shadow:-12px 0 10px -2px var(--pm-sel)}.pm-milestone{display:inline-flex;flex:none;color:#a25ddc}.pm-milestone.big{margin-top:8px}.pm-sub-toggle{display:inline-grid;place-items:center;flex:none;width:20px;height:20px;padding:0;border:0;border-radius:4px;background:transparent;color:#c3c6d4;transform:rotate(-90deg);transition:transform .15s,opacity .15s}.pm-sub-toggle.has{color:var(--pm-sub)}.pm-sub-toggle.open{color:var(--pm-blue);transform:none}.pm-sub-toggle:hover{background:var(--pm-soft)}.pm-row:not(:hover) .pm-sub-toggle:not(.has):not(.open){opacity:0}.pm-subs{margin-left:30px}.pm-subrow{min-height:34px}.pm-subrow .pm-cell{background-color:#fbfcfe}.pm-subrow .pm-name{padding-left:16px}.pm-subrow.pm-add input{margin-left:0}.pm-subs-empty{margin:0;padding:6px 16px}.pm-span-pill{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 10px;border-radius:11px;background:linear-gradient(90deg,#579bfc var(--p),#9aa3b8 var(--p));color:#fff;font-size:12px;font-weight:500;white-space:nowrap}.pm-date button.late .pm-span-pill{background:linear-gradient(90deg,#e2445c var(--p),#ef9aa8 var(--p))}.pm-date button.done .pm-span-pill{background:#9aa3b8;text-decoration:line-through}.pm-panel-name-row{display:flex;align-items:flex-start;gap:6px}.pm-toggle{position:relative;cursor:pointer}.pm-toggle input{position:absolute;opacity:0;pointer-events:none}.pm-toggle.on{border-color:#cdb5f7;background:#f7f2ff;color:#6a3fc1}.pm-toggle:has(input:focus-visible){outline:2px solid var(--pm-blue);outline-offset:1px}.pm-panel-sitelink{margin:-6px 20px 12px;color:var(--pm-sub);font-size:13px}.pm-sublist,.pm-checklist{list-style:none;margin:6px 0;padding:0}.pm-sublist li{display:grid;grid-template-columns:18px minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:6px 0;border-top:1px solid #f0f1f5}.pm-sublist li:first-child{border-top:0}.pm-sublist .pm-link-btn{overflow:hidden;color:var(--pm-ink);font-weight:400;text-overflow:ellipsis;white-space:nowrap}.pm-sublist .pm-link-btn:hover{color:var(--pm-blue)}.pm-sub-status{padding:2px 8px;border-radius:10px;color:#fff;font-size:11px;white-space:nowrap}.pm-checklist li{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;padding:3px 0}.pm-checklist li.done .pm-editable{color:var(--pm-sub);text-decoration:line-through}.pm-check-bar{height:6px;margin:8px 0;overflow:hidden;border-radius:3px;background:var(--pm-soft)}.pm-check-bar span{display:block;height:100%;background:#00c875;transition:width .2s}.pm-quick-add{display:flex;align-items:center;gap:8px;margin-top:6px;padding:2px 4px 2px 10px;border:1px dashed var(--pm-line);border-radius:6px;color:var(--pm-sub)}.pm-quick-add:focus-within{border-style:solid;border-color:var(--pm-blue)}.pm-quick-add input{flex:1;min-width:0;height:30px;border:0;background:transparent;color:var(--pm-ink);outline:none}.pm-update-body{margin-top:6px}.pm-range-field{display:flex;flex-direction:column;gap:4px;color:var(--pm-sub);font-size:12px}.pm-kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(180px,1fr);align-items:start;gap:12px;padding-bottom:12px;overflow-x:auto}.pm-kcol{display:flex;flex-direction:column;min-height:220px;padding:0 8px 8px;border-top:4px solid var(--s);border-radius:8px;background:#f6f7fb;transition:background .12s}.pm-kcol.over{background:#eaf3ff;box-shadow:inset 0 0 0 2px var(--pm-blue)}.pm-kcol header{display:flex;align-items:center;justify-content:space-between;padding:10px 4px;font-weight:600}.pm-kcol header b{padding:0 8px;border-radius:10px;background:#fff;color:var(--pm-sub);font-size:12px}.pm-kcards{display:flex;flex-direction:column;gap:8px;min-height:40px}.pm-kcard{padding:10px 12px;border:1px solid #e3e6ee;border-left:4px solid var(--g, var(--pm-line));border-radius:6px;background:#fff;cursor:pointer;box-shadow:0 1px 2px #0f14280d}.pm-kcard:hover{box-shadow:0 4px 12px #0f14281a}.pm-kcard.dragging{opacity:.4}.pm-kgroup{margin:0 0 3px;color:var(--g, var(--pm-sub));font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.pm-kcard h4{display:flex;align-items:flex-start;gap:6px;margin:0 0 8px;font-size:14px;font-weight:500;line-height:1.35}.pm-kmeta{display:flex;flex-wrap:wrap;gap:4px 10px;color:var(--pm-sub);font-size:12px}.pm-kmeta>span{display:inline-flex;align-items:center;gap:3px}.pm-kmeta .late{color:#d83a52;font-weight:600}.pm-kmeta .pm-kprio{padding:0 6px;border-radius:3px;color:#fff;font-weight:600}.pm-kcard footer{display:flex;justify-content:flex-end;margin-top:8px}.pm-kempty{margin:0;padding:18px 8px;border:1px dashed #d6d9e3;border-radius:6px;color:#a6a8b6;font-size:12px;text-align:center}.pm-kadd input{width:100%;height:32px;margin-top:8px;padding:0 8px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--pm-ink);outline:none}.pm-kadd input:hover{border-color:var(--pm-line);background:#fff}.pm-kadd input:focus{border-color:var(--pm-blue);background:#fff}.pm-cal-title{min-width:160px;margin:0 4px;font-size:17px;text-align:center}.pm-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));overflow:hidden;border-top:1px solid var(--pm-line);border-left:1px solid var(--pm-line);border-radius:6px}.pm-cal-dow{padding:6px 8px;border-right:1px solid var(--pm-line);border-bottom:1px solid var(--pm-line);background:#f6f7fb;color:var(--pm-sub);font-size:12px;font-weight:600}.pm-cal-day{display:flex;flex-direction:column;gap:3px;min-width:0;padding:4px 6px 6px;border-right:1px solid var(--pm-line);border-bottom:1px solid var(--pm-line);background:#fff}.pm-cal-day.other{background:#fafbfc}.pm-cal-day.other .pm-cal-date span{color:#b8bac6}.pm-cal-day.over{background:#eaf3ff}.pm-cal-date{display:flex;align-items:center;justify-content:space-between;height:24px}.pm-cal-date span{display:inline-grid;place-items:center;min-width:24px;height:24px;border-radius:12px;font-size:12px;font-weight:600}.pm-cal-day.today .pm-cal-date span{background:var(--pm-blue);color:#fff}.pm-cal-add{display:inline-grid;place-items:center;width:22px;height:22px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--pm-sub);opacity:0}.pm-cal-day:hover .pm-cal-add,.pm-cal-add:focus-visible{opacity:1}.pm-cal-add:hover{background:var(--pm-soft)}.pm-cal-item{display:flex;align-items:center;gap:5px;width:100%;min-width:0;padding:2px 6px;border:0;border-radius:4px;background:color-mix(in srgb,var(--s) 16%,white);color:var(--pm-ink);font-size:12px;text-align:left}.pm-cal-item:hover{background:color-mix(in srgb,var(--s) 28%,white)}.pm-cal-item i{flex:none;width:6px;height:6px;border-radius:50%;background:var(--s)}.pm-cal-item svg{flex:none;color:var(--s)}.pm-cal-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm-cal-item.late{box-shadow:inset 2px 0 #e2445c}.pm-cal-item.done span{color:var(--pm-sub);text-decoration:line-through}.pm-cal-more{padding-left:6px;color:var(--pm-sub);font-size:11px}.pm-cal-form input{width:100%;height:26px;padding:0 6px;border:1px solid var(--pm-blue);border-radius:4px;font-size:12px;outline:none}.pm-tl-scroll{min-height:300px;max-height:calc(100vh - 290px);overflow:auto;border:1px solid var(--pm-line);border-radius:8px}.pm-tl-grid{display:grid;position:relative}.pm-tl-corner{grid-column:1;grid-row:1;position:sticky;top:0;left:0;z-index:6;display:flex;align-items:flex-end;padding:0 12px 8px;border-right:1px solid var(--pm-line);border-bottom:1px solid var(--pm-line);background:#fff;color:var(--pm-sub);font-size:12px;font-weight:600}.pm-tl-head{grid-column:2;grid-row:1;position:sticky;top:0;z-index:4;border-bottom:1px solid var(--pm-line);background:#fff}.pm-tl-month{position:absolute;top:0;height:26px;padding-left:8px;overflow:hidden;border-left:1px solid var(--pm-line);font-size:12px;font-weight:600;line-height:26px;white-space:nowrap}.pm-tl-tick{position:absolute;top:26px;height:26px;overflow:hidden;border-left:1px solid #eef0f4;color:var(--pm-sub);font-size:11px;line-height:26px;text-align:center;white-space:nowrap}.pm-tl-tick.weekend{background:#f6f7fb}.pm-tl-body{grid-column:2;grid-row:2;position:relative;overflow:hidden}.pm-tl-names{grid-column:1;grid-row:2;position:sticky;left:0;z-index:5;border-right:1px solid var(--pm-line);background:#fff}.pm-tl-name{position:absolute;left:0;right:0;display:flex;align-items:center;gap:6px;padding:0 8px 0 10px;border:0;border-left:4px solid var(--g);border-bottom:1px solid #f0f1f5;background:#fff;color:var(--pm-ink);font-size:13px;text-align:left}.pm-tl-name>span:not(.pm-milestone):not(.avatar):not(.pm-noone){flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm-tl-name:hover{background:var(--pm-hover)}.pm-tl-groupname{position:absolute;left:0;right:0;display:flex;align-items:center;padding:0 12px;overflow:hidden;border-bottom:1px solid #f0f1f5;background:#fafbfc;font-size:13px;font-weight:600;white-space:nowrap}.pm-tl-grouprow{position:absolute;left:0;right:0;border-bottom:1px solid #f0f1f5;background:color-mix(in srgb,var(--g) 6%,#fafbfc)}.pm-tl-lane{position:absolute;left:0;right:0;border-bottom:1px solid #f0f1f5}.pm-tl-lane.drawable{cursor:crosshair}.pm-tl-lane.drawable:hover{background:#f7faff}.pm-tl-weekend{position:absolute;top:0;bottom:0;background:#f6f7fb}.pm-tl-weekline{position:absolute;top:0;bottom:0;border-left:1px solid #f0f1f5}.pm-tl-project{position:absolute;top:0;bottom:0;border-left:1px dashed #9cc3f5;border-right:1px dashed #9cc3f5;background:#0073ea09}.pm-tl-today{position:absolute;top:0;bottom:0;z-index:3;width:2px;margin-left:-1px;background:#e2445c}.pm-tl-arrows{position:absolute;top:0;left:0;z-index:2;overflow:visible;pointer-events:none}.pm-tl-arrows>path{fill:none;stroke:#676879;stroke-width:1.4}.pm-tl-arrows>path.late{stroke:#e2445c;stroke-dasharray:4 3}.pm-tl-bar{position:absolute;top:7px;z-index:1;display:flex;align-items:center;height:24px;border-radius:12px;color:#fff;font-size:12px;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;box-shadow:0 1px 2px #00000026}.pm-tl-bar.dragging{opacity:.85;cursor:grabbing;box-shadow:0 4px 12px #0003}.pm-tl-label{flex:1;min-width:0;padding:0 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.pm-tl-handle{flex:none;align-self:stretch;width:8px;cursor:ew-resize;touch-action:none}.pm-tl-handle.start{border-radius:12px 0 0 12px}.pm-tl-handle.end{border-radius:0 12px 12px 0}.pm-tl-handle:hover{background:#0000002e}.pm-tl-milestone{position:absolute;top:10px;z-index:1;width:18px;height:18px;padding:0;border:2px solid white;border-radius:3px;transform:rotate(45deg);cursor:grab;touch-action:none;box-shadow:0 0 0 1px #0003}.pm-tl-outside{position:absolute;top:0;color:var(--pm-sub);font-size:12px;line-height:38px;white-space:nowrap;pointer-events:none}.pm-tl-nodates{position:absolute;left:12px;color:#b8bac6;font-size:12px;line-height:38px;white-space:nowrap;pointer-events:none}.pm-wl-table{width:100%;min-width:860px;border-collapse:separate;border-spacing:0}.pm-wl-table th,.pm-wl-table td{padding:4px;border-bottom:1px solid #eef0f4;font-size:13px;text-align:center}.pm-wl-table thead th{padding:9px 4px;background:#fafbfc;color:var(--pm-sub);font-size:12px;font-weight:600;white-space:nowrap}.pm-wl-table thead th.now{color:var(--pm-blue)}.pm-wl-table thead th:first-child,.pm-wl-table tbody th{position:sticky;left:0;z-index:1;min-width:220px;padding-left:12px;text-align:left}.pm-wl-table tbody th{background:#fff;font-weight:400}.pm-wl-table tbody tr:last-child>*{border-bottom:0}.pm-wl-person{display:flex;align-items:center;gap:10px}.pm-wl-person b,.pm-wl-person em{display:block}.pm-wl-person em{color:var(--pm-sub);font-size:12px;font-style:normal}.pm-wl-cell{width:100%;min-width:54px;height:38px;border:0;border-radius:6px;background:#f6f7fb;color:var(--pm-ink);font-weight:600}.pm-wl-cell:empty{cursor:default}.pm-wl-cell.light{background:#d9f5e8;color:#037f4c}.pm-wl-cell.busy{background:#ffe9c7;color:#9a5b00}.pm-wl-cell.heavy{background:#ffd5dc;color:#b0213f}.pm-wl-cell.late:not(:empty){background:#e2445c;color:#fff}.pm-wl-cell.muted{color:var(--pm-sub)}.pm-wl-cell:not(:empty):hover{filter:brightness(.95)}.pm-wl-task{display:flex;align-items:flex-start;gap:8px;text-align:left}.pm-wl-task i{flex:none;width:8px;height:8px;margin-top:6px;border-radius:50%}.pm-wl-task em{display:block;color:var(--pm-sub);font-size:12px;font-style:normal}.hub-table-wrap{overflow-x:auto;border:1px solid var(--pm-line);border-radius:8px;background:#fff}.hub-table{width:100%;border-collapse:collapse;font-size:13px}.hub-table th{padding:9px 12px;border-bottom:1px solid var(--pm-line);background:#fafbfc;color:var(--pm-sub);font-size:12px;font-weight:600;text-align:left;white-space:nowrap}.hub-table td{padding:8px 12px;border-bottom:1px solid #eef0f4;vertical-align:middle}.hub-table tbody tr:last-child td{border-bottom:0}.hub-table tbody tr:hover{background:var(--pm-hover)}.hub-table tr.clickable{cursor:pointer}.hub-muted-cell{color:var(--pm-sub);white-space:nowrap}.hub-stage-pill{display:inline-block;padding:2px 9px;border-radius:10px;color:#fff;font-size:12px;font-weight:600;white-space:nowrap}.hub-pipeline-board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);align-items:start;gap:10px;padding-bottom:12px;overflow-x:auto}.hub-stage{display:flex;flex-direction:column;gap:8px;min-height:260px;padding:0 8px 8px;border-top:4px solid var(--s);border-radius:8px;background:#f6f7fb}.hub-stage.over{background:#eaf3ff;box-shadow:inset 0 0 0 2px var(--pm-blue)}.hub-stage header{display:flex;align-items:center;justify-content:space-between;padding:10px 4px 2px;font-weight:600}.hub-stage header b{padding:0 8px;border-radius:10px;background:#fff;color:var(--pm-sub);font-size:12px}.hub-site-card{padding:10px 12px;border:1px solid #e3e6ee;border-radius:6px;background:#fff;cursor:pointer;box-shadow:0 1px 2px #0f14280d}.hub-site-card:hover{box-shadow:0 4px 12px #0f14281a}.hub-site-card.dragging{opacity:.4}.hub-site-card h4{margin:0 0 2px;font-size:14px;font-weight:600}.hub-site-card p{margin:0 0 8px;color:var(--pm-sub);font-size:12px}.hub-site-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;color:var(--pm-sub);font-size:12px}.hub-site-meta>span:not(.hub-grow){display:inline-flex;align-items:center;gap:3px}.hub-site-icon{display:inline-grid;place-items:center;flex:none;width:34px;height:34px;margin-right:6px;border-radius:8px;color:#fff}.hub-stepper{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0 18px}.hub-stepper button{position:relative;display:inline-flex;align-items:center;gap:5px;height:32px;padding:0 16px 0 20px;border:0;background:var(--pm-soft);color:var(--pm-sub);font-size:13px;font-weight:500;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,0 100%,10px 50%)}.hub-stepper button:first-child{padding-left:14px;border-radius:6px 0 0 6px;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,0 100%)}.hub-stepper button:not(:disabled):hover{filter:brightness(.95)}.hub-stepper button:disabled{cursor:default}.hub-stepper button.done{background:color-mix(in srgb,var(--s) 22%,white);color:color-mix(in srgb,var(--s) 70%,black)}.hub-stepper button.on{background:var(--s);color:#fff;font-weight:600}.hub-stepper button.paused{margin-left:10px;padding:0 14px;border:1px dashed var(--pm-line);border-radius:6px;background:#fff;clip-path:none}.hub-stepper button.paused.on{border-style:solid;border-color:#9aa3b8;background:#9aa3b8;color:#fff}.hub-site-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px;align-items:start}.hub-fields{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:2px 12px;margin:0;font-size:14px}.hub-fields dt{color:var(--pm-sub);font-size:13px}.hub-fields dd{min-width:0;margin:0}.hub-fields .pm-editable{width:100%}.hub-inline-date,.hub-owner-field select{height:32px;padding:0 6px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--pm-ink)}.hub-inline-date:not(:disabled):hover,.hub-owner-field select:not(:disabled):hover{border-color:var(--pm-line)}.hub-inline-date:focus,.hub-owner-field select:focus{border-color:var(--pm-blue);outline:none}.hub-owner-field,.hub-contact-line{display:flex;align-items:center;gap:6px;min-width:0}.hub-monitor-field{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}.hub-monitor-field>:first-child{min-width:0;overflow-wrap:anywhere}.hub-contact-line .pm-editable{flex:1}.hub-note{margin-top:12px;padding-top:10px;border-top:1px solid #f0f1f5}.hub-note h4{margin:0;font-size:13px;color:var(--pm-sub)}.pm-card .md{margin-top:4px}.hub-note-edit{display:flex;flex-direction:column;gap:4px;margin-top:6px}.hub-note-edit textarea{width:100%;font-family:inherit}.hub-embed-chat{height:min(70vh,720px);overflow:hidden;border:1px solid var(--pm-line);border-radius:8px}.hub-site-tasks{display:flex;flex-direction:column;gap:14px}.hub-add-bar{display:flex;flex-wrap:wrap;gap:8px}.hub-add-bar input{flex:1;min-width:220px}.hub-add-bar select{max-width:220px}.hub-task-group{border-top:4px solid var(--c)}.hub-task-group h3{display:flex;align-items:center;gap:8px}.hub-status-text{flex:none;font-size:12px;font-weight:600;white-space:nowrap}.hub-doc-cards{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;width:100%;margin:0;padding:0}.hub-doc-cards button{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;height:100%;padding:14px;border:1px solid var(--pm-line);border-radius:8px;background:#fff;color:var(--pm-ink);text-align:left}.hub-doc-cards button:hover{border-color:#a9c8f5;box-shadow:0 4px 14px #0f142812}.hub-doc-cards b{font-size:15px}.hub-doc-cards em{flex:1;color:var(--pm-sub);font-size:13px;font-style:normal;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.hub-doc-icon{font-size:22px;line-height:1}.hub-doc-icon.small{flex:none;font-size:16px}.hub-doc-tree{list-style:none;margin:0;padding:0}.hub-docs>.hub-section>.hub-doc-tree{overflow:hidden;border:1px solid var(--pm-line);border-radius:8px}.hub-doc-line{display:flex;align-items:center;gap:8px;width:100%;min-height:40px;padding:6px 12px;border:0;border-bottom:1px solid #f0f1f5;background:#fff;color:var(--pm-ink);font-size:14px;text-align:left}.hub-doc-line:hover{background:var(--pm-hover)}.hub-doc-line b{min-width:0;overflow:hidden;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.hub-doc-line .pm-muted{margin:0;white-space:nowrap}.hub-doc{max-width:1400px}.hub-doc-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;margin-bottom:12px}.hub-doc-top .pm-kicker{margin:0}.hub-doc-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.hub-save-state{margin-right:4px;color:var(--pm-sub);font-size:12px}.hub-save-state.bad{color:#d83a52;font-weight:600}.hub-doc-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:24px;align-items:start}.hub-doc-main{min-width:0}.hub-doc-title{display:flex;align-items:center;gap:10px}.hub-doc-icon.big{display:inline-grid;place-items:center;flex:none;width:52px;height:52px;padding:0;border:0;border-radius:10px;background:transparent;font-size:36px}.hub-doc-icon.big:not(:disabled):hover{background:var(--pm-soft)}.hub-doc-icon.big:disabled{cursor:default}.hub-doc-title-input{flex:1;min-width:0;padding:4px 6px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--pm-ink);font-size:30px;font-weight:600;letter-spacing:-.02em;outline:none}.hub-doc-title-input:hover{border-color:var(--pm-soft)}.hub-doc-title-input:focus{border-color:var(--pm-blue)}.hub-doc-title h1{flex:1;margin:0;font-size:30px;font-weight:600;letter-spacing:-.02em}.hub-doc-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;margin:6px 0 14px}.hub-doc-meta .pm-muted{margin:0}.hub-md-toolbar{position:sticky;top:0;z-index:2;display:flex;align-items:center;flex-wrap:wrap;gap:2px;margin-bottom:8px;padding:4px;border:1px solid var(--pm-soft);border-radius:8px;background:#fff}.hub-md-toolbar button{display:inline-grid;place-items:center;min-width:30px;height:28px;padding:0 7px;border:0;border-radius:4px;background:transparent;color:var(--pm-ink);font-size:13px}.hub-md-toolbar button:hover{background:var(--pm-soft)}.hub-md-toolbar code{font-size:12px}.hub-md-toolbar i{width:1px;height:18px;margin:0 4px;background:var(--pm-soft)}.hub-doc-body{display:grid;gap:16px}.hub-doc-body.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.hub-doc-editor{width:100%;min-height:60vh;padding:14px 16px;border:1px solid var(--pm-line);border-radius:8px;background:#fcfcfd;color:var(--pm-ink);font:14px/1.65 IBM Plex Mono,ui-monospace,Consolas,monospace;outline:none;resize:vertical;-moz-tab-size:2;tab-size:2}.hub-doc-editor:focus{border-color:var(--pm-blue);background:#fff}.hub-doc-preview{min-width:0}.hub-doc-body.split .hub-doc-preview{max-height:75vh;overflow:auto;padding:14px 16px;border:1px solid var(--pm-soft);border-radius:8px}.hub-doc-body.preview .hub-doc-preview .md{font-size:15px;max-width:80ch}.hub-doc-side{position:sticky;top:0;display:flex;flex-direction:column;gap:18px}.hub-doc-side section{display:flex;flex-direction:column;gap:8px}.hub-doc-side h4{margin:0;color:var(--pm-sub);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.hub-doc-side .pm-card-h h4{margin:0}.hub-icon-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px}.hub-icon-grid button{aspect-ratio:1;border:0;border-radius:5px;background:transparent;font-size:20px}.hub-icon-grid button:hover{background:var(--pm-soft)}.hub-icon-grid button.on{background:var(--pm-sel)}.hub-history .hub-modal-body{display:flex;flex-direction:column}.hub-history-grid{display:grid;grid-template-columns:230px minmax(0,1fr);gap:16px;min-height:0}.hub-history-grid .hub-version-list{max-height:68vh;overflow-y:auto}.hub-history-grid .hub-version-list button{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;padding:8px 10px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--pm-ink);text-align:left}.hub-history-grid .hub-version-list button:hover{background:var(--pm-hover)}.hub-history-grid .hub-version-list button.on{border-color:#8ec5ff;background:#f0f7ff}.hub-history-grid .hub-version-list b{font-size:13px}.hub-history-grid .hub-version-list span{color:var(--pm-sub);font-size:12px}.hub-history-view{display:flex;flex-direction:column;gap:10px;min-width:0}.hub-history-view .hub-row-gap{margin-top:0}.hub-files{position:relative;min-height:100%}.hub-files-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px;align-items:start}.hub-files-main{min-width:0}.hub-folders{position:sticky;top:0;display:flex;flex-direction:column;gap:1px}.hub-folders button{display:flex;align-items:center;gap:8px;width:100%;min-height:30px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:var(--pm-ink);font-size:13px;text-align:left}.hub-folders button:hover{background:var(--pm-soft)}.hub-folders button.on{background:var(--pm-sel);font-weight:600}.hub-folders em{margin-left:auto;color:var(--pm-sub);font-size:12px;font-style:normal;font-weight:400}.hub-file-main{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:0;border:0;background:transparent;color:var(--pm-ink);text-align:left}.hub-file-main:hover b{color:var(--pm-blue)}.hub-file-main b{min-width:0;overflow:hidden;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.hub-file-badge{display:inline-grid;place-items:center;flex:none;border-radius:6px;color:#fff;font-weight:700;letter-spacing:.02em}.hub-file-name{display:flex;flex-direction:column;min-width:0}.hub-file-name em{color:var(--pm-sub);font-size:12px;font-style:normal}.hub-drop-hint{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;display:flex;align-items:center;justify-content:center;gap:10px;border:2px dashed var(--pm-blue);border-radius:10px;background:#eaf3ffe0;color:var(--pm-blue);font-weight:600;pointer-events:none}.hub-drop-hint.page{top:8px;right:8px;bottom:8px;left:8px}.hub-filelist{position:relative;display:flex;flex-direction:column;gap:10px;min-height:80px}.hub-filelist-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.hub-filelist-empty{margin:4px 0}.hub-file-rows{list-style:none;display:flex;flex-direction:column;margin:0;padding:0;border:1px solid var(--pm-soft);border-radius:8px;background:#fff}.hub-file-rows:empty{display:none}.hub-file-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border-top:1px solid #f0f1f5}.hub-file-row:first-child{border-top:0}.hub-file-row:hover{background:var(--pm-hover)}.hub-uploads{list-style:none;display:flex;flex-direction:column;gap:6px;margin:0 0 10px;padding:0}.hub-uploads li{display:grid;grid-template-columns:minmax(0,1fr) 160px;align-items:center;gap:10px;padding:6px 10px;border-radius:6px;background:#f6f7fb;font-size:13px}.hub-uploads li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-uploads li.bad{grid-template-columns:minmax(0,1fr) auto auto;background:#fff0f2;color:#8a1c2b}.hub-uploads em{font-size:12px;font-style:normal}.hub-uploads i{display:block;height:6px;overflow:hidden;border-radius:3px;background:var(--pm-soft)}.hub-uploads i b{display:block;height:100%;background:var(--pm-blue);transition:width .15s}.hub-viewer{height:min(88vh,920px)}.hub-viewer .hub-modal-body{display:flex;flex-direction:column;padding:0;overflow:hidden}.hub-viewer-title{display:flex;align-items:center;gap:10px;min-width:0}.hub-viewer-title>span:first-of-type:not(.hub-file-badge){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-viewer-title .pm-muted{margin:0;font-weight:400;white-space:nowrap}.pm-panel-tabs.hub-viewer-tabs{align-items:center;flex:none}.hub-viewer-tabs .pm-tool{text-decoration:none}.hub-viewer-body{flex:1;min-height:0;overflow:auto;padding:16px 20px}.hub-preview-text{position:relative}.hub-reveal{position:absolute;top:50%;left:50%;z-index:2;transform:translate(-50%,-50%);box-shadow:0 6px 20px #0f142833}.hub-preview-media{display:flex;justify-content:center;padding:12px;border-radius:8px;background:#f6f7fb}.hub-preview-media img,.hub-preview-media video{max-width:100%;max-height:70vh;border-radius:4px}.hub-preview-media audio{width:100%}.hub-preview-pdf{width:100%;height:100%;min-height:60vh;border:0;border-radius:6px;background:#f6f7fb}.hub-secret-cover{display:flex;flex-direction:column;align-items:center;gap:12px;padding:60px 20px;color:var(--pm-sub);text-align:center}.hub-secret-cover p{margin:0;max-width:46ch}.hub-validate{display:flex;flex-direction:column;gap:2px;margin-bottom:8px;padding:8px 12px;border-radius:6px;font-size:12px}.hub-validate b{font-size:13px}.hub-validate.good{background:#e2f8ee;color:#037f4c}.hub-validate.warn{background:#fff8e6;color:#6b4a00}.hub-validate.bad{background:#fff0f2;color:#8a1c2b}.hub-code{display:grid;grid-template-columns:auto minmax(0,1fr);height:min(58vh,560px);overflow:hidden;border:1px solid var(--pm-line);border-radius:6px;background:#fbfcfd;font:13px/20px IBM Plex Mono,ui-monospace,Consolas,monospace}.hub-code-gutter{padding:8px 0;overflow:hidden;border-right:1px solid var(--pm-soft);background:#f3f4f7;color:#a6a8b6;text-align:right;-webkit-user-select:none;user-select:none}.hub-code-gutter span{display:block;height:20px;padding:0 10px 0 12px}.hub-code-gutter span.error{background:#ffd5dc;color:#b0213f;font-weight:700}.hub-code-gutter span.warning{background:#fff0c9;color:#8a5a00}.hub-code-text{padding:8px 12px;overflow:auto;border:0;background:transparent;color:#1f2430;font:inherit;white-space:pre;outline:none;resize:none;-moz-tab-size:2;tab-size:2}.hub-code.blurred .hub-code-text,.hub-diff.blurred td.t{filter:blur(5px);-webkit-user-select:none;user-select:none}.hub-editor{display:flex;flex-direction:column;gap:8px}.hub-editor-foot{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.hub-editor-foot input{flex:1;min-width:200px}.hub-versions{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:16px;align-items:start}.hub-versions .hub-version-list{list-style:none;display:flex;flex-direction:column;gap:6px;margin:0;padding:0}.hub-versions .hub-version-list li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:4px 8px;padding:10px;border:1px solid var(--pm-soft);border-radius:6px;background:#fff}.hub-versions .hub-version-list li.on{border-color:#8ec5ff;background:#f0f7ff}.hub-versions .hub-version-list b{font-size:13px}.hub-versions .hub-version-list div span{display:block;font-size:13px}.hub-versions .hub-version-list em{display:block;color:var(--pm-sub);font-size:12px;font-style:normal}.hub-version-list{list-style:none;margin:0;padding:0}.hub-version-actions{grid-column:2;display:flex;flex-wrap:wrap;gap:4px 12px}.hub-version-actions .pm-link-btn{font-size:12px}.hub-diff-wrap{min-width:0}.hub-diff-wrap h4{margin:0 0 8px;font-size:13px}.hub-diff{max-height:62vh;overflow:auto;border:1px solid var(--pm-line);border-radius:6px;font:12px/18px IBM Plex Mono,ui-monospace,Consolas,monospace}.hub-diff-stats{position:sticky;top:0;left:0;margin:0;padding:6px 10px;border-bottom:1px solid var(--pm-line);background:#fafbfc;font-weight:600}.hub-diff-stats .add{color:#037f4c}.hub-diff-stats .del{color:#b0213f}.hub-diff table{width:100%;border-collapse:collapse}.hub-diff td.n{width:1%;padding:0 6px;border-right:1px solid #eef0f4;color:#a6a8b6;text-align:right;white-space:nowrap;-webkit-user-select:none;user-select:none}.hub-diff td.t{padding:0 10px;white-space:pre}.hub-diff td.t span{display:inline-block;width:14px;color:var(--pm-sub);-webkit-user-select:none;user-select:none}.hub-diff tr.add td{background:#e6f9ef}.hub-diff tr.del td{background:#ffebee}.hub-diff tr.skip td{padding:2px;background:#f3f4f7;color:var(--pm-sub);font-family:inherit;text-align:center}.hub-file-details{display:flex;flex-direction:column;gap:16px;max-width:640px}.hub-file-meta p{margin:4px 0;font-size:13px}.hub-file-meta b{margin-right:6px;color:var(--pm-sub);font-weight:600}.hub-inbox-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:16px;align-items:start}.hub-notes{list-style:none;margin:0;padding:0;border:1px solid var(--pm-soft);border-radius:8px;overflow:hidden}.hub-notes li{display:flex;align-items:center;gap:4px;padding-right:8px;border-top:1px solid #f0f1f5;background:#fff}.hub-notes li:first-child{border-top:0}.hub-notes li.unread{background:#f3f8ff;box-shadow:inset 3px 0 0 var(--pm-blue)}.hub-note-main{flex:1;min-width:0;display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:0;background:transparent;color:var(--pm-ink);text-align:left}.hub-note-main:hover{background:#00000006}.hub-note-face{position:relative;flex:none}.hub-note-face i{position:absolute;right:-4px;bottom:-4px;display:grid;place-items:center;width:18px;height:18px;border:2px solid white;border-radius:50%;background:var(--pm-blue);color:#fff}.hub-note-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.hub-note-body b{font-weight:500}.hub-notes li.unread .hub-note-body b{font-weight:700}.hub-note-body em{color:var(--pm-sub);font-size:13px;font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-note-body time{color:var(--pm-sub);font-size:12px}.hub-follow{list-style:none;margin:0;padding:0}.hub-follow li{padding:8px 0;border-top:1px solid #f0f1f5;font-size:13px}.hub-follow li:first-child{border-top:0}.hub-follow p{margin:2px 0;color:var(--pm-ink)}.hub-search{max-width:980px}.hub-search-form{display:flex;align-items:center;gap:10px;padding:4px 4px 4px 14px;border:1px solid var(--pm-line);border-radius:8px;background:#fff;color:var(--pm-sub)}.hub-search-form:focus-within{border-color:var(--pm-blue);box-shadow:0 0 0 3px #0073ea1f}.hub-search-form input{flex:1;min-width:0;height:38px;border:0;background:transparent;color:var(--pm-ink);font-size:15px;outline:none}.hub-search-tips{margin:8px 0 16px}.hub-search-tips code{padding:0 4px;border-radius:3px;background:var(--pm-soft)}.hub-results{list-style:none;display:flex;flex-direction:column;margin:0;padding:0}.hub-results li{border-top:1px solid #f0f1f5}.hub-results li:first-child{border-top:0}.hub-results button{display:flex;align-items:flex-start;gap:12px;width:100%;padding:12px 8px;border:0;border-radius:6px;background:transparent;color:var(--pm-ink);text-align:left}.hub-results button:hover{background:var(--pm-hover)}.hub-result-icon{display:inline-grid;place-items:center;flex:none;width:32px;height:32px;border-radius:8px;background:var(--pm-soft);color:var(--pm-sub);font-size:17px}.hub-result-icon.task{background:#eaf3ff;color:#1f5fbf}.hub-result-icon.project{background:#e6f9ef;color:#037f4c}.hub-result-icon.site{background:#f3ecff;color:#6a3fc1}.hub-result-icon.doc{background:#fff4e0;color:#9a5b00}.hub-result-icon.message{background:#ffeef2;color:#b0213f}.hub-result-icon.file{background:#e8f6fb;color:#0b6b8a}.hub-result-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.hub-result-body em{color:var(--pm-ink);font-size:13px;font-style:normal;line-height:1.45}.hub-result-body mark,.hub-palette mark{padding:0 1px;border-radius:2px;background:#fff1a8;color:inherit}.hub-result-meta{color:var(--pm-sub);font-size:12px}.hub-result-meta i{font-style:normal}.hub-palette-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;justify-content:center;align-items:flex-start;padding:12vh 16px 16px;background:#12192261}.hub-palette{display:flex;flex-direction:column;width:min(640px,100%);max-height:70vh;overflow:hidden;border-radius:12px;background:#fff;color:var(--pm-ink, #323338);font-size:14px;box-shadow:0 24px 70px #0f142859}.hub-palette-input{display:flex;align-items:center;gap:10px;padding:0 14px;border-bottom:1px solid var(--pm-soft);color:var(--pm-sub)}.hub-palette-input input{flex:1;min-width:0;height:52px;border:0;background:transparent;color:var(--pm-ink);font-size:16px;outline:none}.hub-palette-input kbd{padding:1px 6px;border-radius:4px;background:var(--pm-soft);font:inherit;font-size:11px}.hub-palette-list{flex:1;min-height:0;overflow-y:auto;padding:6px}.hub-palette-list>.pm-muted{padding:10px}.hub-palette-list h5{margin:8px 8px 4px;color:var(--pm-sub);font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.hub-palette-list button{display:flex;align-items:center;gap:10px;width:100%;padding:7px 8px;border:0;border-radius:6px;background:transparent;color:var(--pm-ink);text-align:left}.hub-palette-list button.on{background:var(--pm-sel)}.hub-palette-icon{display:inline-grid;place-items:center;flex:none;width:24px;height:24px;color:var(--pm-sub)}.hub-palette-label{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.hub-palette-label em{overflow:hidden;color:var(--pm-sub);font-size:12px;font-style:normal;text-overflow:ellipsis}.hub-palette-hint{flex:none;color:var(--pm-sub);font-size:12px}.hub-chat{flex:1;min-height:0;height:100%;display:flex;background:#fff}.hub-chat-col{position:relative;flex:1;min-width:0;display:flex;flex-direction:column}.hub-chat-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;min-height:60px;padding:8px 16px;border-bottom:1px solid var(--pm-soft)}.hub-chat-title{display:flex;align-items:center;gap:10px;min-width:0;color:var(--pm-sub)}.hub-chat-title>div{min-width:0}.hub-chat-title h2{margin:0;overflow:hidden;color:var(--pm-ink);font-size:17px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.hub-topic{display:block;max-width:60ch;padding:0;border:0;background:none;color:var(--pm-sub);font-size:12px;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}button.hub-topic:not(:disabled):hover{color:var(--pm-blue)}button.hub-topic:disabled{cursor:default}.hub-chat-tools{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:6px}.hub-chat-scroll{flex:1;min-height:0;overflow-y:auto;padding:8px 0 12px}.hub-older{display:block;margin:8px auto;padding:4px 12px;border:1px solid var(--pm-line);border-radius:14px;background:#fff;color:var(--pm-sub);font-size:12px}.hub-older:hover{color:var(--pm-ink)}.hub-chat-start{padding:24px 20px 12px;color:var(--pm-sub)}.hub-chat-start h3{margin:6px 0 2px;color:var(--pm-ink);font-size:20px}.hub-chat-start p{margin:0}.hub-day,.hub-new-divider,.hub-thread-count{display:flex;align-items:center;gap:10px;margin:12px 16px 4px;color:var(--pm-sub);font-size:12px;font-weight:600}.hub-day:before,.hub-day:after,.hub-new-divider:before,.hub-new-divider:after,.hub-thread-count:after{content:"";flex:1;height:1px;background:var(--pm-soft)}.hub-day span{padding:2px 10px;border:1px solid var(--pm-soft);border-radius:12px;background:#fff}.hub-new-divider{color:#e2445c}.hub-new-divider:before,.hub-new-divider:after{background:#f2b8c2}.hub-thread-count:before{content:none}.hub-msg-system{display:flex;align-items:baseline;gap:8px;padding:4px 16px 4px 64px;color:var(--pm-sub);font-size:13px;font-style:italic}.hub-msg-system time{font-size:11px;font-style:normal}.hub-msg{position:relative;display:flex;gap:10px;padding:6px 16px}.hub-msg.compact{padding-top:1px;padding-bottom:1px}.hub-msg:hover{background:#f8f9fb}.hub-msg.pinned{background:#fffaeb}.hub-msg.flash{animation:hub-flash 2.4s ease-out}@keyframes hub-flash{0%,30%{background:#fff1a8}to{background:transparent}}.hub-msg-gutter{flex:none;width:36px;display:flex;justify-content:center}.hub-msg-gutter time{padding-top:4px;color:transparent;font-size:10px;white-space:nowrap}.hub-msg:hover .hub-msg-gutter time{color:var(--pm-sub)}.hub-msg-main{flex:1;min-width:0}.hub-msg-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px}.hub-msg-head b{font-size:14px}.hub-msg-head time{color:var(--pm-sub);font-size:12px}.hub-pin-tag{display:inline-flex;align-items:center;gap:3px;color:#9a5b00;font-size:11px;font-weight:600}.hub-msg-text{position:relative}.hub-msg-text .md{line-height:1.5}.hub-msg-text .md>p:last-child{display:inline}.hub-edited{margin-left:4px;color:var(--pm-sub);font-size:11px}.hub-msg-deleted{margin:0;color:var(--pm-sub);font-size:13px;font-style:italic}.hub-msg-images{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.hub-msg-images button{padding:0;overflow:hidden;border:1px solid var(--pm-soft);border-radius:8px;background:#f6f7fb}.hub-msg-images img{display:block;max-width:320px;max-height:240px;object-fit:cover}.hub-msg-files{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.hub-msg-file{display:flex;align-items:center;gap:10px;max-width:340px;padding:8px 12px 8px 8px;border:1px solid var(--pm-line);border-radius:8px;background:#fff;color:var(--pm-ink);text-align:left}.hub-msg-file:hover{background:var(--pm-hover)}.hub-msg-file>span:last-child{display:flex;flex-direction:column;min-width:0}.hub-msg-file b{overflow:hidden;font-size:13px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.hub-msg-file em{color:var(--pm-sub);font-size:12px;font-style:normal}.hub-msg-task{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:4px 10px;border:1px solid #b8d6fb;border-radius:6px;background:#f0f7ff;color:#1f5fbf;font-size:13px}.hub-msg-task em{color:var(--pm-sub);font-size:12px;font-style:normal}.hub-reactions{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.hub-reactions button{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 8px;border:1px solid var(--pm-soft);border-radius:12px;background:#f6f7fb;color:var(--pm-sub);font-size:12px;font-weight:600}.hub-reactions button span{font-size:14px}.hub-reactions button:hover{border-color:var(--pm-line)}.hub-reactions button.mine{border-color:#8ec5ff;background:#eaf3ff;color:#1f5fbf}.hub-reactions button.add{opacity:0}.hub-msg:hover .hub-reactions button.add,.hub-reactions button.add:focus-visible{opacity:1}.hub-thread-link{display:inline-flex;align-items:center;gap:8px;margin-top:4px;padding:3px 8px 3px 4px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--pm-blue);font-size:13px}.hub-thread-link:hover{border-color:var(--pm-soft);background:#fff}.hub-thread-link em{color:var(--pm-sub);font-size:12px;font-style:normal}.hub-msg-tools{position:absolute;top:-14px;right:16px;z-index:2;display:none;gap:1px;padding:2px;border:1px solid var(--pm-soft);border-radius:8px;background:#fff;box-shadow:0 2px 8px #0f14281a}.hub-msg:hover .hub-msg-tools,.hub-msg-tools:focus-within{display:flex}.hub-msg-tools button{display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 4px;border:0;border-radius:5px;background:transparent;color:var(--pm-sub);font-size:15px}.hub-msg-tools button:hover{background:var(--pm-soft);color:var(--pm-ink)}.hub-msg-tools button.on{color:#9a5b00}.hub-msg-tools button.danger:hover{background:#fff0f2;color:#c4193b}.hub-emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px}.hub-emoji-grid button{aspect-ratio:1;border:0;border-radius:5px;background:transparent;font-size:19px}.hub-emoji-grid button:hover{background:var(--pm-soft)}.hub-msg-edit{display:flex;flex-direction:column;margin-top:2px}.hub-msg-edit textarea{width:100%;min-height:40px;padding:8px 10px;border:1px solid var(--pm-blue);border-radius:6px;background:#fff;color:var(--pm-ink);font:inherit;line-height:1.5;outline:none;resize:none}.hub-msg-edit .hub-row-gap{margin-top:6px}.hub-composer{flex:none;padding:0 16px 10px}.hub-composer.archived{margin:0 16px 12px;padding:12px;border-radius:8px;background:#f6f7fb;color:var(--pm-sub);font-size:13px;text-align:center}.hub-pending{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 6px;padding:0}.hub-pending li{position:relative;display:flex;align-items:center;gap:6px;max-width:280px;padding:4px 4px 4px 8px;overflow:hidden;border:1px solid var(--pm-line);border-radius:6px;background:#fff;font-size:12px}.hub-pending li span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-pending li em{flex:none;color:var(--pm-sub);font-style:normal}.hub-pending li.bad{border-color:#f2b8c2;background:#fff0f2;color:#8a1c2b}.hub-pending li.done{border-color:#b7e8d1}.hub-pending li i{position:absolute;left:0;bottom:0;height:2px;background:var(--pm-blue);transition:width .15s}.hub-composer-row{display:flex;align-items:flex-end;gap:4px;padding:4px;border:1px solid var(--pm-line);border-radius:10px;background:#fff}.hub-composer-row:focus-within{border-color:#8a93a8;box-shadow:0 1px 6px #0f142814}.hub-composer-row textarea{flex:1;min-width:0;min-height:32px;max-height:240px;padding:6px 4px;border:0;background:transparent;color:var(--pm-ink);font:inherit;line-height:20px;outline:none;resize:none}.hub-send{display:inline-grid;place-items:center;flex:none;width:34px;height:32px;border:0;border-radius:6px;background:var(--pm-blue);color:#fff}.hub-send:hover:not(:disabled){background:var(--pm-blue-dark)}.hub-send:disabled{background:var(--pm-soft);color:#a6a8b6;cursor:default}.hub-composer-hint{margin:4px 2px 0;color:#a6a8b6;font-size:11px}.hub-chat .hub-drop-hint{top:8px;right:8px;bottom:8px;left:8px}.hub-thread{flex:none;width:min(420px,42%);display:flex;flex-direction:column;border-left:1px solid var(--pm-soft);background:#fff}.hub-thread .hub-composer-hint{display:none}.hub-pins{display:flex;flex-direction:column;gap:2px;max-height:60vh;overflow-y:auto}.hub-pins h4{margin:2px 6px 6px;color:var(--pm-sub);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.hub-pins button{display:flex;flex-direction:column;gap:2px;padding:8px;border:0;border-radius:6px;background:transparent;color:var(--pm-ink);text-align:left}.hub-pins button:hover{background:var(--pm-hover)}.hub-pins b{font-size:12px}.hub-pins span{color:var(--pm-sub);font-size:13px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.hub-chat.embedded .hub-chat-head{min-height:52px}.hub-map-page{flex:1;min-height:0;display:flex;flex-direction:column}.hub-map-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;flex:none;padding:14px 20px 10px;border-bottom:1px solid var(--pm-soft)}.hub-map-bar>div:first-child{flex:1;min-width:240px}.hub-map-bar h1{margin:0;font-size:22px;font-weight:600;letter-spacing:-.02em}.hub-map-bar .pm-muted{margin:0}.hub-map{position:relative;flex:1;min-height:360px;overflow:hidden;background:radial-gradient(circle,#e3e6ee 1px,transparent 1px) 0 0 / 22px 22px,#fafbfc;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.hub-map:active{cursor:grabbing}.hub-map svg{display:block}.hub-map-edge{fill:none;stroke-width:2;opacity:.55}.hub-map-edge.link{stroke-dasharray:5 4}.hub-map-edge.dim{opacity:.12}.hub-map-dep{fill:none;stroke:#e2445c;stroke-width:1.5;stroke-dasharray:5 4;opacity:.85}.hub-map-node{cursor:pointer}.hub-map-box{fill:#fff;stroke:#d0d4e4;stroke-width:1;filter:drop-shadow(0 1px 2px rgba(15,20,40,.08))}.hub-map-node:hover .hub-map-box{stroke:#8a93a8}.hub-map-node.on .hub-map-box{stroke:var(--pm-blue);stroke-width:2.5}.hub-map-node.hit .hub-map-box{stroke:#fdab3d;stroke-width:2.5}.hub-map-node.dim{opacity:.25}.hub-map-node.root .hub-map-box{fill:#323338;stroke:#323338}.hub-map-node.root .hub-map-label{fill:#fff;font-size:16px;font-weight:700}.hub-map-node.branch .hub-map-box{fill:#f3f4f7}.hub-map-node.project .hub-map-label{font-size:15px;font-weight:600}.hub-map-node.group .hub-map-label{font-weight:600}.hub-map-node.task .hub-map-box{fill:#fff}.hub-map-node.done .hub-map-label{fill:#a6a8b6;text-decoration:line-through}.hub-map-node.sitelink .hub-map-box{fill:#faf7ff;stroke-dasharray:4 3}.hub-map-node.site .hub-map-box{fill:#faf7ff}.hub-map-node.doc .hub-map-box{fill:#f5f9ff}.hub-map-node.idea .hub-map-box{stroke:#0000001f}.hub-map-label{fill:#323338;font-family:inherit;font-size:13px;pointer-events:none}.hub-map-sub{fill:#676879;font-size:11px;pointer-events:none}.hub-map-progress,.hub-map-strip{pointer-events:none}.hub-map-twisty circle{fill:#fff;stroke:#a6a8b6;stroke-width:1}.hub-map-twisty text{fill:#676879;font-size:10px;font-weight:700;pointer-events:none}.hub-map-twisty:hover circle{fill:var(--pm-sel);stroke:var(--pm-blue)}.hub-map-toolbar{position:absolute;z-index:5;display:flex;align-items:center;gap:2px;max-width:min(720px,calc(100% - 16px));padding:4px;border:1px solid var(--pm-soft);border-radius:8px;background:#fff;box-shadow:0 6px 20px #0f142829;transform:translate(-50%,-100%);cursor:default;-webkit-user-select:none;user-select:none}.hub-map-toolbar>button,.hub-map-toolbar>select{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 8px;border:0;border-radius:5px;background:transparent;color:var(--pm-ink);font-size:13px;white-space:nowrap}.hub-map-toolbar>button:hover:not(:disabled){background:var(--pm-soft)}.hub-map-toolbar>button.danger{color:#c4193b}.hub-map-toolbar>button:disabled{opacity:.5;cursor:default}.hub-map-toolbar>select{max-width:180px;border:1px solid var(--pm-line)}.hub-map-sel{max-width:220px;padding:0 8px;overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.hub-map-form{display:flex;align-items:center;gap:6px}.hub-map-form input{width:260px;height:30px;padding:0 8px;border:1px solid var(--pm-blue);border-radius:5px;outline:none}.hub-map-colors{display:inline-flex;gap:3px}.hub-map-colors button{width:18px;height:18px;padding:0;border:1px solid rgba(0,0,0,.15);border-radius:50%}.hub-map-colors button.on{box-shadow:0 0 0 2px #fff,0 0 0 3px #323338}.hub-map-legend{position:absolute;left:12px;bottom:12px;display:flex;flex-wrap:wrap;gap:4px 12px;padding:6px 10px;border:1px solid var(--pm-soft);border-radius:8px;background:#ffffffeb;color:var(--pm-sub);font-size:12px;pointer-events:none}.hub-map-legend span{display:inline-flex;align-items:center;gap:5px}.hub-map-key{display:inline-block;width:14px;height:10px;border:1px solid #d0d4e4;border-radius:3px;background:#fff}.hub-map-key.project{border-left:4px solid var(--pm-blue)}.hub-map-key.group{border-left:4px solid #a25ddc}.hub-map-key.task{border-left:4px solid #00c875}.hub-map-key.site{border-left:4px solid #a25ddc;background:#faf7ff}.hub-map-key.idea{border-color:transparent;background:#fff1a8}.hub-map-key.dep{height:0;border:0;border-top:2px dashed #e2445c;border-radius:0;background:none}@media(max-width:1280px){.hub-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1100px){.hub-nav{position:fixed;top:0;bottom:0;left:0;z-index:27;width:min(300px,86vw);box-shadow:0 0 40px #0f142840;transform:translate(-105%);transition:transform .2s}.hub-nav-open .hub-nav{transform:none}.hub-nav-open .hub-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:26;background:#12192259}.hub-nav-toggle{display:inline-flex;align-items:center;gap:6px;flex:none;align-self:flex-start;margin:10px 16px 0;padding:5px 10px;border:1px solid var(--pm-line);border-radius:6px;background:#fff;color:var(--pm-ink);font-size:13px}.hub-home-grid,.hub-site-grid,.hub-inbox-grid,.hub-doc-layout{grid-template-columns:minmax(0,1fr)}.hub-doc-side{position:static}.hub-thread{position:absolute;top:0;right:0;bottom:0;z-index:8;width:min(420px,100%);box-shadow:-10px 0 30px #0f142826}.hub-chat{position:relative}}@media(max-width:760px){.hub-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-form.two,.hub-files-layout{grid-template-columns:minmax(0,1fr)}.hub-folders{position:static;flex-direction:row;overflow-x:auto}.hub-folders button{flex:none;width:auto}.hub-folders em{margin-left:4px}.hub-doc-body.split{grid-template-columns:minmax(0,1fr)}.hub-doc-title-input,.hub-doc-title h1{font-size:24px}.hub-versions,.hub-history-grid{grid-template-columns:minmax(0,1fr)}.hub-history-grid .hub-version-list{max-height:180px}.hub-fields{grid-template-columns:90px minmax(0,1fr)}.hub-msg{padding-left:10px;padding-right:10px}.hub-msg-tools{right:8px}.hub-msg-images img{max-width:100%}.hub-composer{padding:0 10px 8px}.hub-composer-hint{display:none}.hub-chat-head{padding:8px 10px}.hub-chat-tools .hub-chip{display:none}.hub-map-bar{padding:10px 12px}.hub-map-bar .pm-search input{width:110px}.hub-map-legend{display:none}.hub-map-form input{width:160px}.hub-stepper button{padding:0 12px 0 16px;font-size:12px}.pm-cal-grid{grid-template-rows:auto!important}.pm-cal-day{min-height:76px}.pm-cal-item span{display:none}.pm-tl-scroll{max-height:70vh}}@media(prefers-reduced-motion:reduce){.hub-nav,.hub-project-card,.pm-sub-toggle,.hub-twisty{transition:none}.pm-spinner,.hub-msg.flash{animation:none}}.device-site-head{width:100%;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 16px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;cursor:pointer}.device-site-head:hover{background:#faf7f2}.device-site-head b{display:block;font-size:16px}.device-site-head .fine{display:block;margin-top:2px}.device-site-status{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none}.device-site .table-wrap{border-top:0}.env-tag{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:999px;background:#e7eef8;color:#1d4f91;font-size:11px;font-weight:600;vertical-align:2px}.head-pills{display:flex;gap:6px;flex-wrap:wrap}.site-panel a.btn{display:inline-flex;align-items:center;color:inherit;text-decoration:none}.site-tabs{display:flex;gap:4px;margin:0 0 16px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.site-tabs button{flex:none;border:0;background:none;padding:10px 12px 9px;color:var(--muted);font-weight:600;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.site-tabs button:hover{color:var(--ink)}.site-tabs button.on{color:var(--ink);border-bottom-color:var(--green)}.tab-count{display:inline-block;min-width:18px;margin-left:6px;padding:0 5px;border-radius:999px;background:#fdecea;color:#9f1c1c;font-size:11px;line-height:18px;text-align:center}.metric-btn{font:inherit;color:inherit;cursor:pointer}.metric-btn:hover{border-color:#cfc5b6}.metric-btn.bad b{color:#b42318}.risk-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.risk-list li{position:relative;padding:8px 10px 8px 26px;border-radius:10px;line-height:1.45;font-size:14px}.risk-list li:before{content:"";position:absolute;left:10px;top:15px;width:8px;height:8px;border-radius:50%}.risk-list li.bad{background:#fdecea;color:#6f1d18}.risk-list li.bad:before{background:#d92d20}.risk-list li.warn{background:#fff6e5;color:#6d4b00}.risk-list li.warn:before{background:#dc8a00}.chain{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.chain li{position:relative}.chain li+li:before{content:"→";position:absolute;left:-21px;top:50%;transform:translateY(-50%);color:var(--faint);font-size:18px}.chain-step{width:100%;height:100%;display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;padding:12px 14px;border-radius:14px;border:1px solid var(--line);border-left:4px solid #c9c1b4;background:#fff;cursor:pointer}.chain-step:hover{border-color:#cfc5b6}.chain-step.tone-good{border-left-color:#12a06d}.chain-step.tone-bad{border-left-color:#d92d20}.chain-step b{font-size:16px}.chain-step .pill{margin-top:4px}.chain-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.map-intro{margin:-4px 0 12px}.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;align-items:start}.map-card{padding:14px 14px 10px;overflow:hidden}.site-map{position:relative;display:grid;gap:30px}.map-lines{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:visible}.map-line{fill:none;stroke:#cbc2b4;stroke-width:1.5}.map-line.dashed{stroke-dasharray:5 4}.map-line.tone-bad,.map-line.tone-missing{stroke:#e8867d}.map-line.lit{stroke:var(--green);stroke-width:2.5}.map-line.lit.tone-bad,.map-line.lit.tone-missing{stroke:#d92d20}.map-layer{position:relative;display:grid;grid-template-columns:112px minmax(0,1fr);gap:10px;align-items:center}.map-layer-name{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);font-weight:600}.map-nodes{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.map-node{position:relative;z-index:1;display:grid;grid-template-columns:10px auto;column-gap:7px;align-items:center;min-width:128px;max-width:190px;padding:8px 11px;border-radius:12px;border:1px solid var(--line);background:#fff;text-align:left;cursor:pointer;box-shadow:0 1px 2px #1822300a}.map-node:hover{border-color:#bfb5a5}.map-node b{font-size:13.5px;overflow-wrap:anywhere}.map-sub{grid-column:2;font-size:11.5px;color:var(--muted);overflow-wrap:anywhere}.map-node.on{border-color:var(--green);box-shadow:0 0 0 3px #0f7a5829}.map-node.kind-kazoo{background:var(--navy);border-color:var(--navy);color:#fff}.map-node.kind-kazoo .map-sub{color:#b9c3cf}.map-node.kind-module{background:#eef4ff;border-color:#c7d6f2}.map-node.kind-data{background:#f7f4ee}.map-node.kind-stack{background:#f1f7f4;border-color:#cfe3d9}.map-node.tone-missing{background:#fff7f6;border:1.5px dashed #e8867d}.map-node.tone-missing b{color:#9f1c1c}.map-node.tone-bad{border-color:#e8867d;background:#fff7f6}.map-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#c9c1b4}.tone-good>.map-dot,.map-dot.tone-good{background:#12a06d}.tone-bad>.map-dot,.map-dot.tone-bad{background:#d92d20}.tone-missing>.map-dot,.map-dot.tone-missing{background:transparent;border:1.5px dashed #d92d20}.map-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:16px;padding-top:10px;border-top:1px solid #f0ebe3}.map-legend span{display:inline-flex;align-items:center;gap:6px}.map-detail{position:sticky;top:76px}.map-detail-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.map-detail .fine{margin:2px 0 8px}.map-facts{grid-template-columns:110px 1fr;margin-top:12px;font-size:14px}.map-links{margin-top:12px;padding-top:10px;border-top:1px solid #f0ebe3}.map-links p{margin:6px 0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.chip-btn{border:1px solid var(--line);background:#fff;border-radius:999px;padding:3px 10px;font-size:13px;cursor:pointer}.chip-btn:hover{border-color:var(--green);color:var(--green-deep)}.db-sync{margin-bottom:14px}.db-sync-lead,.db-sync-empty{margin:0;padding:0 16px 12px}.db-list{display:grid;gap:10px;padding:0 16px 16px}.db-row{display:grid;grid-template-columns:18px minmax(0,1fr);gap:12px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fffdf9}.db-row h3{margin:0;font-size:15px}.db-row .copy-head{margin-bottom:4px}.db-sync-form{display:grid;gap:10px;margin:0 16px 16px;padding:14px;border-radius:12px;background:#f6f2ea}.db-sync-form .btn{justify-self:start}.copies{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:14px;padding:14px 16px 16px}.copies-col{display:grid;gap:10px;align-content:start;padding:12px;border-radius:14px;background:#f6f2ea}.copies-col.away{background:#fbf1ef}.copies-title{margin:0 0 2px!important;font-size:13px!important;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.copy{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;padding:12px;border-radius:12px;background:#fff;border:1px solid var(--line)}.copy.tone-bad{border-style:dashed;border-color:#e8b4ae}.copy-n{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#efe9df;font-weight:700;font-size:13px}.copy.tone-good .copy-n{background:#e7f5ee;color:var(--green-deep)}.copy.tone-bad .copy-n{background:#fdecea;color:#9f1c1c}.copy-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.copy-head h3{margin:0!important}.copy p{margin:4px 0 0;font-size:13.5px;line-height:1.45}.copy p.fine{font-size:12px;overflow-wrap:anywhere}.copy-live{font-weight:600;color:#143026}.copy-live.bad{color:#9f1c1c}.folder-list{list-style:none;margin:0;padding:6px 16px 14px}.folder-list li{display:grid;gap:2px;padding:8px 0;border-top:1px solid #f0ebe3}.folder-list li:first-child{border-top:0}.folder-list .mono{overflow-wrap:anywhere}.setup-intro p{margin:10px 0 0;line-height:1.5;max-width:90ch}.config-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap;padding:14px 16px 0}.config-head h2{font-size:15px!important}.config-head .fine{margin:3px 0 0}.config-body{padding:10px 16px 16px;min-width:0}.config-meta{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin-bottom:10px}.config-text{margin:0;max-height:420px;overflow:auto;padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:#fbf9f5;font:12px/1.55 IBM Plex Mono,ui-monospace,Consolas,monospace;white-space:pre;-moz-tab-size:4;tab-size:4}.config-body .hub-diff{max-height:420px}.config-foot{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:18px;margin-top:14px}.config-foot h3{margin:0 0 6px!important;font-size:13px!important}.config-steps{margin:0;padding-left:18px;display:grid;gap:6px;font-size:13.5px;line-height:1.45}.config-steps li{overflow-wrap:anywhere}.config-versions{margin:0;padding-left:20px;display:grid;gap:4px;font-size:13.5px}.config-versions li.on button{color:var(--ink);text-decoration:underline}.config-versions .fine{margin-left:6px}@media(max-width:1180px){.map-layout{grid-template-columns:1fr}.map-detail{position:static}}@media(max-width:980px){.copies,.config-foot{grid-template-columns:1fr}}@media(max-width:720px){.chain{grid-template-columns:1fr;gap:22px}.chain li+li:before{content:"↓";left:50%;top:-19px;transform:translate(-50%)}.map-layer{grid-template-columns:1fr;gap:6px}.map-layer-name{justify-self:center;position:relative;z-index:1;padding:0 8px;background:var(--card)}.site-map{gap:26px}.map-node{min-width:0;flex:1 1 140px;max-width:none}.map-card{padding:12px 10px 10px}}:root{--bg: #e7e1d6;--paper: #f4f0e8;--card: #fffcf7;--ink: #182230;--muted: #5c6775;--faint: #8a847a;--line: #e0d8cc;--green: #0f7a58;--green-deep: #0c5c42;--navy: #121922;--shadow: 0 1px 0 rgba(255, 255, 255, .7) inset, 0 10px 28px rgba(24, 34, 48, .05);color:var(--ink);background:var(--bg);font-family:Outfit,Segoe UI,sans-serif;font-size:16px;line-height:1.45}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--green);outline-offset:2px}::selection{background:#cfe8dc}.app{display:flex;height:100%;background:var(--paper)}.sidebar{width:236px;flex:none;background:var(--navy);color:#d5dbe3;display:flex;flex-direction:column;height:100%}.brand{display:flex;gap:12px;align-items:center;padding:22px 18px 14px;background:transparent;border:0;color:inherit;text-align:left}.brand strong{display:block;color:#fff;font-size:18px;letter-spacing:-.03em}.brand em{display:block;margin-top:1px;font-style:normal;color:#9aa3b0;font-size:12px}.brand-mark{display:flex;gap:5px}.nav{display:flex;flex-direction:column;gap:4px;padding:8px}.nav button,.side-deploy{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:0;border-radius:10px;padding:10px 12px;background:transparent;color:#c5ced8}.nav button.active{background:#1c2836;color:#fff}.nav button:hover,.side-deploy:hover{background:#1a2431}.badge{margin-left:auto;min-width:18px;padding:1px 6px;border-radius:999px;background:#3a1d22;color:#ffb4ab;font-size:11px;text-align:center}.side-foot{margin-top:auto;padding:8px 12px 16px}.side-deploy{background:#0f7a58;color:#fff;font-weight:600;margin-bottom:12px}.side-deploy:hover{background:#0c684b}.side-foot p{margin:0;color:#8b95a3;font-size:12px;line-height:1.45}.main{flex:1;min-width:0;height:100%;overflow:auto}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 32px;background:#f4f0e8eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(224,216,204,.7)}.live,.clock{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.clock{font-variant-numeric:tabular-nums}.menu{display:none}.page{padding:26px 32px 72px;max-width:1240px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px}.page-head h1,.page-head h2{margin:0;letter-spacing:-.04em;font-weight:600}.page-head h1{font-size:32px}.lede{margin:6px 0 0;color:var(--muted);max-width:68ch}.kicker{margin:0 0 4px;color:var(--faint);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.metric,.card{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.metric{text-align:left;padding:16px 16px 14px}.metric b{display:block;font-size:32px;letter-spacing:-.04em;font-weight:600;font-variant-numeric:tabular-nums}.metric span{display:block;margin-top:2px;font-weight:600}.metric em{display:block;margin-top:4px;font-style:normal;color:var(--faint);font-size:12px}.layout-2{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.85fr);gap:14px;align-items:start}.stack{display:flex;flex-direction:column;gap:14px}.card-h,.pad{padding:14px 16px}.card-h{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-bottom:0}.card-h h2,.card h2{margin:0;font-size:16px;letter-spacing:-.02em}.section-title{margin:18px 0 10px;font-size:16px;letter-spacing:-.02em}.card h3{margin:0 0 6px;font-size:15px}.dots{display:inline-flex;gap:5px;align-items:center}.dot,.hero-dot{width:10px;height:10px;border-radius:50%;display:inline-block;background:#b7b1a6}.dot.up,.hero-dot.up{background:#12a06c;box-shadow:0 0 0 3px #12a06c24}.dot.warn,.hero-dot.warn{background:#d97706;box-shadow:0 0 0 3px #d9770629}.dot.down,.hero-dot.down{background:#d12b3a;box-shadow:0 0 0 3px #d12b3a24}.dot.idle,.hero-dot.idle{background:#b7b1a6;box-shadow:none}.hero-dot{width:18px;height:18px}.dot.beat{animation:pulse 1.8s ease-out infinite}@keyframes pulse{0%{box-shadow:0 0 #12a06c73}to{box-shadow:0 0 0 8px #12a06c00}}.legend{display:flex;gap:14px;align-items:center;color:var(--muted);font-size:12px;margin:0}.legend span{display:inline-flex;gap:6px;align-items:center}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;background:#eeeae3;color:#3e4a5a;white-space:nowrap}.pill.good{background:#e7f5ee;color:var(--green-deep)}.pill.warn{background:#fff4df;color:#8a5a00}.pill.bad{background:#fdecea;color:#9f1c1c}.pill.info{background:#e7eef8;color:#1d4f91}.table-wrap{overflow:auto}table.data{width:100%;border-collapse:collapse;font-size:14px}table.data th{text-align:left;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);font-weight:600;padding:10px 12px;border-bottom:1px solid var(--line)}table.data td{padding:11px 12px;border-bottom:1px solid #eee6da;vertical-align:middle}table.data tr.click{cursor:pointer}table.data tr.click:hover td{background:#fbf8f3}tr.tone-bad td:first-child{box-shadow:inset 3px 0 #d12b3a}tr.tone-warn td:first-child{box-shadow:inset 3px 0 #e0a100}.mono{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12.5px}.ver-now{color:#143026;font-weight:500}.ver-old{color:var(--muted)}.fine{color:var(--muted);font-size:12px}.site-name{font-weight:600}button.site-link{background:none;border:0;padding:0;font-weight:600;color:inherit;text-align:left}.bar{height:8px;background:#ece6dc;border-radius:99px;overflow:hidden;margin:10px 0}.bar span{display:block;height:100%;background:var(--green)}.activity,.plain{list-style:none;margin:0;padding:0}.activity li{display:grid;grid-template-columns:72px 1fr;gap:8px;padding:8px 0;border-top:1px solid #f0ebe3;font-size:14px}.activity time,.fine{color:var(--muted)}.release-list{list-style:none;margin:8px 0 0;padding:0}.release-list button{background:none;border:0;padding:4px 0;color:var(--ink)}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}.seg{display:flex;flex-wrap:wrap;gap:2px;background:#efeae1;border-radius:999px;padding:3px}.seg button{border:0;background:transparent;border-radius:999px;padding:6px 10px;color:var(--muted)}.seg button.on{background:#fff;color:var(--ink);box-shadow:0 1px 2px #0000000f}.search,.field input,.field select,.field textarea,.grow{background:#fff;border:1px solid #ddd4c6;border-radius:10px;padding:10px 12px}.search{min-width:min(280px,100%)}.grow{flex:1;min-width:180px}.btn{border-radius:999px;padding:10px 16px;font-weight:600;border:1px solid transparent;background:#fff}.btn.primary{background:var(--green);color:#fff}.btn.primary:hover{background:#0c684b}.btn.ghost{background:transparent;border-color:#d9d1c4}.btn.small{padding:6px 11px;font-size:13px}.btn.danger{background:transparent;border-color:#e4b4ae;color:#9f1c1c}.btn:disabled{opacity:.5;cursor:not-allowed}button.text{background:none;border:0;padding:0;color:var(--green-deep);font-weight:600}.row-actions{display:flex;flex-wrap:wrap;gap:8px}.setup-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0 16px}.setup-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px;box-shadow:var(--shadow)}.setup-card h3{margin:0 0 4px}.file-name{margin:0 0 8px;font-size:13px}.setup-files{margin:8px 0 12px;padding-left:18px;color:var(--muted);font-size:12px;font-family:ui-monospace,Consolas,monospace}.setup-files li{margin:2px 0}.hero-links{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hero-links.three{grid-template-columns:1fr 1fr 1fr}.runbook{margin:8px 0 12px;padding-left:18px}.runbook li{margin:0 0 10px}.hero-link{padding:18px}.hero-link .who{color:var(--faint);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.hero-link h3{margin:10px 0 4px;font-size:22px;letter-spacing:-.03em}.banner{margin:0 16px 16px;padding:12px 14px;border-radius:12px;line-height:1.45}.banner.bad{background:#fdecea;color:#6f1d18}.banner.warn{background:#fff6e5;color:#6d4b00}.banner.neutral{background:#f3f0ea;color:#3d4a58}.facts{display:grid;grid-template-columns:148px 1fr;gap:8px 12px;margin:0}.facts dt{color:var(--muted)}.facts dd{margin:0;min-width:0;overflow-wrap:anywhere}.timeline{list-style:none;margin:0;padding:0}.timeline li{position:relative;margin-left:5px;padding:0 0 16px 16px;border-left:2px solid var(--line)}.timeline li:before{content:"";position:absolute;left:-6px;top:4px;width:10px;height:10px;border-radius:50%;background:var(--green)}.back{margin-bottom:8px}.wizard-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px;align-items:start}.sketch{position:sticky;top:74px}.steps{display:flex;flex-wrap:wrap;gap:8px 12px;list-style:none;margin:0 0 16px;padding:0}.steps li{color:var(--faint);font-size:13px}.steps li.on{color:var(--ink);font-weight:600}.steps li.done{color:var(--green-deep)}.cols-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.field span{font-size:13px;font-weight:600}.field small,.hint{color:var(--muted);font-size:13px}.choices{display:grid;gap:8px}.choice,.chips button{text-align:left;border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px 14px}.choice.on{border-color:var(--green);background:#f3faf6;box-shadow:0 0 0 1px var(--green)}.choice b{display:block;margin-bottom:4px}.choice em{display:block;font-style:normal;color:var(--muted);font-size:13px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips button{border-radius:999px;padding:6px 10px}.chips button.on{background:var(--navy);color:#fff;border-color:var(--navy)}.wizard-actions{display:flex;justify-content:space-between;gap:12px;margin-top:8px}.check{display:flex;gap:8px;align-items:flex-start;margin:8px 0 12px}.check input{margin-top:3px}.error{color:#9f1c1c;margin:0 0 10px}.location-card{border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:10px;background:#fffcf8}.success-list{display:grid;gap:10px}.success-list article{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff}.alert{border-top:1px solid #f0ebe3;padding:14px 16px}.alert-top{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:6px}.ticket-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:14px;align-items:start}.ticket-list button.item,.company-block{width:100%;text-align:left;border:0;border-bottom:1px solid #f0ebe3;background:transparent;padding:12px 14px}.ticket-list button.item.on{background:#f3faf6}.company-block{padding:0;border:0}.secret{word-break:break-all;background:#f6f3ed;border-radius:8px;padding:8px}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#12192275;display:flex;align-items:center;justify-content:center;padding:24px;z-index:30}.modal{width:min(560px,100%);max-height:min(90vh,760px);overflow:auto;background:var(--card);border-radius:18px;padding:20px}.toast{position:fixed;bottom:20px;right:20px;background:#172033;color:#fff;padding:12px 16px;border-radius:12px;z-index:40;box-shadow:0 10px 30px #0003}.empty{padding:22px 16px;color:var(--muted)}.badge.calm{background:#17392e;color:#8fe0bd}.topbar-right{display:flex;align-items:center;gap:16px}.signed-in{display:flex;align-items:center;gap:8px}.signed-in select{border:1px solid #ddd4c6;border-radius:999px;padding:5px 10px;background:#fff;font-size:13px}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-weight:600;flex:none;letter-spacing:0}.who{display:inline-flex;align-items:center;gap:6px;font-size:13px}.ticket-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:6px}.restricted,.lock-badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;border-radius:999px;padding:2px 8px}.restricted{background:#f1ecf7;color:#5b3d86}.lock-badge{background:#fff1dd;color:#8a4b00}.lock-badge.mine{background:#e7f5ee;color:var(--green-deep)}td .lock-badge{margin-top:4px}.banner.good{background:#eaf6f0;color:#164a37}.banner.flush{margin:12px 0 4px}.ticket-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;margin-top:12px}.ticket-fields.is-locked select{background:#f6f3ed;color:var(--muted);cursor:not-allowed}.worklog{list-style:none;margin:8px 0 0;padding:0}.worklog li{display:grid;grid-template-columns:26px 1fr;gap:10px;padding:9px 0;border-top:1px solid #f0ebe3}.worklog li.note>div>div:last-child{white-space:pre-wrap}.worklog-head{display:flex;gap:8px;align-items:baseline;font-size:14px}.worklog-head time{color:var(--faint);font-size:12px}.note-box{margin-top:10px}.note-box textarea{width:100%;background:#fff;border:1px solid #ddd4c6;border-radius:10px;padding:10px 12px;resize:vertical}.task-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid #f0ebe3}.task-row .lock-badge{margin-top:4px}.choices.two{grid-template-columns:1fr 1fr}table.data select{border:1px solid #ddd4c6;border-radius:8px;padding:5px 8px;background:#fff}.scrim{display:none}.auth-screen{min-height:100%;overflow:auto;display:grid;place-items:center;padding:24px 16px;background:var(--paper)}.auth-card{width:min(400px,100%);background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:26px 24px 18px}.auth-card h1{margin:18px 0 4px;font-size:22px;letter-spacing:-.03em}.auth-card form>.fine:first-of-type{margin:0 0 16px;font-size:13px}.auth-card .error{margin-top:6px;font-size:14px}.auth-brand{display:flex;gap:12px;align-items:center}.auth-brand strong{display:block;font-size:18px;letter-spacing:-.03em}.auth-brand em{display:block;font-style:normal;color:var(--muted);font-size:12px}.auth-code{font-size:24px!important;letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums}.auth-foot{margin:16px 0 0;padding-top:12px;border-top:1px solid var(--line)}.btn.wide{width:100%;justify-content:center;margin-top:6px}.notice-line{margin:0 0 10px;font-size:14px;color:#8a5a00;background:#fff4df;border-radius:8px;padding:8px 10px}.signed-in .me{display:flex;flex-direction:column;line-height:1.15;font-size:13px}.signed-in .me strong{font-weight:600}.team-access td .btn+.btn{margin-left:6px}.sign-ins{list-style:none;margin:8px 0 0;padding:0;max-height:340px;overflow:auto}.sign-ins li{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;padding:8px 0;border-top:1px solid #f0ebe3;font-size:13px}.sign-ins li .fine{grid-column:2}@media(max-width:980px){.menu{display:inline-flex}.sidebar{position:fixed;z-index:25;transform:translate(-110%);transition:transform .2s ease}.app.nav-open .sidebar{transform:none}.app.nav-open .scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:24}.metrics,.layout-2,.wizard-layout,.hero-links,.hero-links.three,.ticket-layout,.cols-2,.setup-cards{grid-template-columns:1fr}.page,.topbar{padding-left:16px;padding-right:16px}.page-head{flex-direction:column;align-items:flex-start}.sketch{position:static}}@media(max-width:560px){.topbar-right .clock,.signed-in .me{display:none}.signed-in .btn{white-space:nowrap}}@media(prefers-reduced-motion:reduce){.dot.beat{animation:none}.sidebar{transition:none}}
