:root{--primary:#3a5bff;--brand:#3a5bff;--brand-soft:#eff3ff;--ink:#212121;--ink2:#62686d;--sub:#98a2ac;--faint:#bdc7d2;--line:#dae1e7;--line2:#e3e6eb;--cal-line:#c2ccd6;--bg:#f8f8f9;--card:#fff;--warn:#f5474a;--ok:#13964f;--shadow:0 0 30px 0 rgba(0,0,0,.1);--shadow2:0 0 30px 0 rgba(0,0,0,.05);--radius:8px;--scroll-thumb:#c4cdd6;--scroll-thumb-hover:#909da9}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{min-width:32px;min-height:32px;border:2px solid transparent;border-radius:999px;background:var(--scroll-thumb);background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background-color:var(--scroll-thumb-hover)}::-webkit-scrollbar-corner{background:transparent}body,html{margin:0;padding:0;height:100%}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:32px;background:var(--bg)}.auth-panel{width:min(100%,410px)}.auth-card{padding:12px}.auth-brand{display:inline-flex;align-items:center;min-height:36px;margin-bottom:46px}.auth-heading{margin-bottom:34px}.auth-heading h2{margin:0;color:var(--ink);font-size:28px;letter-spacing:-.045em}.auth-heading p{margin:10px 0 0;color:var(--ink2);font-size:14px;line-height:1.65}.auth-form{display:grid;grid-gap:17px;gap:17px}.auth-field{display:grid;grid-gap:8px;gap:8px;color:var(--ink);font-size:13px;font-weight:700}.auth-field input{width:100%;height:46px;padding:0 13px;border:1px solid var(--line);border-radius:8px;outline:none;background:#fff;color:var(--ink);font:inherit;font-size:14px;font-weight:500;transition:border-color .16s,box-shadow .16s}.auth-field input::placeholder{color:var(--faint)}.auth-field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(58,91,255,.12)}.auth-submit{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;height:48px;margin-top:7px;border:0;border-radius:8px;background:var(--primary);color:#fff;cursor:pointer;font:inherit;font-size:14px;font-weight:700;transition:transform .16s,background .16s}.auth-submit:hover:not(:disabled){background:#2948df;transform:translateY(-1px)}.auth-submit:disabled{cursor:wait;opacity:.72}.auth-submit span{font-size:19px;line-height:1}.auth-spinner{width:16px;height:16px;border:2px solid hsla(0,0%,100%,.42);border-top-color:#fff;border-radius:50%;animation:auth-spin .72s linear infinite}@keyframes auth-spin{to{transform:rotate(1turn)}}.auth-notice{margin:-4px 0 0;padding:11px 12px;border-radius:7px;font-size:13px;line-height:1.5}.auth-notice.error{background:#fff0f0;color:#bd3033}.auth-notice.success{background:#e9f8ef;color:#13733d}.auth-footer{margin:26px 0 0;color:var(--sub);font-size:13px;text-align:center}.auth-footer a{color:var(--primary);font-weight:700;text-decoration:none}.auth-footer a:hover{text-decoration:underline}@media (max-width:760px){.auth-shell{display:block;padding:42px 22px}.auth-panel{width:100%}.auth-card{padding:0}.auth-brand{margin-bottom:40px}}.account-menu{position:relative}.account-chip{display:flex;align-items:center;gap:7px;min-width:0;height:36px;padding:4px 8px 4px 4px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);cursor:pointer;font:inherit}.account-chip:hover,.account-chip[aria-expanded=true]{border-color:#b9c4d0;background:#f8f9fb}.account-avatar{display:grid;width:28px;height:28px;place-items:center;flex:0 0 auto;border-radius:7px;background:var(--brand-soft);color:var(--primary)}.account-avatar svg{width:16px;height:16px;stroke-width:1.8}.account-name{max-width:130px;overflow:hidden;font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.account-chevron{display:grid;color:var(--sub)}.account-chevron svg{width:15px;height:15px;stroke-width:2}.account-dropdown{position:absolute;z-index:30;top:calc(100% + 8px);right:0;width:208px;padding:6px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:var(--shadow2)}.account-email{overflow:hidden;margin:5px 7px 8px;color:var(--sub);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.account-dropdown a,.account-dropdown button{display:flex;align-items:center;gap:9px;width:100%;height:36px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:var(--ink2);cursor:pointer;font:inherit;font-size:13px;font-weight:600;text-align:left;text-decoration:none}.account-dropdown a:hover,.account-dropdown button:hover:not(:disabled){background:var(--brand-soft);color:var(--primary)}.account-dropdown svg{width:16px;height:16px;stroke-width:1.8}.account-dropdown button:disabled{cursor:wait;opacity:.65}@media (max-width:560px){.account-chip{width:36px;justify-content:center;padding:4px}.account-chevron,.account-name{display:none}}body{font-family:var(--font-pretendard),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-feature-settings:"tnum"}.hint{font-weight:500;color:var(--faint)}.shell{display:grid;grid-template-columns:246px 1fr;min-height:100vh}.side{margin:20px 0 20px 20px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px 16px;display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:20px;height:calc(100vh - 40px)}.logo{display:inline-flex;padding:2px 6px 4px;cursor:pointer}.nav{flex-direction:column;gap:2px;margin-top:28px}.nav,.nav a{display:flex}.nav a{align-items:center;gap:12px;padding:11px 10px;border-radius:8px;font-size:14px;font-weight:600;color:var(--faint);cursor:pointer;text-decoration:none}.nav a svg{width:18px;height:18px;stroke-width:1.9}.nav a:hover{color:var(--primary);background:#f7f9ff}.nav a.on{color:var(--primary);background:var(--brand-soft)}.nav .sect{font-size:12px;font-weight:600;color:var(--sub);margin:26px 0 8px;padding:0 10px}.side .grow{flex:1 1}.navcta{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;height:44px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit}.navcta:hover{background:#2a49e6}.navcta svg{width:16px;height:16px;stroke-width:2.2}@media (max-width:900px){.shell{grid-template-columns:1fr}.side{position:static;height:auto;margin:12px;flex-direction:row;align-items:center;padding:10px 14px;gap:12px}.side .logo{padding:0}.nav{flex-direction:row;margin-top:0;gap:4px}.side .grow{flex:1 1}.navcta{width:auto;height:38px;padding:0 14px;white-space:nowrap}}@media (max-width:720px){.shell{min-height:100dvh}.shell,.side{display:block}.side{position:fixed;z-index:20;top:auto;right:0;bottom:0;left:0;height:auto;margin:0;padding:6px 8px calc(6px + env(safe-area-inset-bottom));border:0;border-top:1px solid var(--line);border-radius:16px 16px 0 0;box-shadow:0 -6px 24px rgba(33,33,33,.08)}.side .logo{display:none}.nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:4px;gap:4px;width:100%;margin:0}.nav a{flex-direction:column;justify-content:center;gap:3px;min-width:0;min-height:54px;padding:5px 4px;border-radius:10px;font-size:11px;white-space:nowrap}.nav a svg{width:20px;height:20px}.nav a.on{background:var(--brand-soft)}.side .grow{display:none}.navcta{position:fixed;right:16px;bottom:calc(78px + env(safe-area-inset-bottom));z-index:21;width:48px;min-width:48px;height:48px;padding:0;border-radius:50%;box-shadow:0 4px 14px rgba(58,91,255,.35)}.navcta span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}@media (max-width:380px){.nav a{font-size:10.5px}.nav a svg{width:19px;height:19px}}.main{display:flex;flex-direction:column;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;padding:32px 40px 12px}.mobile-brand{display:none}.topbar h1{font-size:18px;font-weight:600;margin:0;color:var(--ink);letter-spacing:-.2px}.hbar-right{gap:10px;margin-left:auto}.hbar-right,.notif{display:flex;align-items:center}.notif{position:relative;width:37px;height:37px;border-radius:50%;border:1px solid var(--line);background:#fff;justify-content:center;cursor:pointer;color:var(--ink2)}.notif svg{width:18px;height:18px}.notif .badge{position:absolute;top:-3px;right:-3px;min-width:16px;height:16px;padding:0 4px;border-radius:50%;background:var(--primary);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}.profile{gap:6px;padding:7px 12px 7px 8px;height:37px;border-radius:25px;border:1px solid var(--line);background:#fff;font-size:13px;font-weight:500;cursor:pointer}.profile,.profile .av{display:flex;align-items:center;color:var(--ink2)}.profile .av{width:22px;height:22px;border-radius:50%;background:#efefef;justify-content:center;font-size:11px;font-weight:700}.content{padding:8px 40px 60px;container-type:inline-size}@media (max-width:720px){.topbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;padding:20px 16px 12px;grid-gap:12px;gap:12px}.mobile-brand{display:inline-flex;align-items:center}.mobile-brand img{display:block;width:90px;height:auto}.topbar h1{justify-self:end;font-size:14px;color:var(--ink2)}.hbar-right{display:flex;justify-self:end}.content{padding:8px 16px calc(92px + env(safe-area-inset-bottom))}}.greeting{font-size:18px;font-weight:600;color:var(--ink);margin:8px 0 24px;letter-spacing:-.2px}.banner{background:var(--brand-soft);border:1px solid #cdd8ff;color:#2b3ea8;border-radius:8px;padding:11px 14px;font-size:12.5px;margin-bottom:20px}.banner code{background:#dbe3ff;padding:1px 5px;border-radius:4px}.kpis{display:grid;grid-template-columns:1fr;grid-gap:16px;gap:16px;margin-bottom:24px}@container (min-width: 480px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (min-width: 860px){.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}.kpi{background:var(--card);border:1.3px solid transparent;border-radius:var(--radius);box-shadow:var(--shadow2);padding:20px}.kpi .lab{font-size:14px;font-weight:400;color:var(--ink2)}.kpi .val{font-size:24px;font-weight:600;color:var(--ink);margin-top:14px;letter-spacing:-.3px}.kpi .val small{font-size:13px;font-weight:500;color:var(--sub);margin-left:3px}.kpi .sub{font-size:12px;color:var(--sub);margin-top:4px}.agent-dashboard{margin-bottom:24px}.agent-dashboard-title{display:flex;align-items:end;justify-content:space-between;margin:0 0 12px}.agent-dashboard-agent{display:flex;align-items:center;gap:9px}.agent-dashboard-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:0;font:inherit;cursor:pointer}.agent-dashboard-chevron{display:grid;place-items:center;font-style:normal;color:var(--sub);font-size:26px;font-weight:400;line-height:1;transform:rotate(90deg);transition:transform .15s ease}.agent-dashboard-toggle[aria-expanded=true] .agent-dashboard-chevron{transform:rotate(-90deg)}.agent-dashboard-sparkle{display:grid;width:22px;height:22px;place-items:center;border-radius:6px;background:linear-gradient(135deg,#3157ff,#7a8fff);box-shadow:0 5px 12px #3a5bff33;color:#fff;font-size:14px;font-style:normal}.agent-dashboard-agent>div>span{display:block;margin-bottom:3px;color:var(--primary);font-size:10px;font-weight:800;letter-spacing:.08em}.agent-dashboard-title h2{margin:0;color:var(--ink);font-size:18px;font-weight:700}.agent-dashboard-title time{display:flex;align-items:baseline;gap:5px;color:var(--ink);font-size:22px;font-weight:750;letter-spacing:-.5px;line-height:1}.agent-dashboard-title time small{color:var(--sub);font-size:10px;font-weight:700;letter-spacing:0}.agent-dashboard-title time b{color:var(--primary);font-size:14px}.agent-dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px;align-items:start}.agent-panel{min-width:0;overflow:hidden;padding:0}.agent-briefing-head,.agent-panel>header{display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:0 16px;border-bottom:1px solid var(--line);background:linear-gradient(100deg,#f7f9ff,#fff)}.agent-briefing-head h3,.agent-panel h3{margin:0;color:var(--ink);font-size:13px;font-weight:700}.agent-briefing-head>span,.agent-panel>header>span{color:var(--primary);font-size:11px;font-weight:700}.agent-briefing-list,.agent-panel-list{height:240px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#cbd3df transparent}.agent-panel-row{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:48px;padding:8px 14px;border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.agent-panel-row:hover{background:var(--brand-soft)}.agent-panel-row>span{display:flex;min-width:0;flex-direction:column;gap:2px}.agent-panel-row b,.agent-panel-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-panel-row small{position:relative;padding-left:9px;color:var(--ink);font-size:11px;font-weight:700}.agent-panel-row small:before{content:"";position:absolute;left:0;top:1px;bottom:1px;width:3px;border-radius:2px;background:var(--primary)}.agent-panel-row b{color:var(--ink2);font-size:11px;font-weight:600}.agent-panel-row>i{flex:0 0 auto;color:var(--sub);font-size:20px;font-style:normal;font-weight:400;line-height:1}.agent-panel-row.deadline b,.agent-panel-row.urgent b{color:#c43d2c}.agent-panel-row.attention b{color:#9b6900}.agent-panel-row.ready b{color:#16814f}.agent-panel-empty,.agent-panel-more{margin:0;padding:17px 14px;color:var(--sub);font-size:11px;text-align:center}.agent-panel-more{padding-top:10px;color:var(--primary);font-weight:600}.agent-briefing{min-width:0;margin:0;padding:0;overflow:hidden}.agent-briefing-head{align-items:center}.agent-briefing-eyebrow{display:block;margin-bottom:4px;color:var(--primary);font-size:10px;font-weight:800;letter-spacing:.08em}.agent-briefing-head p{margin:0;color:var(--sub);font-size:10px}.agent-briefing-row{display:flex;align-items:center;width:100%;min-height:48px;gap:9px;padding:8px 13px;border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:background .15s}.agent-briefing-row:last-child{border-bottom:0}.agent-briefing-row:hover{background:var(--brand-soft)}.agent-briefing-row>i{width:3px;height:28px;border-radius:3px;background:#4d7cff}.agent-briefing-row.urgent>i{background:#e24347}.agent-briefing-row.attention>i{background:#d99519}.agent-briefing-row.ready>i{background:#15945a}.agent-briefing-project{display:inline-flex;flex:0 0 104px;gap:4px;align-items:baseline;min-width:0}.agent-briefing-project small{color:var(--sub);font-size:10px}.agent-briefing-project small,.agent-briefing-project strong{overflow:hidden;flex:0 1 auto;text-overflow:ellipsis;white-space:nowrap}.agent-briefing-project strong{color:var(--ink);font-size:12px}.agent-briefing-summary{flex:1 1 auto;min-width:0;overflow:hidden;color:var(--ink2);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.agent-briefing-row.urgent .agent-briefing-summary{color:#c43d2c;font-weight:600}.agent-briefing-row.attention .agent-briefing-summary{color:#9b6900;font-weight:600}.agent-briefing-row.ready .agent-briefing-summary{color:#16814f}.agent-briefing-open{flex:0 0 auto;color:var(--sub);font-size:20px;font-weight:400;line-height:1;white-space:nowrap}.agent-briefing-empty{margin:0;padding:17px 14px;color:var(--sub);font-size:11px;text-align:center}@media (max-width:720px){.content{padding-right:12px;padding-left:12px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:22px}.kpi{min-width:0;min-height:108px;padding:14px;border-color:var(--line);box-shadow:none}.kpi .lab{font-size:12px;line-height:1.35}.kpi .val{margin-top:8px;font-size:23px;line-height:1.1}.kpi .val small{font-size:11px}.kpi .sub{overflow:hidden;margin-top:5px;font-size:10.5px;white-space:nowrap;text-overflow:ellipsis}.agent-dashboard{margin-bottom:20px}.agent-dashboard-grid{grid-template-columns:1fr;gap:10px}.agent-dashboard-title h2{font-size:16px}.agent-dashboard-sparkle{width:29px;height:29px;font-size:14px}.agent-dashboard-title time{font-size:18px}.agent-briefing-list,.agent-panel-list{height:240px}.agent-briefing-head{min-height:50px;padding:0 14px}.agent-briefing-head p{margin-top:3px;font-size:10px;text-align:left}.agent-briefing-row{gap:8px;min-height:48px;padding:8px 12px}.agent-briefing-row>i{align-self:stretch}.agent-briefing-project{flex-basis:92px;gap:3px}.agent-briefing-summary{font-size:11px}.agent-briefing-open{align-self:center}}.sectionhd{display:flex;align-items:baseline;gap:10px;margin:0 0 14px}.sectionhd h2{font-size:16px;font-weight:600;margin:0;color:var(--ink)}.sectionhd-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.dashboard-view-toggle{display:flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--line);border-radius:7px;background:#fff}.dashboard-view-toggle button{display:grid;width:26px;height:26px;place-items:center;padding:0;border:0;border-radius:4px;background:transparent;color:var(--sub);cursor:pointer}.dashboard-view-toggle button.on{background:var(--brand-soft);color:var(--primary)}.dashboard-view-toggle svg{width:15px;height:15px;stroke-width:1.8}.dashboard-status-filter{display:inline-flex;align-items:center;gap:5px;height:34px;color:var(--ink2);font-size:11px;font-weight:600;white-space:nowrap;cursor:pointer}.dashboard-status-filter input{width:14px;height:14px;margin:0;accent-color:var(--primary)}.project-search{display:flex;align-items:center;width:min(260px,32vw);height:34px;padding:0 9px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--sub);transition:border-color .15s,box-shadow .15s}.project-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--brand-soft)}.project-search svg{width:16px;height:16px;flex:0 0 auto;stroke-width:1.8}.project-search input{width:100%;min-width:0;border:0;outline:0;padding:0 7px;background:transparent;color:var(--ink);font:inherit;font-size:12px}.project-search input::placeholder{color:var(--faint)}.project-search-clear{width:18px;height:18px;padding:0;border:0;border-radius:50%;background:#d8dde5;color:#fff;font-size:16px;line-height:16px;cursor:pointer}.project-search-clear:hover{background:var(--sub)}.project-search-empty{padding:52px 20px;border:1px dashed var(--line);border-radius:10px;text-align:center;color:var(--sub);font-size:13px}.project-search-empty p{margin:0 0 12px}.project-search-empty b{color:var(--ink)}.project-search-empty button{border:0;padding:0;background:transparent;color:var(--primary);font:inherit;font-weight:600;cursor:pointer}.dashboard-list{overflow:hidden;padding:0}.dashboard-list-head,.dashboard-list-row{display:grid;grid-template-columns:minmax(150px,1.25fr) 58px minmax(88px,.8fr) minmax(100px,.9fr) minmax(150px,1.2fr) 104px minmax(82px,.7fr) 82px;grid-column-gap:16px;column-gap:16px;align-items:center}.dashboard-list-head{min-height:42px;padding:0 18px;border-bottom:1px solid var(--line);background:#fafbfc;color:var(--sub);font-size:11px;font-weight:600}.dashboard-list-row{width:100%;min-height:72px;padding:10px 18px;border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:background .15s}.dashboard-list-row:last-child{border-bottom:0}.dashboard-list-row:hover{background:var(--brand-soft)}.dashboard-list-row.activity-warn{box-shadow:inset 3px 0 #e6b44f}.dashboard-list-row.activity-late{box-shadow:inset 3px 0 #e78272}.dashboard-list-deadline,.dashboard-list-progress,.dashboard-list-project{display:flex;min-width:0;flex-direction:column;gap:3px}.dashboard-list-deadline small,.dashboard-list-project small{overflow:hidden;color:var(--sub);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.dashboard-list-activity,.dashboard-list-next,.dashboard-list-project strong,.dashboard-list-stage{overflow:hidden;font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.dashboard-list-mobile-importance{display:none}.dashboard-list-next,.dashboard-list-stage{color:var(--ink2);font-weight:500}.dashboard-list-activity{display:flex;align-items:center;gap:6px;overflow:visible;color:var(--sub);font-size:11px;font-weight:500;white-space:normal}.dashboard-list-activity>span,.olast-activity>span{overflow:hidden;min-width:0;text-overflow:ellipsis;white-space:nowrap}.dashboard-list-activity.warn{color:#a96900}.dashboard-list-activity.late{color:#d5341c}.dashboard-list-importance{color:var(--faint);font-size:12px}.dashboard-list-importance i{display:inline-block;padding:3px 6px;border-radius:4px;font-size:10px;font-style:normal;font-weight:700}.dashboard-list-deadline b{font-size:13px}.dashboard-list-deadline b i{margin-left:4px;color:#b54f2e;font-size:10px;font-style:normal;font-weight:600}.dashboard-list-deadline small.risk{color:#e24347}.dashboard-list-deadline small.done{color:#13964f}.dashboard-list-progress b{font-size:12px}.dashboard-list-progress>i{display:block;width:100%;height:4px;overflow:hidden;border-radius:3px;background:#e9edf2}.dashboard-list-progress>i em{display:block;height:100%;border-radius:inherit;background:var(--primary)}@container (max-width: 700px){.dashboard-list-head{display:none}.dashboard-list-row{position:relative;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px;min-height:0;padding:15px 14px}.dashboard-list-project{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-column-gap:6px;column-gap:6px;grid-column:1/-1;padding-top:25px;padding-right:72px}.dashboard-list-project small{grid-column:1;grid-row:1}.dashboard-list-project strong{grid-column:1/-1;grid-row:2}.dashboard-list-activity,.dashboard-list-next,.dashboard-list-stage{max-width:none;min-width:0;overflow:visible;font-size:12px;text-align:left;white-space:normal}.dashboard-list-importance{display:none}.dashboard-list-activity:before,.dashboard-list-deadline b:before,.dashboard-list-next:before,.dashboard-list-progress b:before,.dashboard-list-stage:before{display:block;margin-bottom:3px;color:var(--sub);font-size:10px;font-weight:500}.dashboard-list-stage:before{content:"현재 단계"}.dashboard-list-next:before{content:"다음 할 일"}.dashboard-list-activity{grid-column:1/-1;color:var(--sub)}.dashboard-list-activity:before{content:"마지막 활동"}.dashboard-list-deadline{display:flex;gap:2px}.dashboard-list-deadline b:before{content:"최종 납기"}.dashboard-list-progress{display:flex;gap:5px;padding-top:1px}.dashboard-list-progress b:before{content:"진행률"}.dashboard-list-progress>i{max-width:140px}.dashboard-list-row>span:last-child{position:absolute;top:15px;right:14px}.dashboard-list-mobile-importance{position:absolute;top:15px;left:14px;padding:2px 5px;border-radius:4px;font-size:10px;font-style:normal;font-weight:700}}.ohint{font-size:12px;color:var(--sub)}.overview{display:grid;grid-template-columns:1fr;grid-gap:14px;gap:14px}@container (min-width: 560px){.overview{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (min-width: 860px){.overview{grid-template-columns:repeat(3,minmax(0,1fr))}}@container (min-width: 1120px){.overview{grid-template-columns:repeat(4,minmax(0,1fr))}}.ocard{padding:16px 18px;cursor:pointer;border:1.3px solid var(--line);transition:border-color .15s}.ocard:hover{border-color:var(--primary)}.ocard.activity-warn{border-color:#e6b44f}.ocard.activity-late{border-color:#e78272}.ocard.activity-warn:hover{border-color:#a96900}.ocard.activity-late:hover{border-color:#d5341c}.ocard .ostage{font-size:12px;color:var(--ink2);margin-top:12px}.ocard .ostage b{color:var(--primary);font-weight:600}.ocard .onext{font-size:12px;color:var(--ink2);margin-top:4px}.ocard .onext b{color:var(--ink);font-weight:600}.ocard .onext-dday{margin-left:6px;font-size:11px;font-weight:700;color:var(--sub)}.sortdd{margin-left:auto;position:relative;flex:0 0 auto}.sortdd-btn{display:flex;align-items:center;gap:6px;height:34px;padding:0 10px 0 13px;border:1px solid var(--line);border-radius:8px;background:#fff;font-family:inherit;font-size:12.5px;font-weight:600;color:var(--ink2);cursor:pointer;transition:border-color .15s}.sortdd-btn:hover{border-color:#c3ccd6}.sortdd-chev{width:15px;height:15px;color:var(--sub);transition:transform .15s}.sortdd-chev.open{transform:rotate(180deg)}.sortdd-backdrop{position:fixed;inset:0;z-index:30}.sortdd-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:31;min-width:160px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:6px}.sortdd-item{display:flex;align-items:center;width:100%;padding:9px 11px;border:none;background:none;border-radius:7px;font-family:inherit;font-size:13px;font-weight:500;color:var(--ink2);cursor:pointer;text-align:left}.sortdd-item:hover{background:var(--brand-soft)}.sortdd-item.on{background:var(--brand-soft);color:var(--primary);font-weight:700}.sortdd-item .sortdd-check{margin-left:auto;color:var(--primary);font-weight:700}.ohd{display:flex;align-items:center;justify-content:space-between;gap:8px}.ohd-cl{font-size:12px;font-weight:600;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ohd-tags{display:flex;align-items:center;gap:6px;flex:0 0 auto}.ocard .pn{margin-top:8px}.olast-activity{display:flex;align-items:center;gap:7px;overflow:hidden;margin-top:5px;color:var(--sub);font-size:11px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.olast-activity.warn{color:#a96900}.olast-activity.late{color:#d5341c}.olast-activity>span{flex:1 1 auto}.activity-alert{flex:0 0 auto;padding:3px 7px;border-radius:20px;font-size:10px;font-style:normal;font-weight:700;line-height:1;white-space:nowrap}.activity-alert.warn{background:#fff3d6;color:#a96900}.activity-alert.late{background:#ffe4e2;color:#d5341c}.odesc{font-size:12px;color:var(--ink2);margin-top:4px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.otags{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.otag{font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px;white-space:nowrap}.otag.urg.late,.otag.urg.soon{background:#ffe4e2;color:#d5341c}.oddl{display:flex;align-items:baseline;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.oddl-cap{font-size:11.5px;color:var(--sub);font-weight:600}.oddl-date{font-size:16px;font-weight:700;letter-spacing:-.3px;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.oddl-dday{margin-left:auto;font-size:13px;font-weight:700;color:var(--ink2)}.oddl-dday.risk{color:var(--warn)}.oddl-dday.done{color:#13964f}.oddl-date .chgtag{vertical-align:middle}@media (max-width:720px){.dashboard-view-toggle{display:none}.dashboard-status-filter{height:36px}.sectionhd{align-items:center;margin-bottom:10px}.sectionhd h2{font-size:15px}.project-search{width:min(180px,42vw);height:36px}.sortdd-btn{height:36px;padding:0 9px 0 11px}.overview{gap:10px}.ocard{padding:14px}.ohd{align-items:flex-start}.ohd-cl{padding-top:3px}.ohd-tags{flex-wrap:wrap;justify-content:flex-end;gap:4px}.otag,.pill{padding:3px 7px;font-size:10px}.ocard .pn{margin-top:10px;font-size:15px}.oddl{gap:6px;margin-top:10px;padding-top:10px}.oddl-date{font-size:15px}.ocard .ostage,.r2{margin-top:10px}}@media (max-width:460px){.sectionhd{flex-wrap:wrap}.sectionhd h2{flex-basis:100%}.sectionhd-actions{width:100%;gap:6px}.project-search{width:auto;flex:1 1 auto}}.calbar{display:flex;align-items:center;gap:10px;margin-bottom:16px}.calbar label{font-size:13px;font-weight:600;color:var(--ink2)}.calseg{display:inline-flex;background:#eef0f4;border-radius:9px;padding:3px;gap:2px}.calseg button{border:none;background:none;font-family:inherit;font-size:13px;font-weight:600;color:var(--ink2);padding:7px 15px;border-radius:7px;cursor:pointer}.calseg button.on{background:#fff;color:var(--primary);box-shadow:var(--shadow2)}.calhead{display:flex;align-items:flex-start;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line)}.calhead .t{font-size:16px;font-weight:600;letter-spacing:-.3px}.calhead-title{display:flex;align-items:center;gap:10px}.calhead .s{font-size:12.5px;color:var(--sub);margin-top:4px}.calnav{display:flex;align-items:center;gap:6px;flex:0 0 auto}.calnav button{background:#fff;border:1px solid var(--line);border-radius:7px;padding:7px 12px;font-size:12.5px;font-weight:600;color:var(--ink2);cursor:pointer;font-family:inherit}.calnav button:hover{border-color:var(--primary);color:var(--primary);background:var(--brand-soft)}.calnav .calmon{font-size:14px;font-weight:700;color:var(--ink);min-width:96px;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.legend .dlonly{margin-left:0;display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--ink2);cursor:pointer}.legend .dlonly input{accent-color:var(--primary);cursor:pointer}.allcal td.cell{height:120px;min-height:120px;padding-left:4px}.allcal td.cell .date-label{padding-left:3px;height:18px}.allcal .echip-wrap{position:relative;margin-top:4px;height:22px}.allcal .echip{display:flex;align-items:center;gap:4px;padding:3px 6px;border:1px solid;border-radius:5px;background:#fff;font-size:10.5px;font-weight:700;line-height:1.3;letter-spacing:-.2px;overflow:hidden;height:100%;white-space:nowrap}.allcal .echip-wrap.connects-left{margin-left:-4px}.allcal .echip-wrap.connects-right{margin-right:-5px}.allcal .connects-left .echip{border-left-width:0;border-top-left-radius:0;border-bottom-left-radius:0}.allcal .connects-right .echip{border-right-width:0;border-top-right-radius:0;border-bottom-right-radius:0}.allcal .personal-event-name{position:absolute;top:0;left:12px;z-index:2;width:calc(100% - 24px);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;font-weight:700;line-height:22px;letter-spacing:-.2px;pointer-events:none}.allcal .connects-right>.personal-event-name{width:calc(var(--personal-title-span, 1) * (100% + 4px) - 9px - 24px)}.allcal .personal-event-name.personal-dragging{opacity:.45}.allcal .event-placeholder{pointer-events:none}.allcal .echip .ecnm{flex:0 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.allcal .echip .ecst{flex:0 0 auto;opacity:.78}.allcal .echip.dl{color:#fff}.allcal .echip.dl .ecst{opacity:1}.allcal .emore{display:block;margin-top:4px;font-size:9.5px;font-weight:700;color:var(--sub);padding:1px 3px;border:0;border-radius:4px;background:none;font-family:inherit;text-align:left;cursor:pointer;transition:color .12s,background .12s}.allcal .emore:hover{color:var(--primary);background:var(--brand-soft)}.allcal .echip.clickable{cursor:pointer;transition:filter .12s,box-shadow .12s}.allcal .echip.clickable:hover{filter:brightness(.96);box-shadow:0 1px 4px rgba(0,0,0,.14)}.allcal .echip[draggable=true]{cursor:-webkit-grab;cursor:grab}.allcal .echip.personal-dragging{cursor:-webkit-grabbing;cursor:grabbing;opacity:.45}.allcal .cell.personal-add-cell{cursor:pointer}.allcal .personal-add-date{border:0;padding:0;background:none;font:inherit;color:inherit;cursor:pointer}.allcal .personal-editable .echip{padding-left:12px;padding-right:12px}.allcal .personal-resize-handle{position:absolute;top:0;bottom:0;width:10px;padding:0;border:0;border-radius:3px;background:transparent;cursor:ew-resize;z-index:1}.allcal .personal-resize-handle.start{left:0}.allcal .personal-resize-handle.end{right:0}.allcal .personal-resize-handle:after{content:"";position:absolute;top:25%;bottom:25%;left:4px;border-left:2px solid;opacity:.55}.allcal .personal-resize-handle:focus-visible,.allcal .personal-resize-handle:hover{background:var(--brand-soft);outline:1px solid currentColor}.legend .it.clickable{border:none;background:transparent;font-family:inherit;cursor:pointer;border-radius:6px;padding:2px 8px;margin:-2px 0;transition:background .12s,opacity .12s}.legend .it.active,.legend .it.clickable:hover{background:var(--brand-soft)}.legend .it.active{color:var(--primary);font-weight:700}.legend .it.dim{opacity:.38}.legend .filter-summary{display:inline-flex;align-items:center;font-size:12px;font-weight:700;color:var(--ink2)}.legend .filter-actions{display:inline-flex;align-items:center;gap:5px}.legend .filter-actions button{border:1px solid var(--line);border-radius:5px;padding:3px 7px;background:#fff;color:var(--ink2);font-family:inherit;font-size:11.5px;font-weight:600;cursor:pointer}.legend .filter-actions button:hover{border-color:var(--primary)}.legend .filter-actions button:hover,.lgreset{color:var(--primary);background:var(--brand-soft)}.lgreset{display:inline-flex;align-items:center;height:26px;padding:0 11px;border:1px solid var(--primary);border-radius:20px;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer}.calfocus-t{color:var(--primary);font-weight:700}.psel{position:relative}.psel-trigger{display:flex;align-items:center;gap:8px;min-width:320px;height:42px;padding:0 12px;background:#fff;border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:13px;color:var(--ink);cursor:pointer}.psel-trigger:hover{border-color:#c3ccd6}.psel-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto}.psel-name{font-weight:600;white-space:nowrap}.psel-client{color:var(--sub);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.psel-chev{width:16px;height:16px;margin-left:auto;flex:0 0 auto;color:var(--sub);transition:transform .15s}.psel-chev.open{transform:rotate(180deg)}.psel-backdrop{position:fixed;inset:0;z-index:30}.psel-panel{position:absolute;top:calc(100% + 6px);left:0;min-width:100%;z-index:31;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:6px;max-height:360px;overflow:auto}.psel-item{display:flex;align-items:center;gap:8px;width:100%;padding:9px 11px;border:none;background:none;border-radius:6px;font-family:inherit;font-size:13px;color:var(--ink);cursor:pointer;text-align:left}.psel-item.on,.psel-item:hover{background:var(--brand-soft)}.psel-item.on .psel-name{color:var(--primary)}.psel-item .psel-check{margin-left:auto;color:var(--primary);font-weight:700}.cols{display:grid;grid-template-columns:340px 1fr;grid-gap:18px;gap:18px;align-items:start}@media (max-width:1120px){.cols{grid-template-columns:1fr}}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow2)}.card .hd{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line)}.card .hd h2{font-size:16px;font-weight:600;margin:0}.card .hd .cnt{font-size:11.5px;color:var(--sub);font-weight:600;background:#f2f4f7;border-radius:20px;padding:2px 9px}.card .hd .hd-right{display:flex;align-items:center;gap:8px}.plist{padding:8px}.pitem{padding:13px 12px;border-radius:8px;border:1.3px solid transparent;cursor:pointer}.pitem:hover{background:#f7f9ff}.pitem.on{background:var(--brand-soft);border-color:#c9d5ff}.r1{display:flex;align-items:center;justify-content:space-between;gap:8px}.pn{font-size:14px;font-weight:600;letter-spacing:-.2px}.cl{font-size:11.5px;color:var(--sub);margin-top:2px}.pill{font-size:10.5px;font-weight:700;padding:3px 8px;border-radius:20px;white-space:nowrap}.r2{display:flex;align-items:center;gap:12px;margin-top:12px;font-size:11.5px}.r2 .dday,.r2 .pct{font-weight:600;color:var(--ink2)}.chgtag{font-size:9.5px;font-weight:700;color:var(--warn);background:#ffe9e9;border-radius:4px;padding:1px 5px;margin-left:5px}.pbar{height:5px;background:#eef0f4;margin-top:8px;overflow:hidden}.pbar,.pbar>i{border-radius:3px}.pbar>i{display:block;height:100%}.track{display:flex;gap:2px;margin-top:8px}.track .seg{flex:1 1;height:4px;border-radius:2px}.detail{padding:0}.dhead{display:flex;align-items:flex-start;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line)}.dhead .t{font-size:16px;font-weight:600;letter-spacing:-.3px}.dhead .s{font-size:12.5px;color:var(--sub);margin-top:4px}.dhead .dl-cap{font-size:11px;color:var(--sub);text-align:right}.dhead .dl{font-size:22px;font-weight:700;letter-spacing:-.3px;margin-top:2px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dhead .dl.shifted{color:var(--warn)}.dhead .dl .wd{font-size:13px;color:var(--sub);font-weight:600;margin-left:4px}.legend .expbtns{margin-left:auto}.expbtns{display:flex;gap:6px;align-items:center}.expbtn{background:#fff;border:1px solid var(--line);border-radius:7px;padding:6px 11px;font-size:12px;font-weight:600;color:var(--ink2);cursor:pointer;font-family:inherit}.expbtn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--brand-soft)}.expbtn:disabled{opacity:.5;cursor:default}.chgreq{display:contents}.detail.exporting .no-export{display:none!important}.detail.exporting .dbody{grid-template-columns:minmax(0,1fr) 288px}.detail.exporting .aside{border-left:1px solid var(--line);border-top:none;display:block;height:auto;min-height:0}.detail.exporting .dbody.cal-only{grid-template-columns:minmax(0,1fr)}.detail.exporting .aside>.hist{flex:none;min-height:0;max-height:none;overflow:visible;padding-right:0}.expsel{position:relative}.expsel-tg{display:flex;align-items:center;gap:5px}.expsel.open .expsel-tg{border-color:var(--primary);color:var(--primary);background:var(--brand-soft)}.expsel-cnt{font-style:normal;font-size:11px;font-weight:700;color:var(--sub);background:#f2f4f7;border-radius:20px;padding:1px 6px}.expsel.open .expsel-cnt{color:var(--primary);background:#fff}.expsel-caret{width:11px;height:11px;color:var(--sub);transition:transform .15s ease}.expsel.open .expsel-caret{transform:rotate(180deg);color:var(--primary)}.expsel-pop{position:absolute;z-index:40;top:calc(100% + 5px);right:0;min-width:196px;padding:7px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 28px rgba(20,28,45,.16);animation:ddin .12s ease}.expsel-hd{font-size:11px;font-weight:600;color:var(--faint);padding:3px 8px 6px;line-height:1.4}.expsel-it{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:7px;font-size:12.5px;font-weight:500;color:var(--ink);cursor:pointer}.expsel-it:hover{background:var(--brand-soft)}.expsel-it input{accent-color:var(--primary);cursor:pointer}.expsel-it.locked{color:var(--ink2);cursor:default}.expsel-it.locked:hover{background:none}.expsel-it.locked input{cursor:default}.expsel-req{margin-left:auto;font-style:normal;font-size:10.5px;font-weight:700;color:var(--sub);background:#f2f4f7;border-radius:20px;padding:1px 6px}.expsel-ft{display:flex;gap:10px;margin-top:4px;padding:7px 8px 1px;border-top:1px solid var(--line)}.expsel-lnk{border:none;background:none;padding:0;font-family:inherit;font-size:11.5px;font-weight:600;color:var(--sub);cursor:pointer}.expsel-lnk:hover{color:var(--primary)}.legend{display:flex;flex-wrap:wrap;gap:15px;padding:13px 20px;border-bottom:1px solid var(--line)}.legend-controls{display:contents}.legend .it{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--ink2);font-weight:500}.legend .sw{width:10px;height:10px;border-radius:3px}.dbody{display:grid;grid-template-columns:minmax(0,1fr) 288px}@media (max-width:1400px){.dbody{grid-template-columns:1fr}}.calwrap{padding:20px;min-width:0}.mobile-agenda,.mobile-cal-view-toggle{display:none}@media (min-width:721px){.mobile-cal-view-toggle.legend-view-toggle{display:none}.mobile-cal-view-toggle{display:flex;align-items:center;width:auto;gap:2px;margin:0;padding:3px;border:1px solid var(--line);border-radius:7px;background:#fff}.mobile-cal-view-toggle button{display:grid;width:26px;height:26px;place-items:center;min-height:0;padding:0;border:0;border-radius:4px;background:transparent;color:var(--sub);font-family:inherit;font-size:0;cursor:pointer}.calnav .mobile-cal-view-toggle{align-self:stretch;width:auto;margin:0}.calnav .mobile-cal-view-toggle button>span{display:none}.mobile-cal-view-toggle button svg{width:15px;height:15px;stroke:currentColor;stroke-width:1.8}.mobile-cal-view-toggle button.on{background:var(--brand-soft);color:var(--primary);box-shadow:none}.calwrap.mobile-list .allcal{display:none}.calwrap.mobile-list .mobile-agenda{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:12px;gap:12px}.calwrap.mobile-list .agenda-day{display:grid;grid-template-columns:44px minmax(0,1fr);grid-gap:11px;gap:11px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#fff}.calwrap.mobile-list .agenda-day.is-today{border-color:#c9d5ff;background:var(--brand-soft)}.calwrap.mobile-list .agenda-date{display:flex;flex-direction:column;align-items:center;color:var(--ink2);font-size:12px}.calwrap.mobile-list .agenda-date b{color:var(--ink);font-size:20px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.calwrap.mobile-list .agenda-day.is-today .agenda-date b{display:grid;width:32px;height:32px;place-items:center;border-radius:50%;background:var(--primary);color:#fff;font-size:16px}.calwrap.mobile-list .agenda-day.is-today .agenda-date span{margin-top:3px;color:var(--primary);font-weight:700}.calwrap.mobile-list .agenda-date.weekend b,.calwrap.mobile-list .agenda-date.weekend span{color:#e08a86}.calwrap.mobile-list .agenda-date.holiday b,.calwrap.mobile-list .agenda-date.holiday span{color:#d95d5a}.calwrap.mobile-list .agenda-events{display:flex;flex-direction:column;gap:7px;min-width:0}.calwrap.mobile-list .agenda-holiday{display:block;padding:7px 10px;border:1px solid #f1c9c7;border-radius:8px;background:#fff7f6;color:#d95d5a;font-size:12px;font-weight:700}.calwrap.mobile-list .agenda-event{display:flex;align-items:flex-start;min-height:44px;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-family:inherit;text-align:left;cursor:pointer}.calwrap.mobile-list .agenda-event:hover{border-color:#c9d5ff;background:var(--brand-soft)}.calwrap.mobile-list .agenda-day.is-today .agenda-event{border-color:#c9d5ff}.calwrap.mobile-list .agenda-event i{flex:0 0 auto;width:8px;height:8px;margin-top:5px;border-radius:50%}.calwrap.mobile-list .agenda-copy{min-width:0}.calwrap.mobile-list .agenda-copy b,.calwrap.mobile-list .agenda-copy em{display:block;overflow-wrap:anywhere}.calwrap.mobile-list .agenda-copy b{font-size:13px}.calwrap.mobile-list .agenda-copy em{margin-top:2px;color:var(--sub);font-size:12px;font-style:normal}.calwrap.mobile-list .agenda-empty{grid-column:1/-1;padding:48px 12px;color:var(--sub);text-align:center}}@media (max-width:720px){.allcal .echip.clickable:hover{filter:none;box-shadow:none}.allcal .emore:hover{color:var(--sub);background:none}.calbar{align-items:stretch;flex-direction:column;gap:8px;margin-bottom:12px}.calseg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.calseg button{min-height:42px;padding:8px 4px;font-size:12px}.calbar .psel,.calbar .psel-trigger{width:100%}.calbar .psel-trigger{min-width:0;max-width:100%}.calbar .psel-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.calbar .psel-client{flex:0 1 auto;max-width:30%;min-width:0}.calbar .psel-panel{width:100%;min-width:0;max-width:100%}.calbar .psel-item .psel-name{flex:1 1 auto}.calbar .psel-item .psel-client{max-width:35%}.calhead{align-items:flex-start;flex-direction:column;gap:12px;padding:15px 14px 13px}.calhead .t{font-size:15px}.calhead-title,.calnav{width:100%}.calnav{display:grid;grid-template-columns:32px minmax(0,1fr) 32px 44px;grid-gap:5px;gap:5px}.calnav button{min-height:36px;padding:6px 8px;font-size:11.5px;white-space:nowrap}.calnav .calmon{min-width:0;font-size:13px}.calhead-title .ministb{min-height:auto;padding:5px 10px;font-size:11.5px}.calnav .calnext,.calnav .calprev{padding:0;font-size:0}.calnav .calnext:before,.calnav .calprev:before{font-size:20px;line-height:1}.calnav .calprev:before{content:"‹"}.calnav .calnext:before{content:"›"}.calnav .today{grid-column:auto;padding:6px 5px;font-size:11px}.legend{gap:8px;padding:11px 14px}.legend-controls{display:flex;align-items:center;width:100%;gap:5px}.legend .filter-summary{flex:0 0 auto;font-size:11.5px;white-space:nowrap}.legend .filter-actions{display:flex;flex:0 0 auto;gap:4px}.legend .filter-actions button{padding:4px 6px;font-size:10.5px}.legend .it.clickable{max-width:100%;padding:5px 8px;margin:0;border:1px solid var(--line);border-radius:20px;font-size:11px}.legend .it.clickable.active{border-color:#c9d5ff}.legend .dlonly{width:auto;margin-left:0;padding-top:0;font-size:10.5px;white-space:nowrap}.calwrap{padding:4px 14px 12px}.mobile-cal-view-toggle{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:4px;gap:4px;margin:10px 14px 4px;padding:3px;border-radius:9px;background:#eef0f4}.header-view-toggle{display:none}.mobile-cal-view-toggle button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:34px;padding:6px 8px;border:0;border-radius:7px;background:transparent;color:var(--ink2);font-family:inherit;font-size:11.5px;font-weight:700}.mobile-cal-view-toggle button svg{width:15px;height:15px;stroke:currentColor;stroke-width:1.8}.mobile-cal-view-toggle button.on{background:#fff;color:var(--primary);box-shadow:var(--shadow2)}.allcal{display:none}.mobile-agenda{display:flex;flex-direction:column}.calwrap.mobile-calendar{overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.calwrap.mobile-calendar .allcal{display:table;min-width:630px}.calwrap.mobile-calendar{border-radius:8px;background:linear-gradient(90deg,rgba(58,91,255,.04),transparent 18%)}.calwrap.mobile-calendar .allcal td.cell{height:92px;min-height:92px;cursor:pointer}.calwrap.mobile-calendar .allcal .emore{min-height:20px;padding:3px 4px;font-size:10px}.calwrap.mobile-calendar .mobile-agenda{display:none}.mobile-day-modal{position:fixed;z-index:40;inset:0;display:flex;align-items:center;padding:16px;background:rgba(20,28,38,.42);overscroll-behavior:contain}.mobile-day-modal-card{width:100%;max-height:min(66dvh,540px);overflow:auto;overscroll-behavior:contain;border-radius:14px;background:#fff;box-shadow:0 18px 44px rgba(0,0,0,.24)}.mobile-day-modal-card header{display:flex;align-items:flex-start;justify-content:space-between;padding:18px 18px 14px;border-bottom:1px solid var(--line)}.mobile-day-modal-card h2{margin:0;color:var(--ink);font-size:16px}.mobile-day-modal-card header p{margin:4px 0 0;color:var(--sub);font-size:12px}.mobile-day-modal-card header button{display:grid;width:32px;height:32px;place-items:center;margin:-5px -5px 0 10px;border:0;border-radius:50%;background:#f3f5f7;color:var(--ink2);font-size:23px;line-height:1}.mobile-day-modal-events{display:flex;flex-direction:column;gap:8px;padding:14px 18px 18px}.mobile-day-modal-event{display:flex;align-items:flex-start;width:100%;min-height:54px;gap:10px;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font-family:inherit;text-align:left}.mobile-day-modal-event.deadline{border-color:#c9d5ff;background:var(--brand-soft)}.mobile-day-modal-events i{flex:0 0 auto;width:9px;height:9px;margin-top:5px;border-radius:50%}.mobile-day-modal-events span{min-width:0}.mobile-day-modal-events b,.mobile-day-modal-events em{display:block;overflow-wrap:anywhere}.mobile-day-modal-events b{font-size:13px;line-height:1.35}.mobile-day-modal-events em{margin-top:2px;color:var(--ink2);font-size:12px;font-style:normal;line-height:1.35}.mobile-day-modal-empty{margin:10px 0;color:var(--sub);font-size:13px;text-align:center}.agenda-day{display:grid;grid-template-columns:42px minmax(0,1fr);grid-gap:10px;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.agenda-day.is-today{scroll-margin-top:12px;margin:2px -6px;padding:12px 6px;border:1px solid #c9d5ff;border-radius:10px;background:var(--brand-soft)}.agenda-day.is-today .agenda-date b{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:var(--primary);color:#fff;font-size:16px}.agenda-day.is-today .agenda-date span{margin-top:2px;color:var(--primary);font-weight:700}.agenda-day.is-today .agenda-event{border-color:#c9d5ff}.agenda-date{display:flex;flex-direction:column;align-items:center;padding-top:2px;color:var(--ink2);font-size:11px;line-height:1.15}.agenda-date b{color:var(--ink);font-size:18px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.agenda-date.weekend b,.agenda-date.weekend span{color:#e08a86}.agenda-events{display:flex;flex-direction:column;gap:6px;min-width:0}.agenda-event{display:flex;align-items:flex-start;min-width:0;min-height:38px;gap:7px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink2);font-family:inherit;font-size:12px;text-align:left}.agenda-event:active{background:var(--brand-soft)}.agenda-event i{flex:0 0 auto;width:8px;height:8px;border-radius:50%;margin-top:4px}.agenda-copy{flex:1 1 auto;min-width:0}.agenda-copy b,.agenda-copy em{display:block;overflow-wrap:anywhere;white-space:normal}.agenda-copy b{color:var(--ink);font-size:12px;font-weight:700;line-height:1.4}.agenda-copy em{margin-top:2px;color:var(--sub);font-size:11px;font-style:normal;line-height:1.35}.agenda-event.deadline{border-color:#c9d5ff;background:var(--brand-soft);color:var(--primary)}.agenda-empty{padding:40px 12px;color:var(--sub);font-size:13px;text-align:center}.agenda-noevents{display:block;padding:9px;border-radius:8px;background:#f7f8fa;color:var(--sub);font-size:11.5px}}.aside{min-width:0;border-left:1px solid var(--line);padding:18px 20px}@media (max-width:1400px){.aside{border-left:none;border-top:1px solid var(--line)}}@media (min-width:1401px){.aside{display:flex;flex-direction:column;height:0;min-height:100%}.aside>*{flex:0 0 auto}.aside>.stagelist{flex:2 1;min-height:0;overflow-x:hidden;overflow-y:auto;padding-right:4px;overscroll-behavior:contain;scrollbar-gutter:auto}.aside>.hist{flex:1 1;min-height:0;max-height:none}}.aside h3{font-size:11px;font-weight:700;color:var(--sub);letter-spacing:.4px;text-transform:uppercase;margin:0 0 13px}.month-head{justify-content:space-between;gap:12px;margin-bottom:16px}.cal-monthnav,.month-head{display:flex;align-items:center}.cal-monthnav{gap:8px}.cal-arrows{display:flex;border:1px solid var(--line);border-radius:7px;overflow:hidden}.cal-arrows button{background:#fff;border:none;height:26px;padding:0 10px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;line-height:1;color:var(--sub);cursor:pointer;font-family:inherit;white-space:nowrap}.cal-arrows button+button{border-left:1px solid var(--line)}.cal-arrows button:hover{background:var(--brand-soft);color:var(--primary)}.cal-today{background:#fff;border:1px solid var(--primary);border-radius:7px;padding:0 12px;height:26px;font-size:12px;font-weight:700;color:var(--primary);cursor:pointer;font-family:inherit}.cal-today:hover{background:var(--brand-soft)}.months{display:flex;flex-direction:column;gap:26px}.months table.cal td.cell{-webkit-user-select:none;-moz-user-select:none;user-select:none}.month h4{font-size:13.5px;font-weight:600;margin:0;color:var(--ink2)}table.cal{width:100%;border-collapse:collapse;table-layout:fixed}table.cal th{font-size:11px;font-weight:600;color:var(--sub);padding:0 0 9px;text-align:left;letter-spacing:.3px}table.cal th.sun{color:#e08a86}td.cell{height:96px;vertical-align:top;border:1px solid var(--cal-line);padding:6px 4px 6px 0;position:relative}td.cell.blank{background:#fafbfc}.months table.cal td.cell.moving,.months table.cal td.cell.selecting,table.cal.allcal td.cell.moving{background:var(--brand-soft);box-shadow:inset 0 0 0 1.5px var(--primary)}td.cell .date-label{display:flex;align-items:baseline;min-width:0;padding-left:7px}td.cell .dnum{font-size:11.5px;font-weight:600;color:var(--sub);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}td.cell.weekend .dnum{color:#e08a86}td.cell.holiday .dnum{color:#d95d5a}td.cell .holiday-name{min-width:0;margin-left:4px;overflow:hidden;color:#d95d5a;font-size:9.5px;font-weight:700;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.calhint{font-size:11.5px;color:var(--ink2);background:var(--brand-soft);border:1px solid #cdd8ff;border-radius:8px;padding:8px 11px;margin-bottom:12px}td.cell .lanes{display:flex;flex-direction:column;gap:3px;margin-top:6px}td.cell .seg{position:relative;display:block;border-radius:0;margin-bottom:0;height:24px;line-height:24px;font-size:11px;font-weight:700;letter-spacing:-.2px;padding:0 4px;background:color-mix(in srgb,var(--acc) 20%,#fff);color:color-mix(in srgb,var(--acc) 70%,#1a1a1a)}td.cell .seg .seg-nm{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}td.cell .seg.start .seg-nm{padding-left:5px}td.cell .seg.start.spanning .seg-nm{position:relative;z-index:3;overflow:visible;text-overflow:clip;width:max-content;min-width:calc(var(--span, 1) * 100%);pointer-events:none}td.cell .seg .seg-nm .seg-memo{display:inline-block;width:4px;height:4px;margin-right:3px;border-radius:50%;background:currentColor;vertical-align:middle}.htip{position:absolute;left:-4px;bottom:calc(100% + 8px);z-index:40;width:max-content;max-width:240px;padding:9px 12px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--ink2);font-size:11.5px;font-weight:400;line-height:1.6;letter-spacing:0;white-space:pre-wrap;word-break:break-word;text-align:left;box-shadow:0 8px 24px rgba(33,33,33,.12);opacity:0;transform:translateY(4px);pointer-events:none;transition:opacity .14s ease,transform .14s ease}.htip.right{left:auto;right:-4px}.htip .htip-nm{display:block;font-size:12px;font-weight:700;color:var(--ink)}.htip .htip-sub{display:block;margin-top:6px;padding-top:6px;border-top:1px solid var(--line)}.htip:after,.htip:before{content:"";position:absolute;top:100%;left:16px;border:6px solid transparent}.htip.right:after,.htip.right:before{left:auto;right:16px}.htip:before{border-top-color:var(--line)}.htip:after{margin-top:-1px;border-top-color:var(--card)}.tipped:hover>.htip{opacity:1;transform:translateY(0)}.tipped:hover{z-index:41}td.cell .seg.draggable{cursor:-webkit-grab;cursor:grab}td.cell .seg.draggable:active{cursor:-webkit-grabbing;cursor:grabbing}td.cell .seg.clickable{cursor:pointer}td.cell .seg.locate-a,td.cell .seg.locate-b{z-index:20}td.cell .seg.locate-a{animation:locate-stage-a 1.8s ease-out}td.cell .seg.locate-b{animation:locate-stage-b 1.8s ease-out}@keyframes locate-stage-a{0%,38%{background:color-mix(in srgb,var(--acc) 38%,#fff);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--acc) 72%,#fff),0 0 0 3px rgba(58,91,255,.2);filter:saturate(1.25)}to{background:color-mix(in srgb,var(--acc) 20%,#fff);box-shadow:inset 0 0 0 0 transparent,0 0 0 0 transparent;filter:none}}@keyframes locate-stage-b{0%,38%{background:color-mix(in srgb,var(--acc) 38%,#fff);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--acc) 72%,#fff),0 0 0 3px rgba(58,91,255,.2);filter:saturate(1.25)}to{background:color-mix(in srgb,var(--acc) 20%,#fff);box-shadow:inset 0 0 0 0 transparent,0 0 0 0 transparent;filter:none}}td.cell .seg:not(.end):not(.empty){margin-right:-6px}td.cell .seg-handle{position:absolute;top:0;bottom:0;width:9px;cursor:ew-resize;z-index:1}td.cell .seg-handle.l{left:0}td.cell .seg-handle.r{right:0}td.cell .seg-handle:after{content:"";position:absolute;top:5px;bottom:5px;left:50%;transform:translateX(-50%);width:2px;border-radius:2px;background:var(--acc);opacity:.65}td.cell .seg.empty{background:transparent!important;color:transparent!important}td.cell .seg.start{margin-left:4px;border-top-left-radius:7px;border-bottom-left-radius:7px}td.cell .seg.end{border-top-right-radius:7px;border-bottom-right-radius:7px}td.cell .seg.preview{opacity:.7;box-shadow:inset 0 0 0 1px var(--acc)}.segmenu{position:fixed;z-index:60;min-width:170px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(16,24,40,.16)}.segmenu .segmenu-ttl{padding:4px 8px 6px;font-size:11.5px;font-weight:700;color:var(--ink2);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;border-bottom:1px solid var(--line);margin-bottom:4px}.segmenu .segmenu-it{display:flex;align-items:center;gap:7px;width:100%;padding:7px 8px;border:0;border-radius:7px;background:transparent;font-family:inherit;font-size:12.5px;font-weight:600;text-align:left;color:var(--ink);cursor:pointer}.segmenu .segmenu-it svg{flex:0 0 auto;color:var(--sub)}.segmenu .segmenu-it:hover:not(:disabled){background:var(--brand-soft)}.segmenu .segmenu-it:disabled{opacity:.42;cursor:not-allowed}.segmenu .segmenu-it.danger{color:var(--warn)}.segmenu .segmenu-it.danger svg{color:inherit}.segmenu .segmenu-it.danger:hover:not(:disabled){background:#feecea}.segmenu .segmenu-sep{height:1px;margin:4px 2px;background:var(--line)}.segmenu .segmenu-lb{min-width:0;display:flex;flex-direction:column;gap:1px}.segmenu .segmenu-sub{font-size:10.5px;font-weight:600;font-style:normal;color:var(--sub);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}td.cell.today{background:var(--brand-soft)}td.cell.today .dnum{color:var(--primary)}td.cell.dl{outline:1.5px solid var(--warn);outline-offset:-1.5px}td.cell.dl .flag{position:absolute;top:6px;right:7px;font-size:9.5px;font-weight:800;color:var(--warn)}.stagerow{display:flex;align-items:center;flex-wrap:wrap;gap:6px 9px;padding:8px 0;border-top:1px solid var(--line);font-size:12.5px}.stagerow:first-child{border-top:none}.stagerow.calendar-jump{cursor:pointer;transition:background-color .12s ease}.stagerow.calendar-jump:hover:not(.cur){background:#f7f9ff}.bar{width:3px;height:15px;border-radius:2px;flex:0 0 auto}.stagerow .nm{flex:1 1 55%;min-width:40%;font-weight:500;color:var(--ink2);word-break:keep-all;overflow-wrap:anywhere}.stagerow .dt{color:var(--faint);font-size:11px;white-space:nowrap}.stmeta{display:flex;align-items:center;gap:6px;flex:0 0 auto}.stagerow .nm.has-memo{position:relative}.stagerow .nm .memodot{display:inline-block;width:5px;height:5px;margin-right:5px;border-radius:50%;vertical-align:middle}.stagerow .nm .memotip{position:absolute;left:-4px;bottom:calc(100% + 9px);z-index:40;width:max-content;max-width:240px;padding:9px 12px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--ink2);font-size:11.5px;font-weight:400;line-height:1.6;white-space:pre-wrap;word-break:break-word;text-align:left;box-shadow:0 8px 24px rgba(33,33,33,.12);opacity:0;transform:translateY(4px);pointer-events:none;transition:opacity .14s ease,transform .14s ease}.stagerow .nm .memotip:after,.stagerow .nm .memotip:before{content:"";position:absolute;top:100%;left:16px;border:6px solid transparent}.stagerow .nm .memotip:before{border-top-color:var(--line)}.stagerow .nm .memotip:after{margin-top:-1px;border-top-color:var(--card)}.stagerow:first-child .nm .memotip{top:calc(100% + 9px);bottom:auto;transform:translateY(-4px)}.stagerow:first-child .nm .memotip:after,.stagerow:first-child .nm .memotip:before{top:auto;bottom:100%;border-top-color:transparent}.stagerow:first-child .nm .memotip:before{border-bottom-color:var(--line)}.stagerow:first-child .nm .memotip:after{margin-top:0;margin-bottom:-1px;border-bottom-color:var(--card)}.stagerow .nm.has-memo:hover .memotip{opacity:1;transform:translateY(0)}.stagerow.done .nm{color:var(--faint);text-decoration:line-through}.stagerow.cur{background:var(--brand-soft);margin:0 -8px;padding:8px;border-radius:6px}.stagerow.cur .nm{color:var(--primary);font-weight:700}.stagerow .dt .daylab{color:var(--faint);font-style:normal;margin-left:6px;padding:1px 5px;background:#f2f4f7;border-radius:4px;font-size:10px;font-weight:600}.donesum{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:4px 0 8px;padding:8px 10px;background:#f7f9fb;border:1px solid var(--line);border-radius:7px;font-size:12px;color:var(--ink2)}.donesum .dnum b{color:var(--primary);font-size:13px}.donesum .dtag{font-size:11px;font-weight:600;white-space:nowrap}.donesum .dtag.late{color:var(--warn)}.donesum .dtag.ok{color:var(--ok)}.donesum .dtag.calm{color:var(--faint);font-weight:500}.donechk{flex:0 0 auto;width:17px;height:17px;border-radius:5px;border:1.4px solid var(--line);background:#fff;color:#fff;font-size:11px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s,border-color .12s}.donechk:hover{border-color:var(--primary)}.donechk.on{background:var(--ok);border-color:var(--ok)}.stagerow.overdue .nm{color:var(--warn)}.donedate{border:1px solid var(--line);border-radius:5px;padding:1px 4px;font-size:10.5px;color:var(--ink2);background:#fff;font-family:inherit}.stbadge{flex:0 0 auto;font-size:10px;font-weight:700;padding:1.5px 6px;border-radius:999px;white-space:nowrap}.stbadge.late{color:var(--warn);background:#fdeded}.stbadge.early{color:var(--primary);background:var(--brand-soft)}.stbadge.ok{color:var(--ok);background:#eaf6ef}.stbadge.dday{color:var(--ink2);background:var(--bg)}.stagerow.cur .stbadge.dday{color:var(--primary);background:var(--brand-soft)}.stagelist{margin-bottom:22px}.aside h3.histhd{margin-top:24px}.asidehd{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:13px}.asidehd h3{margin:0;flex:0 0 auto;white-space:nowrap}.dd.stage-sort{width:108px;flex:0 0 auto}.stage-sort .dd-trigger{width:100%}.stage-sort .dd-menu{left:auto;right:0;min-width:132px}.stage-sort .dd-opt-label{white-space:nowrap}.ministb{background:#fff;border:1px solid var(--line);border-radius:7px;padding:6px 11px;font-family:inherit;font-size:12px;font-weight:600;color:var(--ink2);cursor:pointer}.ministb:hover{color:var(--primary)}.ministb.on,.ministb:hover{border-color:var(--primary)}.ministb.on{background:var(--primary);color:#fff}.ministb.danger:hover{border-color:var(--warn);color:var(--warn);background:#feecea}.dtools{justify-content:flex-end;margin-bottom:10px}.desktop-actions,.dtools{display:flex;gap:6px}.mobile-action-menu,.mobile-actions-backdrop,.mobile-actions-panel{display:none}.contract-preview-actions{display:flex;gap:8px}.contract-preview-menu,.contract-preview-more{display:none}.projpage{display:flex;flex-direction:column;gap:14px}.projtop{display:flex;align-items:center;gap:10px}.backlink{font-size:13px;font-weight:600;color:var(--ink2);text-decoration:none;padding:5px 10px;border:1px solid var(--line);border-radius:8px;background:#fff}.backlink:hover{border-color:var(--primary);color:var(--primary);background:var(--brand-soft)}.projtop .crumb{display:flex;align-items:center;gap:7px;min-width:0;font-size:13px;color:var(--ink2);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pno{display:inline-block;font-size:11px;font-weight:700;color:var(--sub);background:#f2f4f7;border-radius:6px;padding:1px 7px;margin-right:7px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;vertical-align:middle}.projtop .crumb .pno{margin-right:0}.notfound{display:flex;flex-direction:column;align-items:center;gap:14px;padding:60px 20px;color:var(--sub);font-size:14px}.hidetog{display:inline-flex;align-items:center;gap:7px;margin-left:auto;font-size:12px;font-weight:500;color:var(--ink2);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.hidetog input{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;flex:none;width:30px;height:18px;border-radius:999px;background:#d7dbe1;cursor:pointer;transition:background .15s}.hidetog input:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:left .15s}.hidetog input:checked{background:var(--primary)}.hidetog input:checked:after{left:14px}.project-cancel-btn{flex:0 0 auto;padding:6px 9px;border:1px solid #efb8b0;border-radius:6px;background:#fff7f6;color:#c43d2c;font:inherit;font-size:11px;font-weight:700;cursor:pointer}.project-cancel-btn.restore{border-color:#b9c8e8;background:#f3f6ff;color:var(--primary)}.projtabs{flex:none;display:inline-flex;gap:2px;padding:3px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow2)}.projtabs button{display:inline-flex;align-items:center;gap:6px;border:none;background:none;padding:6px 14px;font-family:inherit;font-size:12.5px;font-weight:600;color:var(--ink2);border-radius:6px;cursor:pointer}.projtabs button svg{flex:0 0 auto;width:15px;height:15px;stroke-width:1.9}.projtabs button:hover:not(.on){background:#f2f4f7;color:var(--ink)}.projtabs button.on{background:var(--brand-soft);color:var(--primary)}.prodwrap{display:flex;flex-direction:column;gap:16px}.prodhint{margin:0;font-size:12.5px;line-height:1.55;color:var(--ink2);background:var(--brand-soft);border:1px solid #cdd8ff;border-radius:var(--radius);padding:11px 14px}.prodhint b{color:var(--primary);font-weight:700}.ptrack-hd{flex-wrap:wrap;gap:10px 14px}.ptrack-ttl{display:flex;align-items:center;gap:8px}.pflag{font-size:11px;font-weight:700;border-radius:20px;padding:2px 9px}.pflag.late{color:var(--warn);background:#ffecec}.pflag.done{color:var(--ok);background:#e6f5ec}.pflag.edit{color:var(--primary);background:var(--brand-soft)}.ptrack-act{display:flex;gap:6px}.pbtn{border:1px solid var(--line);border-radius:7px;background:#fff;padding:5px 12px;font-family:inherit;font-size:12px;font-weight:700;color:var(--ink2);cursor:pointer}.pbtn:hover{background:#f5f6f8;color:var(--ink)}.pbtn.on{border-color:var(--primary);background:var(--primary);color:#fff}.pbtn.on:hover{background:#2a49e6;color:#fff}.ptrack-meta{display:flex;align-items:center;gap:14px;margin-left:auto}.pprog{display:inline-flex;align-items:center;gap:8px}.pprog-bar{width:84px;height:6px;border-radius:20px;background:#eceff3;overflow:hidden}.pprog-bar i{display:block;height:100%;border-radius:20px;background:var(--ok);transition:width .18s ease}.pprog-t{font-size:11.5px;font-weight:700;color:var(--ink2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pmeta{font-size:11.5px;font-weight:600;color:var(--sub);white-space:nowrap}.pmeta b{color:var(--ink);font-weight:700;margin-left:3px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.prodempty{padding:32px 20px 30px;text-align:center}.prodempty p{margin:0 0 14px;font-size:13px;color:var(--sub)}.prodempty-act{display:inline-flex;gap:8px}.prodscroll{overflow-x:auto;overscroll-behavior-x:contain}.prodtab{width:100%;min-width:1000px;table-layout:fixed;border-collapse:collapse}.prodtab th{font-size:11px;font-weight:700;color:var(--sub);text-align:left;padding:9px 11px;background:#fbfcfd;border-bottom:1px solid var(--line);white-space:nowrap}.prodtab td.num,.prodtab th.num{text-align:right}.prodtab td{height:38px;padding:4px;border-bottom:1px solid var(--line2);vertical-align:middle}.prodtab tbody tr:hover td{background:#fafbfd}.prodtab tbody tr.late td{background:snow}.prodtab tbody tr.late:hover td{background:#fff4f4}.prodtab tbody tr:not(.late) td{background:#fff}.prodtab tbody tr.done .pin.nm{color:var(--ink2)}.prodtab td.prodno{font-size:11px;font-weight:700;color:var(--faint);text-align:center;padding:4px 0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pin{display:block;width:100%;height:30px;min-width:0;padding:0 6px;border:1px solid transparent;border-radius:6px;background:transparent;font-family:inherit;font-size:12.5px;color:var(--ink)}.pin::placeholder{color:var(--faint)}.pin:hover{border-color:var(--line2);background:#fff}.pin:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px rgba(58,91,255,.1)}.pin.nm{font-weight:600}.pin.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pin.note{color:var(--ink2)}.pro{display:block;height:30px;line-height:28px;padding:0 6px;border:1px solid transparent;font-size:12.5px;color:var(--ink);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pro.nm{font-weight:600}.pro.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pro.note{color:var(--ink2)}.pro.dim{color:var(--faint)}.pro.chip{display:flex;align-items:center}.prodtab tbody tr.done .pro.nm,.prodtab td.pamt{color:var(--ink2)}.prodtab td.pamt{font-size:12.5px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;padding-right:11px}.pop{position:fixed;z-index:300}.vsel{position:relative}.vsel-trigger{display:flex;align-items:center;gap:6px;width:100%;height:30px;padding:0 6px;border:1px solid transparent;border-radius:6px;background:transparent;font-family:inherit;font-size:12.5px;color:var(--ink);text-align:left;cursor:pointer}.vsel-trigger.open,.vsel-trigger:hover{border-color:var(--line2);background:#fff}.vsel-trigger.open{border-color:var(--primary)}.vsel-ph{color:var(--faint)}.vsel-dot{flex:none;width:7px;height:7px;border-radius:50%}.vchip{display:inline-flex;align-items:center;gap:2px;max-width:100%;min-width:0;padding:3px 8px;border-radius:20px;font-size:12px;font-weight:600;line-height:1.35}.vchip-t{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.vchip.has-x{padding-right:3px}.vsel-pop{width:236px;padding:7px;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.14)}.vsel-search{display:flex;align-items:center;flex-wrap:wrap;gap:4px;min-height:32px;padding:3px 6px;border:1px solid var(--line);border-radius:6px;background:#fff;cursor:text}.vsel-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px rgba(58,91,255,.1)}.vsel-chip-x{display:grid;place-items:center;width:16px;height:16px;border:none;border-radius:50%;background:none;font-family:inherit;font-size:9px;color:inherit;opacity:.6;cursor:pointer}.vsel-chip-x:hover{background:rgba(0,0,0,.09);opacity:1}.vsel-q{flex:1 1;min-width:60px;height:24px;padding:0 2px;border:none;background:none;font-family:inherit;font-size:12.5px;color:var(--ink)}.vsel-q:focus{outline:none}.vsel-lab{margin:9px 0 3px;padding:0 4px;font-size:11px;font-weight:600;color:var(--sub)}.vsel-list{list-style:none;margin:0;padding:0;max-height:216px;overflow-y:auto}.vsel-row{display:flex;align-items:center;border-radius:6px}.vsel-row:hover{background:var(--bg)}.vsel-opt{flex:1 1;min-width:0;display:flex;align-items:center;padding:5px 6px;border:none;background:none;border-radius:6px;font-family:inherit;text-align:left;cursor:pointer}.vsel-act{display:flex;gap:1px;padding-right:4px;opacity:0;transition:opacity .12s}.vsel-act:focus-within,.vsel-row:hover .vsel-act{opacity:1}.vsel-act button{display:grid;place-items:center;width:22px;height:22px;border:none;border-radius:5px;background:none;font-family:inherit;font-size:13px;color:var(--sub);cursor:pointer}.vsel-act svg{width:13px;height:13px}.vsel-act button:hover{background:#e9ecf1;color:var(--ink)}.vsel-act button.del:hover{background:#ffecec;color:var(--warn)}.vsel-edit{display:flex;align-items:center;gap:7px;padding:3px 8px}.vsel-edit input{flex:1 1;min-width:0;height:26px;padding:0 6px;border:1px solid var(--primary);border-radius:5px;font-family:inherit;font-size:12.5px;color:var(--ink)}.vsel-edit input:focus{outline:none}.vsel-empty{padding:12px 8px;font-size:12px;color:var(--faint);text-align:center}.vsel-new{display:block;width:100%;margin-top:4px;padding:8px;border:none;border-radius:6px;background:none;font-family:inherit;font-size:12px;font-weight:600;color:var(--primary);text-align:left;cursor:pointer}.vsel-new:hover{background:var(--brand-soft)}.vsel-new b{font-weight:700}.pdue{display:flex;align-items:center;gap:4px}.dp.proddate{flex:0 0 auto;width:auto;min-width:0}.dp.proddate .dp-val{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.dp.proddate .dp-field{height:30px;padding:0 6px;gap:5px;border-color:transparent;background:transparent;font-size:12.5px}.dp.proddate .dp-field.open,.dp.proddate .dp-field:hover{border-color:var(--line2);background:#fff}.dp.proddate .dp-ico{width:12px;height:12px;color:var(--faint)}.dp.proddate.late .dp-val{color:var(--warn);font-weight:600}.pro.pdate{flex:0 0 auto;width:auto}.pro.pdate.late{color:var(--warn);font-weight:600}.pdd{flex:none;font-size:10.5px;font-weight:700;border-radius:5px;padding:2px 5px;white-space:nowrap}.pdd.late{color:var(--warn);background:#ffecec}.pdd.over,.pdd.soon{color:#b26a00;background:#fff3df}.pdd.calm{color:var(--sub);background:#f2f4f7}.ssel{position:relative}.ssel-trigger{display:flex;align-items:center;gap:4px;width:100%;height:30px;padding:0 6px;border:1px solid transparent;border-radius:6px;background:transparent;cursor:pointer}.ssel-trigger.open,.ssel-trigger:hover{border-color:var(--line2);background:#fff}.ssel-trigger.open{border-color:var(--primary)}.ssel-caret{flex:none;border:3.5px solid transparent;border-top:4px solid var(--faint);border-bottom:none}.ssel-trigger.open .ssel-caret,.ssel-trigger:hover .ssel-caret{border-top-color:var(--sub)}.schip{display:inline-block;max-width:100%;padding:3px 8px;border-radius:20px;font-size:12px;font-weight:600;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ssel-pop{width:150px;padding:6px;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.14)}.ssel-list{list-style:none;margin:0;padding:0}.ssel-opt{display:flex;align-items:center;width:100%;padding:5px 6px;border:none;border-radius:7px;background:none;text-align:left;cursor:pointer}.ssel-opt:hover{background:#f2f4f7}.ssel-opt.sel{background:#eef1f6}.prodtab td.pactc{padding-right:12px}.pact{display:flex;justify-content:flex-end;gap:3px;opacity:0;transition:opacity .12s}.pact:focus-within,.prodtab tbody tr:hover .pact{opacity:1}.pact button{width:23px;height:25px;border:none;border-radius:6px;background:none;font-family:inherit;font-size:14px;line-height:1;color:var(--sub);cursor:pointer}.pact button:hover:not(:disabled){background:#f2f4f7;color:var(--ink)}.pact button:disabled{opacity:.3;cursor:default}.pact button.del:hover{background:#ffecec;color:var(--warn)}.prodtab tfoot td{height:auto;padding:9px 11px;border-top:1px solid var(--line);border-bottom:none;font-size:11.5px;font-weight:700;color:var(--sub)}.prodtab tfoot td.pfoot-l{text-align:right}.prodtab tfoot td.pfoot-v{font-size:13px;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.prodtab tfoot td.pfoot-add{padding:4px 4px 4px 6px}.prodfoot{display:flex;gap:6px}.prodadd{border:none;border-radius:6px;background:none;padding:6px 10px;font-family:inherit;font-size:12px;font-weight:600;color:var(--sub);cursor:pointer}.prodadd:hover{background:var(--brand-soft);color:var(--primary)}.stedit-act{display:flex;gap:6px}.edithint{font-size:11.5px;line-height:1.5;color:var(--ink2);background:var(--brand-soft);border:1px solid #cdd8ff;border-radius:8px;padding:9px 11px;margin-bottom:12px}.stagerow.editing{flex-direction:column;align-items:stretch;gap:7px;padding:10px 0}.ed-line1{gap:7px}.ed-line1,.ed-line2{display:flex;align-items:center}.ed-line2,.ed-line3{gap:6px;padding-left:10px}.ed-line3{display:flex;align-items:center}.stnm-i{flex:1 1;min-width:0;height:30px;padding:0 8px;border:1px solid var(--line);border-radius:6px;font-family:inherit;font-size:12px;color:var(--ink)}.stnm-i:focus{outline:none;border-color:var(--primary)}.ed-dt{flex:0 0 auto;font-size:10.5px;color:var(--faint);white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ed-del{flex:0 0 auto;width:24px;height:26px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--sub);font-size:16px;line-height:1;cursor:pointer}.ed-del:hover:not(:disabled){border-color:var(--warn);color:var(--warn);background:#feecea}.ed-del:disabled{opacity:.35;cursor:default}.ed-line1 .ed-cat{flex:1 1;min-width:0}.ed-line3 .daystep{flex:1 1;justify-content:space-between}.ed-line3 .daystep input{flex:1 1;width:auto}.daystep{display:flex;align-items:center;flex:0 0 auto;border:1px solid var(--line);border-radius:6px;overflow:hidden}.daystep button{width:22px;height:28px;border:none;background:#f7f9fc;color:var(--ink2);font-size:14px;font-weight:700;cursor:pointer;line-height:1}.daystep button:hover{background:var(--brand-soft);color:var(--primary)}.daystep input{width:36px;height:28px;border:none;border-left:1px solid var(--line);border-right:1px solid var(--line);text-align:center;font-family:inherit;font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink);-moz-appearance:textfield}.daystep input::-webkit-inner-spin-button,.daystep input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.daystep input:focus{outline:none}.ed-move{display:flex;gap:3px;flex:0 0 auto}.ed-move button{width:26px;height:28px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink2);font-size:12px;cursor:pointer;line-height:1}.ed-move button:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--brand-soft)}.ed-move button:disabled{opacity:.3;cursor:default}.addst2{width:100%;margin-top:8px;padding:8px;border:1px dashed var(--line);border-radius:8px;background:#fafbfc;font-family:inherit;font-size:12px;font-weight:600;color:var(--ink2);cursor:pointer}.addst2:hover{border-color:var(--primary);color:var(--primary);background:var(--brand-soft)}.ed-line4{display:flex;align-items:center;gap:6px;padding-left:10px}.ed-datelab{flex:0 0 auto;font-size:11px;font-weight:600;color:var(--ink2)}.ed-date{flex:1 1;min-width:0;height:28px;padding:0 8px;border:1px solid var(--line);border-radius:6px;background:#fff;font-family:inherit;font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink)}.ed-date:focus{outline:none;border-color:var(--primary)}.ed-memo{display:flex;flex-direction:column;gap:5px}.ed-memo-i{width:100%;min-height:58px;padding:7px 9px;border:1px solid var(--line);border-radius:6px;background:#fff;font-family:inherit;font-size:12.5px;line-height:1.5;color:var(--ink);resize:vertical}.ed-memo-i:focus{outline:none;border-color:var(--primary)}.ed-memo-i::placeholder{color:var(--faint)}.daystep input[readonly]{cursor:pointer}.modal-backdrop{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(20,26,40,.42);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-card{width:100%;max-width:380px;background:#fff;border-radius:14px;padding:20px;box-shadow:0 20px 48px rgba(0,0,0,.24)}.modal-hd{display:flex;align-items:baseline;gap:8px;margin-bottom:14px}.modal-ttl{font-size:16px;font-weight:700;color:var(--ink)}.modal-hd .modal-ttl{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.modal-sub{font-size:12px;font-weight:600;color:var(--primary)}.modal-daysrow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:#f7f9fc;border-radius:8px;margin-bottom:14px}.modal-lab{font-size:12px;font-weight:600;color:var(--ink2)}.modal-val{font-size:14px;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.modal-q{margin-top:8px;font-size:12.5px;font-weight:700;color:var(--ink2);margin-bottom:9px}.modal-choices{gap:8px}.modal-choice,.modal-choices{display:flex;flex-direction:column}.modal-choice{align-items:flex-start;gap:2px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:#fff;text-align:left;cursor:pointer;font-family:inherit}.modal-choice:hover:not(:disabled){border-color:var(--primary);background:var(--brand-soft)}.modal-choice:disabled{opacity:.4;cursor:default}.modal-choice.on{border-color:var(--primary);background:var(--brand-soft);box-shadow:inset 0 0 0 1px var(--primary)}.mc-label{font-size:13px;font-weight:700;color:var(--ink)}.mc-desc{font-size:11px;color:var(--sub)}.mc-preview{margin-top:3px;font-size:11px;color:var(--ink2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mc-preview em{margin-left:8px;font-style:normal;font-weight:600;color:var(--primary)}.modal-cancel{width:100%;margin-top:14px;padding:9px;border:1px solid var(--line);border-radius:8px;background:#fff;font-family:inherit;font-size:12.5px;font-weight:600;color:var(--sub);cursor:pointer}.modal-cancel:hover{background:#f7f9fc}.stmodal-body{display:flex;flex-direction:column;gap:11px}.stmodal-body .ed-line1,.stmodal-body .ed-line2,.stmodal-body .ed-line4{padding-left:0}.stmodal-body .modal-daysrow{margin-bottom:0}.stmodal-col{display:flex;flex-direction:column;gap:11px;min-width:0}.stmodal-body.two-col{flex-direction:row;align-items:flex-start;gap:18px}.stmodal-body.two-col .stmodal-col{flex:1 1}.stmodal-col-right{border-left:1px solid var(--line);padding-left:18px}.stmodal-body.two-col .stmodal-prop{margin-top:0;padding-top:0;border-top:none}.modal-card:has(.stmodal-body.two-col){max-width:640px}.modal-hd .stmodal-del{margin-left:auto;align-self:center;flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;white-space:nowrap;border-color:var(--warn);color:var(--warn);background:#feecea}.modal-hd .stmodal-del:hover:not(:disabled){border-color:var(--warn);color:#fff;background:var(--warn)}.modal-hd .stmodal-del:disabled{opacity:.45;cursor:not-allowed}.modal-card.confirm-card{max-width:340px}.confirm-body{margin-bottom:16px}.confirm-target{display:flex;align-items:center;gap:7px;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:#f9fafb;font-size:13px;color:var(--ink)}.confirm-target b{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.confirm-target .confirm-dt{margin-left:auto;flex:0 0 auto;font-size:11.5px;color:var(--sub);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.confirm-msg{margin:11px 0 0;font-size:12.5px;line-height:1.6;color:var(--ink2)}.stmodal-prop{margin-top:4px;padding-top:12px;border-top:1px dashed var(--line)}.stmodal-foot{display:flex;gap:8px;margin-top:16px}.stmodal-foot .modal-cancel{flex:1 1;margin-top:0}.stmodal-foot .btn.sm{flex:1 1}.dp{position:relative;width:100%}.dp.ed-date{height:auto;padding:0;border:none;background:none;border-radius:0}.dp.dp-ipt .dp-field{height:auto;padding:9px 10px;border-width:1.3px;border-radius:8px;font-size:13px}.dp.dp-ipt .dp-ico{width:15px;height:15px}.dp.donedate{width:auto;flex:0 0 auto;border:none;border-radius:0;padding:0;background:none}.dp.donedate .dp-field{height:24px;padding:0 6px;gap:4px;border-radius:5px;font-size:10.5px;color:var(--ink2)}.dp.donedate .dp-ico{width:12px;height:12px}.dp-field{display:flex;align-items:center;gap:6px;width:100%;height:28px;padding:0 9px;border:1px solid var(--line);border-radius:6px;background:#fff;font-family:inherit;font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink);cursor:pointer;text-align:left;transition:border-color .14s ease,box-shadow .14s ease}.dp-field:hover{border-color:var(--faint)}.dp-field.open{border-color:var(--primary);box-shadow:0 0 0 3px rgba(58,91,255,.12)}.dp-ico{flex:0 0 auto;color:var(--sub)}.dp-field.open .dp-ico{color:var(--primary)}.dp-val{flex:1 1;min-width:0}.dp-val.placeholder{color:var(--sub)}.dp-pop{width:268px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px -6px rgba(20,30,60,.22);animation:dp-in .13s ease}@keyframes dp-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dp-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.dp-mon{font-size:13px;font-weight:700;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dp-navbtn{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink2);font-size:15px;line-height:1;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.dp-navbtn:hover{background:var(--brand-soft);border-color:var(--brand-soft);color:var(--primary)}.dp-grid{width:100%;border-collapse:collapse;table-layout:fixed}.dp-grid th{padding:4px 0;font-size:11px;font-weight:600;color:var(--sub)}.dp-grid th.sun{color:#e5645f}.dp-grid th.sat{color:#4b7bd4}.dp-cell{padding:1px;text-align:center}.dp-day{width:30px;height:30px;margin:0 auto;display:flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:none;font-family:inherit;font-size:12.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink);cursor:pointer;transition:background .1s ease,color .1s ease}.dp-day.sun{color:#e5645f}.dp-day.sat{color:#4b7bd4}.dp-day:hover:not(.disabled):not(.sel){background:var(--brand-soft)}.dp-day.today:not(.sel){box-shadow:inset 0 0 0 1.4px var(--faint)}.dp-day.sel{background:var(--primary);color:#fff;font-weight:700}.dp-day.disabled{color:var(--faint);cursor:default}.dp-sel-lab{margin:10px 0 8px;padding:7px 10px;border-radius:8px;background:var(--brand-soft);color:var(--primary);font-size:12px;font-weight:600;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dp-sel-lab.empty{background:var(--bg);color:var(--sub)}.dp-foot{display:flex;gap:8px}.dp-btn{flex:1 1;height:34px;border-radius:8px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background .12s ease,border-color .12s ease,filter .12s ease}.dp-btn.ghost{border:1px solid var(--line);background:#fff;color:var(--ink2)}.dp-btn.ghost:hover{background:var(--bg);border-color:var(--faint)}.dp-btn.primary{border:1px solid var(--primary);background:var(--primary);color:#fff}.dp-btn.primary:hover{filter:brightness(1.06)}.dp-btn.primary:disabled{background:var(--faint);border-color:var(--faint);cursor:default;filter:none}.dp-btn.ghost.clear{flex:0 0 auto;padding:0 11px;margin-right:auto}.fld,.mf{display:block;font-size:12px;color:var(--ink2);margin:0 0 6px;font-weight:600}.ipt,select{width:100%;padding:9px 10px;border:1.3px solid var(--line);border-radius:8px;font-size:13px;color:var(--ink);background:#fff;font-family:inherit}.ipt:focus,select:focus{outline:none;border-color:var(--primary)}.ipt.dup,.ipt.dup:focus{border-color:var(--warn)}.dupwarn{margin:6px 0 0;font-size:12px;font-weight:600;line-height:1.5;color:var(--warn)}.frow{margin-bottom:12px}.grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.dd{position:relative;width:100%}.dd-trigger{display:flex;align-items:center;gap:7px;width:100%;padding:9px 10px;border:1.3px solid var(--line);border-radius:8px;background:#fff;font-family:inherit;font-size:13px;color:var(--ink);text-align:left;cursor:pointer}.dd-trigger:hover:not(:disabled){border-color:var(--faint)}.dd.open .dd-trigger{border-color:var(--primary);box-shadow:0 0 0 3px var(--brand-soft)}.dd-trigger:disabled{background:#f6f7f9;color:var(--sub);cursor:default}.dd-val{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.dd-val.ph{color:var(--sub);font-weight:500}.dd-caret{flex:0 0 auto;width:12px;height:12px;color:var(--sub);transition:transform .15s ease}.dd.open .dd-caret{transform:rotate(180deg);color:var(--primary)}.dd-sw{flex:0 0 auto;width:9px;height:9px;border-radius:3px}.dd-menu{position:absolute;z-index:40;top:calc(100% + 5px);left:0;right:0;max-height:264px;overflow-y:auto;margin:0;padding:5px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 28px rgba(20,28,45,.16);animation:ddin .12s ease}@keyframes ddin{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.dd-menu li{margin:0}.dd-opt{display:flex;align-items:center;gap:8px;width:100%;padding:8px 9px;border:none;border-radius:7px;background:none;font-family:inherit;font-size:13px;font-weight:500;color:var(--ink);line-height:1.4;text-align:left;cursor:pointer}.dd-opt.active:not(:disabled){background:var(--brand-soft)}.dd-opt.sel{color:var(--primary);font-weight:600}.dd-opt:disabled{color:var(--faint);cursor:default}.dd-opt-label{flex:1 1;min-width:0}.dd-check{flex:0 0 auto;color:var(--primary);font-size:12px;font-weight:700}.dd.compact .dd-trigger{height:28px;padding:0 8px;border-width:1px;border-radius:6px;font-size:12px;gap:6px}.dd.compact .dd-menu{padding:4px}.dd.compact .dd-opt{padding:7px 8px;font-size:12px}.btn{display:inline-flex;align-items:center;gap:6px;background:var(--primary);color:#fff;border:none;border-radius:8px;padding:9px 14px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}.btn:hover{background:#2a49e6}.btn:disabled{opacity:.45;cursor:default}.seg{display:flex;background:#f2f4f7;border-radius:8px;padding:3px;margin-bottom:13px}.seg button{flex:1 1;border:none;background:none;padding:7px 8px;font-size:12.5px;font-weight:600;color:var(--sub);border-radius:6px;cursor:pointer;font-family:inherit}.seg button.on{background:#fff;color:var(--primary);box-shadow:0 1px 2px rgba(0,0,0,.08)}.sim{background:#ffe9e9;border:1px solid #ffd0d0;border-radius:8px;padding:12px 13px;font-size:12px;line-height:1.6;color:#a33}.sim b{color:var(--warn);font-weight:700}.sim .fine{font-size:10.5px;color:#b06a60;display:block;margin-top:5px}.chgkind{display:inline-block;font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:5px;margin-right:5px;background:#e7ebf0;color:var(--ink2);vertical-align:1px}.chgkind.late{background:var(--warn);color:#fff}.stmodal-prop .frow,.stmodal-prop .sim{margin-top:10px}.pending-impact{margin-top:14px}.pending-impact .frow{margin-top:14px;margin-bottom:0}.sim.calm{background:#f4f6f8;border-color:var(--line);color:var(--ink2)}.btnrow{display:flex;gap:8px;margin-top:11px}.btn.sm{padding:9px 10px;font-size:12.5px;flex:1 1;justify-content:center}.btn.warnbtn{background:#fff;color:var(--warn);border:1px solid #f4c9c9}.btn.warnbtn:hover{background:#ffe9e9}.btn.danger{background:var(--warn);color:#fff}.btn.danger:hover{background:#d93b3e}.hcnt{font-size:10.5px;font-weight:700;color:var(--sub);background:#f2f4f7;border-radius:20px;padding:1px 7px;margin-left:4px}.emptyhist{font-size:12px;color:var(--faint);padding:4px 0}.hist{display:flex;flex-direction:column;gap:9px;max-height:320px;overflow-y:auto;padding-right:4px;overscroll-behavior:contain}.chg{border:1px solid var(--line);border-radius:8px;padding:10px 11px}.chgtop{display:flex;align-items:center;gap:8px;margin-bottom:6px}.chgstage{font-weight:700}.chgreason,.chgstage{font-size:12px;color:var(--ink2)}.chgreason{line-height:1.45}.chgmeta{font-size:10.5px;color:var(--faint);margin-top:5px}.overlay{position:fixed;inset:0;background:rgba(20,24,30,.42);display:flex;align-items:center;justify-content:center;z-index:50;padding:24px}.modal{background:#fff;border-radius:12px;width:840px;max-width:100%;max-height:92vh;overflow:auto;box-shadow:0 24px 70px rgba(0,0,0,.28)}.modal.narrow{width:560px}.modal .mh{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 24px 18px;border-bottom:1px solid var(--line)}.modal .mh h2{font-size:16.5px;font-weight:700;margin:0;letter-spacing:-.3px}.modal .mh p{font-size:12.5px;color:var(--sub);margin:5px 0 0}.modal .mh .x{cursor:pointer;color:var(--faint);border:none;background:none;font-size:22px;line-height:1;padding:0 2px}.modal .mh .x:hover{color:var(--ink2)}.modal .mh .x:disabled{opacity:.45;cursor:default}.mbody{display:grid;grid-template-columns:1fr 296px}@media (max-width:720px){.mbody{grid-template-columns:1fr}}.mform{padding:22px 24px}.mprev{background:#f7f9fc;border-left:1px solid var(--line);padding:22px 20px}@media (max-width:720px){.mprev{border-left:none;border-top:1px solid var(--line)}}.mprev h3{font-size:11px;font-weight:700;color:var(--sub);letter-spacing:.4px;text-transform:uppercase;margin:0 0 14px}.mfrow{margin-bottom:16px}textarea.raw{width:100%;min-height:160px;padding:10px 12px;border:1.3px solid var(--line);border-radius:8px;font-size:13px;font-family:inherit;resize:vertical;color:var(--ink);line-height:1.55}textarea.raw:focus{outline:none;border-color:var(--primary)}textarea.raw.sm{min-height:58px;font-size:12.5px;line-height:1.5}.pdfdrop{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1.6px dashed var(--line);border-radius:10px;background:#fafbfc;cursor:pointer;transition:border-color .15s,background .15s}.pdfdrop.on,.pdfdrop:hover{border-color:var(--primary);background:var(--brand-soft)}.pdfdrop .pdficon{font-size:22px;flex:0 0 auto}.pdfdrop>div{font-size:13px}.pdfdrop b{font-weight:700;color:var(--ink)}.pdfdrop .pdfsub{font-size:11.5px;color:var(--sub);margin-top:2px}.stEdit{border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fafbfc}.stHead{display:flex;align-items:center;font-size:10.5px;font-weight:700;color:var(--faint);letter-spacing:.3px;padding:2px 2px 8px}.stHead span:first-child{flex:1 1;padding-left:112px}.stHead .col-d{width:96px;text-align:center}.stHead .col-x{width:26px}.stRow{display:flex;align-items:center;gap:7px;padding:4px 0}.stRow .catsel{width:104px;flex:0 0 auto;font-weight:600;font-size:12px;padding:7px 8px}.stRow .stnm{flex:1 1}.stRow .stdy{width:96px;flex:0 0 auto;text-align:center}.stRow .del{width:26px;height:30px;flex:0 0 auto;border:none;background:none;color:var(--faint);font-size:17px;cursor:pointer;border-radius:6px}.stRow .del:hover{background:#ffe9e9;color:var(--warn)}.addst{margin-top:8px;width:100%;background:#fff;border:1px dashed var(--line);border-radius:8px;padding:8px;font-size:12.5px;font-weight:600;color:var(--primary);cursor:pointer}.addst:hover{background:var(--brand-soft)}.btn.ai{background:linear-gradient(135deg,#3a5bff,#49beff)}.btn.ai:hover{filter:brightness(1.05)}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;padding:72px 20px;color:var(--sub);font-size:13px;font-weight:600}.spinner{width:34px;height:34px;border:3px solid #e7e9ee;border-top:3px solid var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.ainote{background:var(--brand-soft);border:1px solid #cdd8ff;border-radius:10px;padding:12px 13px;font-size:12px;color:#2b3ea8;line-height:1.55;margin-bottom:18px}.emptyprev{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;color:var(--faint);font-size:12px;line-height:1.6;padding:40px 6px;font-weight:500}.emptyprev b{color:var(--sub);font-weight:700}.prevbig{font-size:23px;font-weight:700;letter-spacing:-.4px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.prevbig small{font-weight:500;margin-left:4px}.prevbig small,.prevmeta{font-size:12px;color:var(--sub)}.prevmeta{margin:6px 0 18px;line-height:1.5}.prevstage{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:11.5px;border-top:1px dashed var(--line2)}.prevstage:first-of-type{border-top:none}.prevstage .nm{flex:1 1;color:var(--ink2);font-weight:500}.prevstage .dt{color:var(--faint);font-size:10.5px;white-space:nowrap}.mfoot{display:flex;justify-content:flex-end;gap:10px;padding:15px 24px;border-top:1px solid var(--line)}.btn.ghost{background:#fff;color:var(--ink2);border:1px solid var(--line)}.btn.ghost:hover{background:#f5f6f8}.sim.ok{background:#eef7f0;border-color:#cfe9d8;color:#2f7a52}.sim.ok b{color:var(--ok)}.dhead .scope{font-size:12.5px;color:var(--ink2);margin-top:6px;line-height:1.5;max-width:640px}.ttl-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px}.ttl-row .metachips{margin-top:0}.metachips{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.metachip{font-size:11px;font-weight:600;color:var(--ink2);background:#f2f4f7;border-radius:20px;padding:3px 10px}.dextra{border-top:1px solid var(--line);padding:20px;display:flex;flex-direction:column;gap:16px}.critpath{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#feecea;border:1px solid #f6c9c4;border-radius:10px;padding:11px 14px;font-size:12.5px;font-weight:600;color:#b3352f;line-height:1.5}.critpath .cptag{flex:0 0 auto;font-size:10.5px;font-weight:800;letter-spacing:.3px;color:#fff;background:var(--warn);border-radius:6px;padding:3px 8px}.riskbox{border:1px solid var(--line);border-radius:12px;padding:15px 16px}.riskbox h3{font-size:11px;font-weight:700;color:var(--sub);letter-spacing:.4px;text-transform:uppercase;margin:0 0 12px}.risklist{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:9px}.risklist li{position:relative;padding-left:20px;font-size:12.5px;line-height:1.55;color:var(--ink2)}.risklist li:before{content:"⚠";position:absolute;left:0;top:0;font-size:11px;color:#d99a2b}.snackwrap{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:200;display:flex;justify-content:center;width:max-content;max-width:calc(100vw - 32px);pointer-events:none}.snackbar{pointer-events:auto;display:flex;align-items:center;gap:12px;max-width:560px;padding:11px 11px 11px 18px;border-radius:12px;background:var(--ink);color:#fff;box-shadow:0 12px 32px rgba(16,24,40,.3);animation:snack-in .18s ease-out}@keyframes snack-in{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.snack-msg{font-size:13px;font-weight:500;line-height:1.5;letter-spacing:-.2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.snack-undo{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 12px;border:1px solid hsla(0,0%,100%,.3);border-radius:8px;background:transparent;font-family:inherit;font-size:12.5px;font-weight:700;color:#fff;white-space:nowrap;cursor:pointer;transition:background .12s,border-color .12s}.snack-undo:hover{background:hsla(0,0%,100%,.16);border-color:hsla(0,0%,100%,.6)}.snack-x{flex:0 0 auto;width:26px;height:26px;border:none;border-radius:7px;background:transparent;color:hsla(0,0%,100%,.6);font-family:inherit;font-size:17px;line-height:1;cursor:pointer}.snack-x:hover{background:hsla(0,0%,100%,.14);color:#fff}@media (prefers-reduced-motion:reduce){.snackbar{animation:none}}.dhead .dl-row{display:flex;align-items:flex-start;justify-content:flex-end;gap:22px}.dhead .dl-col{display:flex;flex-direction:column;align-items:flex-end}.dhead .dl-startval{margin-top:2px;font-size:15px;font-weight:600;letter-spacing:-.2px;color:var(--ink2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.dhead .dl-startval .wd{font-size:12px;color:var(--sub);margin-left:3px}@media (max-width:720px){.projpage{gap:10px}.projtop{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px}.projtop .backlink{grid-column:1;grid-row:1;width:-moz-fit-content;width:fit-content;padding:5px 8px;font-size:12px}.projtop .hidetog{grid-column:2;grid-row:1;margin-left:0;font-size:10.5px}.projtop .crumb{grid-column:1;grid-row:2;display:block;min-width:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.4}.projtop .project-cancel-btn{grid-column:2;grid-row:2;justify-self:end;align-self:center}.projtabs{grid-column:1/-1;grid-row:3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.projtabs button{justify-content:center;min-width:0;min-height:40px;gap:4px;padding:5px 3px;font-size:11px;white-space:nowrap}.projtabs button svg{width:14px;height:14px}.dhead{display:block;position:relative;padding:15px 14px}.dhead>:first-child{padding-right:0}.dhead .t{font-size:16px;line-height:1.4;overflow-wrap:anywhere}.dhead .s,.dhead .scope{font-size:11.5px;overflow-wrap:anywhere}.ttl-row{align-items:flex-start;gap:6px;margin-bottom:8px;padding-right:40px}.ttl-row .metachips,.ttl-row .t{min-width:0}.ttl-row .t{overflow-wrap:anywhere}.metachip{padding:3px 8px;font-size:10.5px}.dhead-side{margin-top:12px}.dhead .dtools{position:absolute;top:13px;right:12px;margin:0;z-index:2}.dhead .desktop-actions{display:none}.dhead .mobile-action-menu{display:grid;width:28px;height:28px;place-items:center;padding:0 0 2px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink2);font-family:inherit;font-size:19px;font-weight:700;line-height:1}.dhead .mobile-actions-backdrop{position:fixed;z-index:30;inset:0;display:block}.dhead .mobile-actions-panel{position:absolute;z-index:31;top:calc(100% + 5px);right:0;display:flex;flex-direction:column;min-width:92px;padding:4px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow)}.dhead .mobile-actions-panel button{padding:8px 9px;border:0;border-radius:5px;background:transparent;color:var(--ink2);font-family:inherit;font-size:11.5px;font-weight:600;text-align:left}.dhead .mobile-actions-panel button.danger{color:var(--warn)}.dhead .ministb{min-height:27px;padding:3px 5px;font-size:10px}.dhead .dl-row{flex-direction:row;flex-wrap:wrap;justify-content:flex-start;gap:12px 22px;padding:11px 12px;border-radius:8px;background:#f7f8fa}.dhead .dl-col{align-items:flex-start}.dhead .dl-cap{text-align:left}.dhead .dl{font-size:20px}.dhead .dl-startval{font-size:14px}.detail .calwrap{overflow-x:auto;padding:14px;overscroll-behavior-x:contain}.detail .month-head{margin-top:8px}.detail table.cal{min-width:620px}.detail .months{gap:18px}.detail .aside{padding:14px;height:auto;overflow:visible}.detail .hist,.detail .stagelist{height:auto;max-height:none;overflow:visible;overscroll-behavior:auto;touch-action:pan-y}.detail .stagerow{display:grid;grid-template-columns:17px 3px minmax(0,1fr);grid-column-gap:8px;column-gap:8px;grid-row-gap:6px;row-gap:6px;min-height:0;padding:10px 0;touch-action:pan-y}.detail .stagerow .donechk{grid-column:1;grid-row:1/span 2;align-self:start}.detail .stagerow .bar{grid-column:2;grid-row:1/span 2}.detail .stagerow .nm{grid-column:3;min-width:0}.detail .stagerow .stmeta{grid-column:3;width:100%;min-width:0;justify-content:space-between}.detail .hist{padding-right:0}.detail .dextra{padding:14px}.prodwrap{gap:12px}.prodhint{padding:10px 12px;font-size:12px}.prodscroll{width:100%;max-width:100%;margin:0;padding:0;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x pan-y}.ptrack-meta{width:100%;flex-wrap:wrap;gap:6px 10px;justify-content:space-between;margin-left:0}.ptrack-hd{align-items:flex-start;padding:14px}.ptrack-ttl{flex-wrap:wrap;gap:6px}.ptrack-act{margin-left:auto}.pbtn{min-height:34px;padding:5px 10px}.cprev .po-document-open,.po-preview .po-document-open{display:inline-flex;align-items:center;justify-content:center}.cprev .hd{padding:13px 14px}.cprev .hd-right{position:relative;gap:6px}.cprev .contract-preview-actions,.cprev .hd-right .cnt{display:none}.cprev .contract-preview-more{display:grid;width:30px;height:30px;place-items:center;padding:0 0 2px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink2);font-family:inherit;font-size:19px;font-weight:700;line-height:1}.cprev .contract-preview-menu{position:absolute;z-index:5;top:calc(100% + 6px);right:0;display:flex;flex-direction:column;min-width:142px;padding:4px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow)}.cprev .contract-preview-menu button{padding:8px 9px;border:0;border-radius:5px;background:transparent;color:var(--ink2);font-family:inherit;font-size:11.5px;font-weight:600;text-align:left}.cprev .cprev-body{padding:12px;overflow:hidden}.cprev .cprev-body .cpaper{padding:28px 24px;font-size:11px}.overlay{align-items:center;padding:16px}.modal,.modal.narrow{width:min(100%,560px);max-width:560px;max-height:min(calc(100dvh - 32px),760px);border-radius:14px;overscroll-behavior:contain}.modal .mh{position:-webkit-sticky;position:sticky;top:0;z-index:2;gap:12px;padding:16px 16px 14px;background:#fff}.modal .mh h2{font-size:16px}.modal .mh p{font-size:11.5px;line-height:1.5}.modal .mh .x{display:grid;flex:0 0 auto;width:32px;height:32px;place-items:center;padding:0}.mform{padding:16px}.modal .grid2{grid-template-columns:1fr;gap:12px}.modal .mfrow{margin-bottom:14px}.modal .mf{margin-bottom:5px;font-size:11.5px}.modal .ipt,.modal select{min-height:42px;padding:9px 10px;font-size:14px}.modal textarea.raw{min-height:120px;font-size:14px}.modal textarea.raw.sm{min-height:72px;font-size:14px}.mbody{display:flex;flex-direction:column}.mprev{padding:16px}.pdfdrop{align-items:flex-start;padding:12px}.mfoot{position:-webkit-sticky;position:sticky;bottom:0;z-index:2;gap:8px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#fff}.mfoot .btn{flex:1 1;min-height:44px;justify-content:center;text-align:center}}.swin{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;padding:10px 20px;border-bottom:1px solid var(--line);font-size:12.5px;line-height:1.5}.swin-tag{flex:0 0 auto;font-size:10.5px;font-weight:800;letter-spacing:.3px;border-radius:6px;padding:3px 8px;color:#fff}.swin-msg{font-weight:700}.swin-nums{color:var(--sub);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.swin-nums em{font-style:normal;margin-left:8px}.swin-nums em:before{content:"·";margin-right:8px}.swin-tip{flex:1 1 100%;font-size:11.5px;color:var(--sub)}.swin.over{background:#feecea}.swin.over .swin-tag{background:var(--warn)}.swin.over .swin-msg{color:#b3352f}.swin.tight{background:#fdf3e3}.swin.tight .swin-tag{background:#c2761b}.swin.tight .swin-msg{color:#8a5412}.swin.ok{background:#f1faf4}.swin.ok .swin-tag{background:#13964f}.swin.ok .swin-msg{color:#127a43}.mprev .swin.prevwin{margin:10px 0 14px;padding:9px 11px;border:1px solid transparent;border-radius:9px;font-size:12px}.mprev .swin.prevwin.over{border-color:#f6c9c4}.mprev .swin.prevwin.tight{border-color:#eed6ad}.mprev .swin.prevwin.ok{border-color:#c9e8d6}td.cell.st{outline:1.5px solid var(--primary);outline-offset:-1.5px}td.cell.st .flag{position:absolute;top:6px;right:7px;font-size:9.5px;font-weight:800;color:var(--primary)}td.cell.st.dl .flag{color:var(--warn)}.cwrap{display:grid;grid-template-columns:minmax(360px,420px) 1fr;grid-gap:16px;gap:16px;align-items:start}.cwrap.empty{grid-template-columns:1fr}.ccol{display:flex;flex-direction:column;gap:16px;min-width:0}@media (max-width:1180px){.cwrap{grid-template-columns:1fr}}.cempty{padding:44px 24px;text-align:center}.cempty h2{margin:0 0 16px;font-size:15px;font-weight:700}.cc-hd{flex-wrap:wrap;gap:10px 8px}.cc-ttl{display:flex;align-items:center;gap:8px;min-width:0}.cc-act{display:flex;gap:6px;margin-left:auto}.cstatus{width:auto;flex:0 0 auto;min-width:96px}.csum{padding:4px 18px 14px}.csum-row{display:flex;align-items:baseline;gap:10px;padding:9px 0;border-bottom:1px solid var(--line2);font-size:13px}.csum-row:last-child{border-bottom:0;padding-bottom:0}.csum-row>span:first-child{flex:0 0 96px;color:var(--ink2);font-weight:600;font-size:12.5px}.csum-row b{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.csum-row em{margin-left:auto;font-style:normal;font-size:11.5px;color:var(--sub);text-align:right}.cform{padding:12px 18px 18px}.cgrp{border:0;border-top:1px solid var(--line2);margin:0;padding:14px 0}.cgrp:first-of-type{border-top:0}.cgrp:last-of-type{padding-bottom:0}.cgrp legend{padding:0;margin:0 0 10px;font-size:11.5px;font-weight:700;color:var(--primary)}.cgrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.cfield{display:flex;flex-direction:column;gap:6px;min-width:0}.cfield.wide{grid-column:1/-1}.cfield>span:first-child{font-size:12px;font-weight:600;color:var(--ink2)}.cin{width:100%;height:34px;padding:0 10px;border:1.3px solid var(--line);border-radius:8px;font-family:inherit;font-size:13px;color:var(--ink);background:#fff}.cin:focus{outline:none;border-color:var(--primary)}.cin::placeholder{color:var(--faint)}.cin.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cin.area{height:auto;padding:9px 10px;line-height:1.6;resize:vertical}.cform .dd-trigger,.cform .dp-field{height:34px;padding:0 10px;border-width:1.3px;border-radius:8px;font-size:13px}.cform .dp-ico{width:15px;height:15px}.cunit{display:flex;align-items:center;gap:7px}.cunit .cin{min-width:0}.cunit i{flex:0 0 auto;font-style:normal;font-size:12px;font-weight:600;color:var(--sub)}.cfield.check{flex-direction:row;align-items:center;gap:8px}.cfield.check input{width:15px;height:15px;accent-color:var(--primary)}.cfield.check span{font-size:12.5px;font-weight:500;color:var(--ink2)}.chint{font-style:normal;font-size:11.5px;line-height:1.55;color:var(--sub)}.cval{height:34px;display:flex;align-items:center;padding:0 10px;font-size:13px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.camt,.cval{border-radius:8px;background:var(--bg)}.camt{flex-direction:row;flex-wrap:wrap;gap:6px 18px;padding:9px 11px}.camt>span{display:flex;align-items:baseline;gap:7px;font-size:12px}.camt em{font-style:normal;font-weight:600;color:var(--ink2)}.camt b{color:var(--ink);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cfill-btns{display:flex;flex-wrap:wrap;gap:6px}.csmall{height:28px;padding:0 10px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink2);font-family:inherit;font-size:11.5px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;cursor:pointer}.csmall:hover{border-color:var(--primary);color:var(--primary);background:var(--brand-soft)}.clist{list-style:none;margin:0;padding:14px 18px 16px;flex-direction:column}.clist,.clist li{display:flex;gap:8px}.clist li{font-size:12.5px;line-height:1.55;color:var(--ink)}.clist li.error{font-weight:600}.clist li.ok{color:var(--ink2)}.cmk{flex:0 0 auto;width:16px;height:16px;margin-top:1px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:800;color:#fff}.clist li.error .cmk{background:var(--warn)}.clist li.warn .cmk{background:#c2761b}.clist li.ok .cmk{background:var(--ok)}.cprev{min-width:0}.cprev-body{padding:18px;background:var(--bg);border-radius:0 0 var(--radius) var(--radius);display:flex;justify-content:center}.cpaper{position:relative;width:100%;max-width:720px;background:#fff;border:1px solid var(--line);border-radius:4px;padding:46px 52px 56px;font-size:13px;line-height:1.85;color:#111}.cpaper-ttl{margin:0 0 30px;text-align:center;font-size:21px;font-weight:800;letter-spacing:-.3px}.cart{margin:0 0 20px;page-break-inside:avoid;break-inside:avoid}.cart-ttl{margin:0 0 7px;font-size:14px;font-weight:800}.cart-body{margin:0;text-align:justify}.cbullets,.citems,.csubs{list-style:none;margin:0;padding:0}.citems>li{display:flex;gap:7px}.citems>li .cno{flex:0 0 auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.citems>li .ctxt{flex:1 1 auto;min-width:0}.cbullets>li,.csubs>li{display:flex;gap:7px;padding-left:8px}.csubs>li{padding-left:8px}.cmark{flex:0 0 auto;color:#444}.csign{margin-top:42px}.csign p{margin:0 0 4px}.csign-parties{display:grid;grid-template-columns:1fr 1fr;grid-gap:28px;gap:28px}.csign-parties strong{display:block;margin-bottom:7px}@media (max-width:640px){.csign-parties{grid-template-columns:1fr;gap:18px}}.csign-row{display:flex;align-items:center;gap:10px}.cseal{width:46px;height:46px;object-fit:contain}.cseal-none{color:#555;font-size:.92em}.cprint-root{display:none}@media print{@page{size:A4;margin:18mm 16mm}body.cprinting{background:#fff}body.cprinting>:not(.cprint-root){display:none!important}body.cprinting .cprint-root{display:block!important}body.cprinting .cpaper{width:auto;max-width:none;margin:0;padding:0;border:0;border-radius:0;font-size:10.5pt;line-height:1.75}.cpaper-ttl{font-size:17pt;margin-bottom:24pt}.cart-ttl{font-size:11pt}.cart{margin-bottom:13pt}.csign{margin-top:26pt}.cseal{width:15mm;height:15mm}}.po-list-view{width:100%}.po-order-kpis{grid-template-columns:repeat(7,minmax(132px,1fr));overflow-x:auto;padding-bottom:4px}.po-order-kpis .po-status-kpi{min-width:0;font-family:inherit;text-align:left;cursor:pointer;transition:border-color .12s ease,background .12s ease}.po-order-kpis .po-status-kpi:hover{border-color:#b9c5ff;background:#fbfcff}.po-order-kpis .po-status-kpi.on{border-color:var(--primary);background:var(--brand-soft)}.po-order-kpis .po-status-kpi .lab,.po-order-kpis .po-status-kpi .sub{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.po-order-kpis .po-status-kpi .val{display:block}.po-list-sectionhd .pbtn{min-height:34px;display:inline-flex;align-items:center;margin-left:auto;text-decoration:none}.po-list-card{overflow:hidden}.po-list-head,.po-list-row{display:grid;grid-template-columns:minmax(190px,1.5fr) minmax(120px,.9fr) 104px 104px 104px 108px 104px;align-items:center;grid-gap:16px;gap:16px}.po-list-head{padding:10px 18px;background:var(--bg);color:var(--sub);font-size:11.5px;font-weight:600}.po-list-head,.po-list-row{border-bottom:1px solid var(--line2)}.po-list-row{position:relative;min-height:66px;padding:11px 18px;color:var(--ink2);font-size:12.5px;line-height:1.45;text-decoration:none;transition:background .12s ease}.po-list-detail-link{position:absolute;inset:0;z-index:1}.po-list-detail-link:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.po-list-row>span{position:relative;z-index:1;pointer-events:none}.po-list-row:last-child{border-bottom:0}.po-list-row:hover{background:#f7f9ff}.po-list-project{min-width:0}.po-list-project strong{display:block;overflow:hidden;color:var(--ink);font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.po-list-project small{display:block;margin-top:3px;color:var(--sub);font-size:10.5px;font-weight:500}.po-list-project small i{margin-left:7px;color:var(--primary);font-style:normal;font-weight:600}.po-list-project small i:before{content:"·";margin-right:7px;color:var(--faint)}.po-list-project .po-list-mobile-meta{display:none}.po-list-date{color:var(--ink2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.po-list-row .schip{font-style:normal}.po-list-public-link{position:relative;z-index:2;min-height:30px;padding:6px 10px;display:inline-flex;align-items:center;justify-self:start;line-height:1.35;white-space:nowrap}.po-external-icon,.po-list-public-link svg{width:13px;height:13px;margin-left:5px;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.po-list-empty{padding:48px 20px;text-align:center}.po-list-empty p{margin:0 0 12px;color:var(--sub);font-size:13px}@media (max-width:1040px){.po-list-head,.po-list-row{grid-template-columns:minmax(160px,1.4fr) minmax(110px,.9fr) 100px 100px 108px 104px}.po-list-head>span:nth-child(5),.po-list-row>span:nth-of-type(5){display:none}}@media (max-width:720px){.po-order-kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin-bottom:18px;overflow:visible;padding-bottom:0}.po-order-kpis .po-status-kpi{min-height:52px;padding:6px 2px;border-radius:8px;text-align:center}.po-order-kpis .po-status-kpi .lab{font-size:0;line-height:1.2}.po-order-kpis .po-status-kpi .lab:after{font-size:10px}.po-order-kpis .po-status-kpi:first-child .lab:after{content:"전체"}.po-order-kpis .po-status-kpi:nth-child(2) .lab:after{content:"작성"}.po-order-kpis .po-status-kpi:nth-child(3) .lab:after{content:"발송"}.po-order-kpis .po-status-kpi:nth-child(4) .lab:after{content:"확인"}.po-order-kpis .po-status-kpi:nth-child(5) .lab:after{content:"체결"}.po-order-kpis .po-status-kpi .val{margin-top:5px;font-size:16px;line-height:1}.po-order-kpis .po-status-kpi .val small{display:none}.po-list-sectionhd{align-items:center;gap:8px;margin-bottom:12px}.po-list-sectionhd h2{font-size:15px}.po-list-sectionhd .pbtn{min-height:36px;padding:7px 10px;font-size:12px}.po-list-head{display:none}.po-list-row{grid-template-columns:minmax(0,1fr) auto 32px;gap:8px;padding:14px 16px}.po-list-row>span:nth-of-type(2),.po-list-row>span:nth-of-type(3),.po-list-row>span:nth-of-type(4),.po-list-row>span:nth-of-type(5){display:none}.po-list-row>span:nth-of-type(6){grid-column:2}.po-list-project .po-list-mobile-meta{display:flex;align-items:center;gap:0;min-width:0;overflow:hidden;white-space:nowrap}.po-list-mobile-meta span{overflow:hidden;text-overflow:ellipsis}.po-list-mobile-meta span+span:before{content:"·";margin:0 5px;color:var(--faint)}.po-list-public-link{grid-column:3;justify-content:center;width:32px;min-height:32px;padding:0;border-radius:50%;font-size:0}.po-list-public-link svg{width:15px;height:15px;margin:0}}.powrap{display:grid;grid-template-columns:minmax(480px,.9fr) minmax(560px,1.1fr);grid-gap:24px;gap:24px;align-items:start;width:100%}@media (max-width:1280px){.powrap{grid-template-columns:1fr}}.pocol{display:flex;flex-direction:column;gap:16px;min-width:0}.pohint{margin:6px 0 0;font-size:12.5px;color:var(--sub)}.pohint.warn{color:#c2410c;background:#fff1e8;padding:8px 10px;border-radius:6px;margin-bottom:10px}.poeditor .card{overflow:hidden}.poeditor .pohint{margin:0;font-size:12px;line-height:1.55}.poeditor .pohint.warn{padding:11px 14px;border-bottom:1px solid #fed7bd;border-radius:0}.poeditor-hd{min-height:68px}.poeditor-title{min-width:0}.po-preview-hd p,.poeditor-title p{margin:4px 0 0;color:var(--sub);font-size:11.5px;font-weight:500;line-height:1.4}.poeditor .cform{padding:12px 20px 20px}.poeditor .cgrp{padding:20px 0}.poeditor .cgrp legend{margin-bottom:6px;font-size:12px}.poeditor .cgrid{gap:16px 12px}.poeditor .cform .dp-field,.poeditor .cin{height:38px}.poeditor .cin.area{height:auto;min-height:72px}.poeditor .cin:disabled{color:var(--ink2);background:var(--bg);cursor:not-allowed}.porequired{margin-left:3px;color:var(--warn);font-size:12px;font-style:normal;font-weight:700}.poeditor .dp-field:disabled{color:var(--ink2);background:var(--bg);cursor:not-allowed}.poeditor-actions{padding:16px 20px;border-top:1px solid var(--line2);background:#fbfcfd;justify-content:flex-end}.poeditor .pbtn{min-height:34px;padding:7px 14px;display:inline-flex;align-items:center;justify-content:center;line-height:1;text-decoration:none}.poeditor .pbtn:disabled{opacity:.55;cursor:not-allowed}.pocard-body{padding:16px 18px 18px}.pocard-body>*+*{margin-top:12px}.pocard-desc{margin:0 0 10px;color:var(--ink2);font-size:12.5px;line-height:1.55}.porefine-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.porefine-head>div{min-width:0}.porefine-head .pofield-lbl{margin-bottom:3px}.porefine-head span{display:block;color:var(--sub);font-size:11.5px;line-height:1.5}.porefine-head .pbtn{flex:0 0 auto}.po-source{margin:10px 0 0;padding:12px 14px;border:1px solid var(--line2);border-radius:8px;background:var(--bg);color:var(--ink2);font-size:12.5px;font-weight:400;line-height:1.65}.porefine-editor{margin-top:18px;padding-top:18px;border-top:1px solid var(--line2)}.porefine-final-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.porefine-final-head>div{min-width:0}.porefine-final-head strong{display:block;color:var(--ink2);font-size:12px;font-weight:600}.porefine-final-head span{display:block;margin-top:3px;color:var(--sub);font-size:11.5px;line-height:1.45}.porefine-final-head .pbtn{flex:0 0 auto}.porefine-editor .cin.area{min-height:128px}.porefine-editor .pohint{margin-top:7px;color:var(--primary)}.porefine-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:12px}.porefine-saved{padding:12px 14px;border:1px solid var(--line2);border-radius:8px;background:#fff;color:var(--ink);font-size:12.5px;line-height:1.65}.porefine-saved>li{padding-left:0}.porefine-empty{margin:0;padding:18px 14px;border:1px dashed var(--line);border-radius:8px;background:var(--bg);color:var(--sub);font-size:12px;line-height:1.55;text-align:center}.po-confirm-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border-color:#cad4ff;background:var(--brand-soft)}.po-confirm-bar>div{min-width:0}.po-confirm-bar strong{display:block;font-size:13px;font-weight:700}.po-confirm-bar p{margin:4px 0 0;color:var(--ink2);font-size:11.5px;line-height:1.5}.po-confirm-bar .pbtn{flex:0 0 auto}.po-execution-hd>div{min-width:0}.po-execution-hd p{margin:4px 0 0;color:var(--sub);font-size:11.5px;font-weight:500;line-height:1.45}.po-execution-body{padding:18px}.po-execution-summary{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid #f1faf4;border-radius:8px;background:#f1faf4}.po-execution-mark{flex:0 0 auto;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--ok);color:#fff;font-size:14px;font-weight:800}.po-execution-summary>div{min-width:0}.po-execution-summary strong{display:block;color:var(--ink);font-size:13px;font-weight:700}.po-execution-summary p{margin:3px 0 0;color:var(--sub);font-size:11.5px;line-height:1.45}.po-execution-meta{margin:0;padding:0;border-top:1px solid var(--line2)}.po-execution-summary+.po-execution-meta{margin-top:16px}.po-execution-meta>div{display:grid;grid-template-columns:120px minmax(0,1fr);grid-gap:14px;gap:14px;padding:11px 2px;border-bottom:1px solid var(--line2)}.po-execution-meta dd,.po-execution-meta dt{margin:0;font-size:12px;line-height:1.5}.po-execution-meta dt{color:var(--sub);font-weight:600}.po-execution-meta dd{color:var(--ink);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.po-execution-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px}.po-execution-footer p{margin:0;color:var(--sub);font-size:11.5px;line-height:1.5}.po-execution-footer .pbtn{flex:0 0 auto}.po-items,.poitbl{width:100%;border-collapse:collapse;font-size:13px}.poitbl td,.poitbl th{padding:6px 4px;border-bottom:1px solid var(--line2);text-align:left}.poitbl th{padding-top:0;color:var(--sub);font-size:11.5px;font-weight:600}.poitbl th:nth-child(3){width:72px;text-align:left}.poitbl th:nth-child(4){width:112px;text-align:left}.poitbl th:last-child{width:54px}.poitbl td .cin{width:100%}.poitbl td .cin.num{text-align:left}.poitems-vat{margin-bottom:14px;padding:10px 12px;border-radius:8px;background:var(--bg)}.poitems-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.poitems-total{display:flex;align-items:baseline;gap:6px;margin:0 0 0 auto;white-space:nowrap;font-size:12px}.poitems-total>span{color:var(--ink2);font-weight:600}.poitems-total strong{color:var(--ink);font-size:14px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.poitems-total em{color:var(--sub);font-size:11.5px;font-style:normal}.polist th{color:var(--sub);font-weight:600;font-size:12px}.polist td.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.polink-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.polink{flex:1 1 auto;min-width:0;min-height:34px;padding:8px 10px;background:var(--bg);border:1px solid var(--line);border-radius:6px;font-size:12.5px;overflow-wrap:anywhere}.pohist{list-style:none;margin:0;padding:16px 18px 18px;display:flex;flex-direction:column;gap:0}.pohist li{position:relative;display:flex;gap:12px;padding:0 0 18px 18px;margin-left:4px;border-left:1px solid var(--line)}.pohist li:last-child{padding-bottom:0;border-left-color:transparent}.pohist-dot{position:absolute;top:5px;left:-5px;width:9px;height:9px;border:2px solid #fff;border-radius:50%;background:var(--primary);box-shadow:0 0 0 1px #aebeff}.pohist-entry{flex:1 1;min-width:0}.pohist-flow,.pohist-top{display:flex;align-items:center}.pohist-top{justify-content:space-between;gap:12px}.pohist-flow{flex-wrap:wrap;gap:6px}.pohist-arrow,.pohist-from{color:var(--sub);font-size:11.5px;font-weight:500}.pohist-status{padding:3px 8px;border-radius:20px;font-size:11.5px;font-weight:700}.pohist-actor{flex:0 0 auto;color:var(--ink2);font-size:11px;font-weight:600}.pohist-when{display:block;margin-top:5px;color:var(--sub);font-size:11px}.pohist-reason{margin:7px 0 0;color:var(--sub);font-size:11.5px;line-height:1.5}.po-capture-root{position:absolute;left:-99999px;top:0;width:720px}.potbl{width:100%;border-collapse:collapse;font-size:12.5px;margin-bottom:6px}.potbl td,.potbl th{border:1px solid var(--line);padding:6px 8px;text-align:left}.potbl-meta th{width:110px}.potbl-items th,.potbl-meta th{background:var(--bg);font-weight:600}.potbl-items{table-layout:fixed}.potbl-item-name{width:23%}.potbl-item-spec{width:26%}.potbl-item-qty{width:10%}.potbl-item-amount{width:24%}.potbl-item-price{width:17%}.potbl-items td{overflow-wrap:anywhere}.potbl td.num,.potbl th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pofield-lbl{margin:0 0 4px;font-size:12px;font-weight:700;color:var(--sub)}.popre{white-space:pre-wrap}.poterms-ttl{margin:16px 0 6px;font-size:13px;font-weight:700}.poterms-ttl:first-of-type{margin-top:0}.poterms-items{margin:8px 0 0}.po-preview{position:-webkit-sticky;position:sticky;top:20px}.po-preview-hd>div{min-width:0}.po-preview-hd{justify-content:flex-start;gap:6px}.po-preview-hd>div:first-child{margin-right:auto}.po-preview .cprev-body{padding:24px;background:#eef1f5}.po-preview .cpaper{width:100%;max-width:680px;min-height:auto;aspect-ratio:210/297;padding:clamp(36px,6.7%,52px) clamp(34px,7.6%,58px);border:0;border-radius:2px;box-shadow:0 8px 24px rgba(32,40,52,.12)}@media (max-width:1280px){.po-preview{position:static}.po-preview .cpaper{max-width:760px}}@media (max-width:680px){.poeditor .cgrid{grid-template-columns:1fr}.poeditor .cfield.wide{grid-column:auto}.poeditor .cgrp{min-width:0}.poeditor .poitbl-scroll{display:block;min-width:0;width:100%;max-width:100%;padding-bottom:4px;overflow-x:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x pan-y}.poeditor .poitbl-scroll>.poitbl{width:560px;min-width:560px}.po-preview .cprev-body{padding:12px}.po-preview .cpaper{font-size:11px;padding:28px 24px}.po-preview .po-table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.po-preview .potbl-meta{min-width:460px}.po-preview .potbl-items{min-width:520px}.poitems-footer{align-items:flex-start}.poitems-total{flex-wrap:wrap;justify-content:flex-end}.po-confirm-bar,.po-execution-footer,.porefine-head{align-items:stretch;flex-direction:column}.po-confirm-bar .pbtn,.po-execution-footer .pbtn,.porefine-head .pbtn{align-self:flex-end}.po-execution-meta>div{grid-template-columns:1fr;gap:3px}}.po-body{background:#f5f7fa}.po-body,.po-public{min-height:100vh}.po-wrap{max-width:760px;margin:0 auto;padding:28px 16px max(56px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px}.po-hero{padding:4px 2px 14px}.po-hero-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.po-hero-logo{display:block;width:76px;height:auto}.po-status-chip{padding:4px 10px;font-size:11.5px}.po-hero h1{margin:0;color:var(--ink);font-size:clamp(24px,7vw,32px);font-weight:800;line-height:1.3;letter-spacing:-.7px;word-break:keep-all}.po-hero p{margin:9px 0 0;color:var(--ink2);font-size:14px;line-height:1.6;word-break:keep-all}.po-hero p strong{color:var(--ink);font-weight:700}.po-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;box-shadow:0 4px 18px rgba(33,46,62,.04)}.po-card-head{margin-bottom:18px}.po-card-head>div{display:flex;align-items:center;gap:8px}.po-card h2{margin:0;font-size:17px;font-weight:700;letter-spacing:-.2px}.po-meta{display:grid;grid-template-columns:1fr 1fr;margin:0;padding:0;border-top:1px solid var(--line2)}.po-meta>div{min-width:0;padding:14px 2px;border-bottom:1px solid var(--line2)}.po-meta>div:nth-child(odd):not(.wide):not(.stacked){padding-right:18px}.po-meta>div:nth-child(2n):not(.wide):not(.stacked){padding-left:18px;border-left:1px solid var(--line2)}.po-meta>div.wide{grid-column:1/-1}.po-meta>div.stacked{grid-column:1/-1;padding-right:2px;padding-left:2px;border-left:0}.po-meta dt{color:var(--sub);font-size:11.5px;font-weight:600}.po-meta dd{margin:5px 0 0;color:var(--ink);font-size:13.5px;font-weight:600;line-height:1.55;overflow-wrap:anywhere;white-space:pre-wrap}.po-meta dd.po-meta-emphasis{color:var(--primary)}.po-items-section{margin-top:24px}.po-subhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.po-final-terms h3,.po-subhead h3{margin:0;color:var(--ink2);font-size:12.5px;font-weight:700}.po-subhead span{color:var(--sub);font-size:11.5px;font-weight:600}.po-items-desktop{overflow:hidden;border:1px solid var(--line2);border-radius:8px}.po-items td,.po-items th{padding:10px 12px;border-bottom:1px solid var(--line2);font-size:12.5px;line-height:1.45}.po-items{table-layout:fixed}.po-item-col-name{width:22%}.po-item-col-spec{width:31%}.po-item-col-qty{width:10%}.po-item-col-price{width:18%}.po-item-col-amount{width:19%}.po-items td:first-child,.po-items td:nth-child(2){overflow-wrap:anywhere}.po-items tr:last-child td{border-bottom:0}.po-items th{background:var(--bg);color:var(--sub);font-size:11px;font-weight:600}.po-items td.num,.po-items th:nth-child(n+3){text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.po-items td.po-item-name,.po-items td.strong{color:var(--ink);font-weight:700}.po-items-mobile{display:none}.po-amount{justify-content:space-between;gap:16px;margin:12px 0 0;padding:15px 16px;border-radius:8px;background:var(--brand-soft);text-align:left}.po-amount,.po-amount div{display:flex;align-items:center}.po-amount div{gap:7px}.po-amount span{color:var(--ink2);font-size:12.5px;font-weight:700}.po-amount small{padding:2px 6px;border-radius:4px;background:#fff;color:var(--primary);font-size:10px;font-weight:700}.po-amount strong{color:var(--primary);font-size:18px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.po-hint{margin:-4px 0 18px;color:var(--ink2);font-size:13px;line-height:1.65;word-break:keep-all}.po-field{display:flex;flex-direction:column;gap:7px;margin-bottom:14px}.po-field>span{color:var(--ink2);font-size:12px;font-weight:700}.po-input,.po-textarea{width:100%;border:1.3px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.po-textarea{min-height:144px;padding:12px;line-height:1.6;resize:vertical}.po-input{height:46px;padding:0 12px}.po-input:focus,.po-textarea:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 3px rgba(58,91,255,.1)}.po-input::placeholder,.po-textarea::placeholder{color:var(--faint)}.po-input:disabled,.po-textarea:disabled{background:var(--bg);color:var(--sub)}.po-check{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.po-check input{flex:0 0 auto;width:18px;height:18px;margin:1px 0 0;accent-color:var(--primary)}.po-check-box{margin:0;padding:13px 14px;border:1px solid var(--line2);border-radius:8px;background:var(--bg);transition:border-color .15s,background .15s}.po-check-box.selected{border-color:#b9c7ff;background:var(--brand-soft)}.po-option-list{display:grid;grid-gap:8px;gap:8px;margin-bottom:16px}.po-notes-field{margin-bottom:18px}.po-check-box span{display:flex;flex-direction:column;gap:2px}.po-check-box strong{color:var(--ink);font-size:13px;font-weight:700}.po-check-box small{color:var(--sub);font-size:11.5px;line-height:1.45}.po-agreement{margin:-2px 0 18px;padding:14px;border:1px solid #cad4ff;border-radius:8px;background:var(--brand-soft)}.po-agreement span{color:var(--ink2);font-size:12px;line-height:1.65}.po-form-error{margin:-5px 0 12px;color:var(--warn);font-size:12px;line-height:1.5}.po-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:12px 18px;border:0;border-radius:8px;background:var(--primary);color:#fff;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;text-decoration:none;transition:background .15s,transform .15s}.po-btn:hover:not(:disabled){background:#2a49e6}.po-btn:active:not(:disabled){transform:translateY(1px)}.po-btn:disabled{background:var(--faint);cursor:default}.po-action-caption{margin:9px 0 0;color:var(--sub);font-size:10.5px;text-align:center}.po-state-card{padding:20px}.po-status-message{display:flex;align-items:flex-start;gap:13px;padding:16px;border:1px solid #d8e0ff;border-radius:10px;background:var(--brand-soft)}.po-status-message.success{border-color:#cce9d7;background:#f1faf4}.po-status-message.neutral{border-color:var(--line);background:var(--bg)}.po-status-icon{flex:0 0 auto;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--primary);color:#fff}.po-status-message.success .po-status-icon{background:var(--ok)}.po-status-message.neutral .po-status-icon{background:var(--sub)}.po-document-title svg,.po-status-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.po-status-message>div{min-width:0}.po-status-message strong{display:block;margin:1px 0 4px;font-size:14px;font-weight:700}.po-status-message p{margin:0;color:var(--ink2);font-size:12px;line-height:1.6;word-break:keep-all}.po-state-card>.po-status-message+.po-final-terms{margin-top:24px}.po-state-meta{margin:16px 0 0;padding:0;border-top:1px solid var(--line2)}.po-state-meta>div{display:flex;justify-content:space-between;gap:16px;padding:11px 2px;border-bottom:1px solid var(--line2);font-size:12px}.po-state-meta dt{color:var(--sub);font-weight:600}.po-state-meta dd{margin:0;color:var(--ink);font-weight:600;text-align:right}.po-executed-card>.po-btn{margin-top:16px}.po-final-terms{padding:16px;border:1px solid var(--line2);border-radius:8px;background:var(--bg)}.po-final-terms h3{margin-bottom:10px;color:var(--ink)}.po-final-terms p+h3,.po-final-terms ul+h3{margin-top:18px}.po-final-terms .po-refined-final-title{display:inline-flex;margin-bottom:8px;padding:4px 8px;border-radius:4px;background:#eaf0ff;color:#3158d4;font-size:12px}.po-final-terms .po-refined-final-body{color:#3158d4;font-weight:600}.po-refine-actions{display:flex;gap:8px;margin-top:12px}.po-refine-actions .po-source-edit-btn{min-height:32px;padding:6px 10px;font-size:12px}.po-refine-actions .po-source-edit-start{border:1px solid #b9c8ff;background:#eef3ff;color:#3158d4}.po-refine-actions .po-source-edit-cancel{border:1px solid #d6dce5;background:#f6f8fa;color:#667085}.po-final-terms+.po-field.po-notes-field{margin-top:18px}.po-final-terms p,.po-final-terms ul{margin:0;color:var(--ink2);font-size:12.5px;line-height:1.65}.po-final-terms ul{padding-left:18px}.po-final-terms li+li{margin-top:5px}.po-document-preview{margin-top:14px;border:1px solid var(--line);border-radius:8px;overflow:hidden}.po-document-title{min-height:44px;padding:0 13px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--ink2);background:#fff;font-size:12.5px;font-weight:700}.po-document-title>span{min-width:0;display:inline-flex;align-items:center;gap:8px}.po-document-open{display:none;border:1px solid #cad4ff;border-radius:6px;background:var(--brand-soft);color:var(--primary)}.po-document-open,.po-preview-download{flex:0 0 auto;min-height:30px;padding:0 10px;font-family:inherit;font-size:11px;font-weight:700;cursor:pointer}.po-preview-download{border:1px solid var(--primary);border-radius:6px;background:var(--primary);color:#fff}.po-executed-document{margin-top:12px}.po-paper-scroll{padding:16px;overflow:visible;border-top:1px solid var(--line);background:#eef1f5}.po-paper-scroll .cpaper{width:100%;min-width:0;margin:0;border:0;border-radius:2px;max-width:100%;font-size:10px;padding:32px 36px;box-shadow:0 6px 20px rgba(32,40,52,.1)}.po-local-pdf-source{position:fixed;top:0;left:-10000px;width:794px;pointer-events:none}.po-local-pdf-source .cpaper.cpaper-pdf{width:794px!important;max-width:none!important;min-height:1123px;margin:0;padding:54px 58px 64px;font-size:13px;line-height:1.85;border:0;border-radius:0;box-shadow:none}.po-public-footer{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 10px 0;text-align:center}.po-public-footer img{width:98px;height:auto;opacity:.52}.po-public-footer p{margin:0;color:var(--sub);font-size:10.5px;line-height:1.5}.po-viewer{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;background:#dfe4ea}.po-viewer-header{flex:0 0 auto;min-height:62px;padding:max(12px,env(safe-area-inset-top)) 16px 12px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);background:#fff}.po-viewer-header>div{min-width:0}.po-viewer-header span,.po-viewer-header strong{display:block}.po-viewer-header strong{color:var(--ink);font-size:14px;font-weight:700}.po-viewer-header span{margin-top:2px;color:var(--sub);font-size:10.5px}.po-viewer-close{flex:0 0 auto;width:36px;height:36px;padding:0 0 3px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink2);font-family:inherit;font-size:24px;font-weight:300;line-height:1;cursor:pointer}.po-viewer-toolbar{flex:0 0 auto;min-height:48px;padding:8px 16px;display:flex;align-items:center;justify-content:center;gap:6px;border-bottom:1px solid #cbd3dc;background:#f7f8fa}.po-viewer-toolbar button{width:38px;height:32px;padding:0;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink2);font-family:inherit;font-size:18px;font-weight:600;cursor:pointer}.po-viewer-toolbar button:disabled{color:var(--faint);background:var(--bg);cursor:default}.po-viewer-toolbar button.po-viewer-scale{width:62px;color:var(--primary);font-size:11px;font-weight:700}.po-viewer-viewport{flex:1 1 auto;min-height:0;padding:20px;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom;-webkit-overflow-scrolling:touch}.po-viewer-paper{width:max-content;margin:0 auto;zoom:var(--po-viewer-zoom)}.po-viewer-paper .cpaper{width:680px;max-width:none;min-height:960px;border:0;border-radius:2px;box-shadow:0 8px 28px rgba(32,40,52,.18)}.po-error{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:20px}.po-error-ttl{font-size:17px;font-weight:800}.po-error-sub{font-size:13.5px;color:var(--sub);line-height:1.6}@media (max-width:600px){.po-wrap{padding:22px 12px max(44px,env(safe-area-inset-bottom));gap:12px}.po-hero{padding:3px 4px 12px}.po-hero h1{font-size:24px}.po-hero p{font-size:13px}.po-card{padding:18px 16px;border-radius:10px}.po-card-head{margin-bottom:16px}.po-card h2{font-size:16px}.po-meta{grid-template-columns:1fr}.po-meta>div,.po-meta>div:nth-child(2n):not(.wide):not(.stacked),.po-meta>div:nth-child(odd):not(.wide):not(.stacked){grid-column:1;padding:12px 2px;border-left:0}.po-meta>div{display:grid;grid-template-columns:104px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:center}.po-meta dd{margin:0;text-align:right}.po-meta>div.stacked,.po-meta>div.wide{display:block}.po-meta>div.stacked dd,.po-meta>div.wide dd{margin-top:6px;text-align:left}.po-items-section{margin-top:22px}.po-items-desktop{display:none}.po-items-mobile{display:flex;flex-direction:column;gap:8px}.po-item-card{padding:14px;border:1px solid var(--line2);border-radius:8px;background:#fff}.po-item-card-head{display:flex;align-items:center;gap:8px}.po-item-card-head>span{color:var(--primary);font-size:12px;font-weight:600}.po-item-card-head strong{min-width:0;color:var(--ink);font-size:13.5px;font-weight:700;overflow-wrap:anywhere}.po-item-spec{margin:6px 0 13px 22px;color:var(--sub);font-size:11.5px;line-height:1.5;white-space:pre-wrap}.po-item-card dl{display:grid;grid-template-columns:.7fr 1fr 1.2fr;margin:0;padding:11px 0 0;border-top:1px solid var(--line2)}.po-item-card dl>div{min-width:0;padding:0 9px;border-left:1px solid var(--line2)}.po-item-card dl>div:first-child{padding-left:0;border-left:0}.po-item-card dl>div:last-child{padding-right:0}.po-item-card dt{color:var(--sub);font-size:10px;font-weight:600}.po-item-card dd{margin:4px 0 0;color:var(--ink2);font-size:11.5px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.po-item-card dl>div:last-child dd{color:var(--ink);font-weight:700}.po-amount{padding:14px}.po-amount div{align-items:flex-start;flex-direction:column;gap:4px}.po-amount strong{font-size:17px}.po-status-message{padding:14px}.po-document-open{display:inline-flex;align-items:center;justify-content:center}.po-paper-scroll{padding:8px}.po-paper-scroll .cpaper{padding:16px 14px;font-size:5.5px;line-height:1.6;box-shadow:0 3px 12px rgba(32,40,52,.1)}.po-paper-scroll .cpaper-ttl{margin-bottom:14px;font-size:10px}.po-paper-scroll .cart{margin-bottom:8px}.po-paper-scroll .cart-ttl{margin-bottom:3px;font-size:6.5px}.po-paper-scroll .poterms-ttl{margin:7px 0 2px;font-size:5.5px}.po-paper-scroll .poterms-items{margin-top:3px}.po-paper-scroll .potbl{margin-bottom:3px;font-size:5.2px}.po-paper-scroll .potbl td,.po-paper-scroll .potbl th{padding:2px 3px}.po-paper-scroll .potbl-meta th{width:44px}.po-paper-scroll .csign{margin-top:12px}}@media (max-width:360px){.po-meta>div{grid-template-columns:88px minmax(0,1fr)}.po-item-card dl>div{padding:0 6px}.po-item-card dd{font-size:10.5px}.po-amount strong{font-size:15.5px}}.achips{gap:4px}.achip,.achips{display:inline-flex;align-items:center}.achip{justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:11px;font-size:11px;font-weight:600;line-height:1;white-space:nowrap}.achip.lg{height:24px;padding:0 10px;font-size:12px}.achip.more{background:#eef0f3;color:var(--ink2)}.asel{position:relative}.asel-trigger{display:flex;align-items:center;gap:6px;min-height:34px;width:100%;padding:4px 10px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;cursor:pointer;text-align:left}.asel-trigger.open,.asel-trigger:hover{border-color:var(--faint)}.asel-sel{display:flex;flex-wrap:wrap;gap:4px}.asel-ph{color:var(--sub);font-size:13px}.asel-pop{width:260px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.14)}.asel-search input{width:100%;height:32px;padding:0 8px;border:1px solid var(--line);border-radius:6px;font-size:13px}.asel-lab{margin:8px 2px 4px;color:var(--sub);font-size:11px}.asel-list{max-height:240px;overflow-y:auto;margin:0;padding:0;list-style:none}.asel-opt{display:flex;align-items:center;gap:8px;width:100%;padding:6px;border:0;border-radius:6px;background:none;cursor:pointer;text-align:left}.asel-opt:hover{background:var(--bg)}.asel-check{width:12px;color:var(--primary);font-size:12px}.asel-nm{display:flex;flex-direction:column;min-width:0}.asel-nm b{font-size:13px;font-weight:600}.asel-nm em{overflow:hidden;color:var(--sub);font-size:11px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.asel-empty{padding:10px 6px;color:var(--sub);font-size:12px}.dhead-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-bottom:10px}.dhead-controls .dtools{margin-bottom:0}.dhead-assignees{display:flex;align-items:center;gap:8px}.dhead-assignees-lab{color:var(--sub);font-size:12px}.dhead-assignees .asel{min-width:180px}.pe-colors{display:flex;flex-wrap:wrap;gap:8px}.pe-color{flex-shrink:0;width:22px;height:22px;border:2px solid transparent;border-radius:50%;cursor:pointer}.pe-color.on{border-color:var(--ink)}.pe-error{margin:4px 0 0;color:var(--warn);font-size:12px}.mfoot .grow{flex:1 1}.btn.ghost.danger{color:var(--warn)}.echip.pe{border-style:dashed}.legend .sw.personal{background:repeating-linear-gradient(45deg,#6b7280,#6b7280 3px,#b6bcc4 0,#b6bcc4 6px)}.mycal-empty{margin:0 0 12px;padding:14px 16px;border:1px dashed var(--line);border-radius:var(--radius);background:var(--card);color:var(--ink2);font-size:13px}.mine-toggle{height:30px;padding:0 12px;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--ink2);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0}.mine-toggle:hover:not(:disabled){border-color:var(--faint)}.mine-toggle.on{border-color:var(--primary);background:var(--brand-soft);color:var(--primary)}.mine-toggle:disabled{opacity:.5;cursor:not-allowed}