:root{color-scheme:light;--bg: #eef2f6;--paper: #ffffff;--ink: #172033;--muted: #5d6b7c;--line: #e1e7ef;--rail: #f7f9fc;--brass: #1f5eff;--accent: #1f5eff;--green: #0f7a55;--green-soft: #e5f6ee;--red: #c2412d;--red-soft: #fdecea;--amber: #a16207;--amber-soft: #fbf3d8;--blue: #1d4e89;--blue-soft: #e7eef8;--shadow: 0 18px 50px rgba(23, 32, 51, .16);font-family:Pretendard,Apple SD Gothic Neo,Noto Sans KR,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3,p{margin:0}ul,ol{margin:0;padding:0;list-style:none}.app{display:flex;flex-direction:column;min-height:100vh}.topbar{position:sticky;top:0;z-index:5}.rail{display:flex;flex-direction:row;align-items:center;gap:18px;height:60px;padding:0 24px;background:#16325f;color:#f4f7ff;border-bottom:1px solid #0e2344}.subrail{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 24px;background:#d6e4f6;border-bottom:1px solid #c3d3ea}.subrail button{border:1px solid #b7cbe6;background:#fff;color:#16325f;text-align:center;border-radius:12px;padding:9px 14px;white-space:nowrap;font-weight:650}.subrail button:hover{background:#f4f8fd}.subrail button[aria-current=page]{background:#16325f;color:#fff;border-color:#16325f}.subrail button[aria-current=page]:hover{background:#16325f}.rail-link{border:1px solid rgba(255,255,255,.22);background:#ffffff14;color:#f4f7ff;border-radius:12px;padding:8px 14px;white-space:nowrap;font-weight:650}.rail-link:hover{background:#ffffff29}.rail-link[aria-current=page]{background:#fff;color:#16325f;border-color:#fff}.mark{font-family:Newsreader,Georgia,serif;font-size:28px;font-weight:650;letter-spacing:-.04em;color:var(--accent);line-height:1}.brand{display:flex;align-items:center;gap:12px;flex:none}.brand .brand-name{font-size:26px;font-weight:700;letter-spacing:-.04em;white-space:nowrap;color:#fff}.rail-now{display:flex;align-items:center;justify-content:flex-end;flex:1;min-width:0;margin:0;color:#f4f7ff;font-size:14.3px;font-weight:400;line-height:1.15;white-space:nowrap;font-variant-numeric:tabular-nums}.rail-now time{display:inline-flex;align-items:center;gap:8px}.rail-date{color:#f4f7ff}.rail-clock{color:#ffe08a;font-weight:650}.rail-now-box{display:inline-flex;align-items:center;flex:none;gap:8px;max-width:100%;padding:3px 4px 3px 10px;border:1px solid rgba(255,255,255,.28);border-radius:12px;background:#ffffff14;white-space:nowrap}.rail-place{position:relative}.place-name{border:0;background:transparent;color:#fff;font:inherit;font-weight:400;line-height:1.15;padding:0}button.place-name{cursor:pointer;text-decoration:underline;text-underline-offset:2px}button.place-name:hover{color:#d6e4ff}.rail-weather{display:inline-flex;align-items:center;flex-wrap:nowrap;flex:none;gap:6px;padding:3px 8px;border:1px solid rgba(214,228,255,.55);border-radius:8px;background:#ffffff29;color:#fff;font-weight:400;white-space:nowrap}.rail-sky{position:relative}.sky-name{border:0;background:transparent;color:inherit;font:inherit;font-weight:400;line-height:1.15;padding:0;cursor:pointer}.sky-name:hover{color:#d6e4ff}.week-pop{position:absolute;top:calc(100% + 10px);right:0;z-index:8;width:min(440px,78vw);padding:10px;border:1px solid #d3def2;border-radius:14px;background:#fff;color:#172033;box-shadow:0 16px 40px #16325f2e;font-size:13px;font-weight:500;line-height:1.35;white-space:normal}.week-pop>p{margin:0 0 6px;color:#16325f;font-weight:700}.week-pop ul{max-height:320px;overflow:auto}.week-pop li{display:grid;grid-template-columns:88px 1fr 1fr auto;gap:6px;align-items:center;padding:7px 2px;border-top:1px solid #e6eef8}.week-pop em{color:#5c6b86;font-style:normal}.week-empty{margin:0;color:#5c6b86;font-weight:500}.place-pop{position:absolute;top:calc(100% + 10px);right:0;z-index:8;width:340px;padding:8px;border:1px solid #d3def2;border-radius:12px;background:#fff;box-shadow:0 16px 40px #16325f2e;color:#172033;font-size:13px;font-weight:650;line-height:1.3;white-space:normal}.place-pop input{width:100%;padding:7px 9px;border:1px solid #d3def2;border-radius:8px;background:#f7f9ff}.place-pop ul{max-height:240px;margin-top:6px;overflow:auto}.place-pop li button{width:100%;padding:7px 8px;border:0;border-radius:8px;background:transparent;color:#172033;font:inherit;text-align:left}.place-pop li button:hover{background:#e7eefc;color:#1f5eff}.rail-foot{display:flex;align-items:center;gap:10px;margin-left:16px;color:#f4f7ffc7;font-size:12px;flex:none}.rail-foot b{color:#fff;font-size:14px}.rail .chip.back-btn,.rail-foot .back-btn{background:#ffffff1a;border-color:#ffffff47;color:#fff;font-size:14px;font-weight:650;padding:8px 14px}.rail .chip.back-btn:hover,.rail-foot .back-btn:hover{background:#ffffff2e}.rail .chip.back-btn:disabled{opacity:.4}.rail-name{border:1px solid rgba(255,255,255,.28);background:#ffffff1a;color:#fff;border-radius:12px;padding:8px 14px;font-size:14px;font-weight:650;white-space:nowrap;flex:none}.rail-name:hover,.rail-name[aria-current=page]{background:#fff;color:#16325f;border-color:#fff}.main{padding:28px 32px 64px;min-width:0}.page-head{margin-bottom:18px}.section-head{margin-bottom:0;text-align:left;padding:16px 20px;background:linear-gradient(90deg,#e7eefc,#fff 48%);border:1px solid #d3def2;border-left:5px solid var(--accent);border-radius:16px}.section-head h1{display:flex;align-items:flex-end;gap:6px;margin:0;font-size:32px;font-weight:750;line-height:1;letter-spacing:-.04em;color:var(--ink)}.name-role{font-size:.6em;font-weight:700;line-height:1;letter-spacing:-.03em;color:#7b8ba3}.section-head .section-sub{margin-top:4px;font-size:18px;font-weight:650;letter-spacing:-.03em;line-height:1.35;color:var(--blue)}.eyebrow{color:var(--brass);font-size:13px;font-weight:650;letter-spacing:.01em}h1{margin:4px 0 6px;font-size:32px;letter-spacing:-.04em}.page-head p:last-child,.lede{color:var(--muted);line-height:1.55}.section-head p.section-sub{color:var(--blue)}.person-head{display:flex;align-items:stretch;justify-content:space-between;gap:12px 20px}.manager-head{align-items:center;justify-content:flex-start;gap:8px 24px;padding-top:12px;padding-bottom:12px}.person-head-progress{flex:1 1 auto;min-width:160px;align-self:center}.manager-head .head-notices{flex:0 1 440px;width:min(440px,38%);align-self:center}.head-notices{display:grid;gap:2px;min-width:0}.head-notices p{display:grid;grid-template-columns:4.6em 5.4em minmax(0,1fr);align-items:baseline;gap:8px;margin:0;min-width:0;font-size:13.2px;line-height:1.35}.head-notices b{color:var(--brass);font-weight:750}.head-notices span{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.head-notices em{font-style:normal;font-weight:650;color:#1d4ed8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.head-notices em[data-empty="1"]{color:#9aa6b5;font-weight:500}.manager-head .head-progress-wrap{flex:none;width:100%;margin:0;align-self:stretch}.person-head>div:first-child,.export-head>div:first-child{display:flex;flex-direction:column;align-items:flex-start;align-self:flex-start;text-align:left}.manager-head>div:first-child{align-self:center}.person-head .urgent-spot{align-self:flex-start}.export-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.export-head .chip{flex:none}.export-head .head-counts-wrap{flex:1 1 auto;display:flex;justify-content:flex-end;min-width:0;margin-left:24px;align-self:center}.export-head .head-counts{width:80%;min-width:0;border-collapse:collapse}.export-head .head-counts th,.export-head .head-counts td{position:static;padding:1px 2px;border:0;background:transparent;text-align:center;vertical-align:middle}.export-head .count-box{display:flex;align-items:center;justify-content:center;width:100%;min-height:0;padding:1px 4px;border:0;border-radius:6px;background:transparent;color:#24324a;font-size:13px;font-weight:750;line-height:1.25}.export-head button.count-box{cursor:pointer;font:inherit;font-size:13px;font-weight:750}.export-head thead .count-box{font-size:12px;font-weight:700;color:#6b7c93;letter-spacing:-.03em}.export-head thead button.count-box.type-name{border:1px solid #c5d4ef;border-radius:8px;background:#fff;color:#1d4e89;box-shadow:0 1px 2px #16325f14;padding:2px 7px}.export-head thead button.count-box.type-name:hover{background:#d6e4ff;border-color:#7ea2e8;color:#16325f}.export-head button.count-box:hover{color:#1f5eff}.export-head .count-box.sum{color:#16325f;font-weight:800}.export-head .head-counts .year-label{padding-right:10px;color:#5c6d86;font-size:12px;font-weight:750;text-align:right;white-space:nowrap}.export-head .head-counts tbody th:first-child{border-radius:8px 0 0 8px}.export-head .head-counts tbody td:last-child{border-radius:0 8px 8px 0}.export-head .head-counts tr[data-slot="0"] th,.export-head .head-counts tr[data-slot="0"] td{background:#e7f4ee}.export-head .head-counts tr[data-slot="1"] th,.export-head .head-counts tr[data-slot="1"] td{background:#f7f1e6}.export-head .head-counts tr[data-slot="2"] th,.export-head .head-counts tr[data-slot="2"] td{background:#eef3ff}.export-head .head-counts tr[data-slot="0"] button.count-box:hover{background:#cfe6da}.export-head .head-counts tr[data-slot="1"] button.count-box:hover{background:#eadfc8}.export-head .head-counts tr[data-slot="2"] button.count-box:hover{background:#d6e4ff}.export-head .head-counts tr[data-now=true] .year-label,.export-head .head-counts tr[data-now=true] button.count-box{color:#16325f;font-weight:800}.year-line{display:inline-flex;align-items:center;gap:8px;margin-top:6px;padding:3px 10px 3px 3px;border:1px solid #d3def2;border-radius:12px;background:#fff}.year-line .section-sub{margin:0;white-space:nowrap}.urgent-spot{display:flex;align-items:center;flex:0 1 620px;gap:6px 12px;width:min(100%,620px);min-width:0;padding:8px 12px;border:1px solid #d3def2;border-radius:12px;background:#ffffffc7}.urgent-spot-lead{display:flex;flex-direction:column;align-items:flex-start;flex:none;gap:2px}.urgent-spot-lead>p{margin:0;color:var(--muted);font-size:12px;font-weight:700}.urgent-spot-lead>b,.urgent-spot .linkish{display:inline;padding:0;border:0;background:transparent;font-size:18px;font-weight:750;line-height:1.2;color:var(--ink)}.urgent-spot .linkish:hover{color:var(--accent)}.urgent-spot dl{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:2px 8px;flex:1;min-width:0;margin:0}.urgent-spot dd .linkish{padding:0;border:0;background:transparent;color:var(--ink);font-size:13px;font-weight:700}.urgent-spot dd .linkish:hover{color:var(--accent)}.urgent-spot dt{color:var(--muted);font-size:12px;font-weight:650}.urgent-spot dd{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700}.meta dd .linkish{font-weight:750}.lede{max-width:760px;margin-bottom:16px}.schedule-stack>.lede{max-width:none;white-space:nowrap}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:10px}.year-band{display:flex;flex-direction:column;gap:12px}.year-band-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.year-band-head h2{font-size:18px;font-weight:750;letter-spacing:-.03em}.year-band-head p{color:var(--muted);font-size:13px}.year-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.year-ledger{gap:18px}.year-ledger-block h3{display:flex;align-items:baseline;gap:8px;margin:0 0 8px;font-size:15px;font-weight:750}.year-ledger-block h3 span{color:var(--muted);font-size:13px;font-weight:650}.year-ledger-block[data-role=now] h3{color:var(--accent)}.year-ledger table{width:100%;border-collapse:collapse}.year-ledger th,.year-ledger td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}.year-ledger .linkish{width:auto;font-weight:700}.year-ledger .course-cell{display:flex;flex-direction:column;align-items:flex-start;gap:1px}.year-ledger .course-cell b{font-weight:700}.year-ledger .course-cell small{color:var(--muted);font-size:11px;font-weight:650;line-height:1.2}.year-kpi{display:flex;flex-direction:column;gap:6px;min-height:196px;padding:16px 16px 14px;border:1px solid var(--line);border-radius:20px;background:var(--paper)}.year-kpi[data-role=now]{background:linear-gradient(160deg,#3b74ff,#1f5eff 58%,#173fbe);border-color:transparent;color:#fff;box-shadow:0 18px 40px #1f5eff3d}.year-kpi[data-role=plan]{background:#f6f8ff;border-style:dashed;border-color:#c9d6f2}.year-kpi-tag{font-size:12px;font-weight:750;letter-spacing:-.02em;color:var(--muted)}.year-kpi[data-role=now] .year-kpi-tag{color:#ffffffd1}.year-kpi-year{padding:0;border:0;background:transparent;font-size:24px;font-weight:800;letter-spacing:-.04em;color:var(--blue);line-height:1;text-align:left;cursor:pointer}.year-kpi-year[aria-pressed=true]{text-decoration:underline;text-underline-offset:4px}.year-kpi-lines{display:grid;gap:7px;margin:4px 0 0}.year-kpi-lines div{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.year-kpi-lines dt{color:var(--muted);font-size:12px;font-weight:650}.year-kpi-lines dd{margin:0;display:inline-flex;align-items:baseline;gap:4px;font-size:16px;font-weight:800;font-variant-numeric:tabular-nums}.year-kpi-lines dd[data-tone=up]{color:var(--green)}.year-kpi-lines dd[data-tone=down]{color:var(--red)}.year-kpi[data-role=now] .year-kpi-lines dt{color:#ffffffc7}.year-kpi[data-role=now] .year-kpi-lines dd,.year-kpi[data-role=now] .year-kpi-lines dd[data-tone=up]{color:#fff}.year-kpi[data-role=now] .year-kpi-lines dd[data-tone=down]{color:#ffd0c8}.year-kpi-lines s{color:var(--amber);font-size:10px;font-style:normal;font-weight:800;text-decoration:none}.year-kpi-lines input{width:64px;border:0;border-radius:8px;padding:0 6px;background:#f4f7fb;color:var(--ink);font-size:16px;font-weight:800;text-align:right}.year-kpi[data-role=now] .year-kpi-lines input{background:#ffffff29;color:#fff}.year-kpi[data-role=now] .year-kpi-year{color:#fff}.year-kpi-count{display:flex;align-items:flex-end;gap:6px;margin-top:auto}.year-kpi-count strong{font-size:42px;line-height:.9;letter-spacing:-.06em;font-variant-numeric:tabular-nums}.year-kpi-count span{margin-bottom:4px;color:var(--muted);font-size:13px;font-weight:650}.year-kpi[data-role=now] .year-kpi-count span{color:#ffffffdb}.year-kpi-meta{display:flex;flex-wrap:wrap;gap:6px;min-height:22px;color:var(--muted);font-size:12px;font-weight:700}.year-kpi[data-role=now] .year-kpi-meta{color:#ffffffe6}.year-chip{padding:2px 7px;border-radius:999px;background:#eef2f8}.year-kpi[data-role=now] .year-chip{background:#ffffff29}.year-chip.alert{background:var(--red-soft);color:var(--red)}.year-kpi[data-role=now] .year-chip.alert{background:#ffffffeb}.year-meter{height:4px;border-radius:999px;background:#e7edf5;overflow:hidden}.year-kpi[data-role=now] .year-meter{background:#ffffff38}.year-meter i{display:block;height:100%;border-radius:inherit;background:var(--accent)}.year-kpi-foot{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;margin-top:auto;min-height:16px}.year-kpi-foot .type-edit{margin-top:0}.year-kpi[data-role=now] .year-kpi-foot .type-edit{color:#ffffffdb}.year-kpi[data-role=now] .year-meter i{background:#fff}.kpi small{display:block;margin-top:4px;color:var(--muted);font-size:12px;font-weight:650}.person-types{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:8px;margin-top:12px}.person-type{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#f7f9fc}.person-type b{font-size:13px}.person-type strong{font-size:18px;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.person-type small{color:var(--muted);font-size:12px}button.person-type{width:100%;text-align:left;cursor:pointer}button.person-type[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.year-kpi[data-role=plan] .year-meter i{background:#8eabef}.kpi,.panel,.vendor-card,.card{background:var(--paper);border:1px solid var(--line);border-radius:16px}.kpi{text-align:left;padding:14px 14px 12px}button.kpi{width:100%}button.kpi:hover{background:#d6e4ff;border-color:#7ea2e8}button.kpi[data-tone=alert]:hover{background:#f6e3a4;border-color:#d4a017}button.kpi[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}button.person-type:hover{background:#d6e4ff;border-color:#7ea2e8}.kpi strong,.vendor-card strong{display:block;font-size:28px;font-variant-numeric:tabular-nums;letter-spacing:-.05em}.kpi span,.vendor-card span{color:var(--muted);font-size:13px}.kpi[data-tone=alert] strong{color:var(--red)}.overview,.vendor,.manage{display:flex;flex-direction:column;gap:16px}.split{display:grid;grid-template-columns:1.35fr .85fr;gap:16px}.sync-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:12px 14px;border-radius:14px;background:#fff6e8;color:#7a4b00}.sync-banner[data-kind=conflict]{background:#fdeceb;color:#8a4034}.sync-banner p{margin:0;line-height:1.45}.backup-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.backup-folder{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#f7f9fc;color:var(--ink);font-weight:700;text-align:left}.backup-folder b{color:var(--muted);font-size:13px;font-weight:700}.backup-folder[aria-expanded=true]{border-color:#16325f;background:#eef3fb}.backup-list{display:flex;flex-direction:column;gap:8px;max-height:320px;margin:8px 0 0;padding:10px 12px;overflow:auto;list-style:none;border:1px solid var(--line);border-radius:12px;background:#fff}.backup-list li{display:flex;align-items:center;justify-content:space-between;gap:12px}.backup-actions{display:flex;flex:none;gap:6px}.panel{padding:16px 18px 18px}#proc-calendar,#proc-wbs,#proc-timeline,#proc-roadmap,#proc-checks{scroll-margin-top:72px}#production-board,#person-board,#journal-glance,#journal-cal,#view-gantt,#journal-sheet{scroll-margin-top:calc(var(--rail-height, 60px) + 72px)}.panel.dark{background:#241c18;color:#f6efe6;border-color:#241c18}.panel-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px}.head-actions{display:flex;align-items:center;gap:8px}.sort-menu{position:relative}.sort-menu ul{position:absolute;top:calc(100% + 6px);right:0;z-index:8;min-width:188px;margin:0;padding:6px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 24px #16305a1f}.sort-menu li button{width:100%;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:var(--ink);font-size:13px;font-weight:700;text-align:left}.sort-menu li button:hover,.sort-menu li button[aria-pressed=true]{background:#e7eefc;color:var(--accent)}.panel-head h2,.column header h2,.drawer h3,.year-band-head h2,.journal-cal-head h2,.journal-sheet-head h2,.journal-who b{font-size:18px;font-weight:750;letter-spacing:-.03em;line-height:1.25}.panel-head p,.hint,.empty{color:var(--muted);font-size:13px}.panel.dark .panel-head p{color:#cbbfb2}.stage-btn,.type-btn,.pm-btn,.mini-list button,.linkish{width:100%;border:0;background:transparent;text-align:left}.stage-btn{display:grid;grid-template-columns:92px minmax(0,1fr) 64px;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.stage-btn b,.type-btn span:first-child,.mini-list b,.card b{display:block}.stage-btn small,.mini-list small,.card small,td small,.check-row small,.pm-btn small,.pm-card small{display:block;color:var(--muted);font-size:12px;margin-top:2px}.stage-meta{text-align:right}.stage-meta b{font-variant-numeric:tabular-nums}.bar{display:block;height:8px;border-radius:99px;background:#e6dfd3;overflow:hidden}.bar>span{display:block;height:100%;background:var(--green);border-radius:inherit}.bar[data-stage=prod]>span{background:#1d6b56}.bar[data-stage=post]>span{background:var(--blue)}.bar[data-stage=service]>span{background:#7a4e68}.bar[data-stage=done]>span{background:#8d8376}.bar[data-stage=pre]>span{background:var(--brass)}.type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 18px}.type-btn{display:grid;grid-template-columns:108px minmax(0,1fr) 28px;gap:10px;align-items:center;padding:8px 0}.pm-list{display:flex;flex-direction:column}.pm-btn{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#efe2c4;color:#6d5320;font-weight:700}.delay-num,.quiet-num{text-align:right}.delay-num b{color:var(--red);font-weight:700}.quiet-num b{color:var(--muted);font-weight:650}.mini-list button{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08)}.panel:not(.dark) .mini-list button{border-bottom-color:var(--line)}.panel.dark .mini-list small{color:#cbbfb2}.text-btn{border:0;background:transparent;color:var(--green);font-weight:650}.text-btn.light{color:#f2d48a}.filterbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:14px}.search{flex:1 1 240px}.search,select,.chip,.pager button,.icon-btn,.check{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 10px}.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}.chip:disabled{opacity:.45;cursor:default}.count{margin-left:auto;color:var(--muted);font-size:13px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:var(--paper)}.table-wrap.short{max-height:560px}table{width:100%;border-collapse:collapse;min-width:1080px}th,td{padding:11px 12px;text-align:left;vertical-align:middle;border-bottom:1px solid var(--line);font-size:14px}th{position:sticky;top:0;background:#f6f8fb;font-size:12px;color:var(--muted);font-weight:650}tbody tr:hover td,tbody tr:focus td{background:#f4f7fb}.table-wrap tbody tr[tabindex]{cursor:pointer}tbody tr[data-active=true] td{background:var(--green-soft)}td b{font-weight:650}.code{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.progress-cell{min-width:110px}.progress-cell .meter{width:72px;margin-right:8px}.date-start{color:var(--blue);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.due{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink)}.due.late,.late{color:var(--red);font-weight:700}.pager{display:flex;justify-content:flex-end;gap:8px;align-items:center;margin-top:12px}.pager button:disabled{opacity:.4;cursor:default}.board{display:grid;grid-template-columns:repeat(5,minmax(210px,1fr));gap:12px;align-items:start;overflow-x:auto}.column{background:#ffffff59;border:1px solid var(--line);border-radius:16px;padding:12px;min-width:210px}.column header{display:grid;grid-template-columns:1fr auto;gap:2px 8px;margin-bottom:10px}.column header span{font-variant-numeric:tabular-nums;background:#fff;border-radius:99px;padding:2px 8px;font-size:12px}.column header p{grid-column:1 / -1;color:var(--muted);font-size:12px}.column ul{display:flex;flex-direction:column;gap:8px;max-height:calc(100vh - 250px);overflow:auto}.card{display:flex;flex-direction:column;gap:6px;width:100%;padding:12px;text-align:left}.card-top,.card-foot{display:flex;justify-content:space-between;gap:8px;align-items:center}.card-foot .meter{flex:1}.vendor-stats,.pm-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.vendor-card{padding:14px}.pm-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.pm-card{display:grid;grid-template-columns:36px 1fr;gap:8px 10px;text-align:left;padding:14px}.pm-metrics{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.pm-metrics em{font-style:normal;color:var(--muted);font-size:12px}.pm-metrics strong{display:block;color:var(--ink);font-size:18px}.check[aria-checked=true]{background:var(--green-soft);color:var(--green);border-color:transparent}.linkish{color:var(--ink);font-weight:650}.linkish:hover{color:var(--accent)}.pill{display:inline-flex;align-items:center;border-radius:99px;padding:3px 8px;font-size:12px;font-weight:650;background:#eeeae2;white-space:nowrap}.pill[data-status=doing]{background:var(--green-soft);color:var(--green)}.pill[data-status=review]{background:var(--amber-soft);color:var(--amber)}.pill[data-status=done]{background:#eceae6;color:#5f5a53}.pill[data-status=delayed]{background:var(--red-soft);color:var(--red)}.pill[data-status=waiting]{background:var(--blue-soft);color:var(--blue)}.pill[data-status=hold]{background:var(--amber-soft);color:var(--amber)}.pill[data-status=cancelled]{background:#f4e8e4;color:#8a4034}.pill.quiet{background:#eeeae2;color:var(--muted);font-weight:500}.meter{display:inline-block;vertical-align:middle;width:100%;height:6px;border-radius:99px;background:#e6dfd3;overflow:hidden}.meter>span{display:block;height:100%;background:var(--green)}.head-progress-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;align-self:center;column-gap:8px;row-gap:4px;flex:1 1 180px;min-width:140px}.head-progress{display:contents}.head-progress-caption{grid-column:1;grid-row:1;display:flex;justify-content:space-between;align-items:baseline;gap:12px;min-width:0;color:#7b8ba3;font-size:13px;font-weight:650;line-height:1.3}.head-progress-caption>span:first-child{text-align:left}.head-progress-caption>span:last-child{margin-left:auto;text-align:right}.head-progress .meter{grid-column:1;grid-row:1;height:8px}.head-progress-wrap.has-caption .meter{grid-row:2}.head-progress b{grid-column:2;grid-row:1;align-self:center;font-size:16px;font-weight:800;color:var(--ink)}.head-progress-wrap.has-caption b{grid-row:2}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;border:0;background:#1c191559;z-index:20}.drawer{position:fixed;top:0;right:0;z-index:21;width:min(460px,100vw);height:100vh;overflow:auto;background:#fbf8f3;box-shadow:var(--shadow)}.drawer-head,.drawer-body{padding:22px 22px 8px}.drawer-head{display:flex;flex-direction:column;gap:2px}.drawer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.drawer-title-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,60%);align-items:center;column-gap:28px}.drawer-names{min-width:0}.drawer-head h2{margin:0;font-size:24px;letter-spacing:-.04em}.drawer-sub{margin-top:2px;color:var(--muted)}.drawer-head .code{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.drawer-progress{min-width:0;width:100%;padding-top:0}.drawer-meter{display:flex;align-items:center;gap:10px}.manage-head h2{margin:0}.subject-head{align-items:flex-start}.subject-title{flex:none;display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;text-align:left}.subject-code{margin:0;font-size:16px;font-weight:650;letter-spacing:-.03em;line-height:1.2;color:var(--blue)}.spot-stack{display:flex;flex-direction:column;align-items:stretch;gap:6px;min-width:0;flex:1 1 auto;align-self:stretch}.urgent-spot.subject-spot .spot-grid{flex:1 1 auto;align-items:stretch}.urgent-spot.subject-spot .spot-cell{height:auto;align-self:stretch}.spot-stack .subject-progress{display:flex;align-items:center;gap:8px;width:100%;min-width:0}.spot-stack .subject-progress .meter{flex:1;height:8px}.spot-stack .subject-progress b{flex:none;font-size:18px;font-weight:800}.urgent-spot.subject-spot{flex:0 1 auto;width:max-content;max-width:100%;margin-left:auto;align-self:center;align-items:stretch;justify-content:flex-start;padding:5px 6.6px}.spot-grid{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:stretch;gap:4px;flex:0 1 auto;width:auto;min-width:0}.spot-cell{display:flex;flex-direction:column;justify-content:center;gap:2px;flex:0 0 auto;width:auto;max-width:100%;align-items:flex-start;text-align:left;padding:5px 7.7px;border:1px solid #d3def2;border-radius:10px;background:#fff;font-size:14.4px;font-weight:750;line-height:1.2}.spot-cell>span{color:var(--muted);font-size:14.4px;font-weight:650}.spot-cell b,.spot-cell .linkish{font-size:14.4px;font-weight:750;line-height:1.2}.spot-cell .linkish,.spot-cell b{display:block;width:auto;overflow:visible;text-overflow:unset;white-space:nowrap;text-align:left}.spot-cell b[data-tone=delayed]{color:var(--red);font-size:15.84px}.spot-cell b[data-tone=doing]{color:var(--accent)}button.spot-cell{font:inherit;color:inherit;cursor:pointer;text-align:left}button.spot-cell:hover,.spot-cell:has(button.linkish):hover{background:#e7eefc;border-color:#9db4e8}.subject-board td:has(>.linkish),.year-ledger td:has(>.linkish){padding:0}.subject-board td>.linkish,.year-ledger td>.linkish{display:flex;align-items:center;width:100%;min-height:36px;padding:6px 8px;box-sizing:border-box;text-align:left}.subject-board td>.linkish .course-cell{width:100%}dl.meta>div:not(.meta-spacer) dd:has(>.linkish){display:flex;align-items:stretch}dl.meta>div:not(.meta-spacer) dd>.linkish{flex:1;display:flex;align-items:center;margin-left:0;min-height:32px}.urgent-flag{writing-mode:vertical-rl;flex:none;font-size:26px;font-weight:800;line-height:1;letter-spacing:.08em;color:var(--red)}.drawer-meter .meter{flex:1}.drawer-meter b{flex:none}.next-line{display:flex;flex-wrap:wrap;gap:4px 22px;margin:8px 0 0;color:var(--muted)}.drawer h3{margin:8px 0 10px}.drawer section{padding-bottom:18px;border-top:1px solid var(--line);margin-top:8px}.drawer-body>section:first-child:not(.panel){border-top:0;margin-top:0}.manage-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.manage-head h3{margin:0 0 10px}.meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px}.meta dt,.meta-label{color:var(--muted);font-size:12px}dl.meta{grid-template-columns:1fr 1fr 1fr;gap:0 36px;margin:0;padding:4px 18px 6px;border:1px solid #e4ebf5;border-radius:16px;background:#fff}dl.meta>.meta-spacer{display:none}dl.meta>div:not(.meta-spacer){display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:12px;min-height:48px;padding:8px 0;border-bottom:1px solid #eef2f8}dl.meta>div:nth-child(3n+1):nth-last-child(-n+3),dl.meta>div:nth-child(3n+2):nth-last-child(-n+2),dl.meta>div:nth-child(3n):nth-last-child(-n+1){border-bottom:0}dl.meta dt,dl.meta dd{margin:0;line-height:1.35}dl.meta dt{color:#7b8ba3;font-size:13px;font-weight:650}dl.meta dd{margin:0;font-size:16px;font-weight:750;color:var(--ink)}.meta dd{margin:2px 0 0;font-weight:650}.meta dd .value-box,.meta dd .linkish{display:inline-flex;align-items:center;width:auto;max-width:100%;padding:3px 8px;border:1px solid #d3def2;border-radius:8px;background:#f4f7fc;color:var(--ink);font-weight:750}.meta dd .linkish:hover{background:#e7eefc;border-color:#b7c8ef;color:var(--ink)}dl.meta>div:not(.meta-spacer) dd .value-box,dl.meta>div:not(.meta-spacer) dd .linkish{padding:0;border:0;border-radius:8px;background:transparent;color:var(--ink);font-size:16px;font-weight:750}dl.meta>div:not(.meta-spacer) dd .linkish{margin-left:-8px;padding:3px 8px;color:#1d4e89}dl.meta>div:not(.meta-spacer) dd .linkish:hover{background:#e7eefc;border-color:transparent;color:var(--accent)}.meta label{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:12px}.meta input,.meta select,.meta textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:6px 8px;background:#fff;color:var(--ink);font-weight:650}.meta textarea{resize:vertical;font-weight:500}.meta-wide,.meta-actions{grid-column:1 / -1}.meta-actions{display:flex;justify-content:flex-end;gap:8px}.meta-spacer{min-height:1px}.note-block{margin-top:14px}.note-block>.meta-label{margin-bottom:6px}.note-form{display:flex;flex-direction:column;gap:8px;width:100%}.note-form textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#fff;font-size:16px;line-height:1.5;resize:vertical}.note-actions{display:flex;justify-content:flex-end;gap:8px}.note{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px;background:#f8efd8;font-size:16px;line-height:1.5}.note.recent-note{display:block;background:#d7f3ff;border:1px solid #b7e4f7}.note.recent-note p{margin:0;min-height:1.5em;white-space:pre-wrap;font-weight:750}.note>p{flex:1;min-width:0;white-space:pre-wrap}.note>.chip{flex:none;margin-top:1px}.stages{display:flex;flex-direction:column;gap:14px}.stages header{display:flex;gap:8px;align-items:center;margin-bottom:6px}.stages header span{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:#fff;font-size:12px}.stages header small{margin-left:auto;color:var(--muted)}.stages li button,.check-row{width:100%;display:flex;gap:10px;align-items:center;border:0;background:transparent;text-align:left;padding:7px 0}.check-row.done b{color:var(--muted);text-decoration:line-through}.box{width:18px;height:18px;border:1.5px solid #b7ad9e;border-radius:5px;display:grid;place-items:center;color:var(--green);flex:0 0 auto}.check-row.done .box{background:var(--green);color:#fff;border-color:var(--green)}.check-line{display:flex;align-items:center;gap:8px}.check-line .check-row{flex:1;min-width:0}.check-add,.remark-form{display:flex;flex-wrap:wrap;gap:8px;align-items:end;margin:10px 0}.check-add label,.remark-form{font-size:12px;color:var(--muted)}.check-add label{display:flex;flex-direction:column;gap:4px}.check-add input,.remark-form textarea{border:1px solid var(--line);border-radius:8px;padding:6px 8px;background:#fff;color:var(--ink)}.remark-form{flex-direction:column;align-items:stretch}.remark-form textarea{width:100%;resize:vertical}.remarks{margin-top:16px;padding-top:8px;border-top:1px solid var(--line)}.remarks h3{margin:0 0 8px}.remark-list li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.remark-list p{white-space:pre-wrap}.remark-list small,.file-list small{color:var(--muted)}.remark-actions{display:flex;gap:6px;flex:none}.file-list{display:flex;flex-direction:column;gap:6px;margin:8px 0 12px}.file-list li{display:flex;align-items:center;gap:8px}.file-list a{font-weight:650}.icon-btn{background:#fff}.drawer.workpage{position:static;z-index:auto;overflow:visible;width:100%;height:auto;box-shadow:none;background:var(--paper);border:1px solid var(--line);border-radius:16px}.card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.card-grid.people{grid-template-columns:repeat(2,minmax(0,1fr))}.card-grid.people .person-card{flex-direction:row;align-items:center;justify-content:space-between;width:100%;height:64px;min-height:64px;max-height:64px;gap:8px;padding:8px 14px;overflow:hidden;cursor:default}.person-card-id{display:flex;flex-direction:row;align-items:baseline;gap:8px;min-width:0;padding:0;border:0;background:transparent;cursor:default}.card-grid.people .person-card-id{padding:6px 10px;border:1px solid #b7e0cc;border-radius:10px;background:#e8f7f1;cursor:pointer}.card-grid.people .person-card-id:hover{background:#d4f0e4;border-color:#8ec9ad}.card-grid.people .person-card-id b,.card-grid.people .person-card-id small{cursor:pointer}.card-grid.people .person-card-id b{font-size:20px;line-height:1}.card-grid.people .person-card-id small{font-size:16px;line-height:1}.person-mini{display:flex;flex-wrap:nowrap;justify-content:flex-end;gap:6px;margin-left:0;flex:none}.card-grid.people .head-progress-wrap{min-width:88px;flex:1 1 auto}.card-grid.people .head-progress b{font-size:15px}.person-mini>button{display:flex;flex-direction:column;align-items:center;gap:1px;padding:4px 8px;border:1px solid #d3def2;border-radius:10px;background:#f4f7fc;color:var(--muted);font-size:13px;font-weight:650;line-height:1;white-space:nowrap;cursor:pointer}.person-mini>button:hover{background:#e7eefc;border-color:#b7c8ef}.person-mini>button[data-kpi=total]{background:#e7eefc;border-color:#c5d4f5}.person-mini>button[data-kpi=doing]{background:#e5f6ee;border-color:#b7e0cc}.person-mini>button[data-kpi=delayed]{background:#fbf3d8;border-color:#ead9a0}.person-mini>button[data-kpi=done]{background:#e3f6f4;border-color:#b7e0db}.person-mini>button[data-kpi=total]:hover{background:#d4e0f8;border-color:#a8bcea}.person-mini>button[data-kpi=doing]:hover{background:#cfeedf;border-color:#8ec9ad}.person-mini>button[data-kpi=delayed]:hover{background:#f3e4b4;border-color:#d4be78}.person-mini>button[data-kpi=done]:hover{background:#c9ebe7;border-color:#93cfc8}.person-mini>button b,.person-mini>button span{cursor:pointer;color:var(--ink)}.person-mini b{font-size:18px;font-weight:800;line-height:1;color:var(--ink)}.person-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;text-align:left}.person-card b{font-size:16px}.person-card small{color:var(--muted)}.person-card span{color:var(--accent);font-size:13px;font-weight:650}.person-mini>button{color:var(--muted);font-size:13px;font-weight:650}.person-mini b{font-size:18px;color:var(--ink)}.person-mini>button[data-tone=alert] b{color:var(--red)}.person-card.type-card{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px;width:100%;padding:14px}.type-card-main{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;flex:1;border:0;background:transparent;padding:0;text-align:left}.hover-box{display:inline-flex;align-items:center;max-width:100%;padding:4px 10px;border:1px solid #d3def2;border-radius:8px;background:#f4f7fc;color:var(--ink)}.hover-box:hover{background:#e7eefc;border-color:#b7c8ef}.type-card-main>.type-name-row>b.hover-box{color:var(--ink);background:#e7eefc;border-color:#c5d4f5}.type-card-main>.type-name-row>b.hover-box:hover{background:#d4e0f8;border-color:#a8bcea}.type-card .type-name-row>b.hover-box{background:color-mix(in srgb,#f4f7fc 90%,#16325f);border-color:color-mix(in srgb,#d3def2 90%,#16325f)}.type-card .type-name-row>b.hover-box:hover{background:color-mix(in srgb,#e7eefc 90%,#16325f);border-color:color-mix(in srgb,#b7c8ef 90%,#16325f)}.type-line{display:flex;align-items:center;flex-wrap:wrap;gap:8px;width:100%;min-width:0}.type-name-row,.lead-row{display:flex;align-items:center;gap:6px;max-width:100%;min-width:0}.type-card .type-delay{color:var(--muted);font-size:12px;font-weight:650;white-space:nowrap}.type-card .type-delay[data-hot="1"]{color:var(--red)}.lead-tail{margin-left:auto;display:inline-flex;align-items:center;gap:6px;flex:none;min-width:0}button.type-name-row{padding:0;border:0;background:transparent;color:inherit}.type-name-row small{color:var(--muted);white-space:nowrap}.type-lead .lead-meta{display:flex;gap:6px;max-width:100%;font-size:13px;font-weight:750;line-height:1.2}.type-lead .lead-meta .lead-task{color:var(--green)}.type-lead .lead-meta[data-kind=doing] .lead-label{color:var(--accent)}.type-lead .lead-meta[data-kind=next] .lead-label{color:var(--amber)}.type-lead .lead-meta[data-kind=other] .lead-label{color:var(--muted)}.person-card .lead-check{display:inline-flex;align-items:center;flex:none;padding:3px 7px;border:1px solid #e7b2a8;border-radius:8px;background:#fdecea;color:var(--red);font-size:11px;font-weight:800;letter-spacing:.04em}.type-lead .hover-box{font-size:13px;color:var(--ink)}.type-lead{display:flex;flex-direction:column;align-items:flex-start;gap:1px;max-width:100%;color:var(--ink);font-size:13px;font-weight:750}.type-lead b,.type-lead small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.type-lead b{font-size:13px;color:var(--ink)}.type-lead small{color:var(--muted);font-size:12px;font-weight:650}.type-side{margin-left:auto;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;flex:none}.type-card .type-year{display:inline-flex;align-items:baseline;justify-content:flex-end;gap:4px;padding:0;background:transparent;color:var(--muted);font-size:12px;font-weight:650;line-height:1.35}.type-card .type-year i{font-style:normal}.type-card .type-year[data-role=now]{color:var(--accent)}.type-card .type-year b{display:inline-flex;justify-content:flex-end;align-items:baseline;gap:2px;font-size:13px;color:inherit;font-variant-numeric:tabular-nums}.type-year s{color:var(--amber);font-size:10px;font-style:normal;font-weight:800;text-decoration:none}.type-year input{width:36px;border:1px solid #c9d6f2;border-radius:6px;padding:0 4px;background:#fff;font-size:12px;font-weight:750;text-align:right}.type-year-actions,.year-edit-actions{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}.type-year-actions .chip{padding:2px 6px;font-size:11px}.type-edit{align-self:flex-end;margin-top:2px;padding:0;border:0;background:transparent;color:var(--muted);font-size:11px;font-weight:650}.type-card .type-edit{padding:3px 8px;border:1px solid #d3def2;border-radius:8px;background:#f4f7fc;color:var(--ink)}.type-card .type-edit:hover{background:#e7eefc;border-color:#b7c8ef}.year-select{display:inline-flex;align-items:center;gap:8px;margin-top:0}.year-select select{border:1px solid #c5d4f0;border-radius:9px;padding:4px 10px;background:#e7eefc;color:var(--blue);font-size:18px;font-weight:750;letter-spacing:-.03em}.year-select span{color:var(--blue);font-size:18px;font-weight:650;letter-spacing:-.03em}.year-kpi-count input{width:84px;border:0;border-radius:12px;padding:0 8px;background:#f4f7fb;color:var(--ink);font-size:36px;font-weight:750;letter-spacing:-.05em;line-height:1.1}.year-kpi[data-role=now] .year-kpi-count input{background:#ffffff29;color:#fff}.year-chip.edited{background:var(--amber-soft);color:var(--amber)}.year-kpi[data-role=now] .year-chip.edited{background:#ffffffeb;color:var(--amber)}.section-head.split-head{align-items:center}.year-card .folder-title{border:0;background:transparent;padding:0;font-size:22px;font-weight:700;letter-spacing:-.03em;text-align:left;color:var(--ink)}.year-card .folder-title:hover{color:var(--accent)}.headline-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:4px}.headline-row .section-sub{margin-top:0}.headline-edit{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.headline-edit input{font-size:18px;font-weight:650;letter-spacing:-.04em;padding:6px 10px;border:1px solid var(--line);border-radius:10px;min-width:min(420px,100%);background:#fff}.folder-form,.folder-rename{display:flex;flex-wrap:wrap;gap:8px;align-items:end}.folder-form{margin:0 0 14px}.folder-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}.folder-form input,.folder-rename input{border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fff;font:inherit}.folder-rename{flex-direction:column;align-items:stretch;width:100%}.split-head,.year-pick{display:flex;justify-content:space-between;gap:16px;align-items:flex-end}.year-pick{color:var(--muted);font-size:13px;flex-direction:column;align-items:flex-start}.row-actions{display:flex;gap:6px;white-space:nowrap}.chip.danger{color:var(--red)}.login-screen{position:relative;min-height:100vh;display:flex;flex-direction:column;padding:0;overflow:hidden;background:#00428a}.login-field{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(720px 560px at 50% 46%,rgba(252,252,252,.2),transparent 68%),radial-gradient(540px 420px at 0% 100%,#0096d2,transparent 70%),radial-gradient(480px 420px at 100% 0%,#006cae,transparent 68%),linear-gradient(155deg,#00428a,#0060a2 46%,#064890);pointer-events:none}.login-field:before,.login-field:after{content:"";position:absolute;border-radius:50%}.login-field:before{width:640px;height:640px;right:-180px;top:-210px;background:radial-gradient(circle at 50% 58%,transparent 0 138px,rgba(252,252,252,.92) 139px 168px,transparent 169px),radial-gradient(circle at 50% 58%,#0066a8 0 210px,transparent 211px);opacity:.55}.login-field:after{width:780px;height:780px;left:-280px;bottom:-320px;border:1px solid rgba(252,252,252,.35);box-shadow:inset 0 0 0 90px #0060a273}.login-screen:after{content:"";position:absolute;left:0;right:0;bottom:0;height:10px;background:#363630;pointer-events:none}.login-body{position:relative;z-index:1;flex:1;display:grid;place-items:center;padding:36px 20px 48px}.login-stack{width:min(520px,100%);display:flex;flex-direction:column;gap:14px}.login-mark{display:flex;justify-content:center}.login-mark img{height:46px;width:auto}.login-title{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;min-width:0}.login-names{text-align:right;flex:none;max-width:58%}.login-slogan{margin:0;flex:1;min-width:0;color:#1d4e89;font-size:14px;font-weight:750;letter-spacing:-.05em;text-align:left;line-height:1.05;white-space:nowrap}.login-clock{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px 12px 16px;border:1px solid #d5e2f6;border-radius:16px;background:linear-gradient(180deg,#fffffff5,#f7faff 70%),#fff;box-shadow:0 10px 28px #16325f14}.login-clock span{color:#16325f;font-size:18px;font-weight:650;letter-spacing:-.03em;white-space:nowrap}.login-clock b{padding:4px 10px;border-radius:10px;background:#16325f;color:#ffe08a;font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.03em}.login-card h1{margin:0;color:#16325f;font-size:30px;letter-spacing:-.04em;line-height:1.05;white-space:nowrap}.login-card .login-en{margin:1px 0 0;color:#5c6b86;font-size:14px;letter-spacing:.01em;line-height:1.2}.login-mission{margin:8px 0 4px;padding:14px 14px 12px;border:1px solid #d5e2f6;border-radius:16px;background:linear-gradient(180deg,#f7faff,#fff 72%)}.mission-pills{display:flex;gap:6px;width:100%;margin-bottom:8px}.mission-pills span{flex:1;padding:4px 6px;border-radius:999px;background:#eef3fb;color:#16325f;font-size:12px;font-weight:700;letter-spacing:-.03em;text-align:center;white-space:nowrap}.login-card .login-mission p{margin:0;color:#24324d;font-size:14px;line-height:1.7}.login-mission strong{color:#16325f}.login-card,.modal{display:flex;flex-direction:column;gap:10px;padding:28px;background:#fff;border:1px solid var(--line);border-radius:18px}.login-stack .login-card{width:100%;box-shadow:0 24px 50px #06102847}.modal{width:min(480px,100%);max-height:min(92vh,820px);overflow:auto}.login-card p,.hint{color:var(--muted);line-height:1.5}.login-card label,.modal label,.form-grid label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}.login-card input,.modal input,.modal select,.form-grid input,.form-grid select,.year-pick select{border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fff;color:var(--ink)}.chip.wide{width:100%;margin-top:6px}.form-error{color:var(--red);font-size:13px}.schedule-stack{display:flex;flex-direction:column;gap:16px}.drawer.workpage .schedule-stack{margin-top:24px}.schedule-stack>.sched-jump+.panel{margin-top:-16px}.table-wrap.flush{overflow-x:auto}.subject-board{width:max-content;min-width:100%;table-layout:auto}.subject-board .col-course{width:13%}.subject-board .col-person{width:8%}.subject-board .col-tight{width:5%}.subject-board .col-volume{width:7%}.subject-board .col-vendor{width:9%}.subject-board .col-status{width:11%}.subject-board .col-stage{width:10%}.subject-board .col-work{width:11%}.subject-board .col-date{width:12%}.subject-board th,.subject-board td{padding:6px 8px;font-size:13px;line-height:1.2;white-space:nowrap}.subject-board td:first-child{white-space:normal}.subject-board .course-cell{display:flex;flex-direction:column;align-items:flex-start;gap:1px}.subject-board .course-cell small{display:block;margin:0}.subject-board .subject-pills{flex-wrap:nowrap}.subject-board th{font-size:11px;letter-spacing:-.03em}.subject-board .work-cell{color:var(--ink)}.subject-board .date-cell{font-variant-numeric:tabular-nums}.subject-board .pill{padding:2px 6px;font-size:11px}.subject-board small{display:block;color:var(--muted);font-size:11px}.subject-pills{display:flex;flex-wrap:wrap;gap:4px}.status-line{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:132px}.status-rate{margin-left:auto;color:var(--ink);font-size:13px;font-weight:750;font-variant-numeric:tabular-nums}.brief-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.brief-grid article:first-child{grid-column:1 / -1}.brief-grid article{padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#f7f9fc}.brief-grid span{display:block;margin-bottom:6px;color:var(--muted);font-size:12px;font-weight:750}.brief-grid p{margin:0;color:var(--ink);font-size:14px;line-height:1.55;white-space:pre-wrap}.modal.brief-form{width:min(680px,100%)}.modal textarea{border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fff;color:var(--ink);min-height:72px;resize:vertical;font:inherit}.ops-domains{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.ops-domains button,.ops-domains article{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:112px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fff;text-align:left}.ops-domains button:hover{border-color:#16325f}.ops-domains small,.ops-case span,.ops-bar em{color:var(--muted);font-size:12px;font-weight:700}.ops-domains b{font-size:22px;letter-spacing:-.04em}.ops-links,.ops-actions{display:flex;flex-wrap:wrap;gap:8px}.ops-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ops-form h2,.ops-form .ops-actions,.ops-form fieldset,.ops-form textarea{grid-column:1 / -1}.ops-form fieldset{display:flex;flex-wrap:wrap;gap:10px;border:0;padding:0}.ops-sheet{max-height:70vh}.ops-table td,.ops-table th{vertical-align:top}.ops-cell{min-width:140px}.ops-cell article{display:grid;gap:2px;margin-bottom:6px;padding:6px;border-radius:8px;background:#f4f7fc}.ops-cell article[data-status=해결]{background:#e5f6ee}.ops-cell article[data-status=진행중]{background:#e7eefc}.ops-cell article[data-status=미해결]{background:#fde8e8}.ops-cell article b,.ops-cell article span,.ops-cell article small{display:block;font-size:12px;line-height:1.35}.ops-log{display:grid;gap:6px;margin:8px 0 0}.ops-log li,.ops-check li{font-size:13px}.ops-check{display:grid;gap:6px;padding:10px 0;border-bottom:1px solid var(--line)}.ops-check ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.ops-check li[data-result=이상]{color:var(--red)}.ops-inline{display:flex;gap:6px}.ops-inline select,.ops-inline input{flex:1}.ops-split{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ops-bar{display:grid;grid-template-columns:120px 1fr 36px;gap:8px;align-items:center;margin:6px 0}.ops-bar i{display:block;height:8px;border-radius:99px;background:#e7eef8}.ops-bar i span{display:block;height:100%;border-radius:inherit;background:#1f5eff}.ops-case{display:grid;gap:8px;padding:12px 0;border-bottom:1px solid var(--line)}.ops-case header{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:baseline}.ops-scores{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.eval-sheet{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;width:min(100%,640px);align-items:end}.eval-sheet label{display:grid;grid-template-rows:auto 42px;gap:6px;align-items:end;margin:0;color:var(--muted);font-size:18px;font-weight:650;letter-spacing:-.03em}.eval-sheet input,.eval-sheet select{width:100%;height:42px;box-sizing:border-box;text-align:center;font-size:18px}.eval-sheet input[type=text]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.eval-sheet label[data-place=pf]{grid-column:1;grid-row:3}.eval-comment{display:flex;flex-direction:column;gap:6px;width:100%;margin:0;color:var(--muted);font-size:18px;font-weight:650;letter-spacing:-.03em}.eval-comment textarea{width:100%;box-sizing:border-box;min-height:68px;resize:vertical;line-height:1.45;font-size:18px}.float-pane[data-kind=form] .remote-modal,.float-pane[data-kind=form] .remote-modal p,.float-pane[data-kind=form] .remote-register label,.float-pane[data-kind=form] .remote-register input,.float-pane[data-kind=form] .chip{font-size:18px;letter-spacing:-.03em}.ops-steps{display:grid;gap:4px;margin:8px 0;padding-left:18px}.remote-register{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin-top:10px}.remote-register label{display:flex;flex:1 1 140px;flex-direction:column;gap:6px;min-width:0;color:var(--muted);font-size:13px;font-weight:650}.remote-register input,.remote-register select,.remote-register textarea,.remote-modal select,.remote-modal textarea{border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fff;color:var(--ink);font:inherit}.ops-domains button.room-card:hover{background:#d6e4ff;border-color:#7ea2e8}.ops-domains.today-rooms{display:flex;flex-flow:row wrap;align-items:stretch;align-content:flex-start}.ops-domains.today-rooms>button.room-card{flex:0 1 auto;width:max-content;max-width:100%;min-width:0;min-height:0;overflow-x:auto}.room-card .room-meta,.room-card .room-period{display:block;width:max-content;max-width:none;white-space:nowrap;font-size:13px;font-weight:650;line-height:1.45;color:#24324d}.table-wrap.flush.room-time-wrap{overflow:visible}.subject-board.ops-table.room-time-board{display:grid;width:100%;min-width:0;grid-template-columns:max-content max-content max-content max-content max-content repeat(7,minmax(0,1fr)) max-content}.subject-board.ops-table.room-time-board[data-manage=false]{grid-template-columns:max-content max-content max-content max-content max-content repeat(7,minmax(0,1fr))}.room-time-board thead,.room-time-board tbody,.room-time-board tr{display:contents}.subject-board.ops-table.room-time-board th,.subject-board.ops-table.room-time-board td{min-width:0;white-space:nowrap;text-align:left}.subject-board.ops-table.room-time-board th.room-day,.subject-board.ops-table.room-time-board td.room-day{overflow:hidden;white-space:nowrap}.room-time-board .day-line{display:flex;align-items:baseline;gap:4px;width:max-content;max-width:100%;min-width:0;overflow:hidden;text-align:left;white-space:nowrap}.room-time-board .day-line+.day-line{margin-top:2px}.room-time-board .day-period{flex:none}.room-time-board .day-text{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-pop{position:fixed;z-index:40;width:max-content;max-width:min(360px,calc(100vw - 16px));padding:8px 10px;border:1px solid #d3def2;border-radius:10px;background:#fff;color:#172033;font-weight:650;line-height:1.45;text-align:left;white-space:normal;overflow-wrap:anywhere;box-shadow:0 12px 28px #10204029;pointer-events:none}.day-pop[data-place=above]{transform:translateY(-100%)}.room-time-board .row-actions{white-space:nowrap}.ops-domains button.room-card[data-live=true]{background:#e5f6ee;border-color:#1c8a4d}.ops-domains button.room-card[data-live=true]:hover{background:#d7f3e4;border-color:#1c8a4d}.room-period[data-live=true]{color:#0f6a3c}.day-line{display:block}.system-mark{background:#e5f6ee;color:#14643f;font-weight:750;border-radius:6px;padding:1px 4px}.period-slot{display:flex;align-items:center;gap:4px;min-width:0}.period-slot input[type=checkbox]{width:15px;height:15px;margin:0;flex:none;accent-color:#1c8a4d}.period-slot[data-system=true] input:not([type=checkbox]){background:#e5f6ee;border-color:#1c8a4d;color:#14643f}.room-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px}.room-count-box{display:flex;gap:8px;padding:8px;border:1px solid #d3def2;border-radius:14px;background:#fff}.room-count-box div{min-width:96px;padding:8px 10px;border:1px solid #d3def2;border-radius:10px;background:#f7f9ff;text-align:center}.room-count-box span{display:block;font-size:12px;font-weight:700}.room-count-box b{display:block;margin-top:2px;font-size:22px;letter-spacing:-.04em}.room-count-box div[data-kind=all]{color:#172033}.room-count-box div[data-kind=registered]{color:#2f6fed}.room-count-box div[data-kind=empty]{color:#d64545}.month-grid th:first-child{width:108px}.today-title{display:flex;align-items:baseline;gap:8px}.entry-line{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.entry-line label{display:flex;flex-direction:column;gap:6px;min-width:0;color:var(--muted);font-size:13px;font-weight:650}.entry-line input,.entry-line select{width:100%;border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fff;color:var(--ink);font:inherit}.check-lines{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 16px;margin-top:12px}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.entry-with-action{grid-template-columns:repeat(6,minmax(0,1fr)) auto;align-items:end}.entry-action{display:flex;gap:8px;align-items:end}.check-line{display:flex;align-items:center;gap:6px;color:var(--ink);font-size:13px;font-weight:650;white-space:nowrap}.check-search{display:flex;flex-direction:row;align-items:center;gap:8px;color:var(--muted);font-size:13px;font-weight:650}.check-search input{border:1px solid var(--line);border-radius:8px;padding:6px 8px;background:#fff;color:var(--ink);font:inherit}.history-table{display:grid}.history-bar{width:100%}.history-title{display:flex;align-items:center;gap:10px;min-width:0}.history-title h2{margin:0}.history-filters{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;margin-left:auto}.history-filters .chip.history-filter{min-width:108px}.history-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.status-picks{display:flex;flex-wrap:wrap;gap:6px}.status-picks button[aria-pressed=true]{box-shadow:inset 0 0 0 2px #16325f}.row-actions{display:flex;justify-content:flex-end;gap:6px}.sheet-launch{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px}.sheet-launch .form-actions{margin-top:0}.delete-ask{width:min(440px,100%)}.delete-ask p{margin:0;font-size:15px}.history-regular{--history-columns: 52px 120px 120px 100px minmax(180px, 1fr) 108px 148px}.history-spot{--history-columns: 52px 110px 110px 90px minmax(80px, 1fr) minmax(80px, 1fr) minmax(80px, 1fr) 108px 148px}.history-head,.history-line{display:grid;grid-template-columns:var(--history-columns);align-items:center;gap:10px}.history-head{color:var(--muted);font-size:12px;font-weight:700;padding-bottom:6px}.history-line{padding:10px 0;border-bottom:1px solid var(--line)}.history-line b{font-size:14px;font-weight:700}.item-board{display:flex;flex-wrap:wrap;gap:6px 14px;min-width:0}button.chip[data-status=중]{background:#d64545;border-color:#d64545;color:#fff}button.chip[data-status=예정]{background:#2f6fed;border-color:#2f6fed;color:#fff}.month-sheet{width:min(980px,calc(100vw - 16px))}.month-sheet .table-wrap.flush{overflow:visible}.month-sheet .month-grid{width:100%;min-width:0;table-layout:fixed}.month-grid th,.month-grid td{padding:6px 3px}.month-grid input{width:100%;min-width:0;height:32px;box-sizing:border-box;border:1px solid var(--line);border-radius:8px;padding:0 4px;background:#fff;color:var(--ink);font:inherit}button.kpi{cursor:pointer}button.kpi:hover{border-color:#16325f}.today-title p{margin:0}.ops-domains button[aria-pressed=true]{border-color:#16325f;box-shadow:inset 0 0 0 1px #16325f}.room-line{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.room-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-top:10px}.room-line>label,.room-field{display:flex;flex-direction:column;gap:6px;min-width:0;color:var(--muted);font-size:13px;font-weight:650}.room-line input,.choice-face{width:100%;min-height:38px;border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fff;color:var(--ink);font:inherit;text-align:left}.choice-face{white-space:pre-line;cursor:pointer}.subject-board.ops-table td{white-space:pre-line}.cell-pop-wide{width:320px}.pop-anchor{position:relative}.cell-pop{position:absolute;top:calc(100% + 6px);left:0;z-index:20;display:grid;gap:6px;width:max-content;min-width:180px;max-height:min(70vh,440px);overflow:auto;padding:10px;border:1px solid #d3def2;border-radius:12px;background:#fff;box-shadow:0 12px 28px #10204029}.cell-pop[data-align=end]{left:auto;right:0}.cell-pop.home-pop{position:fixed;z-index:40}.cell-pop button.chip{justify-content:flex-start}.period-row{display:flex;align-items:center;gap:8px}.period-row span{flex:none;width:132px;color:var(--muted);font-size:12px;font-weight:700}.period-row input{width:160px;height:36px;border:1px solid var(--line);border-radius:8px;padding:0 8px;background:#fff;color:var(--ink);font:inherit}.ops-rule{margin:14px 0 4px;border:0;border-top:1px solid var(--line)}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.check-grid label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:13px;font-weight:650}.check-grid select,.check-grid input{border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fff;color:var(--ink);font:inherit}.check-cards{display:grid;gap:10px}.check-cards .ops-check{padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#f7f9fc}.check-cards .ops-check p{margin:0;font-size:13px}.remote-register button{flex:none;height:38px}.remote-table{min-width:1080px}.remote-table th,.remote-table td{white-space:nowrap;text-align:center}.remote-table td:nth-child(-n+7),.remote-table th:nth-child(-n+7){text-align:left}.export-picker{position:relative}.export-choices{position:absolute;right:0;top:calc(100% + 6px);z-index:8;display:grid;gap:6px;width:max-content;max-width:min(420px,70vw);padding:10px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 30px #16325f29}.export-choices button{padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#f7f9fc;color:#172033;font:inherit;font-size:13px;font-weight:650;text-align:left}.export-choices button:hover{background:#e7eefc;color:#1f5eff}.case-facts{display:grid;gap:8px;margin:0}.case-facts div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:8px}.case-facts dt{color:var(--muted);font-weight:650}.case-facts dd{margin:0}.remote-comment{white-space:normal;min-width:160px;max-width:220px;text-align:left}.remote-course{border:0;background:transparent;color:var(--blue);font-weight:750;padding:0}.remote-course:hover{text-decoration:underline}.remote-fixed b{color:var(--blue);font-size:18px;font-weight:750;letter-spacing:-.03em}.remote-gather tr[data-line=avg]{background:#f4f7fc}.remote-gather tr[data-line=A] td,.remote-gather tr[data-line=B] td{background:#fff}.remote-modal{width:min(920px,100%);display:grid;gap:12px}.remote-row-actions{display:flex;justify-content:flex-end;gap:4px}.remote-file{position:relative;overflow:hidden}.remote-file input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;font-size:0}.float-pane{position:fixed;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 50px #16325f38;overflow:hidden}.float-pane[data-kind=pdf]{width:min(640px,calc(100vw - 32px));height:min(78vh,860px)}.float-pane[data-kind=form]{width:min(780px,calc(100vw - 32px));max-height:min(78vh,860px)}.float-pane header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;background:#16325f;color:#fff;cursor:grab}.float-pane header strong{font-size:14px}.float-pane header button{border:0;background:transparent;color:#fff;font:inherit;cursor:pointer}.float-body{overflow:auto;padding:16px 18px 18px}.float-pane[data-kind=pdf] .float-body{display:flex;flex:1;padding:0}.pdf-frame{flex:1;width:100%;border:0;background:#eef2f8}.remote-pdf{display:flex;flex-wrap:wrap;align-items:center;gap:10px}tr[data-today="1"]{background:#f3f7ff}.sched-nav{position:sticky;top:var(--rail-height, 60px);z-index:4;display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 14px;padding:8px;border:1px solid #c5d4ef;border-radius:14px;background:#e7eefc;box-shadow:0 10px 24px #16325f14}.drawer.workpage .sched-nav+section{margin-top:0;border-top:0}.sched-nav button{display:inline-flex;align-items:center;gap:8px;border:1px solid #d5e0f5;background:#fff;color:#16325f;font-weight:750;border-radius:10px;padding:8px 14px}.sched-nav button:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--mark, #1f5eff);flex:none}.sched-nav button[data-jump=proc-calendar]{--mark: #1f5eff}.sched-nav button[data-jump=proc-wbs]{--mark: #1d4e89}.sched-nav button[data-jump=proc-timeline]{--mark: #0f7a55}.sched-nav button[data-jump=proc-roadmap]{--mark: #7a4e68}.sched-nav button[data-jump=proc-checks]{--mark: #a16207}.sched-nav button:hover{background:#f7f9ff;border-color:#9db4e8}.sched-nav button[aria-current=true]{background:#16325f;border-color:#16325f;color:#fff}.sched-nav button[aria-current=true]:before{box-shadow:0 0 0 2px #ffffffe6}.sched-jump{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;justify-content:flex-end}.schedule-stack>.panel:hover{background:#f3f7ff;border-color:#b7c8ef}.sched-legend{display:flex;flex-wrap:wrap;gap:10px 14px;margin-left:auto;color:var(--muted);font-size:12px}.sched-legend li{display:flex;align-items:center;gap:6px}.sched-legend i,.tl-card:before{width:9px;height:9px;border-radius:50%;background:var(--accent)}.sched-legend i[data-status=doing],.sched-bar[data-status=doing],.gantt-bar[data-status=doing]>span,.tl-card[data-status=doing]:before{background:var(--accent)}.sched-legend i[data-status=review],.sched-bar[data-status=review],.gantt-bar[data-status=review]>span,.tl-card[data-status=review]:before{background:var(--amber)}.sched-legend i[data-status=waiting],.sched-bar[data-status=waiting],.gantt-bar[data-status=waiting]>span,.tl-card[data-status=waiting]:before{background:var(--blue)}.sched-legend i[data-status=delayed],.sched-bar[data-status=delayed],.gantt-bar[data-status=delayed]>span,.tl-card[data-status=delayed]:before{background:var(--red)}.sched-legend i[data-status=done],.sched-bar[data-status=done],.gantt-bar[data-status=done]>span,.tl-card[data-status=done]:before{background:#8b93a1}.month-nav strong{min-width:108px;text-align:center;font-size:17px}.cal{min-width:720px}.panel:has(.cal){overflow-x:auto}.cal-dow,.cal-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.cal-dow span{color:var(--muted);font-size:14px;padding:0 4px 8px}.cal-dow span:first-child{color:var(--red)}.cal-dow span:last-child{color:var(--blue)}.cal-week+.cal-week{border-top:1px solid var(--line)}.cal-day{display:flex;align-items:center;gap:6px;min-height:48px;padding:8px 8px 0;font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}.cal-day[data-muted],.cal-day[data-outside]{background:#f4f7fb;color:var(--muted)}.cal-day[data-outside] .cal-num{min-width:0;height:auto;padding:0;border-radius:0;background:transparent;color:inherit;font-size:13px;font-weight:750}.cal-mark{min-width:0;overflow:hidden;color:inherit;font-size:13px;font-weight:650;line-height:1.2;white-space:nowrap;text-overflow:ellipsis}.cal-num{display:inline-grid;place-items:center;flex:none;min-width:22px;height:22px;border-radius:999px;font-size:12px}.cal-day.today .cal-num{background:var(--accent);color:#fff;font-weight:750}button.cal-day{width:100%;border:0;background:transparent;font:inherit;text-align:left;cursor:pointer}button.cal-day[data-holiday],.cal-day[data-holiday],button.cal-day[data-sun],.cal-day[data-sun]{background:var(--red-soft);color:var(--red)}button.cal-day[data-sat],.cal-day[data-sat]{background:var(--blue-soft);color:var(--blue)}button.cal-day.pick,.cal-day.pick{background:#e7edff;color:var(--ink)}.cal-bars{position:relative}.sched-bar,.gantt-bar,.tl-card,.road-card,.gantt-name{border:0;text-align:left;cursor:pointer}.sched-bar{position:absolute;display:flex;align-items:center;gap:4px;height:28px;padding:0 8px;border-radius:6px;color:#fff;font-size:13px;line-height:28px;overflow:hidden;white-space:nowrap}.sched-bar .cal-name{min-width:0;overflow:hidden;text-overflow:ellipsis}#proc-calendar .sched-bar{height:auto;min-height:28px;align-items:flex-start;flex-wrap:wrap;line-height:1.35;padding:4px 8px;white-space:normal;overflow:visible}#proc-calendar .sched-bar .cal-name{overflow:visible;text-overflow:unset;white-space:normal;overflow-wrap:anywhere}.sched-bar .cal-status{flex:none;border-radius:99px;padding:0 5px;font-size:12px;font-weight:650;line-height:18px}.sched-bar .cal-status[data-status=waiting]{background:var(--blue-soft);color:var(--blue)}.sched-bar .cal-status[data-status=doing]{background:var(--green-soft);color:var(--green)}.sched-bar .cal-status[data-status=done]{background:#eceae6;color:#5f5a53}.sched-bar .cal-status[data-status=hold]{background:var(--amber-soft);color:var(--amber)}.sched-bar .cal-status[data-status=cancelled]{background:#f4e8e4;color:#8a4034}.sched-bar[data-cont=start]{border-radius:6px 2px 2px 6px}.sched-bar[data-cont=end]{border-radius:2px 6px 6px 2px}.sched-bar[data-cont=mid]{border-radius:2px}.gantt{display:grid;grid-template-columns:210px minmax(560px,1fr);gap:8px;overflow-x:auto}.gantt-name{display:flex;flex-direction:column;justify-content:center;height:36px;padding:0 8px 0 0;background:transparent;min-width:0}.gantt-name .linkish{display:block;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;line-height:1.15}.gantt-name .linkish small{color:var(--ink)}.gantt-name .linkish:hover,.gantt-name .linkish:hover small{color:var(--accent)}.gantt-name b,.road-card strong,.tl-body strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px}.gantt-name small,.road-card small,.tl-body small{color:var(--muted);font-size:12px}.gantt-axis-pad{height:28px}.gantt-track{min-width:560px}.gantt-axis{position:relative;height:28px;color:var(--muted);font-size:12px}.gantt-axis span{position:absolute;top:4px;transform:translate(-2px);white-space:nowrap}.gantt-rows{position:relative;border-left:1px solid var(--line)}.gantt-row{position:relative;height:36px}.gantt-row+.gantt-row{box-shadow:inset 0 1px 0 var(--line)}.gantt-bar{position:absolute;top:11px;height:14px;min-width:8px;padding:0;border-radius:999px;background:#e7edf5;overflow:hidden}.gantt-bar>span{display:block;height:100%;border-radius:inherit}.gantt-today{position:absolute;top:0;bottom:0;width:2px;background:var(--accent);z-index:1;pointer-events:none}.timeline{display:flex;flex-direction:column;margin:4px 0 0 10px}.timeline>li{position:relative}.tl-today{margin:0 0 12px 18px;color:var(--accent);font-size:13px;font-weight:700}.tl-card{position:relative;display:grid;grid-template-columns:92px minmax(120px,.7fr) minmax(220px,1.4fr);gap:12px;align-items:center;width:100%;margin:0 0 12px;padding:10px 12px 10px 16px;background:#fff;border:1px solid var(--line);border-radius:12px}.tl-card:before{content:"";position:absolute;left:-23px;top:18px;box-shadow:0 0 0 4px #fff}.timeline{border-left:2px solid var(--line);padding-left:8px}.tl-when{display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--muted)}.tl-when b{color:var(--ink);font-size:14px}.tl-body{display:flex;flex-direction:column;gap:4px;min-width:0}.tl-body .meter{max-width:180px}.tl-note{min-width:0}.tl-note-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.tl-note-row+.tl-note-row,.tl-note li+li{margin-top:6px}.tl-note input{width:100%;min-width:0;border:1px solid var(--line);border-radius:8px;padding:6px 8px;background:#f7f9fc;color:var(--ink)}.tl-note p{font-size:13px;white-space:pre-wrap}.tl-note small{display:block;color:var(--muted);font-size:11px}.tl-note-actions{display:flex;flex-direction:column;gap:3px}.chip.tiny{padding:2px 6px;font-size:11px;line-height:1.35;border-radius:6px}.roadmap{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);gap:10px;overflow-x:auto;padding-bottom:4px}.road-col{display:flex;flex-direction:column;gap:8px;min-height:120px;padding:10px;background:#f6f8fb;border-radius:12px}.road-col header{display:flex;justify-content:space-between;gap:8px;font-size:13px}.road-col header span,.road-col .empty{color:var(--muted)}.road-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:10px;background:#fff;border-radius:10px;box-shadow:inset 3px 0 0 var(--accent)}.road-card[data-status=review]{box-shadow:inset 3px 0 0 var(--amber)}.road-card[data-status=waiting]{box-shadow:inset 3px 0 0 var(--blue)}.road-card[data-status=delayed]{box-shadow:inset 3px 0 0 var(--red)}.road-card[data-status=done]{box-shadow:inset 3px 0 #8b93a1}.road-card[data-status=hold]{box-shadow:inset 3px 0 0 var(--amber)}.road-card[data-status=cancelled]{box-shadow:inset 3px 0 #8a4034}.wbs-status{min-width:88px;border:0;border-radius:99px;padding:3px 8px;font-size:12px;font-weight:650;cursor:pointer}.wbs-status[data-status=waiting],.wbs-status option[value=waiting]{background:var(--blue-soft);color:var(--blue)}.wbs-status[data-status=doing],.wbs-status option[value=doing]{background:var(--green-soft);color:var(--green)}.wbs-status[data-status=done],.wbs-status option[value=done]{background:#eceae6;color:#5f5a53}.wbs-status[data-status=hold],.wbs-status option[value=hold]{background:var(--amber-soft);color:var(--amber)}.wbs-status[data-status=cancelled],.wbs-status option[value=cancelled]{background:#f4e8e4;color:#8a4034}.road-card .meter{width:100%}.sched-legend i[data-stage=pre],.sched-bar[data-stage=pre],.tl-card[data-stage=pre]:before{background:#1d4e89}.sched-legend i[data-stage=prod],.sched-bar[data-stage=prod],.tl-card[data-stage=prod]:before{background:#1f5eff}.sched-legend i[data-stage=post],.sched-bar[data-stage=post],.tl-card[data-stage=post]:before{background:#0f7a55}.sched-legend i[data-stage=service],.sched-bar[data-stage=service],.tl-card[data-stage=service]:before{background:#7a4e68}.wbs-stage td{background:#f4f7fb;font-weight:700}#proc-wbs .wbs-table th,#proc-wbs .wbs-table td{padding:8px 10px;font-size:15.5px;line-height:1.4}#proc-wbs .wbs-table th{font-size:13px;padding:8px 10px}#proc-wbs .wbs-status{font-size:13.5px;padding:2px 8px}#proc-wbs .wbs-stage td{font-size:16px;font-weight:750;padding:10px;border-bottom:0}#proc-wbs .wbs-stage td:first-child{box-shadow:inset 6px 0 0 var(--stage, #1d4e89)}#proc-wbs .wbs-stage+tr td{border-top:0}#proc-wbs tr.wbs-stage[data-stage=pre]{--stage: #1d4e89}#proc-wbs tr.wbs-stage[data-stage=pre] td{background:#dce7f5;color:#163a66}#proc-wbs tr.wbs-stage[data-stage=prod]{--stage: #1f5eff}#proc-wbs tr.wbs-stage[data-stage=prod] td{background:#d9e4ff;color:#163a9a}#proc-wbs tr.wbs-stage[data-stage=post]{--stage: #0f7a55}#proc-wbs tr.wbs-stage[data-stage=post] td{background:#d7f0e6;color:#0c5c40}#proc-wbs tr.wbs-stage[data-stage=service]{--stage: #7a4e68}#proc-wbs tr.wbs-stage[data-stage=service] td{background:#f3e4ec;color:#5c334c}.wbs-form{margin-bottom:12px}.wbs-actions{display:flex;flex-direction:row;gap:4px;align-items:center}.wbs-table .cal-inline{margin:4px 0}.sched-bar.on{outline:2px solid var(--accent)}.cal-inline{display:flex;flex-wrap:wrap;gap:8px;align-items:end;margin:6px 4px 8px;padding:8px;border:1px dashed var(--line);border-radius:10px;background:#f8faff}.cal-inline .hint,.cal-inline .form-error{flex-basis:100%;margin:0}.cal-inline label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.cal-inline input,.cal-inline select{border:1px solid var(--line);border-radius:8px;padding:6px 8px;background:#fff;font:inherit}.gantt-axis span.gantt-tick-end{transform:translate(-100%)}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;background:#17203359;padding:16px}.modal h2{font-size:20px}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.modal-actions .danger{margin-right:auto}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end;margin-top:12px}.form-grid .span-all{grid-column:1 / -1}.form-actions{display:flex;gap:8px;align-items:center}#account-form{scroll-margin-top:76px}.row-actions{display:flex;gap:6px;justify-content:flex-end}tr.editing td{background:#f3f7ff}.part-stack{display:grid;gap:12px}.part-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:stretch}.work-bulk{display:flex;flex-wrap:wrap;gap:8px}.work-access{display:grid;gap:2px}.work-row{display:grid;grid-template-columns:8.4rem max-content minmax(0,1fr);align-items:center;gap:4px 10px}.work-row>span{font-size:13px;font-weight:750}.work-choices{display:flex;flex-wrap:wrap;gap:2px 8px}.work-granted{display:flex;gap:12px;min-width:0;overflow:hidden;border-left:1px solid #d3def2;padding-left:12px;white-space:nowrap;font-size:12px}.work-granted b{margin-right:4px;color:var(--muted);font-size:11px;font-weight:750}.part-block{display:grid;gap:8px;padding:12px 14px;border:1px solid #d3def2;border-radius:12px;background:#f7f9ff}.part-block.primary{background:#e7eefc;border-color:#9db4e8}.part-block.secondary{background:#f6f0ff;border-color:#d4c4f0}.account-tools{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:end;justify-content:flex-end;margin-left:auto}.account-tools label{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:12px;font-weight:650}.account-tools select{min-width:148px}.part-block h3{margin:0;font-size:15px}.choice-row,.grant-tools{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:end}.form-grid label.choice,.grant-list label.choice{flex-direction:row;align-items:center;gap:8px;color:var(--ink);font-size:14px}.grant-tools label{min-width:220px}.grant-list{max-height:280px;overflow:auto;display:grid;gap:4px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:10px}.grant-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.grant-row select{width:132px;flex:none}.part-cell{white-space:normal;line-height:1.45;min-width:240px}.date-cell{white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums}.part-tags,.part-open{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.part-open{padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.part-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:12px;line-height:1.45;border:1px solid transparent}.part-tag b{font-size:11px;font-weight:800}.part-tag.primary{background:var(--accent);color:#fff;font-weight:700}.part-tag.secondary{background:#f4eefe;color:#6d28d9;font-weight:650;border-color:#ddd0f7}.part-tag.none{background:#eef1f6;color:#667085;font-weight:650;border-color:#dde3ee}.part-tag.vendor{background:var(--blue-soft);color:var(--blue);font-weight:700}.part-tag.all{background:var(--ink);color:#fff;font-weight:700}.biz-names{color:var(--ink);font-size:13px;font-weight:650}.biz-count{color:var(--ink);font-size:13px;font-weight:800;text-decoration:underline;text-underline-offset:2px}.part-caret{color:var(--muted);font-size:11px}.biz-detail{margin-top:8px;display:grid;gap:8px;max-height:220px;overflow:auto;padding:8px 10px;background:#fff;border:1px solid var(--line);border-radius:10px}.biz-detail p{font-size:12px;font-weight:800;color:var(--blue)}.biz-detail ul{display:grid;gap:4px}.biz-detail li{display:flex;justify-content:space-between;gap:10px;font-size:13px}.biz-detail .access{flex:none;color:var(--muted);font-size:12px}.section-head .view-note{margin:8px 0 0;font-size:14px;font-weight:500;color:var(--muted)}.kpi{cursor:default}button:disabled{opacity:.45;cursor:default}.rail .text-btn.light{color:#fff}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:1100px){.card-grid,.form-grid,.part-pair{grid-template-columns:1fr 1fr}.schedule-stack>.lede{white-space:normal}.drawer-title-row{grid-template-columns:minmax(0,1fr) minmax(180px,60%)}}@media(max-width:1100px){.kpis,.type-grid,.vendor-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.pm-grid,.split{grid-template-columns:1fr 1fr}}@media(max-width:860px){.meta{grid-template-columns:1fr 1fr}.drawer-title-row{grid-template-columns:1fr;row-gap:8px}.rail{gap:10px;padding:0 14px}.subrail{padding:8px 14px}.brand p:not(.mark){display:none}.brand .brand-name{font-size:20px}.rail-foot b{display:none}.brand .mark{font-size:24px}.main{padding:18px 14px 40px}.kpis,.type-grid,.vendor-stats,.pm-grid,.split,.year-kpis{grid-template-columns:1fr 1fr}.part-pair,.work-row{grid-template-columns:1fr}.work-granted{border-left:0;border-top:1px solid #d3def2;padding:4px 0 0;white-space:normal}.year-band-head{flex-direction:column;align-items:flex-start}.sync-banner,.person-head{flex-direction:column;align-items:stretch}.manager-head .person-head-progress,.manager-head .head-notices{max-width:none;width:100%;margin-left:0;flex:none}.head-progress-wrap{width:100%;min-width:0}.year-line{flex-wrap:wrap}.urgent-spot{align-items:flex-start;width:100%;max-width:none;flex:none}.urgent-spot dl{grid-template-columns:repeat(3,minmax(0,1fr))}.urgent-spot.subject-spot{width:100%;margin-left:0}dl.meta{grid-template-columns:1fr;gap:0}dl.meta>div:not(.meta-spacer){border-bottom:1px solid #eef2f8}dl.meta>div:last-child{border-bottom:0}.card-grid.people,.brief-grid{grid-template-columns:1fr}.brief-grid article:first-child{grid-column:auto}.card-grid.people .person-card{height:auto;max-height:none}.person-mini{flex-wrap:wrap}.cal-inline{flex-direction:column;align-items:stretch}h1,.section-head h1{font-size:26px}.section-head .section-sub{font-size:16px}}@media(max-width:640px){.kpis,.split,.pm-grid,.meta{grid-template-columns:1fr}.year-kpi{min-height:148px}.year-kpi-count strong{font-size:34px}.journal-fields,.journal-stats,.person-desk,.glance-write{grid-template-columns:1fr}.login-clock{flex-direction:column;align-items:flex-start}.login-title{flex-direction:column;align-items:stretch;gap:6px}.login-slogan{letter-spacing:-.05em}.viewer-flow,.viewer-kpis,.viewer-split{grid-template-columns:1fr}.type-line{flex-wrap:wrap}.type-side,.lead-tail{margin-left:0;width:100%;justify-content:flex-end}}.lead-tail .lead-meta{display:inline-flex;gap:6px;font-size:13px;font-weight:750;line-height:1.2;white-space:nowrap}.lead-tail .lead-meta .lead-task{color:var(--green)}.lead-tail .lead-meta[data-kind=doing] .lead-label{color:var(--accent)}.lead-tail .lead-meta[data-kind=next] .lead-label{color:var(--amber)}.lead-tail .lead-meta[data-kind=other] .lead-label{color:var(--muted)}.journal-glance{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff}.journal-who{display:flex;flex-direction:row;align-items:baseline;justify-content:flex-start;gap:10px}.journal-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:start}.journal-stats article{display:flex;flex-direction:column;gap:3px;min-height:66px;padding:6px 12px;border-radius:14px;background:#f4f7fc}.journal-stats article[data-tone=alert]{background:var(--red-soft)}.journal-stats article[data-tone=today]{background:var(--blue-soft)}.journal-stats article[data-tone=plan]{background:var(--amber-soft)}.journal-stat-line{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.journal-stat-line span{color:var(--muted);font-size:14.3px;font-weight:750}.journal-stats strong{font-size:28px;line-height:1;letter-spacing:-.04em}.journal-stats article[data-tone=alert] strong{color:var(--red)}.journal-stats ul{display:flex;flex-direction:column;gap:3px}.journal-stats li{display:flex;flex-direction:row;align-items:baseline;gap:6px;min-width:0}.journal-stats li span{color:var(--ink);font-size:13px;font-weight:650;line-height:1.35}.journal-stats button{padding:0;border:0;background:transparent;color:var(--ink);font-size:13px;font-weight:750;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-stats small,.journal-stats p,.journal-stats .more{color:var(--muted);font-size:12px}.journal-cal-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}.journal-cal-head h2{font-size:18px;margin-right:auto}.journal-cal-head strong{font-size:16px;font-weight:750}.journal-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.journal-cal .cal-head,.journal-cal .cal-empty{min-height:28px}.journal-cal .cal-head{display:grid;place-items:center;font-size:12px;font-weight:800;color:var(--muted)}.journal-cal .cal-head[data-kind=sat]{color:#1d4ed8}.journal-cal .cal-head[data-kind=sun]{color:var(--red)}.journal-cal button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:68px;padding:6px 6px 8px;border:1px solid var(--line);border-radius:10px;background:#fff;text-align:left}.journal-cal button b{font-size:14px;line-height:1}.journal-cal button small{max-width:100%;color:inherit;font-size:10px;font-weight:700;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-cal .cal-job,.journal-cal .cal-note{color:var(--ink);font-weight:650;white-space:normal;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.journal-cal .cal-note[data-kind=notice],.journal-stats li[data-kind=notice] span,.write-field[data-kind=notice],.write-field[data-kind=notice] textarea,.journal-fields label.write-field[data-kind=notice],.journal-fields label.write-field[data-kind=notice] textarea,.journal-sheet th.sheet-notice,.journal-sheet td.sheet-notice textarea{color:#1d4ed8}.cal-tick{font-style:normal;font-weight:800;margin-right:2px}.write-field{display:flex;flex-direction:column;gap:6px;min-width:0;color:var(--muted);font-size:13px;font-weight:750}.write-box{position:relative;display:block}.write-box input[type=checkbox]{position:absolute;left:10px;top:10px;width:16px;height:16px;z-index:1}.line-checks{position:absolute;left:10px;top:0;width:16px;z-index:1}.write-box .line-checks input[type=checkbox]{left:0;width:16px;height:16px;margin:3px 0 0}.cell-line .write-box{flex:1;min-width:0}.write-box textarea{width:100%;min-height:34px;padding:4px 10px}.write-box:has(input) textarea{padding-left:34px}.write-box .notice-author{position:absolute;right:10px;top:4px;height:1.5em;display:flex;align-items:center}.person-desk{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.journal-person-name{justify-self:start;padding:6px 12px;border:1px solid #c5d4ef;border-radius:12px;background:#fff;color:#16325f;font-size:15px;font-weight:750}.journal-person-name:hover{background:#16325f;border-color:#16325f;color:#fff}.cell-line{display:flex;align-items:flex-start;gap:6px}.cell-line input[type=checkbox]{width:16px;height:16px;margin-top:8px;flex:none}.cell-line textarea{flex:1}.journal-cal button[data-dim="1"]{opacity:.28}.cal-search-hits{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}.cal-search-hits p{margin:0;color:var(--muted);font-size:13px}.journal-shared{display:grid;gap:4px}.journal-shared p{margin:0;color:var(--ink);font-size:13px;font-weight:650}.journal-people{display:grid;gap:0}.journal-person{display:grid;gap:6px;padding:12px 0;border-bottom:1px solid #b7c3d4}.journal-person:first-child{padding-top:2px}.journal-person:last-child{border-bottom:0;padding-bottom:2px}.journal-person .journal-stats{gap:7px}.journal-person .journal-stats article{min-height:46px;padding:4px 10px}.journal-person .journal-stats strong{font-size:22px}.journal-person>b{font-size:16px;letter-spacing:-.03em}.journal-write-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.cal-name{display:flex;align-items:baseline;gap:10px;min-width:0}.cal-name h2{margin:0;font-size:18px;font-weight:750;letter-spacing:-.03em}.journal-owner-row{display:flex;align-items:center;gap:8px}.journal-owner-row>span{color:var(--green);font-size:13px;font-weight:700}.cal-tools{display:flex;align-items:center;gap:12px;margin-bottom:8px}.cal-search-inline{display:flex;align-items:center;gap:8px;margin-right:auto;color:var(--muted);font-size:13px;font-weight:650}.cal-search-inline input{width:min(220px,42vw);border:1px solid var(--line);border-radius:8px;padding:6px 8px;background:#fff;color:var(--ink);font:inherit}.month-nav{display:flex;align-items:center;gap:8px}.month-nav strong{font-size:16px;font-weight:750;white-space:nowrap}.journal-cal button[data-outside="1"]{background:#f6f8fb;color:#8b97a8}.journal-cal button[data-outside="1"][data-kind=sat]{color:#8eabd8;background:#f6f8fb}.journal-cal button[data-outside="1"][data-kind=sun],.journal-cal button[data-outside="1"][data-kind=holiday]{color:#d7a3a0;background:#fbf7f6}.notice-author{flex:none;align-self:center;color:var(--muted);font-size:12px;font-style:normal;font-weight:650;white-space:nowrap}.journal-board .journal-write{gap:8px;padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid var(--line)}.journal-owner{display:flex;flex-direction:row;align-items:center;gap:8px;max-width:none;color:var(--muted);font-size:13px;font-weight:750}.journal-owner select{border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fff;color:var(--ink);font:inherit}.journal-sheet-tools{display:flex;flex-wrap:wrap;align-items:end;justify-content:flex-end;gap:12px;margin-top:10px}.sheet-search{display:flex;flex-direction:column;gap:4px;margin-right:auto;color:var(--muted);font-size:13px;font-weight:650}.sheet-search input,.journal-fold input{border:1px solid var(--line);border-radius:8px;padding:6px 8px;background:#fff}.journal-day-detail{display:grid;gap:8px;margin-top:12px}.journal-day-detail ul,.day-notes{display:grid;gap:4px}.journal-day-detail li{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}.journal-day-detail button{padding:0;border:0;background:transparent;color:var(--blue);font-weight:750}.day-notes b{font-size:13px}.day-notes span{color:var(--ink);font-size:13px;font-weight:500}.journal-personal{display:grid;gap:14px;margin-top:18px}.journal-sheet-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:10px}.journal-fold{display:flex;flex-wrap:wrap;align-items:end;justify-content:flex-end;gap:10px}.journal-sheet-head p,.journal-fold label{color:var(--muted);font-size:13px;font-weight:650}.journal-fold label{display:flex;flex-direction:column;gap:4px}.sheet-frame{position:relative;margin-top:10px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.sheet-scroll{overflow:hidden;padding-left:14px;padding-right:14px;scrollbar-width:none}.sheet-wheel{position:absolute;left:14px;top:0;bottom:0;z-index:4}.sheet-scroll::-webkit-scrollbar{display:none;width:0;height:0}.sheet-bar{position:absolute;top:33px;right:0;bottom:0;width:14px;background:#e7eef6;border-left:1px solid #d5deea;z-index:5}.sheet-bar-left{left:0;right:auto;border-left:0;border-right:1px solid #d5deea}.sheet-thumb{position:absolute;left:2px;width:10px;border-radius:8px;background:#5d7394;cursor:grab;touch-action:none}.journal-sheet table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;table-layout:fixed}.journal-sheet th,.journal-sheet td{border-bottom:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top}.journal-sheet tr.sheet-spacer td{padding:0;border:0;line-height:0;position:relative;z-index:0}.journal-sheet thead th{position:sticky;top:0;z-index:3;background:#f4f7fc;font-size:12px;box-shadow:inset 0 -1px 0 var(--line)}.journal-sheet col.col-year{width:3%}.journal-sheet col.col-month,.journal-sheet col.col-day{width:2%}.journal-sheet col.col-week{width:5%}.journal-sheet col.col-done,.journal-sheet col.col-memo{width:26.4%}.journal-sheet col.col-plan,.journal-sheet col.col-notice{width:17.6%}.journal-sheet td:nth-child(-n+4){white-space:nowrap}.journal-sheet tr[data-today="1"] td{background:#d5e2f6}.journal-sheet tr[data-kind=sat] td:nth-child(-n+4){color:#1d4ed8}.journal-sheet tr[data-kind=sun] td:nth-child(-n+4),.journal-sheet tr[data-kind=holiday] td:nth-child(-n+4){color:var(--red)}.journal-sheet textarea{width:100%;min-width:140px;min-height:34px;border:1px solid transparent;border-radius:8px;background:transparent;resize:none;overflow:hidden;font:inherit;line-height:22px}.journal-sheet textarea:focus{border-color:#c5d4f0;background:#fff}.journal-sheet small{display:block;color:var(--muted);font-size:11px}.sheet-fold td{background:#f7f8fb;color:var(--muted);font-weight:700}.sheet-fold .chip{margin-left:8px}.journal-sheet ul{display:grid;gap:3px}.journal-sheet li b{margin-right:4px}.journal-cal button i{width:6px;height:6px;margin-top:auto;border-radius:99px;background:var(--accent)}.journal-cal button i[data-shared="1"]{background:var(--amber)}.journal-cal button[data-kind=sat]{color:#1d4ed8}.journal-cal button[data-kind=sun],.journal-cal button[data-kind=holiday]{color:var(--red);background:#fff8f7}.journal-cal button[data-today="1"]{box-shadow:inset 0 0 0 1px #9eb6ee}.journal-cal button[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.journal-write{display:flex;flex-direction:column;gap:12px}.journal-day{display:flex;align-items:baseline;gap:8px}.journal-day b{font-size:18px;letter-spacing:-.03em}.journal-day em{font-style:normal;font-size:13px;font-weight:750}.journal-day[data-kind=sat]{color:#1d4ed8}.journal-day[data-kind=sun],.journal-day[data-kind=holiday]{color:var(--red)}.journal-fields{display:grid;grid-template-columns:3fr 3fr 2fr 2fr;gap:10px}.journal-fields.notice-only{grid-template-columns:minmax(0,1fr)}.glance-write{display:grid;grid-template-columns:3fr 3fr 2fr 2fr;gap:8px;margin-top:8px;align-items:start}@media(max-width:860px){.journal-fields,.glance-write{grid-template-columns:1fr}}.journal-stats li input[type=checkbox]{width:15px;height:15px;margin:1px 0 0;flex:none}.cal-note[data-kind=memo]{color:#3d4d63}.journal-fields label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:13px;font-weight:750}.journal-fields textarea,.glance-write textarea,.person-desk textarea{min-height:34px;padding:4px 10px;border:1px solid var(--line);border-radius:12px;background:#f8fafc;color:var(--ink);font:inherit;font-weight:500;line-height:22px;resize:none;overflow:hidden}.write-box:has(input[type=checkbox]) textarea{padding-left:34px}.write-box:has(.notice-author) textarea{padding-right:76px}.write-field[data-checks=end] .line-checks{left:auto;right:8px}.write-field[data-checks=end] .write-box textarea{padding-left:10px;padding-right:32px}.write-field[data-checks=end] .write-box:has(.notice-author) textarea{padding-right:104px}.write-field[data-checks=end] .notice-author{right:28px}.journal-fields small{color:var(--muted);font-size:12px;font-weight:650}.viewer-flow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.viewer-step{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:118px;padding:14px 12px;border:1px solid var(--line);border-radius:14px;background:#f8fafc;text-align:left}.viewer-step[aria-pressed=true]{border-color:#16325f;background:#fff;box-shadow:inset 0 0 0 1px #16325f}.viewer-step small{color:var(--muted);font-size:12px;font-weight:750}.viewer-step b{font-size:28px;line-height:1;letter-spacing:-.04em}.viewer-step em{color:var(--muted);font-style:normal;font-size:12px;font-weight:650;line-height:1.35}.viewer-step i{display:block;width:100%;height:4px;margin-top:auto;border-radius:99px;background:#e7eef6;overflow:hidden}.viewer-step i span{display:block;height:100%;border-radius:inherit;background:#16325f}.viewer-step[data-stage=pre] i span{background:#1d4e89}.viewer-step[data-stage=prod] i span{background:#1f5eff}.viewer-step[data-stage=post] i span{background:#0f7a55}.viewer-step[data-stage=service] i span{background:#7a4e68}.viewer-step[data-stage=done] i span{background:#8d8376}.viewer-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.viewer-kpi{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:14px;background:#fff;border:1px solid var(--line)}.viewer-kpi span{color:var(--muted);font-size:13px;font-weight:750}.viewer-kpi b{font-size:28px;line-height:1;letter-spacing:-.04em}.viewer-kpi small{color:var(--muted);font-size:12px;font-weight:650}.viewer-kpi[data-status=doing]{background:var(--green-soft)}.viewer-kpi[data-status=doing] b{color:var(--green)}.viewer-kpi[data-status=delayed]{background:var(--red-soft)}.viewer-kpi[data-status=delayed] b{color:var(--red)}.viewer-kpi[data-status=waiting]{background:var(--blue-soft)}.viewer-kpi[data-status=waiting] b{color:var(--blue)}.viewer-split{display:grid;grid-template-columns:1.3fr 1fr;gap:12px}.viewer-watch{display:grid;gap:8px}.viewer-watch button,.viewer-side button{width:100%;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;text-align:left}.viewer-watch button{display:grid;grid-template-columns:1fr auto;gap:4px 12px}.viewer-watch b{font-size:15px}.viewer-watch small,.viewer-watch span{color:var(--muted);font-size:12px;font-weight:650}.viewer-side{display:grid;gap:14px}.viewer-side ul{display:grid;gap:6px}.viewer-side button{display:grid;grid-template-columns:1fr auto;gap:6px 10px;align-items:center}.viewer-side .meter{grid-column:1 / -1}.viewer-meter{min-width:88px}.viewer-table .late{color:var(--red);font-weight:750}.retire-box{display:grid;gap:10px;margin-top:14px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.retire-box p{margin:0}.journal-save{display:flex;align-items:center;justify-content:flex-end;gap:10px}.journal-save span{color:var(--green);font-size:13px;font-weight:700}
