.g9-dok-head{display:grid;grid-template-columns:minmax(260px,1fr) auto;grid-gap:var(--space-6);gap:var(--space-6);align-items:end;min-width:0;padding:var(--space-4) var(--space-6) var(--space-5);border-bottom:1px solid var(--border);flex:none}.g9-dok-band{display:flex;flex-direction:column;gap:var(--space-2);width:360px;max-width:100%}.g9-dok-band-hd{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);min-width:0}.g9-dok-band-seg{flex:1 1;min-width:0}.g9-dok-band-scale{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;grid-gap:var(--space-1);gap:var(--space-1);min-width:0}.g9-dok-band-tick{text-align:center;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted)}.g9-dok-band-tick.is-late{color:var(--danger);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.g9-dok-legend{display:flex;gap:var(--space-4);flex-wrap:wrap}.g9-dok-legend-swatch{display:inline-block;width:9px;height:9px;border-radius:var(--radius-sm);margin-right:var(--space-1);vertical-align:-1px}.g9-dok-filters{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;padding-bottom:var(--space-4)}.g9-dok-wrap{min-height:0;overflow:auto;padding:var(--space-5) var(--space-6) var(--space-8)}.g9-dok-group{margin-bottom:var(--space-6)}.g9-dok-group-hd{display:flex;align-items:center;gap:var(--space-3);padding:0 2px var(--space-2);position:-webkit-sticky;position:sticky;top:calc(var(--space-5) * -1);background:var(--bg);z-index:var(--z-sticky)}.g9-dok-group-rule{flex:1 1;height:1px;background:var(--border)}.g9-dok-list{display:flex;flex-direction:column;gap:var(--space-2)}.g9-dok-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:var(--space-3);gap:var(--space-3);align-items:center;padding:var(--space-2) var(--space-3) var(--space-2) var(--space-2);min-width:0}.g9-dok-row.is-late{border-color:var(--danger)}.g9-dok-fmt{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--text-muted);flex:none}.g9-dok-fmt--live{--b-fill:var(--primary);color:var(--primary-fg)}.g9-dok-main{min-width:0;display:flex;flex-direction:column;gap:3px}.g9-dok-title{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}.g9-dok-sub{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);min-width:0}.g9-dok-sub-sep{width:2px;height:2px;border-radius:var(--radius-pill);background:var(--border-strong);flex:none}.g9-dok-right{display:flex;align-items:center;gap:var(--space-4);flex:none;min-width:0}.g9-dok-date,.g9-dok-val{text-align:right;white-space:nowrap}.g9-dok-date{min-width:96px;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.g9-dok-date.is-late{color:var(--danger)}.g9-dok-tplgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.g9-dok-tpl{flex-direction:column;padding:var(--space-4)}.g9-dok-tpl,.g9-dok-tpl-top{display:flex;gap:var(--space-3);min-width:0}.g9-dok-tpl-top{align-items:flex-start}.g9-dok-tpl-use{display:flex;flex-direction:column;gap:var(--space-1);padding-top:var(--space-3);border-top:1px solid var(--border);min-width:0}.g9-dok-feat{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);color:var(--text-muted);min-width:0}.g9-dok-peek{position:fixed;top:var(--space-3);right:var(--space-3);bottom:var(--space-3);width:min(460px,calc(100vw - var(--space-6)));z-index:var(--z-modal);display:flex;flex-direction:column;overflow:hidden}.g9-dok-note{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);color:var(--text-muted);text-wrap:pretty}.g9-dok-note--accent{--b-fill:var(--accent-soft);color:var(--accent-soft-fg)}.g9-dok-note--danger{--b-fill:var(--danger-soft);color:var(--danger)}.g9-dok-note--success{--b-fill:var(--success-soft);color:var(--success)}.g9-dok-tl{display:flex;flex-direction:column}.g9-dok-tl-i{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:var(--space-3);gap:var(--space-3);align-items:start;padding:var(--space-2) 0;min-width:0}.g9-dok-form{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(560px,calc(100vw - var(--space-8)));max-height:calc(100dvh - var(--space-12));z-index:var(--z-modal);overflow:hidden}.g9-dok-drop,.g9-dok-form{display:flex;flex-direction:column}.g9-dok-drop{--b-edge:var(--border-strong);align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-5);border:1px dashed var(--b-edge);text-align:center;min-width:0}.g9-dok-drop--has{flex-direction:row;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-style:solid;border-color:var(--border);text-align:left}.g9-dok-fld{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.g9-dok-row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-3);gap:var(--space-3);min-width:0}.g9-dok-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(420px,calc(100vw - var(--space-8)));z-index:var(--z-modal);display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-6)}.g9-dok-dialog-act{display:flex;gap:var(--space-2);justify-content:flex-end;margin-top:var(--space-1)}.g9-dok-vdist{display:flex;flex-direction:column;gap:var(--space-2);width:300px;max-width:100%}.g9-dok-vrow{display:grid;grid-template-columns:34px minmax(0,1fr) 84px;grid-gap:var(--space-2);gap:var(--space-2);align-items:center;min-width:0}.g9-dok-vlab{color:var(--text-muted);white-space:nowrap}.g9-dok-vlab.is-current{color:var(--text)}.g9-dok-vnum{text-align:right;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.g9-dok-vlog{display:flex;flex-direction:column}.g9-dok-vlog-i{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:var(--space-3);gap:var(--space-3);align-items:start;padding:var(--space-2) 0;border-bottom:1px solid var(--border);min-width:0}.g9-dok-vlog-i:last-child{border-bottom:none}.g9-dok-ftab{display:flex;flex-direction:column;min-width:0}.g9-dok-fhead,.g9-dok-frow{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto;grid-gap:var(--space-2);gap:var(--space-2);align-items:center;min-width:0}.g9-dok-fhead{padding-bottom:var(--space-2);border-bottom:1px solid var(--text);color:var(--text-muted)}.g9-dok-frow{padding:var(--space-2) 0;border-bottom:1px solid var(--border)}.g9-dok-frow:last-child{border-bottom:none}.g9-dok-fex,.g9-dok-fkey{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.g9-dok-fex{color:var(--text-muted)}.g9-dok-sec{position:relative}.g9-dok-sec--locked{background:color-mix(in srgb,var(--text) 3%,transparent)}.g9-dok-sectag{position:absolute;top:var(--space-4);right:var(--space-4);white-space:nowrap;max-width:calc(100% - var(--space-8))}.g9-dok-token{gap:var(--space-1);padding:0 var(--space-2);max-width:100%;min-width:0;white-space:nowrap;overflow:hidden;vertical-align:baseline}.g9-dok-databox{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);color:var(--text-muted);text-wrap:pretty;min-width:0}.g9-dok-tokenbar{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-2);min-width:0}@media (max-width:940px){.g9-dok-head{grid-template-columns:minmax(0,1fr);align-items:start;gap:var(--space-5)}}@media (max-width:900px){.g9-dok-date,.g9-dok-val{display:none}}@media (max-width:720px){.g9-dok-row2{grid-template-columns:minmax(0,1fr)}.g9-dok-fhead,.g9-dok-frow{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.g9-dok-fsrc-cell{display:none}}@layer base{*,:after,:before{box-sizing:border-box;margin:0;padding:0}}html{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--text-base-lh);color:var(--text);background-color:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto}body{min-height:100dvh}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}table{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.g9-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%}@layer base{table.g9-table{width:100%;overflow-wrap:normal}table.g9-table td,table.g9-table th{height:var(--control-h-sm);padding:0 var(--space-2)}}.g9-clamp-1,.g9-clamp-2{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}.g9-clamp-1{-webkit-line-clamp:1;line-clamp:1}.g9-clamp-2{-webkit-line-clamp:2;line-clamp:2}@layer base{input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]):not([type=submit]):not([type=button]):not([type=hidden]),select,textarea{font-family:var(--font-sans);font-size:var(--text-ui);color:var(--text);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);min-height:36px;padding:0 var(--space-3)}textarea{padding:var(--space-2) var(--space-3);min-height:unset}input::placeholder,textarea::placeholder{color:var(--text-subtle)}}.p-btn{--b-fill:var(--accent);--b-edge:transparent;--b-ink:var(--accent-fg);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:12px 24px;border:1px solid var(--b-edge);background:var(--b-fill);color:var(--b-ink);border-radius:var(--radius-pill);cursor:pointer;text-decoration:none}.p-btn-sm{padding:8px 16px}.p-btn-primary{--b-fill:var(--primary);--b-ink:var(--primary-fg)}.p-btn-quiet{--b-fill:transparent;--b-edge:var(--border);--b-ink:var(--text-muted)}.p-btn-danger{--b-fill:var(--danger);--b-ink:var(--surface)}.p-btn-danger-quiet{--b-fill:transparent;--b-edge:var(--danger);--b-ink:var(--danger)}.p-btn:disabled{background:var(--surface-sunken);color:var(--text-muted);cursor:not-allowed}.p-callout{--b-fill:var(--surface-sunken);--b-edge:var(--border);border:1px solid var(--b-edge);background:var(--b-fill);border-radius:var(--radius-sm);padding:var(--space-4)}.p-callout-success{--b-fill:var(--success-soft);--b-edge:var(--success)}.p-callout-danger{--b-fill:var(--danger-soft);--b-edge:var(--danger)}.p-callout-plain{--b-edge:transparent}.p-callout-bar{border-left-width:3px}.p-bubble{--b-fill:var(--surface);--b-ink:var(--text);background:var(--b-fill);color:var(--b-ink);border-radius:var(--radius-base);padding:var(--space-3) var(--space-4)}.p-bubble-own{--b-fill:var(--primary);--b-ink:var(--primary-fg)}.p-avatar{--b-fill:var(--surface-sunken);--b-ink:var(--text);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--b-fill);color:var(--b-ink);border-radius:var(--radius-pill)}.p-progress-fill{--b-fill:var(--primary);height:100%;background:var(--b-fill);border-radius:var(--radius-sm);transition:width var(--duration-base) var(--easing-standard)}.p-link{background:none;border:none;padding:0;color:var(--text-subtle);text-decoration:underline;cursor:pointer}.p-step-on{--b-fill:var(--accent)}.p-field-multi{display:block;width:100%;min-height:120px;padding:var(--space-3);resize:vertical;font-family:inherit}.p-stack{display:flex;flex-direction:column;gap:var(--space-4)}.p-row{display:flex;align-items:center;gap:var(--space-2)}.nav .logo{gap:8px}.nav .logo .mk{height:18px;width:auto;display:block}[data-theme=dark] .nav .logo .lt,[data-theme=light] .nav .logo .dk{display:none}.nav .user b{font-size:12px;font-weight:600;display:block;line-height:1.3}.nav .user small{font-size:10px;color:var(--faint);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:104px}.nav .foot .it{font-size:12px}.bdg{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;border-radius:var(--radius-pill);padding:2px 8px;line-height:16px;white-space:nowrap;border:1px solid transparent;overflow-wrap:normal}.bdg.info{background:var(--accent-soft);color:var(--accent)}.bdg.success{background:color-mix(in oklab,var(--good) 14%,transparent);color:var(--good)}.bdg.warning{background:color-mix(in oklab,var(--warn) 16%,transparent);color:var(--warn)}.bdg.danger{background:color-mix(in oklab,var(--bad) 14%,transparent);color:var(--bad)}.bdg.neutral{border-color:var(--line2);color:var(--mut)}h2.sec2{font-size:13px;font-weight:650;margin:22px 0 10px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}h2.sec2 small{font-size:11px;font-weight:400;color:var(--faint)}.dcard{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-panel);padding:16px 18px;margin-bottom:12px}.dcard h2{font-size:13px;font-weight:650;margin-bottom:10px}.dcard p.body{font-size:13px;line-height:1.55;color:var(--mut);text-wrap:pretty;overflow-wrap:anywhere}.back{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--mut);margin-bottom:12px;background:none}.back,.back:hover{text-decoration:none}.back:hover{color:var(--text)}.warnv{color:var(--warn);font-weight:600}.empty{text-align:center;padding:36px 20px;color:var(--mut)}.empty svg{color:var(--faint);margin-bottom:10px}.empty p{font-size:13px}.empty p.mini{margin:4px auto 0;max-width:46ch}.pers{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--line)}.pers:last-of-type{border-bottom:none;margin-bottom:6px}.pers b{font-size:12.5px;font-weight:600}.pers .mini,.pers b{display:block}.pers .pa{margin-left:auto;display:flex;gap:5px}.pers .pa .btn{padding:4px 7px;color:var(--mut)}.pers .pa .btn:hover{color:var(--text);border-color:var(--accent)}.phase{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-top:1px solid var(--line)}.phase:first-of-type{border-top:none;padding-top:0}.phase .ic{width:20px;height:20px;flex:none;color:var(--faint);margin-top:1px}.phase .ic.act{color:var(--accent)}.phase .ic.done{color:var(--good)}.phase .pb{flex:1 1;min-width:0}.phase .pr{display:flex;justify-content:space-between;align-items:center;gap:12px}.phase .pr b{font-size:13px;font-weight:600}.phase .pr .m{font-size:11.5px;color:var(--mut);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.phase .dates{display:flex;gap:14px;font-size:11.5px;color:var(--faint);margin:3px 0 8px}.phase .dates span{display:inline-flex;align-items:center;gap:5px}.rec{height:5px;border-radius:var(--radius-tiny);background:var(--bg2);border:1px solid var(--line);overflow:hidden}.rec i{display:block;height:100%;background:var(--accent);border-radius:var(--radius-tiny)}.rec i.done{background:var(--good)}.phase ul{list-style:none;margin-top:10px;display:flex;flex-direction:column;gap:5px}.phase li{display:flex;gap:10px;font-size:12.5px;align-items:baseline}.phase li .st{font-size:11.5px;min-width:104px;flex:none}.phase li.done{color:var(--mut);text-decoration:line-through}.phase li .dt{margin-left:auto;font-size:11.5px;color:var(--faint)}.plist{display:flex;flex-direction:column;gap:8px}.pcard{display:block;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-panel);padding:13px 15px;text-decoration:none;color:inherit}.pcard .top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.pcard .meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pcard .num{font-size:11.5px;color:var(--faint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;overflow-wrap:normal}.pcard .ttl{font-weight:600;margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pcard .ttl,.tbl td{overflow-wrap:anywhere}.tbl td .t1{-webkit-line-clamp:2}.tbl td .t1,.tbl td .t2{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.tbl td .t2{-webkit-line-clamp:1}.mrow .m{overflow-wrap:anywhere}@media (max-width:1040px){.tbl .drop1{display:none}}@media (max-width:880px){.tbl .drop2{display:none}}.msheet,.tabbar{display:none}@media (max-width:1160px){.page{padding:20px 22px 48px}}@media (max-width:1040px) and (min-width:721px){.nav{width:58px;align-items:stretch}.nav .logo{justify-content:center;padding:2px 0 14px;font-size:0}.nav .logo small{display:none}.nav .it{justify-content:center;padding:10px 0;font-size:0;gap:0}.nav .it svg{width:18px;height:18px;opacity:.9}.nav .grp,.nav .it .chev,.nav .it .n,.nav .sub{display:none}.nav .user{justify-content:center;padding:8px 0}.nav .user div{display:none}.nav .foot .it{font-size:0;padding:9px 0}.btn,.chip{min-height:40px;padding:8px 13px}}@media (max-width:720px){.app{display:block;height:auto;overflow:visible}.nav{display:none}.main{overflow:visible}.page{flex-direction:column;padding:16px 14px 84px;gap:16px}.col,.ctx{width:100%;align-self:stretch}.ctx{flex-direction:column}.tabbar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:55;background:var(--panel);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.tab2{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:56px;font-size:10px;color:var(--mut);text-decoration:none}.tab2.on{color:var(--accent)}.msheet{display:block;position:fixed;left:0;right:0;bottom:0;z-index:62;background:var(--panel);border-top:1px solid var(--line2);border-radius:14px 14px 0 0;padding:8px 8px calc(12px + env(safe-area-inset-bottom));box-shadow:var(--shadow)}.msheet .mh{display:flex;align-items:center;padding:6px 8px 10px}.msheet .mh b{font-size:13px;font-weight:650}.msheet .mh .wx{margin-left:auto}.sit{display:flex;align-items:center;gap:11px;width:100%;text-align:left;min-height:48px;padding:0 10px;border-radius:var(--radius-base);font-size:14px;color:var(--text)}.sit,.sit:hover{text-decoration:none}.sit:hover{background:var(--hover)}.sit.static{color:var(--mut)}.sit .av{width:28px;height:28px;border-radius:50%;background:var(--line2);display:grid;place-items:center;font-size:10px;font-weight:700;flex:none}.sit b{font-size:13px;font-weight:600;display:block}.sit small{font-size:11px;color:var(--faint)}.mhr{height:1px;background:var(--line);margin:8px 10px}.tblw{overflow:visible}.tbl,.tbl tbody,.tbl td,.tbl tr{display:block;width:auto}.tbl{border:none;background:none;border-radius:0}.tbl thead{display:none}.tbl tbody tr,.tbl tr.row{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-panel);margin-bottom:8px;padding:12px 14px}.tbl tbody tr:nth-child(2n) td{background:none}.tbl td{border:none;padding:0;text-align:left;font-size:13.5px}.tbl td:not(:first-child):not(:last-child):not(.keep){display:none}.tbl td.keep{margin-top:7px}.tbl td:last-child{margin-top:7px;color:var(--mut);font-size:12.5px}.tbl td .t1{-webkit-line-clamp:3;font-size:14px;font-weight:600}.tbl tr.mark td:first-child{box-shadow:none}.tbl tr.mark{box-shadow:inset 2px 0 0 var(--accent)}.kpis{display:grid;grid-template-columns:1fr 1fr;grid-gap:0 14px;gap:0 14px;grid-row-gap:14px;row-gap:14px}.kpi{border-right:none;margin-right:0;padding:0 0 4px}.kpi:nth-child(odd){border-right:1px solid var(--line);padding-right:14px}.kv{font-size:21px}.btn,.chip{min-height:44px;padding:10px 14px}.drawer{width:100%;border-left:none}h1{font-size:19px}}.note2{border:1px solid var(--line);border-radius:var(--radius-base);background:var(--bg2);padding:9px 12px;font-size:12px;color:var(--mut)}.note2.ok{border-color:var(--good);color:var(--text)}.pcard p.body{font-size:12.5px;line-height:1.55;color:var(--mut);margin-top:8px;text-wrap:pretty;overflow-wrap:anywhere}.clist{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.clist li{font-size:12.5px;color:var(--text);padding-left:13px;position:relative;line-height:1.45;overflow-wrap:anywhere}.clist li:before{content:"";position:absolute;left:0;top:7px;width:5px;height:5px;border-radius:50%;background:var(--accent)}.steph{margin-bottom:16px;display:flex;align-items:center;gap:10px}.steph .sn{font-size:11px;color:var(--mut);white-space:nowrap}.sbar{display:flex;gap:4px;flex:1 1}.sbar i{flex:1 1;height:3px;border-radius:var(--radius-tiny);background:var(--line2);display:block}.sbar i.past{background:var(--accent-soft)}.sbar i.now{background:var(--accent)}.opts{display:flex;flex-direction:column;gap:6px}.opts.row2{flex-direction:row;flex-wrap:wrap}.opts.row2 .opt{flex:1 1 200px}.opt{display:flex;align-items:center;gap:9px;border:1px solid var(--line2);border-radius:var(--radius-base);padding:9px 12px;font-size:12.5px;color:var(--text);background:none;text-align:left;cursor:pointer}.opt.on,.opt:hover{border-color:var(--accent)}.opt.on{background:var(--sel)}.opt .mk2{width:13px;height:13px;border-radius:50%;border:1px solid var(--line2);flex:none}.opt .mk2.sq{border-radius:4px}.opt.on .mk2{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 2px var(--panel)}