.progress-pill{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:12px;font-weight:500;color:#667085}.progress-pill i{width:7px;height:7px;flex:none;border-radius:50%;background:currentColor}.progress-pill.inProgress{color:#16835e}.progress-pill.completed{color:#2c67b7}.progress-pill.notStarted,.progress-pill.unplanned{color:#7b8594}.nf-node.progress-inProgress{--progress-color:#16835e}.nf-node.progress-completed{--progress-color:#2c67b7}.nf-node.progress-notStarted,.nf-node.progress-unplanned{--progress-color:#9aa3af}.nf-node[class*=progress-] .nf-record{border-left-color:var(--progress-color)}.account-page{max-width:1280px;margin:auto;padding:24px 0}.account-heading,.account-list-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.account-heading h1{font-size:24px}.account-heading p,.account-note{color:var(--text-3);font-size:13px;margin-top:8px}.account-links{display:flex;flex-wrap:wrap;gap:14px;font-size:13px}.account-links a{color:var(--brand)}.account-panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:24px}.account-panel h2{font-size:18px}.account-form{display:grid;gap:16px;max-width:520px}.account-form label,.account-filters label{display:grid;gap:7px;color:var(--text-2);font-size:13px}.account-form input,.account-form select,.account-filters input,.account-filters select{width:100%;min-height:42px;border:1px solid var(--border-strong);border-radius:8px;padding:8px 10px;background:var(--surface);color:var(--ink)}.account-form :disabled{background:var(--bg);color:var(--text-3)}.account-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0}.account-facts dt{font-size:12px;color:var(--text-3);margin-bottom:6px}.account-facts dd{margin:0;overflow-wrap:anywhere}.account-danger{color:var(--red);margin-top:20px}.account-filters{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:12px;margin-bottom:16px}.account-table-wrap{overflow-x:auto}.account-table{width:100%;text-align:left;border-collapse:collapse}.account-table th,.account-table td{padding:14px 10px;border-bottom:1px solid var(--border);font-size:13px}.account-table th{color:var(--text-3);font-size:12px}.account-table small{display:block;color:var(--text-3);margin-top:4px}.account-row-actions{display:flex;flex-wrap:wrap;gap:6px}.account-pagination{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:16px;font-size:12px;color:var(--text-3)}.account-form .v6-error{margin:0}.account-page>.v6-error{display:flex;align-items:center;justify-content:space-between;gap:12px}.account-form .btn{justify-self:start}@media(max-width:768px){.account-page{padding:12px 0}.account-heading{align-items:flex-start;flex-direction:column}.account-panel{padding:16px}.account-filters{grid-template-columns:1fr 1fr}.account-filters label:first-child{grid-column:1/-1}.account-facts{grid-template-columns:1fr}.account-table{min-width:640px}.account-pagination{flex-wrap:wrap}}.regions-page>.account-heading{margin-top:18px}.regions-page>.account-note{margin-bottom:18px;line-height:1.7}.region-list{list-style:none;padding:0;display:grid;gap:10px}.organization-map{margin:18px 0 22px;padding:18px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}.organization-map h2{margin:0;font-size:17px}.organization-map>p{margin:7px 0 14px;color:var(--text-2);font-size:13px}.organization-owner{display:flex;align-items:baseline;gap:10px;padding:12px 14px;border-radius:8px;background:var(--surface)}.organization-owner small{margin-left:auto;color:var(--text-3)}.organization-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.organization-grid article{padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.organization-grid h3{margin:0 0 7px;font-size:15px}.organization-grid p{margin:4px 0 0;color:var(--text-2);font-size:12px;overflow-wrap:anywhere}.staff-list{list-style:none;padding:0;margin:12px 0}.staff-list li{display:flex;gap:12px;flex-wrap:wrap;padding:10px 0;border-top:1px solid var(--border);font-size:13px}.staff-list li span:last-child{margin-left:auto;color:var(--text-3)}.region-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.region-list li>div{min-width:0}.region-list h2{margin:0;font-size:16px;overflow-wrap:anywhere}.region-list p{margin:6px 0 0;color:var(--text-3);font-size:12px}.region-list button{flex:none}.account-management{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:24px;padding:18px 0;border-top:1px solid var(--border)}.account-management small{display:block;margin-top:6px;color:var(--text-3)}@media(max-width:768px){.region-list li{padding:14px}.account-management{flex-wrap:wrap}.organization-grid{grid-template-columns:1fr}}.project-intake-nodes{border-top:1px solid var(--border, #e3e8e5);padding-top:18px;min-width:0}.intake-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.intake-section-head h3{margin:0}.intake-methods{display:flex;flex-wrap:wrap;gap:24px;margin:16px 0}.intake-methods label{display:flex;align-items:center;gap:7px}.project-intake-nodes p{color:var(--text-2, #627269);line-height:1.6}.intake-template-preview{margin-top:14px}.intake-template-preview ol{max-height:240px;overflow:auto;padding-left:28px;line-height:1.9}.intake-template-preview li span{color:var(--text-3, #64776b)}.intake-node-list{display:grid;gap:12px;margin-bottom:14px}.intake-node{border:1px solid var(--border, #e3e8e5);border-radius:10px;padding:14px;min-width:0}.intake-node legend{padding:0 6px;font-weight:600}.intake-node-fields{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:12px}.intake-node-fields .f{min-width:0}.intake-node-fields .btn{justify-self:end}.project-import-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;width:100%;min-width:0}.modal:has(.import-steps) .form>.f{min-width:0}.modal:has(.import-steps) .issue-table-wrap{max-width:100%;overflow-x:auto}.home-v32 .page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}@media(max-width:600px){.intake-node-fields{grid-template-columns:1fr}.home-v32 .page-head-actions{width:100%;display:flex;flex-wrap:wrap;gap:8px}.home-v32 .page-head-actions .btn{flex:1;white-space:nowrap}}@media(max-width:600px){.project-import-footer{flex-wrap:wrap}.project-import-footer .left{display:none}.project-import-footer>.btn{flex:1 1 auto;min-height:40px;margin:0!important}.project-import-footer>.btn.primary{flex-basis:100%}.modal:has(.import-steps) .form{grid-template-columns:minmax(0,1fr)}}.import-template{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 14px;border:1px solid var(--border);border-radius:8px}.v6-shell{min-height:100vh}.v6-shell>main{min-width:0}@media screen and (max-width:768px){.v6-shell>main{padding-bottom:calc(94px + env(safe-area-inset-bottom))}.v6-shell>.mobile-nav{display:grid;position:fixed;inset:auto 0 0;width:100%;z-index:50;grid-template-columns:repeat(4,minmax(0,1fr))}}.v6-shell .user-chip{color:#fff;text-align:left}.v6-shell .notice{color:inherit;text-decoration:none}.v6-shell .notice>span:last-child{min-width:0}.v6-shell .nav-count.amber{background:var(--amber-solid)}.account-menu-anchor{position:relative}.v6-shell .account-trigger{display:flex;padding:4px 6px;border-radius:8px;min-height:44px}.account-trigger>svg{width:14px;height:14px}.account-trigger:focus-visible{outline:2px solid #fff;outline-offset:3px}.account-menu{position:absolute;right:0;top:calc(100% + 8px);width:218px;padding:8px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--ink);box-shadow:var(--shadow-md);z-index:70}.account-menu[hidden]{display:none}.account-menu a,.account-menu>button{display:flex;align-items:center;gap:10px;width:100%;min-height:42px;padding:10px;border-radius:7px;color:var(--ink);font-size:13px;text-decoration:none;text-align:left}.account-menu a:hover,.account-menu>button:hover{background:var(--bg)}.account-menu svg{width:16px;height:16px}.account-menu-user{display:grid;gap:4px;padding:10px;border-bottom:1px solid var(--border);margin-bottom:6px}.account-menu-user small{font-size:12px;color:var(--text-3)}.account-menu .account-logout{color:var(--red);border-top:1px solid var(--border);border-radius:0;margin-top:6px}@media(max-width:768px){.v6-shell .account-trigger{display:flex}.v6-shell .topbar-tools{gap:4px}.account-menu{max-width:calc(100vw - 24px)}}.recording-approvals-link{display:inline-flex;align-items:center;gap:6px;color:#e6edf8;font-size:12px;white-space:nowrap;padding:6px 8px;border:1px solid rgba(255,255,255,.14);border-radius:6px}.recording-approvals-link svg{width:15px;height:15px}@media(max-width:768px){.bottom-nav{grid-template-columns:repeat(3,1fr)}.recording-approvals-link span{display:none}.recording-approvals-link{padding:7px}}.overview-priority .risk-list{grid-template-columns:minmax(0,1fr)}.overview-node-preview{margin-top:12px;padding-top:10px;border-top:1px solid var(--border)}.overview-node-owner{font-size:12px;color:var(--text-3);margin-bottom:8px}.overview-other-projects{margin:16px 0}.overview-other-projects>summary{padding:14px 16px;cursor:pointer;font-weight:600}.overview-other-projects .risk-list{padding:0}.overview-other-projects .risk-project{padding:16px}.overview-node-preview .nf-panel{margin-bottom:0}@media(max-width:768px){.mobile-nav{grid-template-columns:repeat(3,1fr)}}.navigation-picture{display:inline-block;flex:none;width:32px;height:32px;background-image:url(/navigation/main-navigation-v32.png);background-size:300% 100%;background-repeat:no-repeat;filter:grayscale(1);opacity:.7}.navigation-picture.overview{background-position:0 50%}.navigation-picture.ledger{background-position:50% 50%}.navigation-picture.plans{background-position:100% 50%}.navigation-picture.account{background-image:url(/navigation/my-navigation-v32.png);background-size:contain;background-position:center}.v6-shell a[aria-current=page] .navigation-picture{filter:none;opacity:1}.v6-shell .primary-nav .navigation-picture{width:28px;height:28px;background-color:#fff;border-radius:7px}.v6-shell .primary-nav a{gap:8px;padding-left:13px;padding-right:13px}.v6-shell .primary-nav{gap:5px}.v6-shell .mobile-nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:#fffffffa;box-shadow:0 -3px 15px #14213d08}.v6-shell .mobile-nav a{min-height:58px;gap:3px;justify-content:center;align-items:center;border-radius:12px;padding:4px 2px;color:#697586;font-size:12px;line-height:1.3}.v6-shell .mobile-nav a[aria-current=page]{background:#edf7f3;color:#14694e;font-weight:650}.v6-shell .mobile-nav .navigation-picture{width:32px;height:32px}.overview-focus .risk-list{grid-template-columns:minmax(0,1fr)}.overview-focus .risk-list .overview-project{padding:0;background:var(--surface)}.overview-focus .overview-project:last-child{border-bottom:0}.op-row{display:grid;grid-template-columns:minmax(0,1fr) 108px;align-items:stretch}.op-summary{display:grid;grid-template-columns:16px minmax(230px,1.25fr) minmax(150px,.7fr) minmax(200px,1fr) 36px;align-items:center;gap:16px;width:100%;min-width:0;min-height:106px;padding:16px 18px 16px 14px;background:none;border:0;color:var(--text);text-align:left;cursor:pointer;font:inherit}.op-summary:hover{background:var(--surface-2)}.op-summary:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.op-chevron{font-size:20px;color:var(--text-3);font-weight:400}.op-identity,.op-state,.op-latest{min-width:0}.op-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:var(--ink);font-size:14px;line-height:1.55;font-weight:650}.op-meta{display:flex;align-items:center;flex-wrap:wrap;gap:5px 8px;margin-top:7px;color:var(--text-3);font-size:12px;line-height:1.5}.op-meta b{padding:0 5px;background:var(--surface-3);border-radius:3px;font-size:11px;font-weight:500;color:var(--text-2)}.op-state .risk-signal{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.op-node{display:block;margin-top:6px;font-size:12px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.op-record-date{display:block;margin-bottom:4px;color:var(--text-3);font-size:11px}.op-excerpt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--text-2);font-size:12px;line-height:1.6}.op-excerpt.is-empty{color:var(--text-3)}.op-expand-label{color:var(--accent);font-size:12px;white-space:nowrap}.op-actions{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:12px 12px 12px 0}.op-actions .btn{white-space:nowrap}.op-project-link{font-size:12px;color:var(--text-3);white-space:nowrap}.op-project-link:hover{color:var(--accent)}.overview-project.is-open .op-row{background:#f2f6fb}.overview-project.is-open .op-name,.overview-project.is-open .op-chevron{color:var(--accent)}.op-detail{padding:4px 20px 16px 46px;border-top:1px solid var(--border);background:#fbfcfe}.overview-focus .op-detail .overview-node-preview{margin-top:0;padding-top:10px;border-top:0}.overview-focus .overview-node-owner{font-size:12px;margin-bottom:10px}.op-next{display:flex;gap:10px;margin:10px 0 0;color:var(--text-2);font-size:13px;line-height:1.65}.op-next>span{flex:none;color:var(--text-3)}.op-detail-actions{display:flex;align-items:center;gap:14px;margin-top:14px;padding-top:10px;border-top:1px solid var(--border);font-size:12px}.op-detail-actions>a:not(.btn){color:var(--accent)}.op-detail-actions>button{margin-left:auto}.op-list-tools{display:flex;align-items:center;gap:16px;flex:none;font-size:12px}.overview-focus .overview-other-projects>summary{display:flex;align-items:center;gap:7px;padding:14px 16px;cursor:pointer;list-style:none}.overview-focus .overview-other-projects>summary::-webkit-details-marker{display:none}.overview-focus .overview-other-projects>summary:before{content:"›";margin-right:3px;font-size:18px;font-weight:400;color:var(--text-3)}.overview-focus .overview-other-projects[open]>summary:before{content:"⌄"}.overview-focus .overview-other-projects>summary span{color:var(--text-3);font-size:12px;font-weight:400}.overview-focus .overview-other-projects>summary small{margin-left:auto;font-size:12px;font-weight:400;color:var(--text-3)}.op-more{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px;padding:14px;font-size:12px;color:var(--text-3);border-top:1px solid var(--border)}.op-more a{color:var(--accent)}.nf-completed-group{border:1px dashed var(--border-strong);border-radius:8px;background:var(--surface)}.nf-completed-group>button{width:100%;display:flex;align-items:center;gap:10px;padding:12px 16px;background:none;text-align:left;cursor:pointer;color:var(--text-2);font-size:12px}.nf-completed-group>button small{margin-left:auto;color:var(--text-3);font-size:11px}.nf-completed-group>div{display:grid;gap:8px;padding:0 12px 12px;max-height:360px;overflow-y:auto}.overview .nf-node-heading{padding:12px 14px}.overview .nf-node-body{padding-left:36px}.overview .nf-record p{font-size:13px}@media(max-width:1150px){.op-summary{grid-template-columns:14px minmax(200px,1fr) minmax(140px,.65fr) 36px;gap:10px 14px;min-height:102px}.op-identity{grid-column:2;grid-row:1}.op-state{grid-column:3;grid-row:1}.op-latest{grid-column:2 / 4;grid-row:2;display:flex;gap:10px;align-items:baseline}.op-record-date{flex:none;margin:0}.op-excerpt{-webkit-line-clamp:1}.op-expand-label{grid-column:4;grid-row:1 / 3}.op-chevron{grid-column:1;grid-row:1 / 3}}@media(max-width:640px){.overview-focus .risk-panel-head{align-items:flex-start;flex-wrap:wrap}.op-list-tools{gap:12px;margin-left:auto}.op-row{grid-template-columns:minmax(0,1fr)}.op-summary{grid-template-columns:12px minmax(0,1fr) 34px;gap:9px;padding:13px 12px 8px;min-height:0}.op-identity{grid-column:2;grid-row:1}.op-state{grid-column:2;grid-row:2;display:flex;flex-wrap:wrap;align-items:center;gap:5px 9px}.op-state .risk-signal{font-size:11px}.op-node{margin:0;font-size:11px;max-width:100%}.op-meta{font-size:11px;margin-top:4px}.op-name{font-size:14px}.op-latest{grid-column:2;grid-row:3;display:block}.op-record-date{font-size:10px;margin-bottom:3px}.op-excerpt{font-size:12px}.op-expand-label{grid-column:3;grid-row:1 / 4;align-self:center}.op-chevron{grid-row:1 / 4}.op-actions{flex-direction:row;justify-content:flex-end;padding:3px 12px 12px;gap:14px}.op-actions .btn{font-size:12px;padding:5px 10px}.op-detail{padding:3px 10px 12px}.op-detail-actions{flex-wrap:wrap;gap:8px}.overview-focus .overview-other-projects>summary small{display:none}.overview .nf-node-body{padding-left:12px}}.home-v31 .page-head{margin-bottom:16px}.home-v31 h1{font-size:24px}.home-statistics{display:flex;align-items:center;gap:26px;padding:20px 22px;flex-wrap:wrap;margin-bottom:24px}.home-count-total,.home-count-attention{display:flex;align-items:baseline;gap:7px}.home-count-total span,.home-count-attention span{font-size:13px;color:var(--text-2)}.home-count-total b,.home-count-attention b{font-size:27px;color:var(--ink)}.home-count-attention{border-right:1px solid var(--border);padding-right:25px}.home-statistics small{color:var(--text-3);font-size:11px}.home-state-counts{display:flex;gap:25px;flex-wrap:wrap;flex:1}.home-state-counts>a{display:grid;grid-template-columns:auto auto;gap:2px 8px;align-items:center;font-size:12px}.home-state-counts b{font-size:21px}.home-state-counts small{grid-column:1/-1}.home-state-counts .blue,.home-project-heading .blue{color:#245cad}.home-state-counts .gray{color:#7b8594}.home-exceptions{display:flex;gap:18px;flex-basis:100%;border-top:1px solid var(--border);padding-top:9px;color:var(--text-3);font-size:12px}.home-attention>header{display:flex;justify-content:space-between;align-items:center;margin:0 1px 14px}.home-attention h2{font-size:17px}.home-attention .link{font-size:12px}.home-project-list{display:grid;gap:16px}.home-project-card{border:1px solid var(--border);border-radius:10px;background:var(--surface);overflow:hidden;box-shadow:0 1px 3px #14213d05}.home-project-heading{width:100%;display:flex;gap:12px;align-items:center;padding:17px 20px;text-align:left;background:#fafbfd;color:var(--text);cursor:pointer;border-bottom:1px solid var(--border)}.home-project-name{flex:1;min-width:0;font-size:15px;font-weight:650;line-height:1.5;overflow-wrap:anywhere}.home-fold{font-size:12px;color:var(--accent)}.home-new{font-size:11px;padding:3px 7px;border-radius:4px;background:#edf4fd;color:#3568a7;white-space:nowrap}.home-project-body{padding:4px 20px 14px}.home-project-body .overview-node-preview{border-top:0;margin-top:0}.home-project-footer{display:flex;justify-content:space-between;gap:15px;padding:13px 20px;border-top:1px solid var(--border);background:#fafbfd;font-size:12px;color:var(--accent)}.home-empty{padding:25px;color:var(--text-3)}.home-help{margin-top:24px;padding:20px 24px}.home-help h2{font-size:17px;margin:0 0 16px}.home-help-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:50px}.home-help h3{font-size:13px;font-weight:650;margin:0 0 8px}.home-help p{font-size:12px;color:var(--text-2);line-height:1.75;margin:6px 0}.home-help h3:not(:first-child){margin-top:16px}.home-help i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:8px}.home-help i.red{background:#c1392a}.home-help i.amber{background:#e5a02e}.home-help i.green{background:#26865f}.home-help i.blue{background:#3672c1}.home-help i.gray{background:#9aa1ab}.home-help .home-help-note{color:var(--text-3);font-size:11px;max-width:330px}.home-v31 .nf-node-body{padding-left:28px}.home-v31 .nf-node-title small{font-size:11px}.home-v31 .nf-receipt{font-size:12px}.home-v31 .nf-record header{font-size:11px}.home-v31 .nf-node-toolbar .btn{font-size:12px}.home-v31 .nf-node.completed .status-pill{background:#eaf1fc;color:#245cad}@media(max-width:768px){.home-statistics{padding:16px;gap:13px}.home-count-total b,.home-count-attention b{font-size:24px}.home-count-attention{border-right:0;padding-right:0}.home-state-counts{flex-basis:100%;gap:15px;justify-content:space-between;border-top:1px solid var(--border);padding-top:12px}.home-state-counts small{font-size:9px}.home-state-counts span{font-size:11px}.home-project-heading{flex-wrap:wrap;padding:14px;gap:8px}.home-project-name{flex-basis:calc(100% - 28px)}.home-project-heading .risk-signal{margin-left:22px;font-size:11px}.home-fold{margin-left:auto}.home-project-body{padding:3px 10px 12px}.home-project-footer{padding:12px 14px}.home-help{padding:18px}.home-help-grid{grid-template-columns:1fr;gap:22px}.home-v31 .nf-node-body{padding-left:12px}.home-v31 h1{font-size:22px}}.home-state-counts a.red{color:#b42318}.home-state-counts a.amber{color:#b54708}.home-state-counts a.green{color:#067647}.home-state-counts a.blue{color:#245cad}.home-state-counts a.gray{color:#7b8594}.home-v32 .home-statistics{display:block;padding:22px}.home-statistic-top{display:flex;align-items:center;gap:32px;padding-bottom:18px}.home-v32 .home-count-attention{border:0;padding:0}.home-progress-counts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;border-top:1px solid var(--border);padding-top:18px}.home-progress-counts>div{display:flex;align-items:baseline;gap:10px;color:#7b8594;font-size:13px}.home-progress-counts b{font-size:24px;font-weight:650}.home-progress-counts .inProgress{color:#16835e}.home-progress-counts .completed{color:#2c67b7}.home-warning-counts{display:flex;align-items:center;gap:22px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border);font-size:12px;flex-wrap:wrap}.home-warning-counts>span{color:var(--text-2)}.home-warning-counts .red{color:#b42318}.home-warning-counts .amber{color:#b54708}.home-warning-counts .new{color:#7650a9}.home-project-card.progress-inProgress{--project-progress:#16835e}.home-project-card.progress-completed{--project-progress:#2c67b7}.home-project-card.progress-notStarted,.home-project-card.progress-unplanned{--project-progress:#9aa3af}.home-v32 .home-project-heading{gap:10px}.home-project-states{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.home-v32 .home-new.unread{background:#f2edfb;color:#7650a9;border:1px solid #d5c4ed}.home-v32 .home-project-footer{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px}.home-v32 .home-project-footer a{font-size:12px;color:var(--accent);font-weight:500;white-space:nowrap}.home-v32 .home-project-footer>span{min-width:0}.home-v32 .nf-node-heading.static{cursor:default}.home-v32 .nf-node-body{padding-left:16px}.home-v32 .nf-node.completed .nf-node-heading{background:#f7f9fd}@media(max-width:768px){.home-v32 .home-statistics{padding:16px}.home-statistic-top{gap:22px;padding-bottom:14px}.home-progress-counts{gap:8px;padding-top:14px}.home-progress-counts>div{display:grid;gap:3px}.home-progress-counts b{font-size:23px}.home-progress-counts span{font-size:11px}.home-v32 .home-project-name{flex-basis:calc(100% - 26px)}.home-project-states{padding-left:18px;gap:7px;flex:1}.home-v32 .home-project-heading .risk-signal{margin-left:0}.home-v32 .home-project-footer{padding:12px 10px}.home-v32 .home-project-footer a{font-size:11px}.home-warning-counts{gap:14px}.home-v32 .nf-node-title{flex-basis:100%}.home-v32 .nf-node-body{padding-left:12px}.home-v32 .progress-pill{font-size:11px}}.home-v32 .home-statistic-top{padding-bottom:12px}.home-v32 .home-progress-counts{border-top:0;padding-top:0}.home-attention-summary{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}.home-attention-summary .home-warning-counts{border:0;padding:0;margin:0;gap:18px}.home-attention-summary .home-count-attention b{font-size:23px}.home-v32 .nf-record{padding:12px}.home-v32 .nf-records{gap:14px}.home-v32 .nf-record header{font-size:11px}.home-v32 .nf-record .nf-fact{font-size:13px}.home-v32 .nf-record blockquote{font-size:12px}.home-v32 .nf-node-body{padding-bottom:14px}@media(max-width:768px){.home-attention-summary{display:grid;grid-template-columns:1fr;gap:10px;margin-top:16px;padding-top:14px}.home-attention-summary .home-warning-counts{gap:24px}.home-v32 .nf-record{padding:10px 12px}.home-v32 .nf-record-meta,.home-v32 .nf-record-actions{gap:8px}.home-v32 .nf-record header{gap:6px}.home-v32 .nf-records{gap:14px}.home-v32 .nf-load-more{min-height:36px;padding:6px 10px}}.node-followup-panel{display:grid;gap:10px;min-width:0}.nf-node{border:1px solid var(--border, #e1e5e9);border-radius:10px;overflow:hidden;background:var(--surface, white)}.nf-node-heading{display:flex;align-items:center;gap:12px;width:100%;padding:15px 16px;color:inherit;font:inherit;text-align:left;background:none;border:0;cursor:pointer}.nf-node-title{flex:1;font-weight:650;min-width:0;overflow-wrap:anywhere}.nf-node-title small{display:block;margin-top:5px;font-weight:400;color:var(--muted, #64748b);font-size:12px}.nf-node.completed .status-pill,.pw-node .status-pill.done{background:#e8f5ed;color:#177344}.nf-node.completed .nf-node-heading{background:#f7faf8}.nf-node.future .nf-node-heading{background:var(--surface-2, #f8fafc)}.nf-chevron{width:14px;color:var(--muted, #64748b)}.nf-node-body{padding:0 16px 16px 42px}.nf-node-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--border, #e1e5e9);padding:12px 0}.nf-node-toolbar>div{display:flex;gap:16px;flex-wrap:wrap;color:var(--muted, #64748b);font-size:13px}.nf-records{display:grid;gap:14px;padding-top:4px}.nf-record{position:relative;border:1px solid #e6eaf0;border-left:3px solid var(--border, #e1e5e9);border-radius:8px;background:#f8fafc;padding:12px 14px;margin:0;min-width:0}.nf-record.reading-open{z-index:5}.nf-record header{display:flex;justify-content:flex-start;gap:8px 12px;flex-wrap:wrap;align-items:center;color:var(--muted, #64748b);font-size:12px;padding-bottom:9px;border-bottom:1px solid #e6eaf0}.nf-record-meta,.nf-record-actions{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap}.nf-record-actions{margin-left:0}.nf-record-actions a{display:inline-flex;align-items:center;min-height:24px}.nf-reading-wrap{position:relative;display:inline-flex}.nf-read-button{display:inline-flex;align-items:center;font:inherit;font-size:11px;padding:2px 8px;border-radius:5px;min-height:26px;border:1px solid #dbcaee;background:#f5effd;color:#7650a9;cursor:pointer}.nf-read-button.read{background:#ecfdf3;border-color:#abdfc4;color:#067647}.nf-read-button.static,.nf-read-button:disabled{cursor:default}.nf-read-button:focus-visible{outline:2px solid #0b5cad;outline-offset:2px}.nf-reading-people{display:grid;gap:7px;font-size:11px;color:#697586}.nf-reading-people>div{display:flex;gap:5px 7px;align-items:center;flex-wrap:wrap}.nf-reading-popover{position:absolute;right:0;top:calc(100% + 7px);z-index:20;width:max-content;max-width:min(320px,calc(100vw - 64px));padding:10px 12px;border:1px solid #dfe4ea;border-radius:8px;background:#fff;box-shadow:0 8px 24px #14213d24}.nf-reader{padding:1px 6px;border-radius:4px}.nf-reader.read{color:#067647;background:#e8f7ef}.nf-reader.unread{color:#697586;background:#f2f4f7}.nf-read-error{color:#b42318;font-size:12px}.nf-node[class*=progress-] .nf-record.reading-unread{border-color:#d8c8ec;border-left-color:#7650a9}.nf-node[class*=progress-] .nf-record.reading-read{border-left-color:#98a2b3}.nf-node-toolbar .btn.nf-followup-button{background:#0b5cad;border-color:#0b5cad;color:#fff}.nf-node-toolbar .btn.nf-followup-button:hover{background:#08498a;border-color:#08498a;color:#fff}.nf-record header time{font-weight:600;color:var(--text, #263445)}.nf-record p{margin:10px 0 0;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}.nf-record .nf-fact{color:var(--ink, #233047)}.nf-record blockquote{margin:12px 0 0;padding:8px 10px;border-left:2px solid #bbc5d1;border-radius:0 5px 5px 0;background:#edf1f6;color:#697586;font-size:12px}.nf-record blockquote p{margin:3px 0}.nf-record details,.nf-empty{font-size:13px;color:var(--muted, #64748b)}.nf-receipt,.nf-receipt-total{color:var(--red, #b42318);font-size:13px}.nf-reading-inline{margin-top:12px;padding-top:10px;border-top:1px solid var(--border, #e3e6eb)}.nf-load-more{justify-self:start;color:var(--accent, #0b5cad);font:inherit;font-size:12px;font-weight:500;min-height:36px;padding:6px 12px;margin:0;border:0;border-radius:6px;background:transparent;cursor:pointer}.nf-load-more:hover{background:#edf3fa}.nf-load-more:disabled{opacity:.5;cursor:wait}.nf-load-more:focus-visible{outline:2px solid var(--accent, #0b5cad);outline-offset:2px}.nf-more-project{padding:8px 16px}.project-management{margin-top:18px}.project-management>summary,.record-additional>summary{cursor:pointer;padding:12px 0;font-weight:600}.record-additional{grid-column:1 / -1}.record-additional>.form{margin-top:8px}.quote-context{grid-column:1 / -1;margin:0;padding:12px 16px;border-left:3px solid #9dabb9;background:var(--surface-2, #f7f9fb)}@media(max-width:640px){.nf-node-heading{flex-wrap:wrap;gap:8px;padding:12px}.nf-node-title{flex-basis:calc(100% - 30px)}.nf-node-body{padding:0 12px 12px}.nf-node-toolbar{flex-wrap:wrap}}.record-template-amounts{display:grid;gap:12px;max-height:380px;overflow:auto;padding:8px 2px}.home-v32 .proportion-statistics{display:block;max-width:1050px;margin-left:auto;margin-right:auto}.attention-proportion-group{margin-top:18px;padding-top:16px;border-top:1px solid var(--border);min-width:0}.attention-proportion-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.attention-proportion-title{display:flex;align-items:baseline;gap:8px;color:var(--text-2);font-size:13px;flex-wrap:wrap}.attention-proportion-title b{font-size:26px;color:var(--ink)}.attention-proportion-title strong{margin-left:8px;font-size:12px;font-weight:400;color:var(--text-3)}.attention-proportion-bar{display:flex;height:14px;border-radius:5px;overflow:hidden;margin:12px 0 10px;background:#e9edf3;border:0;outline:none;box-shadow:none}.attention-proportion-segment{display:block;flex-basis:0;min-width:0;height:100%;border:0;outline:none;box-shadow:none;pointer-events:none}.attention-proportion-legend{display:flex;align-items:center;gap:14px 24px;flex-wrap:wrap;font-size:12px;color:var(--text-2)}.attention-proportion-legend>span{display:flex;align-items:center;gap:6px}.attention-proportion-legend i{width:8px;height:8px;border-radius:2px}.attention-proportion-legend b{color:var(--ink)}.attention-empty{color:var(--text-3)}.home-v32 .home-project-heading .home-fold{flex:none}@media(max-width:768px){.home-v32 .proportion-statistics{padding:16px}.attention-proportion-group{margin-top:16px;padding-top:14px}.attention-proportion-title b{font-size:24px}.attention-proportion-title strong{margin-left:3px;font-size:10px}.attention-proportion-bar{height:12px;margin:10px 0}.attention-proportion-legend{gap:10px 18px;font-size:11px}.home-v32 .home-project-heading{flex-wrap:nowrap}.home-v32 .home-project-name{flex-basis:auto}.home-chevron,.home-fold{flex:none}}.project-list{display:grid;gap:12px;min-width:0}.project-list-item{min-width:0;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.project-list-item>h2{margin:0;font-size:16px}.project-list-heading{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:16px 20px 6px;text-align:left;color:var(--ink);font-weight:650;line-height:1.5}.project-list-heading>span:last-child{min-width:0;overflow-wrap:anywhere}.project-list-heading:focus-visible{outline:2px solid var(--accent);outline-offset:-3px;border-radius:10px}.project-list-chevron{width:12px;flex:none;color:var(--text-3)}.project-list-hint{margin:0 20px 16px 42px;color:var(--text-2);font-size:12px;line-height:1.7;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-list-detail{padding:16px 20px;border-top:1px solid var(--border);min-width:0}.project-list-meta{display:flex;gap:8px 20px;flex-wrap:wrap;margin-bottom:14px;color:var(--text-2);font-size:12px}.project-list-links{display:flex;gap:20px;flex-wrap:wrap;margin-top:14px;font-size:13px;color:var(--accent)}.simple-list-toolbar{display:flex;gap:10px;margin-bottom:16px;align-items:center;flex-wrap:wrap}.simple-list-toolbar .search{flex:1;min-width:180px}.simple-list-toolbar .field{min-width:0}.simple-list-toolbar .field input{min-width:0;width:100%}.simple-list-toolbar .field select{max-width:200px}.simple-list-toolbar .field span{white-space:nowrap}.simple-list-toolbar .list-search{display:flex;align-items:stretch;gap:8px;flex:1;min-width:240px}.simple-list-toolbar .list-search .search{min-width:0}.list-search .list-search-submit{flex:none;min-width:64px;height:36px}.list-search-result{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;margin:-4px 0 16px;padding:10px 12px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);color:var(--text-2);font-size:13px;overflow-wrap:anywhere}.list-search-result strong{color:var(--ink)}.list-search-result small{font-size:12px;color:var(--text-3)}.simple-list-page,.simple-list-page .page-head{min-width:0}.simple-list-page .page-sub{margin-top:6px}.project-list-detail .overview-node-preview{margin:0;padding:0;border:0}.project-list-detail .pw-stage-nodes{grid-template-columns:minmax(0,1fr)}@media(max-width:768px){.simple-list-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.simple-list-toolbar .search{grid-column:1 / -1}.simple-list-toolbar .list-search{grid-column:1 / -1;min-width:0;width:100%}.simple-list-toolbar .list-search .field,.list-search .list-search-submit{height:40px}.simple-list-toolbar .field{width:100%}.simple-list-toolbar .field select{width:100%;min-width:0;max-width:100%}.project-list-heading{padding:14px 14px 6px;min-height:48px}.project-list-hint{margin:0 14px 14px 36px}.project-list-detail{padding:12px 10px}}.ledger-list-page .field{border-color:var(--border-strong)}.ledger-list-page .field.select{background:var(--surface-2)}.ledger-list-page .field:focus-within{border-color:var(--accent)}.ledger-list-page .project-list-item{border-color:var(--border-strong);background:var(--surface-2)}.ledger-list-page .project-list-item:has(.project-list-heading[aria-expanded=false]){background:var(--brand-soft);box-shadow:inset 3px 0 0 var(--brand-2)}.ledger-list-page .project-list-heading[aria-expanded=false]{color:var(--brand)}.ledger-list-page .project-list-item:has(.project-list-heading[aria-expanded=true]){border-color:var(--accent);background:var(--accent-soft)}.ledger-list-page .project-list-detail{border-top-color:var(--border);background:var(--surface);border-radius:0 0 10px 10px}.ledger-list-page .project-list-detail>.project-list-links{justify-content:flex-end}.ledger-list-page .ledger-archive-card{background:var(--brand-soft);box-shadow:inset 3px 0 0 var(--brand-2)}.ledger-archive-link{display:block;color:inherit;text-decoration:none;border-radius:10px}.ledger-archive-link .project-list-heading{margin:0;font-size:16px;color:var(--brand)}.ledger-archive-link .project-list-hint{margin-bottom:0;padding-bottom:16px}.ledger-node-title{margin:2px 20px 8px 42px;color:var(--ink);font-size:13px;line-height:1.6;overflow-wrap:anywhere}@media(max-width:768px){.ledger-node-title{margin-inline:36px 14px}}.ledger-archive-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(hover:hover){.ledger-list-page .project-list-item:hover{border-color:var(--accent)}}#view-project .archive-head{display:flex;flex-direction:column;align-items:stretch;gap:14px}#view-project .archive-head h1{order:0;margin:0;overflow-wrap:anywhere}.archive-subline{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:13px;color:var(--text-2)}#view-project .archive-head .actions{justify-content:flex-end}.archive-section{margin-top:16px;scroll-margin-top:76px}.archive-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;margin:12px 0}.archive-fields>div{display:grid;grid-template-columns:80px minmax(0,1fr);gap:10px;font-size:13px}.archive-fields dt{color:var(--text-3)}.archive-fields dd{margin:0;overflow-wrap:anywhere}.archive-history-title{font-size:14px;padding-top:16px;margin:16px 0 10px;border-top:1px solid var(--border)}.archive-change-list{padding:0;list-style:none;display:grid;gap:10px}.archive-change-list li{padding:12px;border:1px solid var(--border);background:var(--surface-2);border-radius:8px;font-size:13px}.archive-change-list header{display:flex;flex-wrap:wrap;gap:8px 12px;color:var(--text-2)}.archive-change-list p{margin:8px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.archive-source{margin-top:16px}.archive-source summary,.archive-node-summary{cursor:pointer;font-weight:600;font-size:14px;padding:8px 0}.archive-node-summary{margin-bottom:10px}.nf-record.is-highlighted{outline:2px solid var(--accent);outline-offset:2px}.nf-record-context{font-size:12px;color:var(--text-2)}@media(max-width:600px){.archive-fields{grid-template-columns:minmax(0,1fr)}.archive-subline{gap:8px 12px}}.plan-list-page{--plan-ink: #6b5946;--plan-line: #d6cbbf;--plan-soft: #f3eee7;--plan-canvas: #fcfaf7}.plan-list-page .project-list-item{border-color:var(--plan-line);background:var(--plan-soft);box-shadow:inset 3px 0 0 var(--plan-ink)}.plan-list-page .project-list-heading{color:var(--ink)}.plan-list-page .project-list-chevron{color:var(--plan-ink)}.plan-list-page .project-list-hint{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;overflow:visible;margin-bottom:12px}.plan-list-badge{display:inline-block;padding:3px 9px;border-radius:5px;color:#fff;background:var(--plan-ink);font-size:13px;font-weight:650}.plan-list-badge.missing{color:#4b5563;background:#e5e7eb;border:1px dashed #9ca3af}.plan-pending-label{color:var(--amber)}.plan-version-list{list-style:none;margin:0 20px 16px 42px;padding:0;border:1px solid var(--plan-line);border-radius:7px;overflow:hidden;background:var(--surface)}.plan-version-list li+li{border-top:1px solid #e9e2da}.plan-version-row{width:100%;min-height:48px;display:grid;grid-template-columns:minmax(88px,1fr) auto 12px;align-items:center;gap:8px;padding:9px 12px;text-align:left}.plan-version-row{color:inherit;text-decoration:none}.plan-version-row:hover,.plan-version-row.selected{background:#eae1d6}.plan-version-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.plan-version-name{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:14px;font-weight:700;color:var(--plan-ink)}.plan-version-name small{font-size:11px;font-weight:400;color:var(--text-2)}.plan-version-created{font-size:12px;color:var(--text-2);font-variant-numeric:tabular-nums}.plan-list-page .project-list-detail{border-color:var(--plan-line);background:var(--plan-canvas);border-radius:0 0 10px 10px}.plan-list-page .field{border-color:var(--plan-line)}.plan-list-page .field:focus-within{border-color:var(--accent)}.plan-preview-version{padding:10px 12px;margin:0 0 12px;background:#eee5da;color:var(--plan-ink);font-weight:650;border-radius:6px}.plan-preview-version small{display:block;margin-top:5px;font-size:12px;font-weight:400;color:var(--text-2)}@media(max-width:768px){.plan-version-list{margin:0 14px 14px 36px}.plan-version-row{grid-template-columns:minmax(0,1fr) 12px;gap:4px 8px;padding:10px}.plan-version-created{grid-column:1;grid-row:2}.plan-version-row>span:last-child{grid-column:2;grid-row:1 / 3}}.plan-list-summary{display:flex;align-items:center;gap:14px}.plan-approval-notice{display:inline-flex;align-items:center;gap:5px;color:var(--amber);font-weight:600;white-space:nowrap}.plan-approval-notice svg{width:16px;height:16px}.plan-version-groups{margin:0 20px 16px 42px}.plan-version-groups .plan-version-list{margin:10px 0 0}.plan-current-entry{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px;background:var(--surface);border:1px solid var(--plan-ink);border-left-width:4px;border-radius:8px;color:var(--plan-ink);text-decoration:none}.plan-current-entry>span:first-child{min-width:0}.plan-current-entry strong{display:block;font-size:16px}.plan-current-entry small{display:block;margin-top:5px;font-size:12px;color:var(--text-2)}.plan-current-entry>span:last-child{display:inline-flex;align-items:center;gap:5px;flex:none;font-size:13px}.plan-current-entry svg{width:16px;height:16px}.plan-current-entry:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.plan-history{margin-top:12px}.plan-history>summary{cursor:pointer;padding:10px 0;color:var(--text-2);font-size:13px}@media(max-width:768px){.plan-version-groups{margin:0 14px 14px 36px}.plan-current-entry{flex-wrap:wrap;padding:12px}}.plan-date-timeline{container-type:inline-size;min-width:0;padding:20px;color:var(--text)}.plan-timeline-summary{display:flex;flex-wrap:wrap;align-items:start;justify-content:space-between;gap:10px 24px;margin-bottom:16px;color:var(--text-2);font-size:12px}.plan-timeline-summary>div{display:grid;gap:4px}.plan-timeline-summary strong{color:var(--ink);font-size:15px;font-variant-numeric:tabular-nums}.plan-timeline-legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin-bottom:16px;color:var(--text-2);font-size:12px}.plan-timeline-legend>span{display:inline-flex;align-items:center;gap:6px}.plan-timeline-swatch{display:inline-block;width:18px;height:9px;border-radius:2px}.plan-timeline-swatch.planned{border:1px solid var(--accent);background:var(--accent-soft)}.plan-timeline-swatch.actual{background:var(--green)}.plan-timeline-axis,.plan-timeline-tracks{display:none}.plan-timeline-stages{display:grid;gap:12px;list-style:none;padding:0;margin:0}.plan-timeline-stage{min-width:0;padding:16px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.plan-timeline-stage-head{min-width:0}.plan-timeline-stage-head h3{margin:0 0 8px;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.plan-timeline-completion{display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:var(--text-2);font-size:12px}.plan-timeline-completion strong{color:var(--ink);font-size:13px;font-variant-numeric:tabular-nums}.plan-timeline-progress{height:4px;margin-top:8px;overflow:hidden;border-radius:3px;background:var(--surface-3)}.plan-timeline-progress i{display:block;height:100%;background:var(--green)}.plan-timeline-stage-detail{min-width:0;margin-top:14px}.plan-timeline-dates{display:grid;gap:10px;margin:0}.plan-timeline-dates>div{display:grid;grid-template-columns:52px minmax(0,1fr);gap:8px;align-items:start}.plan-timeline-dates dt{color:var(--text-2);font-size:12px;line-height:1.6}.plan-timeline-dates dd{min-width:0;margin:0;font-size:12px;line-height:1.6;font-variant-numeric:tabular-nums}.plan-timeline-date-pair{display:inline}.plan-timeline-date-pair time{white-space:nowrap}.plan-timeline-dates small{display:block;color:var(--text-2);font-size:12px}.plan-timeline-no-date{color:var(--text-2)}.plan-timeline-date-warning{margin:10px 0 0;color:var(--amber);font-size:12px;line-height:1.6;overflow-wrap:anywhere}.plan-timeline-footnote{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--border);color:var(--text-2);font-size:12px;line-height:1.7}@container (min-width: 720px){.plan-timeline-axis{display:grid;grid-template-columns:172px minmax(0,1fr);gap:24px;min-height:32px;color:var(--text-2);font-size:12px}.plan-timeline-axis>div{position:relative;min-width:0;margin-right:16px}.plan-timeline-tick{position:absolute;top:0;white-space:nowrap;font-variant-numeric:tabular-nums;transform:translate(-50%)}.plan-timeline-tick.first{transform:none}.plan-timeline-tick.last{transform:translate(-100%)}.plan-timeline-stages{gap:0;border-top:1px solid var(--border)}.plan-timeline-stage{display:grid;grid-template-columns:172px minmax(0,1fr);gap:24px;padding:18px 16px 18px 0;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent}.plan-timeline-stage-detail{margin:0}.plan-timeline-tracks{display:grid;gap:7px;position:relative;padding:3px 0;margin-bottom:12px}.plan-timeline-track{min-height:15px;position:relative}.plan-timeline-bar{position:absolute;top:0;height:15px;min-width:2px;max-width:100%;border-radius:3px}.plan-timeline-bar.planned{border:1px solid var(--accent);background:var(--accent-soft)}.plan-timeline-bar.proposed{border-style:dashed;border-width:2px}.plan-timeline-bar.actual{top:3px;height:9px;background:var(--green)}.plan-timeline-bar.ongoing{border-right:2px dashed var(--surface);border-radius:3px 0 0 3px}.plan-timeline-gridline{position:absolute;top:0;bottom:0;border-left:1px solid var(--border)}.plan-timeline-business-line{position:absolute;z-index:1;top:-3px;bottom:-3px;border-left:1px dashed var(--text-2)}.plan-timeline-track-empty{position:relative;color:var(--text-2);background:var(--surface);font-size:12px;line-height:15px}.plan-timeline-dates{gap:4px}.plan-timeline-dates>div{grid-template-columns:88px minmax(0,1fr)}.plan-timeline-dates small{display:inline;margin-left:8px}}@media(max-width:480px){.plan-date-timeline{padding:16px}.plan-timeline-stage{padding:14px}.plan-timeline-dates>div{grid-template-columns:42px minmax(0,1fr);gap:6px}}@media print{.plan-date-timeline{padding:0}.plan-timeline-stage{break-inside:avoid}.plan-timeline-summary{color:var(--text)}}#view-plan.pw-page,.pw-preview{min-width:0;--pw-ledger-ink: #6B5946;--pw-ledger-soft: #EEE5DA;--pw-ledger-canvas: #FCFAF7;--pw-ledger-line: #D6CBBF;--pw-schedule-ink: #6B5946;--pw-schedule-soft: #EEE5DA;--pw-schedule-canvas: #FCFAF7;--pw-schedule-line: #D6CBBF;--pw-mode-ink: var(--pw-ledger-ink);--pw-mode-soft: var(--pw-ledger-soft);--pw-mode-canvas: var(--pw-ledger-canvas);--pw-mode-line: var(--pw-ledger-line)}#view-plan[data-plan-surface=schedule]{--pw-mode-ink: var(--pw-schedule-ink);--pw-mode-soft: var(--pw-schedule-soft);--pw-mode-canvas: var(--pw-schedule-canvas);--pw-mode-line: var(--pw-schedule-line)}#view-plan .pw-head{align-items:center}#view-plan .pw-head .actions{flex-wrap:wrap;flex-shrink:1}#view-plan .pw-head .actions a:first-child{font-size:0}#view-plan .pw-head .actions a:first-child:after{content:"项目档案  →";font-size:13px}#view-plan .pw-head .actions a svg{font-size:16px}#view-plan .pw-head .actions a.primary:after{content:"  →"}#view-plan .ledger-empty .btn:after{content:"  →"}#view-plan .pw-reference>details:not(:last-child){display:none}.pw-head-meta{font-size:12px;color:var(--text-2)}.pw-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0 12px}.pw-metric{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:16px 20px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);text-align:left}.pw-metric>span:first-child{display:flex;align-items:center;gap:6px;color:var(--text-2);font-size:13px}.pw-metric svg{width:15px;height:15px}.pw-metric strong{font-size:30px;line-height:1.2;color:var(--ink)}.pw-metric strong small{font-size:14px;font-weight:500;color:var(--text-3)}.pw-metric>small{font-size:12px;color:var(--text-3)}.pw-metric.attention strong{color:var(--red)}.pw-metric.selected,.pw-metric:hover{border-color:var(--accent);background:var(--accent-soft)}.pw-metric.selected{box-shadow:inset 0 0 0 1px var(--accent)}.pw-progress{display:block;width:100%;max-width:180px;height:4px;background:var(--surface-3);border-radius:4px}.pw-progress i{display:block;height:100%;border-radius:inherit;background:var(--green)}.pw-connections{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-bottom:10px}.pw-connections>summary,.pw-versions>summary,.pw-reference summary{display:flex;align-items:center;gap:8px;min-height:44px;padding:10px 16px;cursor:pointer;list-style:none}.pw-connections>summary::-webkit-details-marker,.pw-versions>summary::-webkit-details-marker,.pw-reference summary::-webkit-details-marker,.pw-node-detail>summary::-webkit-details-marker{display:none}.pw-connections summary>svg,.pw-versions summary>svg,.pw-reference summary>svg{width:16px;height:16px;flex:none;color:var(--text-3)}.pw-connections summary>svg:last-child,.pw-versions summary>svg:last-child,.pw-reference summary>svg:last-child{margin-left:auto}.pw-connections summary span,.pw-versions summary span{font-size:13px;font-weight:600}.pw-connections summary small,.pw-versions summary small,.pw-reference summary small{font-size:12px;color:var(--text-3)}.pw-connection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:4px 16px 16px}.pw-connection-grid strong{font-size:13px;color:var(--accent)}.pw-connection-grid p{margin-top:4px;font-size:13px;color:var(--text-2)}.pw-versions{margin-bottom:12px;border-bottom:1px solid var(--border)}.pw-versions summary{padding-inline:2px}.pw-versions .version-bar{margin:4px 0 12px}.pw-version-notice{display:flex;align-items:center;gap:10px;padding:12px;margin:12px 0;background:var(--amber-soft);border:1px solid var(--amber-line);border-radius:var(--radius);font-size:13px}.pw-version-notice>svg{flex:none;width:18px;height:18px}#view-plan .pw-panel{padding:0;overflow:hidden;border-color:var(--pw-mode-line);border-top:3px solid var(--pw-mode-ink);background:var(--pw-mode-canvas)}#view-plan .pw-head{border-color:var(--pw-mode-line);background:var(--pw-mode-canvas)}#view-plan .pw-panel-head{background:var(--pw-mode-soft)}.pw-surface-label{display:block;color:var(--pw-mode-ink);font-size:12px;font-weight:600;margin-bottom:3px}.pw-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px 12px}.pw-panel-head h2{color:var(--ink);font-size:17px}.pw-panel-head p{color:var(--text-3);font-size:12px;margin-top:3px}.pw-export{display:flex;gap:6px}.pw-view-tabs{display:flex;gap:24px;padding:0 20px;border-bottom:1px solid var(--pw-mode-line);background:var(--surface)}.pw-view-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:46px;padding-inline:10px;border-bottom:2px solid transparent;color:var(--text-2);font-size:13px}.pw-view-tabs button[aria-pressed=true]{border-bottom-color:var(--pw-mode-ink);color:var(--pw-mode-ink);background:var(--pw-mode-soft);font-weight:700}.pw-view-tabs svg{width:16px;height:16px}.pw-toolbar{padding:14px 20px 10px;display:grid;grid-template-columns:1fr minmax(300px,.85fr);gap:10px 20px}.pw-filter-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.pw-filter-tabs button{min-height:36px;padding:6px 10px;color:var(--text-2);border-radius:6px;font-size:13px}.pw-filter-tabs button[aria-pressed=true]{background:var(--pw-mode-ink);color:var(--surface);font-weight:600}.pw-filter-tabs button:hover{box-shadow:inset 0 0 0 1px var(--border-strong)}.pw-search-row{display:flex;gap:8px;min-width:0}.pw-search{display:flex;align-items:center;flex:1;min-width:0;gap:6px;padding:0 10px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface)}.pw-search svg{width:16px;height:16px;flex:none;color:var(--text-3)}.pw-search input{border:0;width:100%;min-width:0;min-height:38px;background:transparent;font-size:13px}.pw-phase{min-width:0;max-width:45%}.pw-phase select{width:100%;height:100%;min-height:38px;max-width:180px;padding:0 28px 0 10px;border:1px solid var(--border-strong);border-radius:6px;background-color:var(--surface);font-size:13px}.pw-result-line{grid-column:1 / -1;display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;font-size:12px;color:var(--text-3)}.pw-result-line button{color:var(--accent);min-height:30px}.pw-result-line small{margin-left:auto;font-size:12px}.pw-stages{padding:0 20px 20px}.pw-stage+.pw-stage{margin-top:22px}.pw-stage-head{display:flex;align-items:center;gap:8px;padding:12px 0}.pw-stage-index{font-size:12px;color:var(--pw-mode-ink);background:var(--pw-mode-soft);width:28px;height:28px;border-radius:6px;display:grid;place-items:center;font-weight:600;flex:none}.pw-stage-head h3{font-size:14px;color:var(--ink)}.pw-stage-head>span:last-child{font-size:12px;color:var(--text-3);margin-left:auto;flex-shrink:0}.pw-stage-nodes{border:1px solid var(--border);border-radius:8px;overflow:hidden}.pw-node{background:var(--surface);border-left:3px solid transparent}.pw-node+.pw-node{border-top:1px solid var(--border)}.pw-node.needs-attention{border-left-color:var(--amber-solid)}.pw-node-main{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(230px,1.2fr) minmax(110px,.65fr) auto;gap:18px;align-items:center;padding:16px 16px 10px}.pw-node-heading{min-width:0}.pw-node-title{display:flex;gap:6px;align-items:baseline;flex-wrap:wrap}.pw-node-title h3{font-size:14px;font-weight:600;color:var(--ink);overflow-wrap:anywhere}.pw-owner{display:block;margin-top:6px;font-size:12px;color:var(--text-3);overflow-wrap:anywhere}.pw-node-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.pw-node-dates dt{color:var(--text-3);font-size:12px}.pw-node-dates dd{margin-top:4px;color:var(--text);font-size:13px;white-space:nowrap}.pw-node-dates dd.approved{color:var(--accent)}#view-plan .pw-plan-field{background:var(--pw-schedule-soft);border-left:2px solid var(--pw-schedule-line);border-radius:5px;padding:8px 10px;min-width:0}#view-plan .pw-actual-field{background:var(--pw-ledger-soft);border-left:2px solid var(--pw-ledger-line);border-radius:5px;padding:8px 10px;min-width:0}#view-plan .pw-plan-field>dt,#view-plan .pw-plan-field>h4{color:var(--pw-schedule-ink)}#view-plan .pw-actual-field>dt,#view-plan .pw-actual-field>h4{color:var(--pw-ledger-ink)}#view-plan .pw-detail-grid>section{padding:14px}#view-plan .plan-timeline-swatch.planned,#view-plan .plan-timeline-bar.planned{background:var(--pw-schedule-soft);border-color:var(--pw-schedule-ink)}#view-plan .plan-timeline-swatch.actual,#view-plan .plan-timeline-bar.actual{background:var(--pw-ledger-ink)}.pw-node-state{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.pw-signal{font-size:12px;color:var(--text-3)}.pw-archived-node{display:block;font-size:12px;color:var(--text-3)}.pw-signal.red{color:var(--red)}.pw-signal.amber{color:var(--amber)}.pw-signal.green{color:var(--green)}.pw-node-detail>summary{display:flex;align-items:center;gap:6px;cursor:pointer;list-style:none;padding:2px 16px 10px;width:fit-content;min-height:32px;font-size:12px;color:var(--accent)}.pw-node-detail>summary svg{width:14px;height:14px}.pw-node-detail[open]>summary svg,.pw-connections[open]>summary>svg:last-child,.pw-versions[open]>summary>svg:last-child,.pw-reference details[open]>summary>svg:last-child{transform:rotate(180deg)}.pw-detail-body{border-top:1px dashed var(--border);padding:16px;background:var(--surface-2)}.pw-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.pw-detail-grid h4{font-size:13px;color:var(--ink);margin:0 0 10px}.pw-detail-grid dl{display:grid;grid-template-columns:100px minmax(0,1fr);gap:7px 12px;font-size:13px}.pw-detail-grid dt{color:var(--text-3)}.pw-detail-grid dd{overflow-wrap:anywhere}.pw-source-note{font-size:12px;color:var(--text-2);margin:14px 0 8px}.pw-note{display:flex;gap:12px;margin-top:12px;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.pw-note b{flex:none}.pw-detail-actions{display:flex;gap:8px;flex-wrap:wrap}.pw-reference{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}.pw-reference .kv,.pw-reference .mapping-list{margin:0;padding:0 16px 16px}.pw-reference .kv dd{overflow-wrap:anywhere}.pw-mobile-table{display:none}.pw-desktop-table{padding:0 20px}#view-plan .pw-desktop-table .plan-table-scroll{margin:0 -20px;padding:0 20px;overflow-x:auto}#view-plan .pw-desktop-table .plan-table{min-width:1340px}#view-plan .pw-desktop-table .plan-table thead th{position:static}#view-plan .plan-table td{background:var(--surface)}#view-plan .plan-table td.pt-phase,#view-plan .plan-table td.pt-idx{background:var(--surface-2)}#view-plan .plan-table td.pt-plan{background:var(--pw-schedule-canvas)}#view-plan .plan-table td.pt-actual{background:var(--pw-ledger-canvas)}#view-plan .plan-table th.pt-plan{background:var(--pw-schedule-soft);color:var(--pw-schedule-ink)}#view-plan .plan-table th.pt-actual{background:var(--pw-ledger-soft);color:var(--pw-ledger-ink)}#view-plan .plan-table td.pt-plan+td.pt-actual{border-left-color:var(--pw-ledger-line)}#view-plan .plan-table tbody tr:hover td.pt-plan{background:var(--pw-schedule-soft)}#view-plan .plan-table tbody tr:hover td.pt-actual{background:var(--pw-ledger-soft)}#view-plan .plan-table .pt-dev{width:116px}#view-plan .plan-table :is(.pt-dev,.pt-phase,.pt-title,.pt-unit,.pt-owner,.pt-note,.pt-status){white-space:normal;overflow-wrap:anywhere}#view-plan .plan-table .pt-dev .dev{display:block;max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.6}#view-plan .plan-table .dev-line{display:block}#view-plan .plan-table .pt-title-text{display:flex;flex-wrap:wrap;min-width:0;max-width:100%}#view-plan .plan-table .pt-status .status-pill{max-width:100%;white-space:normal}#view-plan .pw-panel .diff-head{padding:16px 20px}#view-plan .pw-panel .diff-head+.plan-table-scroll{margin:0;padding:0 20px 20px}.pw-page button:focus-visible,.pw-page a:focus-visible,.pw-page summary:focus-visible,.pw-page input:focus-visible,.pw-page select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media(max-width:1100px){.pw-toolbar{grid-template-columns:minmax(0,1fr)}.pw-node-main{grid-template-columns:minmax(180px,1fr) minmax(220px,1fr) 110px;gap:12px}.pw-followup{grid-column:3;grid-row:2}.pw-reference{grid-template-columns:minmax(0,1fr)}}@media(max-width:768px){#view-plan .pw-head{display:block;padding:14px}#view-plan .pw-head h1{font-size:20px;line-height:1.45;margin:5px 0 8px}#view-plan .pw-head .h1-sub{font-size:14px}#view-plan .pw-head .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;width:100%}#view-plan .pw-head .actions .btn{padding-inline:4px;min-width:0;min-height:44px;font-size:13px}#view-plan .pw-head .actions svg{display:none}.pw-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:10px 0}.pw-metric{gap:6px;padding:12px 8px;min-height:90px}.pw-metric>span:first-child{font-size:12px}.pw-metric>span:first-child svg,.pw-metric>small{display:none}.pw-metric strong{font-size:26px}.pw-metric>small{font-size:12px}.pw-progress{display:none}.pw-connections summary small{display:none}.pw-connections>summary{padding:10px 12px}.pw-connection-grid{grid-template-columns:minmax(0,1fr);gap:14px}.pw-versions summary{gap:6px;flex-wrap:wrap}.pw-versions summary small{font-size:12px}.pw-version-notice{flex-wrap:wrap}.pw-version-notice>span{flex:1;min-width:200px}.pw-panel-head{padding:14px 12px 6px}.pw-panel-head h2{font-size:16px}.pw-panel-head p{display:none}.pw-export .btn{min-height:44px}#view-plan .pw-print{display:none}.pw-view-tabs{padding:0 8px;gap:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.pw-view-tabs button{font-size:12px;min-width:0;padding-inline:2px;white-space:nowrap;min-height:46px}.pw-view-tabs svg{display:none}.pw-toolbar{padding:10px 12px 4px;gap:8px}.pw-filter-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:2px}.pw-filter-tabs button{min-height:44px;padding:4px 1px;font-size:12px}.pw-search input,.pw-phase select{min-height:44px;font-size:16px}.pw-phase{max-width:36%}.pw-search{padding-inline:8px}.pw-phase select{padding-left:6px}.pw-result-line{gap:0 8px}.pw-result-line small{margin-left:0}.pw-result-line button{min-height:44px}.pw-stages{padding:0 12px 12px}.pw-stage-head{flex-wrap:wrap;gap:6px}.pw-stage-head h3{max-width:calc(100% - 36px)}.pw-stage-head>span:last-child{font-size:12px}.pw-node-main{grid-template-columns:minmax(0,1fr) auto;gap:12px 8px;padding:14px 12px 0}.pw-node-heading{grid-column:1 / -1}.pw-node-title h3{font-size:16px;line-height:1.5}.pw-owner{font-size:13px}.pw-node-dates{grid-column:1 / -1;padding:0;border-radius:6px;gap:8px}.pw-node-dates dd{font-size:14px}.pw-node-state{grid-column:1;grid-row:3}.pw-followup{grid-column:2;grid-row:3;min-height:44px;padding-inline:12px}.pw-node-main>.pw-archived-node{grid-column:2;grid-row:3}.pw-node-detail>summary{min-height:44px;padding:8px 12px;font-size:13px}.pw-detail-grid{grid-template-columns:minmax(0,1fr);gap:20px}.pw-detail-body{padding:12px}.pw-detail-grid dl{grid-template-columns:90px minmax(0,1fr)}.pw-detail-actions .btn{min-height:44px}.pw-source-note{line-height:1.7}.pw-desktop-table{display:none}.pw-mobile-table{display:block}.pw-mobile-hint{padding:12px 12px 0;color:var(--text-3);font-size:12px}.pw-reference summary{min-height:48px}#view-plan .version-track .vnode{min-height:64px}#view-plan .pw-panel .diff-head{padding:12px}#view-plan .pw-panel .diff-head+.plan-table-scroll{padding:0 12px 12px;overflow:visible}#view-plan .diff-table,#view-plan .diff-table tbody{display:block;width:100%;min-width:0}#view-plan .diff-table thead{display:none}#view-plan .diff-table .diff-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--border);border-radius:8px;margin-bottom:12px;padding:10px}#view-plan .diff-table td{display:block;width:auto;border:0;padding:6px;white-space:normal;overflow-wrap:anywhere;font-size:13px}#view-plan .diff-table td:before{content:attr(data-label);display:block;color:var(--text-3);font-size:12px;margin-bottom:4px}#view-plan .diff-table td:nth-child(2),#view-plan .diff-table td:last-child{grid-column:1 / -1}#view-plan .diff-pick{flex-wrap:wrap}#view-plan .diff-head button,#view-plan .diff-head select{min-height:44px}}@media print{body[data-view=plan] .toast,#view-plan .pw-summary,#view-plan .pw-connections,#view-plan .pw-versions,#view-plan .pw-version-notice,#view-plan .pw-reference,#view-plan .pw-panel-head,#view-plan .pw-view-tabs,#view-plan .pw-toolbar,#view-plan .pw-screen-content{display:none!important}#view-plan .pw-panel{overflow:visible}.pw-print-scope{margin:8px 0;font-size:11px}#view-plan .plan-print-table .pt-idx{width:3%}#view-plan .plan-print-table .pt-phase{width:9%}#view-plan .plan-print-table .pt-title{width:18%}#view-plan .plan-print-table .pt-date{width:7%;font-size:9px}#view-plan .plan-print-table .pt-num{width:4%}#view-plan .plan-print-table .pt-dev,#view-plan .plan-print-table .pt-unit{width:7%}#view-plan .plan-print-table .pt-owner,#view-plan .plan-print-table .pt-status{width:6%}#view-plan .plan-print-table .pt-note{width:8%}}.pw-fold-heading{cursor:pointer;padding:14px 18px;list-style:none}.pw-fold-heading::-webkit-details-marker{display:none}.pw-fold-heading .pw-node-heading{width:100%}.pw-fold-heading .pw-node-title{flex:1}.pw-fold-node>.pw-node-main{border-top:1px solid var(--border, #e1e5e9)}.pw-fold-node .status-pill.done,.plan-table .status-pill.done{background:#eaf1fc;color:#245cad}.pt-money{min-width:110px;white-space:nowrap}.record-adjust-row{display:grid;gap:8px;border-bottom:1px solid var(--border, #e1e5e9);padding:12px 0}.pw-fold-heading .pw-node-heading{display:flex;align-items:center;gap:10px}.pw-node-main>.pw-node-heading>span{display:block;margin-bottom:4px}.pw-summary.compact{display:flex;flex-wrap:wrap;gap:8px 24px;padding:12px 16px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.pw-summary.compact>button{display:flex;gap:10px;align-items:center;min-height:36px;color:var(--text-2);font-size:13px;border-radius:5px;padding:0 6px}.pw-summary.compact b{font-size:16px;color:var(--ink)}.pw-summary.compact .attention b{color:var(--red)}.pw-summary.compact>button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}@media(max-width:768px){.pw-summary.compact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px}.pw-summary.compact>button{justify-content:space-between;min-width:0}}:root{--font: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", "Source Han Sans SC", "Helvetica Neue", Arial, sans-serif;--bg: #F3F4F6;--surface: #FFFFFF;--surface-2: #F8F9FB;--surface-3: #EEF1F5;--border: #E3E6EB;--border-strong: #C9CFD8;--ink: #0F172A;--text: #1F2937;--text-2: #4B5563;--text-3: #6B7280;--text-4: #9CA3AF;--brand: #14213D;--brand-2: #1E2F55;--brand-soft: #E9EEF7;--accent: #0B5CAD;--accent-hover: #0A4E93;--accent-soft: #E8F1FB;--ring: rgba(11, 92, 173, .35);--red: #B42318;--red-solid: #D92D20;--red-soft: #FEF3F2;--red-line: #FDA29B;--amber: #B54708;--amber-solid: #F79009;--amber-soft: #FFFAEB;--amber-line: #FEC84B;--green: #067647;--green-solid: #17B26A;--green-soft: #ECFDF3;--green-line: #ABEFC6;--gray: #475467;--gray-solid: #98A2B3;--gray-soft: #F2F4F7;--gray-line: #D0D5DD;--blue: #175CD3;--blue-soft: #EFF6FF;--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .05);--shadow-md: 0 6px 18px rgba(16, 24, 40, .1);--shadow-lg: 0 20px 50px rgba(16, 24, 40, .22);--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-8: 32px;--topbar-h: 56px;--content-max: 1440px;--t-fast: .15s;--t-base: .22s}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font);font-size:14px;line-height:1.5;color:var(--text);background:var(--bg);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;min-height:100vh}body.modal-open{overflow:hidden}h1,h2,h3,h4,p,dl,dd,dt,ul,ol{margin:0}ul,ol{padding:0;list-style:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}button:disabled{cursor:not-allowed;opacity:.55}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}svg{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.sprite{position:absolute;width:0;height:0;overflow:hidden}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.skip-link{position:absolute;left:12px;top:-48px;background:var(--ink);color:#fff;padding:8px 12px;border-radius:6px;z-index:100}.skip-link:focus{top:12px}::selection{background:#cfe0f5}.topbar{position:sticky;top:0;z-index:40;background:var(--brand);color:#fff;border-bottom:1px solid rgba(255,255,255,.06)}.topbar-inner{max-width:var(--content-max);margin:0 auto;height:var(--topbar-h);padding:0 var(--s-6);display:flex;align-items:center;gap:var(--s-6)}.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;flex:none}.brand:hover{text-decoration:none}.brand-mark{width:30px;height:30px;border-radius:8px;background:#fff;color:var(--brand);display:grid;place-items:center;font-weight:700;font-size:15px}.brand-text{display:flex;flex-direction:column;line-height:1.15}.brand-text strong{font-size:14px;letter-spacing:.02em}.brand-text small{font-size:11px;color:#ffffff9e}.primary-nav{display:flex;align-items:stretch;height:100%;gap:var(--s-1)}.primary-nav a{position:relative;display:flex;align-items:center;gap:6px;padding:0 12px;color:#ffffffb8;font-weight:500;text-decoration:none;transition:color var(--t-fast)}.primary-nav a svg{font-size:16px}.primary-nav a:hover{color:#fff;text-decoration:none}.primary-nav a[aria-current=page]{color:#fff}.primary-nav a[aria-current=page]:after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:2px;background:#fff;border-radius:2px 2px 0 0}.nav-count{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--red-solid);color:#fff;font-size:11px;font-weight:600;display:inline-grid;place-items:center}.topbar-tools{margin-left:auto;display:flex;align-items:center;gap:var(--s-3)}.date-chip{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 10px 0 8px;border-radius:8px;border:1px solid rgba(255,255,255,.18);color:#ffffffd9;font-size:12px;transition:background var(--t-fast),border-color var(--t-fast)}.date-chip:hover{background:#ffffff14;border-color:#ffffff4d}.date-chip strong{color:#fff;font-weight:600;letter-spacing:.01em}.global-search{display:flex;align-items:center;gap:8px;height:34px;padding:0 10px;width:240px;border-radius:8px;background:#ffffff1a;border:1px solid rgba(255,255,255,.14);color:#fffc;transition:background var(--t-fast),border-color var(--t-fast)}.global-search:focus-within{background:#ffffff29;border-color:#fff6}.global-search input{flex:1;min-width:0;background:none;border:0;outline:0;color:#fff;font-size:13px}.global-search input::placeholder{color:#ffffff8c}.global-search input::-webkit-search-cancel-button{filter:invert(1)}.global-search kbd{font-family:inherit;font-size:11px;line-height:1;padding:3px 6px;border-radius:5px;border:1px solid rgba(255,255,255,.25);color:#fff9}.global-search:focus-within kbd{display:none}.icon-btn{width:34px;height:34px;border-radius:8px;display:inline-grid;place-items:center;color:inherit;transition:background var(--t-fast);position:relative}.icon-btn svg{font-size:18px}.topbar .icon-btn{color:#ffffffd9;border:1px solid rgba(255,255,255,.18)}.topbar .icon-btn:hover{background:#ffffff1a}.icon-btn.small{width:28px;height:28px}.icon-btn.small svg{font-size:16px}.badge{position:absolute;top:-5px;right:-5px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--red-solid);color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center;border:2px solid var(--brand)}.user-chip{display:flex;align-items:center;gap:8px}.avatar{width:30px;height:30px;border-radius:50%;background:#fff;color:var(--brand);display:grid;place-items:center;font-weight:700;font-size:13px}.user-meta{display:flex;flex-direction:column;line-height:1.15}.user-meta strong{font-size:13px}.user-meta small{font-size:11px;color:#ffffff9e}.popover-anchor{position:relative}.popover{position:absolute;right:0;top:calc(100% + 8px);width:380px;max-width:calc(100vw - 24px);background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:60;overflow:hidden}.popover header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border)}.popover header strong{display:block;font-size:14px}.popover header small{color:var(--text-3);font-size:12px}.popover .icon-btn{color:var(--text-2)}.popover .icon-btn:hover{background:var(--surface-3)}.popover-tools{display:flex;align-items:center;gap:4px}.notice.is-read strong{color:var(--text-3);font-weight:500}.notice.is-read .dot{opacity:.35}.popover-body{max-height:420px;overflow:auto}.notice{display:flex;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);text-align:left;width:100%;transition:background var(--t-fast)}.notice:last-child{border-bottom:0}.notice:hover{background:var(--surface-2)}.notice .dot{width:8px;height:8px;border-radius:50%;margin-top:7px;flex:none}.notice strong{display:block;font-size:13px;color:var(--ink)}.notice span{display:block;font-size:12px;color:var(--text-3);margin-top:2px}.notice small{display:block;font-size:11px;color:var(--text-4);margin-top:4px}.popover .empty-inline{padding:24px;text-align:center;color:var(--text-3);font-size:13px}main{max-width:var(--content-max);margin:0 auto;padding:var(--s-5) var(--s-6) 64px}.view[hidden]{display:none}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-4);margin-bottom:var(--s-4)}.page-head h1{font-size:22px;font-weight:700;color:var(--ink);letter-spacing:-.01em;line-height:1.25}.page-sub{color:var(--text-3);font-size:13px;margin-top:4px}.page-head-actions{display:flex;gap:var(--s-2);flex:none}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.panel{padding:var(--s-4) var(--s-5)}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-3)}.panel-head.wrap{flex-wrap:wrap}.panel-head h2{font-size:15px;font-weight:600;color:var(--ink)}.panel-sub{color:var(--text-3);font-size:12px;margin-top:2px}.panel-tools{display:flex;gap:var(--s-2);flex-wrap:wrap;align-items:center}.link{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:500;white-space:nowrap}.link svg{font-size:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 14px;border-radius:8px;font-weight:600;font-size:13px;border:1px solid transparent;white-space:nowrap;transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast),box-shadow var(--t-fast)}.btn svg{font-size:16px}.btn.small{height:30px;padding:0 10px;font-size:12px}.btn.small svg{font-size:14px}.btn.primary{background:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-hover)}.btn.secondary{background:var(--surface);color:var(--ink);border-color:var(--border-strong)}.btn.secondary:hover{background:var(--surface-2);border-color:var(--text-4)}.btn.ghost{background:transparent;color:var(--text-2);border-color:var(--border)}.btn.ghost:hover{background:var(--surface-2);color:var(--ink)}.btn.danger{background:var(--red-soft);color:var(--red);border-color:var(--red-line)}.btn.danger:hover{background:#fee4e2}.btn.text{background:none;color:var(--accent);padding:0 4px;height:auto}.btn.text:hover{text-decoration:underline}.btn.block{width:100%}.chip-row{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.chip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-size:13px;font-weight:500;transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast)}.chip b{font-weight:600;color:var(--text-3);font-size:12px}.chip:hover{border-color:var(--border-strong);background:var(--surface-2)}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.chip[aria-pressed=true] b{color:#ffffffbf}.chip .dot{width:8px;height:8px;border-radius:50%}.chip.red .dot{background:var(--red-solid)}.chip.green .dot{background:var(--green-solid)}.chip.gray .dot{background:var(--gray-solid)}.signal{display:inline-flex;align-items:center;gap:5px;min-height:22px;padding:2px 8px 2px 6px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid transparent;white-space:normal;line-height:1.25;max-width:100%;text-align:left;vertical-align:middle;box-sizing:border-box;word-break:keep-all;overflow-wrap:normal}.signal:before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:currentColor}.signal.red{background:var(--red-soft);color:var(--red);border-color:var(--red-line)}.signal.amber{background:var(--amber-soft);color:var(--amber);border-color:var(--amber-line)}.signal.green{background:var(--green-soft);color:var(--green);border-color:var(--green-line)}.signal.gray{background:var(--gray-soft);color:var(--gray);border-color:var(--gray-line)}.signal.suggested{border-style:dashed;background:var(--surface)}.signal.lg{min-height:26px;font-size:13px;padding:3px 10px 3px 8px}.signal small{font-weight:500;opacity:.85;white-space:nowrap}.tag{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:5px;font-size:11px;font-weight:600;background:var(--surface-3);color:var(--text-2);white-space:nowrap}.tag.a{background:#fdf2f8;color:#9d174d}.tag.b{background:#eef2ff;color:#3730a3}.tag.c{background:var(--surface-3);color:var(--text-2)}.tag.signed{background:var(--green-soft);color:var(--green)}.tag.negotiating{background:var(--blue-soft);color:var(--blue)}.tag.unsigned{background:var(--surface-3);color:var(--text-3)}.tag.paused{background:var(--gray-soft);color:var(--gray)}.tag.version{background:var(--brand-soft);color:var(--brand);font-variant-numeric:tabular-nums;letter-spacing:.01em}.tag.outline{background:transparent;border:1px dashed var(--border-strong);color:var(--text-3)}.field{display:flex;align-items:center;gap:8px;height:36px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-2);font-size:13px;transition:border-color var(--t-fast),box-shadow var(--t-fast)}.field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.field svg{font-size:16px;color:var(--text-3)}.field input,.field select{border:0;outline:0;background:none;min-width:0;height:100%}.field input{flex:1;font-size:13px;color:var(--ink)}.field.select span{color:var(--text-3);white-space:nowrap}.field.select select{color:var(--ink);font-weight:500;padding-right:4px;cursor:pointer}.field.search{flex:1;min-width:220px}.check{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-2);cursor:pointer;white-space:nowrap}.check input{width:16px;height:16px;accent-color:var(--accent);margin:0;cursor:pointer}.segmented{display:inline-flex;border:1px solid var(--border);border-radius:8px;background:var(--surface);overflow:hidden}.segmented button{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;font-size:12px;font-weight:500;color:var(--text-2);border-right:1px solid var(--border);transition:background var(--t-fast),color var(--t-fast)}.segmented button:last-child{border-right:0}.segmented button:hover{background:var(--surface-2)}.segmented button[aria-pressed=true]{background:var(--ink);color:#fff}.segmented button svg{font-size:14px}.signal-summary{display:grid;grid-template-columns:minmax(180px,1fr) 3fr;gap:var(--s-6);align-items:center;padding:var(--s-4) var(--s-5);margin-bottom:var(--s-4)}.summary-lead{display:flex;flex-direction:column;gap:2px}.summary-lead .num{font-size:34px;font-weight:700;color:var(--ink);line-height:1;letter-spacing:-.02em}.summary-lead .num b{color:var(--red)}.summary-lead .lab{font-size:13px;color:var(--text-2)}.summary-lead small{font-size:12px;color:var(--text-4)}.summary-bar{display:flex;flex-direction:column;gap:10px}.stack-bar{display:flex;height:14px;border-radius:7px;overflow:hidden;background:var(--surface-3)}.stack-bar button{height:100%;border:0;padding:0;position:relative;transition:filter var(--t-fast);min-width:3px}.stack-bar button:hover{filter:brightness(.92)}.stack-bar button.red{background:var(--red-solid)}.stack-bar button.amber{background:var(--amber-solid)}.stack-bar button.green{background:var(--green-solid)}.stack-bar button.gray{background:var(--gray-solid)}.stack-legend{display:flex;gap:var(--s-4);flex-wrap:wrap}.stack-legend button{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text-2);padding:4px 8px 4px 4px;border-radius:6px;transition:background var(--t-fast)}.stack-legend button:hover{background:var(--surface-2)}.stack-legend .dot{width:10px;height:10px;border-radius:50%}.stack-legend .dot.red{background:var(--red-solid)}.stack-legend .dot.amber{background:var(--amber-solid)}.stack-legend .dot.green{background:var(--green-solid)}.stack-legend .dot.gray{background:var(--gray-solid)}.stack-legend strong{color:var(--ink);font-size:15px}.stack-legend small{color:var(--text-4);font-size:11px}.inbox-panel{margin-bottom:var(--s-4)}.inbox-counts{display:flex;gap:10px;align-items:center;font-size:12px;color:var(--text-3)}.inbox-counts .count b{color:var(--ink);font-size:14px;margin-right:2px}.inbox-counts .count.red b{color:var(--red)}.inbox-counts .count.amber b{color:var(--amber)}.inbox-list{display:flex;flex-direction:column}.inbox-item{display:grid;grid-template-columns:104px minmax(0,1fr) auto;gap:12px;align-items:start;padding:10px 4px;border-top:1px solid var(--border)}.inbox-item:first-child{border-top:0}.inbox-item.is-overdue{background:linear-gradient(90deg,var(--red-soft),transparent 40%);border-radius:6px}.inbox-item.aggregate{background:var(--surface-2);border-radius:6px;border-top:0;margin-top:8px}.inbox-type{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:600;text-align:center;line-height:1.25}.inbox-type.red{background:var(--red-soft);color:var(--red)}.inbox-type.amber{background:var(--amber-soft);color:var(--amber)}.inbox-type.blue{background:var(--blue-soft);color:var(--blue)}.inbox-type.gray{background:var(--gray-soft);color:var(--gray)}.inbox-main{min-width:0}.inbox-title{display:flex;gap:8px;flex-wrap:wrap;align-items:baseline;font-size:13px}.inbox-title a{font-weight:600;color:var(--ink)}.inbox-title a:hover{color:var(--accent)}.inbox-title span{color:var(--text-2)}.inbox-excerpt{font-size:13px;color:var(--text-2);margin-top:2px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.inbox-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:11px;color:var(--text-4);margin-top:3px}.inbox-meta .due{color:var(--text-3)}.inbox-meta .due.overdue{color:var(--red);font-weight:600}.inbox-meta .due.today{color:var(--amber);font-weight:600}.inbox-meta .note{color:var(--amber)}.inbox-actions{display:flex;gap:6px;align-items:center}.inbox-empty{display:flex;gap:12px;align-items:center;padding:18px 8px;color:var(--text-3);font-size:13px}.inbox-empty svg{font-size:22px;color:var(--green-solid)}.inbox-empty strong{display:block;color:var(--ink);font-size:14px}.fb-badge{display:inline-flex;align-items:center;min-height:18px;padding:1px 6px;border-radius:4px;font-size:11px;font-weight:600;line-height:1.2;white-space:nowrap}.fb-badge.review.read,.fb-badge.review.resolved{background:var(--green-soft);color:var(--green)}.fb-badge.review.needs_more{background:var(--amber-soft);color:var(--amber)}.fb-badge.review.none{background:var(--surface-3);color:var(--text-3);border:1px dashed var(--border-strong)}.fb-badge.reminder.open{background:var(--blue-soft);color:var(--blue)}.fb-badge.reminder.overdue{background:var(--red-soft);color:var(--red)}.fb-badge.reminder.replied{background:var(--amber-soft);color:var(--amber)}.fb-badge.reminder.closed{background:var(--surface-3);color:var(--text-3)}.fb-badge.support.open{background:var(--amber-soft);color:var(--amber)}.fb-badge.support.accepted{background:var(--blue-soft);color:var(--blue)}.fb-badge.support.declined{background:var(--surface-3);color:var(--text-3)}.fb-badge.support.done{background:var(--green-soft);color:var(--green)}.fb-block{margin-top:8px;padding:8px 10px;border-radius:6px;background:var(--surface-2);border-left:2px solid var(--border-strong);font-size:12px;color:var(--text-2);display:flex;flex-direction:column;gap:2px}.fb-block b{color:var(--ink);font-weight:600}.fb-block small{color:var(--text-4)}.fb-block .warn{color:var(--red);font-weight:600}.fb-block.review{border-left-color:var(--green-solid)}.fb-block.support{border-left-color:var(--amber-solid)}.fb-block.reminder{border-left-color:var(--blue)}.fb-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.context-box.reply{background:var(--blue-soft);border-color:#b2ccff}.context-box.reply svg{font-size:18px;color:var(--blue);flex:none;margin-top:2px}.overview-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--s-4);margin-bottom:var(--s-4)}.overview-grid>.panel{min-width:0}.panel+.panel{margin-top:var(--s-4)}.intervene-list{display:flex;flex-direction:column}.intervene{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:12px;padding:12px 4px 12px 0;border-top:1px solid var(--border);align-items:start;position:relative}.intervene:first-child{border-top:0}.intervene .rail{width:4px;height:100%;border-radius:2px;margin-left:6px;min-height:40px}.intervene .rail.red{background:var(--red-solid)}.intervene .rail.amber{background:var(--amber-solid)}.intervene .rail.green{background:var(--green-solid)}.intervene .rail.gray{background:var(--gray-solid)}.intervene-main{min-width:0}.intervene-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.intervene-title a{font-size:14px;font-weight:600;color:var(--ink)}.intervene-title a:hover{color:var(--accent)}.intervene-meta{color:var(--text-3);font-size:12px;margin-top:2px;display:flex;gap:8px;flex-wrap:wrap}.intervene-meta b{color:var(--text-2);font-weight:500}.intervene-node{margin-top:6px;font-size:13px;color:var(--text);display:flex;gap:6px;flex-wrap:wrap;align-items:baseline}.intervene-node .lbl{color:var(--text-4);font-size:12px}.intervene-node .overdue{color:var(--red);font-weight:600}.intervene-node .soon{color:var(--amber);font-weight:600}.quote{margin-top:6px;font-size:13px;color:var(--text-2);line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.quote:before{content:"“";color:var(--text-4)}.quote:after{content:"”";color:var(--text-4)}.quote-meta{font-size:11px;color:var(--text-4);margin-top:2px}.intervene-actions{display:flex;flex-direction:column;gap:6px;align-items:stretch}.intervene-actions .btn{justify-content:flex-start}.more-row{padding-top:12px;border-top:1px solid var(--border);display:flex;justify-content:center}.owner-table{display:flex;flex-direction:column}.owner-row{display:grid;grid-template-columns:minmax(0,1.2fr) 1.6fr 92px;gap:12px;align-items:center;padding:9px 6px;border-top:1px solid var(--border);border-radius:6px;text-align:left;width:100%;transition:background var(--t-fast)}.owner-row:first-child{border-top:0}.owner-row:hover{background:var(--surface-2)}.owner-row.head{color:var(--text-3);font-size:12px;padding:4px 6px 8px;border-top:0;cursor:default}.owner-row.head:hover{background:none}.owner-name{display:flex;align-items:center;gap:8px;min-width:0}.owner-name .avatar{width:26px;height:26px;font-size:12px;background:var(--brand-soft);color:var(--brand)}.owner-name .avatar.unknown{background:var(--surface-3);color:var(--text-3);border:1px dashed var(--border-strong)}.owner-name div{min-width:0}.owner-name strong{display:block;font-size:13px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.owner-name small{display:block;font-size:11px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-stack{display:flex;flex-direction:column;gap:4px}.mini-bar{display:flex;height:8px;border-radius:4px;overflow:hidden;background:var(--surface-3)}.mini-bar i{display:block;height:100%}.mini-bar .red{background:var(--red-solid)}.mini-bar .amber{background:var(--amber-solid)}.mini-bar .green{background:var(--green-solid)}.mini-bar .gray{background:var(--gray-solid)}.mini-legend{display:flex;gap:10px;font-size:11px;color:var(--text-3)}.mini-legend b{color:var(--ink);font-weight:600}.mini-legend .red b{color:var(--red)}.mini-legend .amber b{color:var(--amber)}.owner-flag{font-size:11px;font-weight:600;text-align:right;line-height:1.3;white-space:nowrap}.owner-flag.red{color:var(--red)}.owner-flag.amber{color:var(--amber)}.owner-flag.muted{color:var(--text-4);font-weight:500}.region-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--s-3)}.region-card{text-align:left;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);transition:border-color var(--t-fast),box-shadow var(--t-fast),transform var(--t-fast);display:flex;flex-direction:column;gap:8px;min-width:0}.region-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.region-card.pending{border-style:dashed;background:var(--surface-2)}.region-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:6px}.region-card-head strong{font-size:14px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.region-card-head span{font-size:12px;color:var(--text-3);white-space:nowrap}.region-card small{font-size:11px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collapsible{padding:0}.collapse-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:var(--s-4) var(--s-5);text-align:left;border-radius:var(--radius)}.collapse-toggle h2{font-size:15px;font-weight:600;color:var(--ink)}.collapse-toggle svg{font-size:18px;color:var(--text-3);transition:transform var(--t-base)}.collapse-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.collapse-body{padding:0 var(--s-5) var(--s-5);border-top:1px solid var(--border)}.fact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-3);padding-top:var(--s-4)}.fact{padding:10px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:left;transition:border-color var(--t-fast)}.fact:hover{border-color:var(--border-strong)}.fact strong{display:block;font-size:20px;color:var(--ink);line-height:1.2}.fact span{display:block;font-size:12px;color:var(--text-2);margin-top:2px}.fact small{display:block;font-size:11px;color:var(--text-4);margin-top:2px}.source-note{margin-top:var(--s-3);font-size:12px;color:var(--text-3);line-height:1.6}.scope-bar{display:flex;flex-direction:column;gap:10px;padding:12px var(--s-4);margin-bottom:var(--s-3)}.toolbar{display:flex;gap:var(--s-2);flex-wrap:wrap;align-items:center;margin-bottom:var(--s-3)}.table-card{overflow:clip}.table-scroll{overflow-x:clip}.ledger-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;min-width:1040px}.ledger-table th{position:sticky;top:var(--topbar-h);z-index:2;background:var(--surface-2);color:var(--text-3);font-size:12px;font-weight:600;text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);white-space:nowrap}.ledger-table td{padding:11px 12px;border-bottom:1px solid var(--border);vertical-align:top;font-size:13px}.ledger-table tbody tr.row{transition:background var(--t-fast);cursor:pointer}.ledger-table tbody tr.row:hover,.ledger-table tbody tr.row.is-open{background:var(--surface-2)}.ledger-table tbody tr.row:focus-within{background:var(--surface-2)}.ledger-table tbody tr.row td:first-child{border-left:3px solid transparent}.ledger-table tbody tr.row.red td:first-child{border-left-color:var(--red-solid)}.ledger-table tbody tr.row.amber td:first-child{border-left-color:var(--amber-solid)}.ledger-table tbody tr.row.green td:first-child{border-left-color:var(--green-solid)}.ledger-table tbody tr.row.gray td:first-child{border-left-color:var(--gray-line)}.ledger-table tbody tr.group-row td{background:var(--surface-3);color:var(--ink);font-weight:600;font-size:13px;padding:8px 12px}.ledger-table tbody tr.group-row .group-counts{margin-left:10px;font-weight:500;color:var(--text-3);font-size:12px}.ledger-table tbody tr.group-row .group-counts b{font-weight:600}.ledger-table tbody tr.group-row .group-counts .red{color:var(--red)}.ledger-table tbody tr.group-row .group-counts .amber{color:var(--amber)}.ledger-table tbody tr.group-row .group-counts .green{color:var(--green)}.ledger-table tbody tr.detail-row td{background:var(--surface-2);padding:0 12px 14px 44px;border-bottom:1px solid var(--border)}.col-signal{width:150px}.col-project{width:20%}.col-owner{width:118px}.col-node{width:19%}.col-followup{width:auto}.col-next{width:18%}.col-actions{width:88px}.cell-signal{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.cell-signal small{font-size:11px;color:var(--text-4);line-height:1.3}.project-name{font-weight:600;color:var(--ink);font-size:13px;line-height:1.4;display:block}.project-name:hover{color:var(--accent);text-decoration:none}.tag-row{display:flex;gap:4px;flex-wrap:wrap;align-items:center;margin-top:4px}.cell-owner strong{display:block;font-size:13px;color:var(--text);font-weight:500}.cell-owner span{display:block;font-size:12px;color:var(--text-3)}.cell-owner .missing{color:var(--amber);font-weight:500}.cell-node .node-title{display:block;color:var(--text);font-weight:500;line-height:1.4}.cell-node .node-meta{display:block;font-size:12px;color:var(--text-3);margin-top:2px}.cell-node .node-meta b{font-weight:600}.cell-node .node-meta b.red{color:var(--red)}.cell-node .node-meta b.amber{color:var(--amber)}.cell-node .node-meta b.green{color:var(--green)}.cell-node .no-ledger{color:var(--text-3);font-size:12px}.cell-followup .excerpt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--text);line-height:1.5}.cell-followup .excerpt.none{color:var(--text-4)}.cell-followup .stamp{font-size:11px;color:var(--text-4);margin-top:3px;display:flex;gap:6px;flex-wrap:wrap}.cell-followup .stamp b{font-weight:500;color:var(--text-3)}.cell-followup .stamp .stale{color:var(--amber);font-weight:600}.cell-next .excerpt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--text-2);line-height:1.5}.cell-next .promise{font-size:11px;color:var(--text-3);margin-top:3px}.cell-next .promise b{color:var(--text-2)}.fill-next{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-4);border:1px dashed var(--border-strong);border-radius:6px;padding:3px 8px;transition:color var(--t-fast),border-color var(--t-fast),background var(--t-fast)}.fill-next svg{font-size:13px}.fill-next:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.cell-actions{display:flex;gap:4px;justify-content:flex-end}.cell-actions .icon-btn{width:30px;height:30px;color:var(--text-3);border:1px solid transparent}.cell-actions .icon-btn:hover{background:var(--surface-3);color:var(--ink)}.cell-actions .icon-btn[aria-expanded=true] svg{transform:rotate(90deg)}.cell-actions .icon-btn svg{font-size:16px;transition:transform var(--t-fast)}.detail-inline{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--s-4);padding-top:12px}.detail-inline h4{font-size:12px;font-weight:600;color:var(--text-3);margin-bottom:6px;display:flex;align-items:center;gap:8px}.detail-inline .full-text{font-size:13px;line-height:1.65;color:var(--text);white-space:pre-line;max-height:260px;overflow:auto;padding-right:8px}.detail-inline .semantic{display:grid;grid-template-columns:72px 1fr;gap:4px 10px;font-size:13px}.detail-inline .semantic dt{color:var(--text-3)}.detail-inline .semantic dd{color:var(--text)}.detail-inline .history{border-top:1px dashed var(--border);margin-top:10px;padding-top:8px;font-size:12px;color:var(--text-3)}.detail-inline .history li{padding:3px 0;display:flex;gap:8px}.detail-inline .history li b{color:var(--text-2);font-weight:500;white-space:nowrap}.detail-inline-actions{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}.active-node{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:5px 0;font-size:13px;border-top:1px dashed var(--border)}.active-node:first-of-type{border-top:0}.active-node a{color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.active-node a:hover{color:var(--accent)}.active-node .plan{color:var(--text-4);font-size:12px;white-space:nowrap}.muted-note{color:var(--text-3);font-size:13px}.table-foot{display:flex;justify-content:space-between;gap:12px;padding:10px 14px;font-size:12px;color:var(--text-3);border-top:1px solid var(--border);flex-wrap:wrap}.empty{padding:40px 20px;text-align:center;color:var(--text-3);display:flex;flex-direction:column;align-items:center;gap:6px}.empty strong{color:var(--ink);font-size:15px}.empty .btn{margin-top:8px}.card-list{display:none;flex-direction:column}.pcard{padding:12px 14px 12px 12px;border-bottom:1px solid var(--border);border-left:3px solid transparent;display:flex;flex-direction:column;gap:6px}.pcard.red{border-left-color:var(--red-solid)}.pcard.amber{border-left-color:var(--amber-solid)}.pcard.green{border-left-color:var(--green-solid)}.pcard.gray{border-left-color:var(--gray-line)}.pcard-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.pcard-head a{font-weight:600;color:var(--ink);font-size:14px}.pcard .meta{font-size:12px;color:var(--text-3)}.pcard .node{font-size:13px}.pcard .node b.red{color:var(--red)}.pcard .node b.amber{color:var(--amber)}.pcard .node b.green{color:var(--green)}.pcard .quote{margin-top:0}.pcard-actions{display:flex;gap:6px;margin-top:4px}.pcard-group{padding:8px 12px;background:var(--surface-3);font-weight:600;font-size:13px;color:var(--ink);border-bottom:1px solid var(--border)}.crumbs{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-3);margin-bottom:var(--s-3)}.crumbs a{display:inline-flex;align-items:center;gap:4px;color:var(--text-2);font-weight:500}.crumbs a:hover{color:var(--accent)}.crumbs span:last-child{color:var(--ink);font-weight:500}.project-head{padding:var(--s-4) var(--s-5);display:flex;justify-content:space-between;gap:var(--s-4);margin-bottom:var(--s-3);align-items:flex-start}.project-head .eyebrow{font-size:12px;color:var(--text-3);display:flex;gap:6px;align-items:center;flex-wrap:wrap}.project-head h1{font-size:20px;font-weight:700;color:var(--ink);margin:4px 0 8px;letter-spacing:-.01em;line-height:1.3}.project-head .tag-row{margin-top:0;gap:6px}.project-head .tag-row .sep{color:var(--text-4);font-size:12px;align-self:center}.project-head .actions{display:flex;gap:var(--s-2);flex-wrap:wrap;justify-content:flex-end;flex:none}.status-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s-4);padding:12px var(--s-5);margin-bottom:var(--s-4);align-items:center;border-left:4px solid var(--gray-line)}.status-line.red{border-left-color:var(--red-solid)}.status-line.amber{border-left-color:var(--amber-solid)}.status-line.green{border-left-color:var(--green-solid)}.status-line p{font-size:14px;color:var(--text);line-height:1.6}.status-line p b{color:var(--ink);font-weight:600}.status-line p .red{color:var(--red);font-weight:600}.status-line p .amber{color:var(--amber);font-weight:600}.status-line p .green{color:var(--green);font-weight:600}.status-line .stats{display:flex;gap:var(--s-4)}.status-line .stat{text-align:center;min-width:56px}.status-line .stat strong{display:block;font-size:20px;color:var(--ink);line-height:1.1}.status-line .stat.red strong{color:var(--red)}.status-line .stat.amber strong{color:var(--amber)}.status-line .stat.green strong{color:var(--green)}.status-line .stat span{font-size:11px;color:var(--text-3)}.project-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:var(--s-4);align-items:start}.project-main{display:flex;flex-direction:column;gap:var(--s-4);min-width:0}.project-main .panel+.panel{margin-top:0}.project-side{display:flex;flex-direction:column;gap:var(--s-4);min-width:0}.project-side .panel+.panel{margin-top:0}.project-grid.no-ledger{grid-template-columns:minmax(0,1fr) 380px}.project-grid.no-ledger .ledger-panel .panel-tools{display:none}.stream-panel.is-main .stream-item{padding-left:26px}.stream-panel.is-main .stream-body{font-size:14px}.ledger-panel{padding-bottom:var(--s-2)}.ledger-panel .panel-head{margin-bottom:var(--s-2)}.node-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.node-table th{text-align:left;font-size:12px;color:var(--text-3);font-weight:600;padding:8px;border-bottom:1px solid var(--border);background:var(--surface);position:sticky;top:var(--topbar-h);z-index:1;white-space:nowrap}.node-table td{padding:8px;border-bottom:1px solid var(--border);font-size:13px;vertical-align:top}.node-table tr.phase td{background:var(--surface-3);font-weight:600;color:var(--ink);padding:7px 8px;cursor:pointer}.node-table tr.phase td .phase-line{display:flex;align-items:center;gap:10px}.node-table tr.phase td .phase-line svg{font-size:16px;color:var(--text-3);transition:transform var(--t-fast)}.node-table tr.phase[aria-expanded=true] td .phase-line svg{transform:rotate(90deg)}.node-table tr.phase .phase-progress{margin-left:auto;display:flex;align-items:center;gap:10px;font-weight:500;color:var(--text-3);font-size:12px}.node-table tr.phase .phase-progress .mini-bar{width:90px}.node-table tr.phase .phase-progress .signal{min-height:20px;padding-top:1px;padding-bottom:1px;font-size:11px}.node-table tr.phase.done-summary td{background:var(--surface-2);color:var(--text-2);font-weight:500}.node-table tr.phase.done-summary .phase-line>span:first-of-type{color:var(--text-2)}.node-table tr.phase.done-summary .phase-line small{color:var(--text-4);font-weight:400;margin-left:4px}.node-table tr.phase.nested td{padding-left:28px;background:var(--surface)}.node-table tr.phase.nested td .phase-line{color:var(--text-2);font-weight:500}.node-table tr.node{transition:background var(--t-fast)}.node-table tr.node:hover{background:var(--surface-2)}.node-table tr.node.is-target{background:var(--accent-soft)}.node-table tr.node td:first-child{border-left:3px solid transparent}.node-table tr.node.red td:first-child{border-left-color:var(--red-solid)}.node-table tr.node.amber td:first-child{border-left-color:var(--amber-solid)}.node-table tr.node.green td:first-child{border-left-color:var(--green-solid)}.node-table tr.node.gray td:first-child{border-left-color:transparent}.node-table .n-idx{width:40px;color:var(--text-4);font-size:12px}.node-table .n-title{width:auto}.node-table .n-plan,.node-table .n-actual{width:112px}.node-table .n-owner{width:104px}.node-table .n-status{width:80px}.node-table .n-signal{width:150px}.node-table .n-act{width:64px}.node-title-text{color:var(--ink);font-weight:500;line-height:1.4}.node-title-text.done{color:var(--text-2);font-weight:400}.node-note{display:block;margin-top:4px;font-size:12px;color:var(--text-3);line-height:1.5;white-space:pre-line}.node-note b{color:var(--text-2);font-weight:500}.node-note.followup{color:var(--text-2);padding:6px 8px;background:var(--surface-2);border-radius:6px;border-left:2px solid var(--border-strong)}.node-note.followup .who{font-size:11px;color:var(--text-4);margin-left:6px}.date-pair{display:flex;flex-direction:column;font-size:12px;color:var(--text-2);line-height:1.4;white-space:nowrap}.date-pair .to,.date-pair s{color:var(--text-4)}.date-pair .approved{color:var(--blue);font-weight:600}.date-pair .late{color:var(--red);font-size:11px}.date-pair .none{color:var(--text-4)}.status-pill{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-2);white-space:nowrap}.status-pill:before{content:"";width:7px;height:7px;border-radius:2px;background:var(--gray-line)}.status-pill.done:before{background:var(--green-solid)}.status-pill.doing:before{background:var(--blue)}.status-pill.todo:before{background:var(--gray-line)}.n-signal .signal{max-width:100%}.n-signal small{display:block;font-size:11px;color:var(--text-4);margin-top:3px}.n-signal .done-note{font-size:12px;color:var(--text-3)}.node-actions{display:flex;gap:2px;justify-content:flex-end}.node-actions .icon-btn{width:28px;height:28px;color:var(--text-3)}.node-actions .icon-btn:hover{background:var(--surface-3);color:var(--ink)}.node-actions .icon-btn svg{font-size:15px}.ledger-empty{padding:28px 16px;text-align:center;border:1px dashed var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-2);display:flex;flex-direction:column;align-items:center;gap:8px}.ledger-empty strong{color:var(--ink);font-size:15px}.ledger-empty p{color:var(--text-3);font-size:13px;max-width:520px;line-height:1.6}.ledger-empty .btn{margin-top:4px}.ledger-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--text-3);padding:10px 8px 4px;border-top:1px solid var(--border);margin-top:4px}.ledger-legend .signal{min-height:20px;padding-top:1px;padding-bottom:1px;font-size:11px}.timeline{padding:8px 4px 4px;overflow-x:auto}.timeline svg{width:100%;height:auto;display:block;font-family:var(--font);stroke:none;stroke-width:0}.timeline svg text{stroke:none}.timeline .tick-label{font-size:11px;fill:var(--text-3)}.timeline .grid-line{stroke:var(--border);stroke-width:1}.timeline .year-line{stroke:var(--border-strong);stroke-width:1}.timeline .row-label{font-size:12px;fill:var(--ink);font-weight:500}.timeline .row-sub{font-size:11px;fill:var(--text-3)}.timeline .bar-plan{fill:var(--surface-3);stroke:var(--border-strong);stroke-width:1}.timeline .bar-actual{stroke:none}.timeline .bar-actual.done{fill:var(--green-solid)}.timeline .bar-actual.doing{fill:var(--blue)}.timeline .bar-actual.red{fill:var(--red-solid)}.timeline .bar-actual.amber{fill:var(--amber-solid)}.timeline .node-mark{stroke:#fff;stroke-width:1.5}.timeline .node-mark.red{fill:var(--red-solid)}.timeline .node-mark.amber{fill:var(--amber-solid)}.timeline .node-mark.green{fill:var(--green-solid)}.timeline .today-line{stroke:var(--red-solid);stroke-width:1.5;stroke-dasharray:4 3}.timeline .today-label{font-size:11px;fill:var(--red);font-weight:600}.timeline .row-bg:nth-child(2n){fill:var(--surface-2)}.stream{display:flex;flex-direction:column;gap:0;position:relative}.stream-item{position:relative;padding:10px 0 12px 22px;border-top:1px solid var(--border)}.stream-item:first-child{border-top:0;padding-top:4px}.stream-item:before{content:"";position:absolute;left:4px;top:16px;width:10px;height:10px;border-radius:50%;background:var(--gray-solid);border:2px solid #fff;box-shadow:0 0 0 1px var(--gray-line)}.stream-item:first-child:before{top:10px}.stream-item.red:before{background:var(--red-solid);box-shadow:0 0 0 1px var(--red-line)}.stream-item.amber:before{background:var(--amber-solid);box-shadow:0 0 0 1px var(--amber-line)}.stream-item.green:before{background:var(--green-solid);box-shadow:0 0 0 1px var(--green-line)}.stream-item.action:before{background:var(--blue);box-shadow:0 0 0 1px #b2ccff}.stream-item.is-new{animation:flash 1.6s ease-out}@keyframes flash{0%{background:var(--accent-soft)}to{background:transparent}}.stream-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--text-3)}.stream-head strong{color:var(--ink);font-size:13px}.stream-head .kind{font-size:11px;padding:1px 6px;border-radius:4px;background:var(--surface-3);color:var(--text-2);font-weight:600}.stream-head .kind.source{background:var(--blue-soft);color:var(--blue)}.stream-head .kind.note{background:var(--surface-3);color:var(--text-2)}.stream-head .kind.action{background:var(--brand-soft);color:var(--brand)}.stream-head .kind.user{background:var(--green-soft);color:var(--green)}.stream-node{margin-top:4px;font-size:12px;color:var(--text-3)}.stream-node b{color:var(--text-2);font-weight:500}.stream-body{margin-top:6px;font-size:13px;color:var(--text);line-height:1.6;white-space:pre-line}.stream-body.clamp{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;white-space:normal}.stream-more{font-size:12px;color:var(--accent);margin-top:2px}.stream-more:hover{text-decoration:underline}.stream-sem{display:grid;grid-template-columns:56px 1fr;gap:3px 8px;margin-top:6px;font-size:13px}.stream-sem dt{color:var(--text-3);font-size:12px;padding-top:1px}.stream-sem dd{color:var(--text);line-height:1.55}.stream-sem dd.next{color:var(--ink);font-weight:500}.stream-filter{display:flex;gap:4px;margin-bottom:8px}.stream-filter button{font-size:12px;padding:4px 8px;border-radius:6px;color:var(--text-2)}.stream-filter button:hover{background:var(--surface-2)}.stream-filter button[aria-pressed=true]{background:var(--ink);color:#fff}.version-list{display:flex;flex-direction:column;gap:8px}.version-item{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.version-item.pending{border-color:var(--amber-line);background:var(--amber-soft)}.version-item>div:first-child{padding-top:1px}.version-item strong{display:block;font-size:13px;color:var(--ink);line-height:1.4}.version-item span{display:block;font-size:12px;color:var(--text-3);margin-top:2px;line-height:1.5}.version-item .version-actions{display:flex;flex-direction:column;gap:4px}.version-item ul{margin-top:6px;font-size:12px;color:var(--text-2)}.version-item ul li{display:flex;gap:6px;padding:2px 0;flex-wrap:wrap}.version-item ul li s{color:var(--text-4)}.version-item ul li b{color:var(--blue);font-weight:600}.version-empty{font-size:13px;color:var(--text-3);line-height:1.6}.kv{display:grid;grid-template-columns:88px 1fr;gap:6px 10px;font-size:13px}.kv dt{color:var(--text-3)}.kv dd{color:var(--text);word-break:break-word;line-height:1.5}.kv dd.muted{color:var(--text-4)}.modal-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:20px}.modal-layer[hidden]{display:none}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a7a;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{position:relative;width:min(680px,100%);max-height:calc(100vh - 40px);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:pop var(--t-base) ease-out}.modal.wide{width:min(880px,100%)}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:none}}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 22px 12px;border-bottom:1px solid var(--border)}.modal-head h2{font-size:17px;font-weight:700;color:var(--ink)}.modal-head p{color:var(--text-3);font-size:13px;margin-top:2px}.modal-head .icon-btn{color:var(--text-3)}.modal-head .icon-btn:hover{background:var(--surface-3)}.modal-body{padding:16px 22px;overflow:auto}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 22px 16px;border-top:1px solid var(--border);background:var(--surface-2)}.modal-foot .left{margin-right:auto;font-size:12px;color:var(--text-3);align-self:center}.context-box{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:14px;font-size:13px}.context-box strong{color:var(--ink);display:block}.context-box span{color:var(--text-3);font-size:12px;display:block;margin-top:2px}.form{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}.form .full{grid-column:1 / -1}.f{display:flex;flex-direction:column;gap:5px}.f>span{font-size:12px;font-weight:600;color:var(--text-2);display:flex;justify-content:flex-start;align-items:baseline;gap:8px}.f>span em{font-style:normal;font-weight:400;color:var(--text-4);margin-left:auto}.f.req>span:before{content:"*";color:var(--red-solid);margin-right:-4px;order:-1}.f input,.f select,.f textarea{width:100%;border:1px solid var(--border-strong);border-radius:8px;padding:8px 10px;font-size:14px;background:var(--surface);transition:border-color var(--t-fast),box-shadow var(--t-fast);color:var(--ink)}.f input:focus,.f select:focus,.f textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.f textarea{min-height:72px;resize:vertical;line-height:1.5}.f small{font-size:12px;color:var(--text-3)}.f .error{color:var(--red);font-size:12px;display:none}.f.invalid input,.f.invalid textarea,.f.invalid select{border-color:var(--red-solid)}.f.invalid .error{display:block}.judge{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.judge label{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:border-color var(--t-fast),background var(--t-fast);position:relative}.judge label input{position:absolute;opacity:0;pointer-events:none}.judge label strong{font-size:13px;display:flex;align-items:center;gap:6px}.judge label strong:before{content:"";width:9px;height:9px;border-radius:50%}.judge label small{font-size:11px;color:var(--text-3)}.judge label.red strong{color:var(--red)}.judge label.red strong:before{background:var(--red-solid)}.judge label.amber strong{color:var(--amber)}.judge label.amber strong:before{background:var(--amber-solid)}.judge label.green strong{color:var(--green)}.judge label.green strong:before{background:var(--green-solid)}.judge label:has(input:checked){border-color:var(--ink);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--ink)}.judge label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.computed-signal{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);font-size:13px;color:var(--text-2)}.computed-signal b{color:var(--ink)}.rule-table{width:100%;border-collapse:collapse;font-size:13px}.rule-table th,.rule-table td{text-align:left;padding:8px;border-bottom:1px solid var(--border)}.rule-table th{font-size:12px;color:var(--text-3);font-weight:600}.rule-table input{width:72px;border:1px solid var(--border-strong);border-radius:6px;padding:5px 8px;font-size:13px;text-align:right}.rule-table td.muted{color:var(--text-3);font-size:12px}.rule-list{font-size:13px;color:var(--text-2);line-height:1.7;padding-left:0}.rule-list li{display:flex;gap:8px;align-items:flex-start;padding:3px 0}.rule-list .signal{margin-top:3px}.node-picker{max-height:240px;overflow:auto;border:1px solid var(--border);border-radius:8px}.node-picker label{display:grid;grid-template-columns:18px 1fr auto;gap:10px;align-items:center;padding:8px 10px;border-bottom:1px solid var(--border);font-size:13px;cursor:pointer}.node-picker label:last-child{border-bottom:0}.node-picker label:hover{background:var(--surface-2)}.node-picker label input{margin:0;accent-color:var(--accent)}.node-picker label span{color:var(--text-3);font-size:12px;white-space:nowrap}.node-picker label .signal{min-height:20px;padding-top:1px;padding-bottom:1px;font-size:11px}.adjust-rows{display:flex;flex-direction:column;gap:8px;margin-top:8px}.adjust-row{display:grid;grid-template-columns:1fr 130px 24px 150px;gap:10px;align-items:center;padding:8px 10px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;font-size:13px}.adjust-row .old{color:var(--text-3);font-size:12px;text-align:right}.adjust-row svg{color:var(--text-4)}.adjust-row input{border:1px solid var(--border-strong);border-radius:6px;padding:5px 8px;font-size:13px}.diff-list{font-size:13px}.diff-list li{display:grid;grid-template-columns:1fr auto auto auto;gap:8px;padding:6px 0;border-bottom:1px solid var(--border);align-items:center}.diff-list li s{color:var(--text-4)}.diff-list li b{color:var(--blue)}.option-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px}.option-cards label{border:1px solid var(--border);border-radius:8px;padding:10px 12px;cursor:pointer;display:flex;flex-direction:column;gap:2px;position:relative}.option-cards label input{position:absolute;opacity:0}.option-cards label strong{font-size:13px;color:var(--ink)}.option-cards label small{font-size:12px;color:var(--text-3)}.option-cards label:has(input:checked){border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:var(--surface-2)}.nav-count.amber{background:var(--amber-solid);color:var(--ink)}a.tag{text-decoration:none}a.tag:hover{text-decoration:none;filter:brightness(.94)}a.tag.version small{font-family:var(--font);font-weight:500;color:var(--amber)}.tag.version.lg{height:24px;font-size:12px;padding:0 9px}.tag.state{font-weight:600}.tag.state.released{background:var(--green-soft);color:var(--green)}.tag.state.history{background:var(--surface-3);color:var(--text-2)}.tag.state.pending{background:var(--amber-soft);color:var(--amber)}.tag.state.rejected{background:var(--red-soft);color:var(--red)}.h1-sub{font-size:14px;font-weight:500;color:var(--text-3);margin-left:8px}.signal-link{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-3)}.signal-link:hover{text-decoration:none;color:var(--accent)}.muted{color:var(--text-4)}code,.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.kv dd.mono{letter-spacing:.02em}.field.search.small{flex:none;min-width:200px;height:30px;font-size:12px}.field.search.small input{font-size:12px}.field.search.small svg{font-size:14px}.fact.amber strong{color:var(--amber)}.fact.static{cursor:default}.fact.static:hover{border-color:var(--border)}.fact.muted-warn strong{color:var(--amber)}.fact strong small{display:inline;margin:0;font-size:12px;font-weight:500;color:var(--text-4)}.chip.amber .dot{background:var(--amber-solid)}.ledger-legend code{background:var(--surface-3);padding:1px 5px;border-radius:4px;color:var(--text-2)}.diff-list li span:first-child{color:var(--text)}.diff-list li span:last-child{color:var(--text-3);font-size:12px}.plans-summary{margin-bottom:var(--s-3);display:flex;flex-direction:column;gap:var(--s-3)}.plans-facts{padding-top:0;grid-template-columns:repeat(6,minmax(0,1fr))}.plans-facts .fact{background:var(--surface)}.template-card{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 16px;background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius)}.template-card>svg{font-size:22px;color:var(--brand)}.template-card strong{display:block;font-size:13px;color:var(--ink)}.template-card span{display:block;font-size:12px;color:var(--text-3);margin-top:2px;line-height:1.5}.template-actions{display:flex;gap:6px;flex:none}.plans-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;min-width:1080px}.plans-table th{position:sticky;top:var(--topbar-h);z-index:2;background:var(--surface-2);color:var(--text-3);font-size:12px;font-weight:600;text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);white-space:nowrap}.plans-table td{padding:11px 12px;border-bottom:1px solid var(--border);vertical-align:top;font-size:13px}.plans-table td .sub{display:block;font-size:12px;color:var(--text-3);margin-top:2px;line-height:1.45}.plans-table td .sub b.red{color:var(--red)}.plans-table td .sub b.amber{color:var(--amber)}.plans-table td .sub b.green{color:var(--green)}.plans-table td strong{font-weight:600;color:var(--ink);font-size:13px;line-height:1.4;display:block}.plans-table td strong.muted{color:var(--text-3);font-weight:500}.plans-table tr.plan-row td:first-child{border-left:3px solid transparent}.plans-table tr.plan-row.pending td:first-child{border-left-color:var(--amber-solid)}.plans-table tr.plan-row.released td:first-child{border-left-color:var(--green-solid)}.plans-table tr.plan-row.none td:first-child{border-left-color:var(--gray-line)}.plans-table tr.plan-row:hover{background:var(--surface-2)}.plans-table tr.group-row td{background:var(--surface-3);color:var(--ink);font-weight:600;font-size:13px;padding:8px 12px;cursor:pointer}.plans-table tr.group-row .group-line{display:flex;align-items:center;gap:8px}.plans-table tr.group-row .group-line svg{font-size:16px;color:var(--text-3);transition:transform var(--t-fast)}.plans-table tr.group-row.is-open .group-line svg{transform:rotate(90deg)}.plans-table tr.group-row .group-counts{font-weight:500;color:var(--text-3);font-size:12px}.plans-table .pc-project{width:20%}.plans-table .pc-status,.plans-table .pc-scale{width:140px}.plans-table .pc-range{width:176px}.plans-table .pc-next{width:auto}.plans-table .pc-issues,.plans-table .pc-change{width:160px}.plans-table .pc-actions{width:148px}.plans-table .pc-scale .mini-bar{display:flex;width:100px;margin-top:5px}.status-stack{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.plan-state{font-size:12px;font-weight:600}.plan-state.pending{color:var(--amber)}.plan-state.released{color:var(--green)}.issue-row{display:flex;flex-wrap:wrap;gap:4px}.issue{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:5px;font-size:11px;font-weight:600;background:var(--surface-3);color:var(--text-2);white-space:nowrap}.issue.red{background:var(--red-soft);color:var(--red)}.issue.amber{background:var(--amber-soft);color:var(--amber)}.plan-group-card{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left}.plan-group-card svg{font-size:16px;color:var(--text-3);transition:transform var(--t-fast)}.plan-group-card[aria-expanded=true] svg{transform:rotate(90deg)}.pcard .issue-row{margin-top:2px}.plan-head .tag-row{align-items:center}.version-bar{padding:12px var(--s-5) 12px;margin-bottom:var(--s-3);display:flex;flex-direction:column;gap:12px}.version-track{display:flex;align-items:stretch;gap:0;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.vnode{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:132px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);text-align:left;transition:border-color var(--t-fast),background var(--t-fast),box-shadow var(--t-fast);position:relative;flex:none}.vnode b{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;color:var(--ink);display:flex;align-items:center;gap:6px}.vnode b:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--gray-solid)}.vnode.released b:before{background:var(--green-solid)}.vnode.pending b:before{background:var(--amber-solid)}.vnode.rejected b:before{background:var(--red-solid)}.vnode span{font-size:12px;color:var(--text-2);font-weight:500}.vnode small{font-size:11px;color:var(--text-4)}.vnode:hover{border-color:var(--border-strong);background:var(--surface-2)}.vnode.is-current{border-color:var(--green-line);background:var(--green-soft)}.vnode.pending{border-color:var(--amber-line);background:var(--amber-soft)}.vnode.rejected{border-style:dashed}.vnode.is-active{box-shadow:0 0 0 2px var(--ink);border-color:var(--ink)}.vlink{width:22px;flex:none;align-self:center;height:2px;background:var(--border-strong);position:relative}.vlink:after{content:"";position:absolute;right:-1px;top:-3px;border:4px solid transparent;border-left-color:var(--border-strong)}.version-banner{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 14px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2)}.version-banner>svg{font-size:20px;color:var(--text-3)}.version-banner strong{display:block;font-size:13px;color:var(--ink)}.version-banner span{display:block;font-size:12px;color:var(--text-3);margin-top:2px;line-height:1.5}.version-banner code{background:var(--surface);border:1px solid var(--border);padding:0 5px;border-radius:4px}.version-banner.current{border-color:var(--green-line);background:var(--green-soft)}.version-banner.current>svg{color:var(--green)}.version-banner.history{border-color:var(--border-strong)}.version-banner.pending{border-color:var(--amber-line);background:var(--amber-soft)}.version-banner.pending>svg{color:var(--amber)}.version-banner.rejected{border-color:var(--red-line);background:var(--red-soft)}.version-banner.rejected>svg{color:var(--red)}.banner-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.plan-stats{display:flex;flex-wrap:wrap;gap:0;padding:4px var(--s-4);margin-bottom:var(--s-4)}.plan-stats .stat{flex:1 1 100px;min-width:100px;padding:10px 12px;border-right:1px solid var(--border);text-align:left}.plan-stats .stat:last-child{border-right:0}.plan-stats .stat.wide{flex:2 1 260px}.plan-stats .stat strong{display:block;font-size:18px;color:var(--ink);line-height:1.2;font-weight:700;letter-spacing:-.01em;white-space:nowrap}.plan-stats .stat strong small{font-size:12px;font-weight:500;color:var(--text-4)}.plan-stats .stat strong b.red{color:var(--red)}.plan-stats .stat strong b.amber,.plan-stats .stat.amber strong{color:var(--amber)}.plan-stats .stat span{display:block;font-size:11px;color:var(--text-3);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan-stats .link-stat{text-decoration:none;border-radius:6px;transition:background var(--t-fast)}.plan-stats .link-stat:hover{background:var(--surface-2);text-decoration:none}.plan-grid{display:flex;flex-direction:column;gap:var(--s-4)}.plan-main{min-width:0}.plan-side{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-4);min-width:0;align-items:start}.plan-side .panel+.panel{margin-top:0}.plan-grid.no-ledger .panel-tools{display:none}.plan-panel .panel-head{margin-bottom:var(--s-2)}.plan-table-scroll{overflow-x:auto;margin:0 calc(-1 * var(--s-5));padding:0 var(--s-5)}.plan-table{width:100%;min-width:1300px;border-collapse:collapse;table-layout:fixed;font-size:12px}.plan-table th,.plan-table td{border:1px solid var(--border);padding:6px 8px;vertical-align:top;text-align:left;line-height:1.45}.plan-table thead th{background:var(--surface-2);color:var(--text-3);font-weight:600;font-size:12px;text-align:center;z-index:1}@media(min-width:1380px){.plan-table-scroll{overflow:visible}.plan-table thead th{position:sticky}.plan-table thead tr:first-child th{top:var(--topbar-h)}.plan-table thead tr:last-child th{top:calc(var(--topbar-h) + var(--plan-th1, 37px))}}.plan-table .pt-idx{width:36px;text-align:center;color:var(--text-3);font-weight:600}.plan-table .pt-phase{width:120px}.plan-table .pt-phase strong{display:block;color:var(--ink);font-weight:600}.plan-table .pt-phase small{display:block;margin-top:3px;font-size:11px;color:var(--text-4);line-height:1.4}.plan-table .pt-phase small.confirmed{color:var(--green)}.plan-table .pt-phase small.pending{color:var(--amber)}.plan-table .pt-title{width:auto}.plan-table .pt-title-text{color:var(--ink);font-weight:500;display:inline-flex;align-items:flex-start;gap:4px}.plan-table .coin{font-size:14px;color:var(--amber);flex:none;margin-top:1px}.plan-table .pending-flag{display:block;font-size:11px;color:var(--amber);margin-top:2px}.plan-table .pt-date{width:88px;white-space:nowrap;color:var(--text-2)}.plan-table .pt-date s{color:var(--text-4);display:block}.plan-table .pt-date .ver{display:block;font-size:10px;color:var(--text-4);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.plan-table .pt-num{width:52px;text-align:right;color:var(--text-2)}.plan-table .pt-dev{width:78px;white-space:nowrap}.plan-table .pt-unit{width:96px;color:var(--text-2)}.plan-table .pt-owner{width:84px;color:var(--text-2)}.plan-table .pt-status{width:70px;white-space:nowrap}.plan-table .pt-note{width:130px;color:var(--text-3)}.plan-table .pt-act{width:84px;padding:4px}.plan-table tbody tr.pt-row.done td{color:var(--text-3)}.plan-table tbody tr.pt-row.done .pt-title-text{color:var(--text-2);font-weight:400}.plan-table tbody tr.pt-row.doing .pt-title-text{color:var(--ink)}.plan-table tbody tr.pt-row:hover td{background:var(--surface-2)}.plan-table tbody tr.pt-row.is-target td{background:var(--accent-soft)}.plan-table tbody tr.phase-start td{border-top:2px solid var(--border-strong)}.plan-table tbody td.pt-idx,.plan-table tbody td.pt-phase{background:var(--surface-2);vertical-align:top}.plan-table .node-actions{justify-content:flex-start}.plan-table .node-actions .icon-btn{width:24px;height:24px}.plan-table .node-actions .icon-btn svg{font-size:14px}.approved{color:var(--blue);font-weight:600}.approved.proposed{border-bottom:1px dashed var(--blue)}.pending-date{color:var(--amber);font-weight:600;font-size:12px}.dev{font-weight:600;font-size:12px}.dev.late{color:var(--red)}.dev.early{color:var(--green)}.dev.ontime{color:var(--text-3);font-weight:500}.dev.warn{color:var(--amber)}.diff-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:6px 0 12px}.diff-pick{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-2)}.diff-pick label{display:inline-flex;align-items:center;gap:6px}.diff-pick select{border:1px solid var(--border-strong);border-radius:6px;padding:5px 8px;font-size:13px;background:var(--surface);color:var(--ink)}.diff-pick svg{font-size:16px;color:var(--text-4)}.diff-summary{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}.diff-type{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:5px;font-size:11px;font-weight:600;background:var(--surface-3);color:var(--text-2);white-space:nowrap}.diff-type.modified{background:var(--blue-soft);color:var(--blue)}.diff-type.added{background:var(--green-soft);color:var(--green)}.diff-type.removed{background:var(--red-soft);color:var(--red)}.diff-type.unchanged{background:var(--surface-3);color:var(--text-3)}.diff-table{width:100%;min-width:900px;border-collapse:collapse;font-size:13px}.diff-table th,.diff-table td{border-bottom:1px solid var(--border);padding:8px 10px;text-align:left;vertical-align:top}.diff-table td:nth-child(3),.diff-table td:nth-child(4),.diff-table td:nth-child(5),.diff-table td:nth-child(6),.diff-table td:nth-child(7){white-space:nowrap}.diff-table th{font-size:12px;color:var(--text-3);font-weight:600;background:var(--surface-2);white-space:nowrap}.diff-table td s{color:var(--text-4)}.diff-table td.late{color:var(--red);font-weight:600}.diff-table td.early{color:var(--green);font-weight:600}.diff-table td small{display:block;font-size:11px;color:var(--text-4);margin-top:2px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.diff-table .diff-reason{font-size:12px;color:var(--text-2);line-height:1.5}.diff-table tr.unchanged td{color:var(--text-3)}.version-item.is-active{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.version-item .version-actions .btn{justify-content:flex-start}.pay-list{display:flex;flex-direction:column}.pay{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0 8px 18px;border-top:1px solid var(--border);position:relative}.pay:first-child{border-top:0}.pay:before{content:"";position:absolute;left:3px;top:50%;width:8px;height:8px;border-radius:50%;transform:translateY(-50%);background:var(--gray-line)}.pay.done:before{background:var(--green-solid)}.pay.red:before{background:var(--red-solid)}.pay.amber:before{background:var(--amber-solid)}.pay.green:before{background:var(--blue)}.pay[data-next=true]{background:var(--amber-soft);margin:0 -8px;padding-left:26px;padding-right:8px;border-radius:6px}.pay[data-next=true]:before{left:11px}.pay a{color:inherit;text-decoration:none;min-width:0}.pay a:hover .pay-title{color:var(--accent)}.pay-title{display:block;font-size:13px;color:var(--ink);font-weight:500;line-height:1.4}.pay-meta{display:block;font-size:11px;color:var(--text-3);margin-top:1px}.pay-state{font-size:11px;font-weight:600;color:var(--text-3);white-space:nowrap;flex:none}.pay-state.done{color:var(--green)}.pay-state.red{color:var(--red)}.pay-state.amber{color:var(--amber)}.pay-state.green{color:var(--blue)}.map-chips{display:flex;flex-wrap:wrap;gap:6px}.map-chip{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:500;border:1px solid var(--border);color:var(--text-2);background:var(--surface)}.map-chip b{font-weight:600;color:var(--ink)}.map-chip.confirmed{border-color:var(--green-line);background:var(--green-soft);color:var(--green)}.map-chip.confirmed b{color:var(--green)}.map-chip.suggested{border-style:dashed}.map-chip.pending{border-color:var(--amber-line);background:var(--amber-soft);color:var(--amber)}.map-chip.pending b{color:var(--amber)}.map-note{margin-top:10px;font-size:12px;color:var(--text-3);line-height:1.6}.mapping-table{width:100%;border-collapse:collapse;font-size:13px}.mapping-table th,.mapping-table td{text-align:left;padding:8px;border-bottom:1px solid var(--border);vertical-align:middle}.mapping-table th{font-size:12px;color:var(--text-3);font-weight:600}.mapping-table select{width:100%;border:1px solid var(--border-strong);border-radius:6px;padding:5px 8px;font-size:13px;background:var(--surface);color:var(--ink)}.map-status{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:5px;font-size:11px;font-weight:600;white-space:nowrap;background:var(--surface-3);color:var(--text-2)}.map-status.confirmed{background:var(--green-soft);color:var(--green)}.map-status.suggested{background:var(--blue-soft);color:var(--blue)}.map-status.pending{background:var(--amber-soft);color:var(--amber)}.import-steps{display:flex;gap:6px;margin-bottom:14px;padding:0}.import-steps li{display:inline-flex;align-items:center;gap:6px;padding:5px 10px 5px 6px;border-radius:999px;border:1px solid var(--border);font-size:12px;color:var(--text-3);background:var(--surface)}.import-steps li b{width:18px;height:18px;border-radius:50%;display:inline-grid;place-items:center;font-size:11px;background:var(--surface-3);color:var(--text-2)}.import-steps li.is-active{border-color:var(--ink);color:var(--ink);font-weight:600}.import-steps li.is-active b{background:var(--ink);color:#fff}.import-steps li.is-done{border-color:var(--green-line);color:var(--green);background:var(--green-soft)}.import-steps li.is-done b{background:var(--green-solid);color:#fff}.import-drop{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px dashed var(--border-strong);border-radius:8px;background:var(--surface-2);font-size:13px;color:var(--text-3)}.import-drop input[type=file]{width:auto;border:0;padding:0;background:none;font-size:13px}.import-file{color:var(--text-2)}.import-tools{grid-column:1 / -1;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.import-hint{font-size:12px;color:var(--text-3)}.import-note{grid-column:1 / -1;font-size:12px;color:var(--text-3);line-height:1.6}.import-note strong{color:var(--ink)}.import-summary{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.fact.red strong{color:var(--red)}.req-mark{color:var(--red-solid);margin-left:3px}.import-map td:first-child{width:150px}.issue-table-wrap{max-height:260px;overflow:auto;border:1px solid var(--border);border-radius:8px}.issue-table{width:100%;border-collapse:collapse;font-size:12px}.issue-table th,.issue-table td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--border);white-space:nowrap;vertical-align:top}.issue-table th{position:sticky;top:0;background:var(--surface-2);color:var(--text-3);font-weight:600;z-index:1}.issue-table td:nth-child(3),.issue-table td:nth-child(4){white-space:normal}.issue-table tr.error td{background:var(--red-soft)}.issue-table tr.warning td{background:var(--amber-soft)}.preview-table td:nth-child(3){min-width:160px;white-space:normal}.preview-table td{white-space:nowrap}.option-card-btn{border:1px solid var(--border);border-radius:8px;padding:10px 12px;text-align:left;display:flex;flex-direction:column;gap:2px;background:var(--surface);transition:border-color var(--t-fast),background var(--t-fast)}.option-card-btn:hover{border-color:var(--border-strong);background:var(--surface-2)}.option-card-btn strong{font-size:13px;color:var(--ink)}.option-card-btn small{font-size:12px;color:var(--text-3)}.basis-list{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px}.basis-list .check{white-space:normal;align-items:flex-start}.basis-list .check input{margin-top:3px;flex:none}.f .history{font-size:12px;color:var(--text-3)}.f .history li{display:flex;gap:8px;padding:3px 0}.f .history li b{color:var(--text-2);font-weight:500;white-space:nowrap}.cost-params{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--text-2)}.cost-params label{display:inline-flex;align-items:center;gap:6px}.cost-params input{width:96px;border:1px solid var(--border-strong);border-radius:6px;padding:5px 8px;font-size:13px;text-align:right}.cost-params small{flex:1 1 100%;font-size:12px;color:var(--text-4)}.status-line .stat.cost strong,.plan-stats .stat.cost strong{color:var(--text-3);font-size:16px}.status-line .stat.cost.warn strong,.plan-stats .stat.cost.warn strong{color:var(--amber)}button.stat.cost{border-radius:6px;transition:background var(--t-fast)}button.stat.cost:hover{background:var(--surface-2)}.btn:disabled{cursor:not-allowed;opacity:.55}.status-pill.blocked:before{background:var(--red-solid)}.status-pill.blocked{color:var(--red);font-weight:600}.tag.milestone{margin-left:6px;background:var(--amber-soft);color:var(--amber);height:18px;font-size:10px}.tag.default{background:transparent;border:1px dashed var(--border-strong);color:var(--text-3);font-weight:500}.tag.review{background:var(--amber-soft);color:var(--amber)}.review-box{border-color:var(--amber-line);background:var(--amber-soft)}.version-projection{margin-top:6px;padding-top:6px;border-top:1px dashed var(--border);color:var(--text-2)!important}.version-projection b{color:var(--green);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.version-projection b.major{color:var(--amber)}.toast{position:fixed;left:50%;top:calc(var(--topbar-h) + 16px);transform:translate(-50%);z-index:90;background:var(--ink);color:#fff;padding:10px 16px;border-radius:10px;box-shadow:var(--shadow-lg);font-size:13px;display:flex;gap:12px;align-items:center;max-width:calc(100vw - 32px);animation:rise var(--t-base) ease-out}.toast[hidden]{display:none}.toast button{color:#9cc5f5;font-weight:600}.toast button:hover{text-decoration:underline}@keyframes rise{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.mobile-nav{display:none}@media(max-width:1180px){.region-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.project-grid{grid-template-columns:minmax(0,1fr) 340px}.plan-side,.fact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plans-facts{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1024px){.overview-grid,.project-grid{grid-template-columns:1fr}.template-card{grid-template-columns:22px minmax(0,1fr)}.template-actions{grid-column:2}.global-search{width:180px}.user-meta,.primary-nav a span{display:none}.primary-nav a{padding:0 10px}.primary-nav a svg{font-size:20px}}@media(max-width:768px){:root{--topbar-h: 52px}.topbar-inner{padding:0 var(--s-4);gap:var(--s-3)}.primary-nav,.user-chip,.global-search,.date-chip span{display:none}.date-chip{height:32px;padding:0 8px}main{padding:var(--s-4) var(--s-4) 84px}.page-head{flex-direction:column;align-items:stretch}.page-head h1{font-size:19px}.page-head-actions{justify-content:stretch}.page-head-actions .btn{flex:1}.signal-summary{grid-template-columns:1fr;gap:var(--s-3);padding:var(--s-4)}.summary-lead .num{font-size:30px}.panel{padding:var(--s-4)}.inbox-item{grid-template-columns:minmax(0,1fr);gap:6px}.inbox-type{justify-self:start}.inbox-actions{justify-content:flex-start}.inbox-counts{width:100%}.intervene{grid-template-columns:16px minmax(0,1fr)}.intervene .rail{margin-left:2px}.intervene-actions{grid-column:2;flex-direction:row;flex-wrap:wrap}.owner-row{grid-template-columns:minmax(0,1fr) 1.2fr}.owner-row .owner-flag{display:none}.region-strip,.fact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar{gap:6px}.field.search{min-width:100%}.field.select{flex:1}.scope-bar{padding:10px 0 10px var(--s-3);overflow:hidden}.scope-bar .chip-row{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-right:var(--s-3);-webkit-overflow-scrolling:touch}.scope-bar .chip-row::-webkit-scrollbar{display:none}.scope-bar .chip{flex:none;height:34px}.table-scroll{display:none}.card-list{display:flex}.project-head{flex-direction:column}.project-head .actions{justify-content:flex-start}.project-head h1{font-size:18px}.status-line{grid-template-columns:1fr}.status-line .stats{justify-content:space-between}.panel-tools{width:100%}.node-table,.node-table tbody,.node-table tr,.node-table td{display:block}.node-table thead{display:none}.node-table tr.phase td{padding:8px 10px}.node-table tr.phase .phase-progress .mini-bar{display:none}.node-table tr.phase .phase-progress{gap:6px;margin-left:0;width:100%}.node-table tr.phase td .phase-line{flex-wrap:wrap;row-gap:4px}.node-table tr.phase.nested td{padding-left:18px}.node-table tr.node{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;padding:10px;border-bottom:1px solid var(--border);border-left:3px solid transparent}.node-table tr.node.red{border-left-color:var(--red-solid)}.node-table tr.node.amber{border-left-color:var(--amber-solid)}.node-table tr.node.green{border-left-color:var(--green-solid)}.node-table tr.node td{border:0!important;padding:0;width:auto!important}.node-table tr.node td:first-child{border-left:0}.node-table .n-idx{display:none}.node-table .n-title{flex:1 0 100%}.node-table .date-pair{flex-direction:row;flex-wrap:wrap;gap:0 4px;white-space:normal}.node-table .n-plan .date-pair:before{content:"计划";color:var(--text-4)}.node-table .n-actual .date-pair:before{content:"实际";color:var(--text-4)}.node-table .n-owner .date-pair:before{content:"负责人";color:var(--text-4)}.node-table .n-owner{flex:1 0 100%}.node-table .n-signal{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.node-table .n-signal small{margin-top:0}.node-table .n-act{margin-left:auto}.project-grid.no-ledger,.detail-inline{grid-template-columns:1fr}.modal-layer{padding:0;align-items:end}.modal,.modal.wide{width:100%;max-height:94vh;border-radius:16px 16px 0 0}.form,.judge{grid-template-columns:1fr}.adjust-row{grid-template-columns:1fr 1fr}.adjust-row svg{display:none}.option-cards{grid-template-columns:1fr}.mobile-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}.mobile-nav a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0 6px;font-size:11px;color:var(--text-3);text-decoration:none;min-height:52px;justify-content:center}.mobile-nav a svg{font-size:22px}.mobile-nav a[aria-current=page]{color:var(--accent);font-weight:600}.popover{position:fixed;left:12px;right:12px;top:calc(var(--topbar-h) + 8px);width:auto}.plans-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.template-card{padding:12px}.template-actions{flex-wrap:wrap}.plan-head .actions .btn{flex:1 1 45%}.version-bar{padding:12px var(--s-4)}.vnode{min-width:112px;padding:8px 10px}.version-banner{grid-template-columns:20px minmax(0,1fr)}.banner-actions{grid-column:2;justify-content:flex-start}.plan-stats{padding:4px 8px}.plan-stats .stat{flex:1 1 45%;min-width:0;border-right:0;border-bottom:1px solid var(--border)}.plan-stats .stat.wide{flex:1 1 100%}.plan-stats .stat span{white-space:normal}.plan-side{grid-template-columns:1fr}.import-summary{grid-template-columns:1fr 1fr}.basis-list{grid-template-columns:1fr}.import-steps li span{display:none}.import-steps li.is-active span{display:inline}.plan-table-scroll{margin:0 calc(-1 * var(--s-4));padding:0 var(--s-4);-webkit-overflow-scrolling:touch}.plan-panel .panel-tools .segmented{flex-wrap:wrap}.field.search.small{flex:1 1 100%;min-width:0}.diff-summary{margin-left:0}}@media(max-width:480px){.region-strip{grid-template-columns:1fr}.status-line .stats{gap:8px}.plans-facts{grid-template-columns:1fr 1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}@media print{.topbar,.mobile-nav,.page-head-actions,.toolbar,.cell-actions,.node-actions,.crumbs,.plan-head .actions,.panel-tools,.banner-actions,.version-actions{display:none!important}body{background:#fff}.card{box-shadow:none}body[data-view=plan] .plan-grid{grid-template-columns:1fr}body[data-view=plan] .plan-side{display:none}body[data-view=plan] .plan-table-scroll{overflow:visible;margin:0;padding:0}body[data-view=plan] .plan-table{min-width:0;font-size:10px}body[data-view=plan] .plan-table thead th{position:static}body[data-view=plan] .plan-table .pt-act{display:none}@page{size:A4 landscape;margin:12mm}}html,body,#root{min-height:100%}.loading-screen{min-height:100vh;display:grid;place-items:center;color:var(--text-2);background:var(--bg)}.login-page{min-height:100vh;max-width:none;padding:0;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);background:var(--bg)}.login-art{display:grid;align-content:start;padding:clamp(40px,8vw,120px);color:#fff;background-color:#20372f;background-image:linear-gradient(180deg,#0f201b80,#0f201b14 65%),url(/assets/login-rural-homestay-v1.png);background-size:cover;background-position:center}.login-art h1{margin:0;max-width:700px;font-size:clamp(30px,4.5vw,58px);line-height:1.18;letter-spacing:-.04em;text-shadow:0 2px 18px rgba(0,0,0,.3)}.login-card{align-self:center;width:min(420px,calc(100% - 48px));margin:24px auto;padding:var(--s-8);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-md)}.login-card h2{margin:0 0 var(--s-5);color:var(--ink);font-size:24px}.login-card label{display:grid;gap:6px;margin-top:var(--s-4);color:var(--text-2);font-size:12px;font-weight:600}.login-card input{width:100%;height:40px;padding:0 11px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface)}.login-card input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.login-card .full{width:100%;margin-top:var(--s-5)}.login-card .primary{height:40px;padding:0 14px;border-radius:8px;background:var(--accent);color:#fff;font-weight:600}.login-card .primary:hover{background:var(--accent-hover)}.error-banner,.v6-error{padding:10px 12px;border:1px solid var(--red-line);border-radius:var(--radius-sm);background:var(--red-soft);color:var(--red);font-size:13px}.error-banner,.v6-error{margin-bottom:var(--s-4)}.closed-node-picker label{background:var(--bg);color:var(--text-3);cursor:not-allowed}.closed-node-picker strong{margin-left:auto;font-size:12px;white-space:nowrap}.modal .form>.f{min-width:0}.modal .option-cards{min-width:0;grid-template-columns:repeat(2,minmax(0,1fr))}.modal .option-cards label{min-width:0;overflow-wrap:anywhere}.modal .option-cards input[type=radio]{width:1px;height:1px;min-width:0;padding:0;border:0}.modal .node-picker label>span{min-width:0;white-space:normal;overflow-wrap:anywhere}@media(max-width:768px){.modal .form,.modal .option-cards{grid-template-columns:minmax(0,1fr)}}.modal-foot:has(.modal-submit-error){flex-wrap:wrap}.modal-submit-error{flex-basis:100%;margin-bottom:0;overflow-wrap:anywhere}.v6-pending,.v6-terminal{padding:var(--s-6)}.v6-terminal p{color:var(--text-3)}.basis-list .check input{width:16px;height:16px;padding:0}.basis-list .check span{min-width:0}.plan-table td.pt-date,.node-table td.n-plan,.node-table td.n-actual{overflow:hidden;font-variant-numeric:tabular-nums}.plan-table td.pt-date{text-overflow:ellipsis}.node-table .date-pair>span{max-width:100%;overflow:hidden;text-overflow:ellipsis}.plan-table-scroll{position:relative}.plan-stats .stat strong{white-space:normal;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.plan-stats .stat.link-stat{flex:1.4 1 190px;min-width:190px}.plan-stats .stat.cost{flex:1.2 1 180px;min-width:180px}.plan-stats .stat .deviation-values{display:flex;flex-wrap:wrap;gap:4px 12px}.plan-stats .stat .deviation-value{display:inline-flex;align-items:baseline;gap:5px;margin:0;overflow:visible;white-space:nowrap;font-size:inherit}.plan-stats .stat .deviation-value small{font-size:13px;color:var(--text-2)}.v6-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:12px 16px;border-top:1px solid var(--border)}.pagination-summary{margin:0;color:var(--text-3);font-size:12px;font-variant-numeric:tabular-nums}.pagination-controls,.pagination-pages{display:flex;align-items:center;gap:6px}.pagination-controls{margin-left:auto}.v6-pagination .btn{min-height:36px}.v6-pagination .pagination-number{min-width:36px;padding-inline:8px}.v6-pagination .pagination-number[aria-current=page]{color:var(--accent);background:var(--accent-soft);border-color:var(--accent);opacity:1}.pagination-gap{color:var(--text-3)}.pagination-mobile,.plan-print-table{display:none}.overview-priority .page-head{align-items:center}.overview-priority .page-sub{margin-top:4px}.overview-signal-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;margin-bottom:16px}.overview-signal-counts{display:flex;align-items:center;gap:20px}.overview-signal-counts a{display:inline-flex;align-items:baseline;gap:5px;font-size:12px}.overview-signal-counts b{font-size:20px;font-variant-numeric:tabular-nums}.overview-signal-counts a.red{color:var(--red)}.overview-signal-counts a.amber{color:var(--amber)}.overview-signal-counts a.green{color:var(--green)}.overview-signal-counts a.gray{color:var(--text-3)}.overview-work-link{flex:none;font-size:12px;color:var(--accent);padding-block:8px}.overview-work-link b{margin-left:4px}.risk-panel{overflow:hidden;margin-bottom:16px}.risk-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border-bottom:1px solid var(--border)}.risk-panel-head h2{margin:0;font-size:16px}.risk-panel-head p{margin:4px 0 0;color:var(--text-3);font-size:12px}.risk-panel-head>a{flex:none;font-size:12px}.risk-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.risk-project{min-width:0;padding:14px 16px;border-bottom:1px solid var(--border);border-left:3px solid var(--gray-line)}.risk-project.red{border-left-color:var(--red-solid)}.risk-project.amber{border-left-color:var(--amber-solid)}.risk-project-head{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:6px 10px}.risk-project-head h3{min-width:0;flex:1 1 230px;margin:0;font-size:16px;line-height:1.45}.risk-project-head h3 a{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:var(--ink)}.risk-signal{flex:none;padding:3px 7px;border:1px solid var(--border);border-radius:5px;font-size:12px;font-weight:600}.risk-signal.red{color:var(--red);background:var(--red-soft);border-color:var(--red-line)}.risk-signal.amber{color:var(--amber);background:var(--amber-soft);border-color:var(--amber-line)}.risk-signal.is-suggested{border-style:dashed}.risk-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:6px;color:var(--text-3);font-size:12px}.risk-level{padding:1px 5px;border-radius:4px;background:var(--surface-2)}.risk-node{margin:6px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-2);font-size:13px}.risk-followup,.risk-next{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:5px 0 0;font-size:13px;line-height:1.5}.risk-followup>span,.risk-next>span{margin-right:6px;color:var(--text-3);font-size:12px}.risk-no-followup{margin:5px 0 0;color:var(--text-4);font-size:12px}.risk-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:10px}.risk-detail-link{margin-left:auto;display:inline-flex;align-items:center;min-height:36px;color:var(--accent);font-size:12px}.risk-list>.more-row,.risk-list>.empty-copy{grid-column:1 / -1;padding:14px 16px;margin:0}.overview-secondary{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.overview-secondary>summary{cursor:pointer;padding:16px;color:var(--text-2);font-size:14px}.overview-secondary>summary>small{margin-left:10px;color:var(--text-3);font-size:12px}.overview-secondary-body{padding:0 16px 16px}.overview-secondary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.overview-secondary-grid .region-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-secondary .panel+.panel{margin-top:0}.overview-secondary-grid+.panel{margin-top:16px}.approval-sort-hint{color:var(--text-3);font-size:12px}.approvals-list{padding:0 16px}.approvals-list .approval-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px 0}.approval-main{min-width:0}.approval-topline{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:6px}.approval-due{font-size:12px;color:var(--text-3)}.approval-due.red{color:var(--red)}.approval-project{margin:0;font-size:15px;line-height:1.5}.approval-project a{color:var(--ink);overflow-wrap:anywhere}.approval-subject{margin:3px 0 0;color:var(--text-2);font-size:13px}.approval-item .inbox-excerpt{margin:5px 0;font-size:13px;line-height:1.5}.approval-item .inbox-actions{align-self:center}.approval-item .inbox-meta{margin-top:5px;font-size:12px}.approvals-list .v6-pagination{margin-inline:-16px}.mobile-nav{grid-template-columns:repeat(5,minmax(0,1fr))}.mobile-nav a{position:relative}.mobile-work-count{position:absolute;top:3px;right:16%;min-width:16px;padding:0 4px;border-radius:10px;background:var(--amber-solid);color:#fff;font-size:10px;line-height:16px}@media(max-width:768px){.overview-priority .page-head{flex-direction:row;align-items:center;gap:8px}.overview-priority .page-head h1{font-size:20px}.overview-priority .page-head .btn{font-size:12px;min-height:40px;padding-inline:10px}.overview-signal-strip{gap:6px;padding:6px 12px;margin-bottom:12px}.overview-signal-counts{gap:12px}.overview-signal-counts b{font-size:18px}.overview-work-link{font-size:11px;min-height:40px;display:inline-flex;align-items:center}.risk-list,.overview-secondary-grid{grid-template-columns:1fr}.risk-panel-head,.risk-project{padding:12px}.risk-actions .btn,.risk-detail-link{min-height:44px}.overview-secondary-body{padding:0 8px 8px}.approvals-list{padding-inline:12px}.approvals-page .page-head{flex-direction:row;align-items:center;gap:8px}.approvals-page .page-head h1{font-size:20px}.approvals-page .page-head>a{width:auto;flex:none;padding-inline:10px;font-size:12px;min-height:40px}.approvals-page .chip-row{flex-wrap:wrap;overflow:visible}.approvals-list .approval-item{grid-template-columns:minmax(0,1fr);gap:8px}.approval-item .inbox-actions{justify-content:flex-start}.approval-item .inbox-actions .btn{min-height:44px}.approvals-list .v6-pagination{margin-inline:-12px}.mobile-nav a>span{font-size:12px}}@media(max-width:600px){.plan-stats .stat.link-stat,.plan-stats .stat.cost{min-width:0}.pagination-controls{width:100%;justify-content:space-between;margin:0}.pagination-pages{display:none}.pagination-mobile{display:inline-flex}.pagination-mobile select{min-height:44px;padding:6px 8px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink)}.v6-pagination .btn{min-height:44px}}@media print{.plan-screen-table,.v6-pagination{display:none!important}.plan-print-table{display:block}.plan-print-table .plan-table-scroll{overflow:visible}}@media(max-width:768px){.login-page{grid-template-columns:1fr}.login-art{min-height:34vh;padding:var(--s-8) var(--s-6);background-image:linear-gradient(180deg,#0f201b80,#0f201b14 65%),url(/assets/login-rural-homestay-mobile-v1.png);background-position:center 58%}.login-art h1{font-size:30px}.login-card{padding:var(--s-6)}}
