:root{color-scheme:light;font-family:Segoe UI,Noto Sans TC,system-ui,sans-serif;--ink: #1d2636;--muted: #667085;--line: #d9e0ea;--surface: #ffffff;--wash: #f4f7fb;--navy: #10233a;--teal: #16807a;--gold: #b7791f;--red: #c2413b;--green: #2f855a;--blue: #2b6cb0;--coral: #d66853;--violet: #7057c9;--shadow: 0 18px 44px rgba(29, 38, 54, .1);--shadow-soft: 0 10px 26px rgba(29, 38, 54, .07);--ease: cubic-bezier(.2, .8, .2, 1)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;color:var(--ink);background:linear-gradient(135deg,rgba(22,128,122,.08),transparent 31%),linear-gradient(35deg,rgba(183,121,31,.08),transparent 28%),linear-gradient(180deg,#f8fbff,#eef4f9)}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer}h1,h2,p{margin:0}h1{font-size:30px}h2{font-size:18px}.shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh;width:100%}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:26px;padding:22px;color:#eef5ff;background:linear-gradient(180deg,#0d2138,#132f46 58%,#173442);box-shadow:inset -1px 0 #ffffff14}.brand,.panelTitle,.topbar,.topActions,.searchBox,.settingsRow,.taskMeta,.taskTop,.columnHeader,.inlineMeta,.memberHead{display:flex;align-items:center}.brand{gap:12px;flex-wrap:wrap;animation:slideIn .55s var(--ease) both}.brand strong,.metric strong,.projectRow strong,.taskItem strong,.projectCard strong,.workloadCard strong{display:block}.brand span,.sidebarPanel span,.projectRow span,.taskItem span,.projectCard span,.settingsRow span,.logContext span,.memberHead span{color:inherit;opacity:.72;font-size:13px}.versionBadge{min-height:24px;display:inline-flex;align-items:center;padding:2px 9px;border:1px solid rgba(255,255,255,.2);border-radius:999px;color:#dff7f3;background:#ffffff1a;font-size:12px;font-weight:900}.versionBadgeButton{transition:transform .18s var(--ease),border-color .18s ease,background .18s ease}.versionBadgeButton:hover{transform:translateY(-1px);border-color:#88e1d38c;background:#46b6a22e}.aboutSystemPanel{display:grid;gap:8px;margin-top:-18px;padding:9px 10px;border:1px solid rgba(136,225,211,.18);border-radius:8px;background:#081f313d;box-shadow:inset 0 1px #ffffff0d}.aboutSystemHeader{display:flex;align-items:center;justify-content:space-between;gap:8px}.aboutSystemHeader span{display:inline-flex;align-items:center;gap:7px;min-width:0;color:#eef7ff;font-size:13px;font-weight:900}.aboutSystemHeader i{width:8px;height:8px;border-radius:999px;background:#65e7b9;box-shadow:0 0 12px #65e7b9b3}.aboutSystemHeader button{min-height:28px;padding:0 8px;border:1px solid rgba(136,225,211,.24);border-radius:6px;color:#e5f6ff;background:#ffffff14;font-size:12px;font-weight:900}.aboutSystemBody{display:grid;gap:3px;padding:9px 10px;border:1px solid rgba(101,231,185,.24);border-radius:8px;color:#eef7ffdb;background:#07304157;font-size:12px;font-weight:800;line-height:1.45}.aboutSystemBody span{min-width:0;overflow-wrap:anywhere}.aboutSystemPanel.isCollapsed .aboutSystemBody{display:none}.versionBulletin{display:grid;gap:8px;margin-top:-14px;padding:10px;border:1px solid rgba(136,225,211,.18);border-radius:8px;background:#081f3161;box-shadow:inset 0 1px #ffffff0f}.versionBulletinHead{display:flex;align-items:center;justify-content:space-between;gap:8px}.versionBulletinHead span{display:inline-flex;align-items:center;gap:6px;min-width:0;color:#eef7ff;font-size:13px;font-weight:900}.versionBulletinHead i{width:8px;height:8px;border-radius:999px;background:#65e7b9;box-shadow:0 0 12px #65e7b9b3}.versionBulletinHead svg{color:#f4a5b9}.versionBulletinHead button{min-height:28px;padding:0 8px;border:1px solid rgba(136,225,211,.24);border-radius:6px;color:#e5f6ff;background:#ffffff14;font-size:12px;font-weight:900}.versionBulletinCard{display:grid;gap:5px;padding:10px;border:1px solid rgba(101,231,185,.32);border-radius:8px;color:#eef7ff;background:linear-gradient(180deg,#16807a38,#0d213861)}.versionBulletinCard small{color:#d6f8f2;font-size:12px;font-weight:900}.versionBulletinCard strong{font-size:18px}.versionBulletinCard p{color:#eef7ffd6;font-size:12px;line-height:1.45}.versionBulletinCard time{color:#eef7ff9e;font-size:11px;font-weight:800}.brandMark{width:42px;height:42px;border-radius:8px;display:grid;place-items:center;background:linear-gradient(135deg,#1f9d8e,#46b6a2);box-shadow:0 12px 28px #1f9d8e57}.nav{display:grid;gap:8px}.nav button{position:relative;min-height:42px;border-radius:8px;padding:0 12px;display:flex;align-items:center;gap:10px;overflow:hidden;color:#d7e4f4;background:transparent;text-align:left;transition:transform .18s var(--ease),background .2s ease,color .2s ease}.nav button:hover,.nav button.active{transform:translate(3px);color:#fff;background:#ffffff21}.nav button.active:before{content:"";position:absolute;inset:7px auto 7px 0;width:4px;border-radius:0 999px 999px 0;background:#f4c76b;box-shadow:0 0 18px #f4c76bbf}.sidebarPanel{margin-top:auto;display:grid;gap:8px;padding:16px;border:1px solid rgba(255,255,255,.13);border-radius:8px;background:linear-gradient(145deg,#ffffff21,#ffffff0d);box-shadow:0 14px 30px #0000002e;animation:riseIn .6s .1s var(--ease) both}.sopShortcut{min-height:56px;display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;padding:11px 12px;border:1px solid rgba(255,255,255,.16);border-radius:8px;color:#eef7ff;background:#ffffff14;text-align:left;box-shadow:inset 0 1px #ffffff14;transition:transform .18s var(--ease),border-color .18s ease,background .18s ease}.sopShortcut:hover{transform:translateY(-1px);border-color:#46b6a28c;background:#1f9d8e29}.sopShortcut svg{color:#88e1d3}.sopShortcut span{display:grid;gap:2px;min-width:0}.sopShortcut strong{font-size:14px}.sopShortcut small{color:#eef7ffb8;font-size:12px;font-weight:800}.main{min-width:0;width:100%;max-width:100%;padding:clamp(18px,1.55vw,28px);overflow-x:hidden;animation:fadeIn .45s var(--ease) both}.topbar{justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px;margin-bottom:24px;padding:18px 20px;border:1px solid rgba(255,255,255,.72);border-radius:12px;background:#ffffffad;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.eyebrow{margin:0 0 4px;color:var(--teal);font-size:12px;font-weight:800}.topActions{flex:1 1 620px;justify-content:flex-end;flex-wrap:wrap;gap:10px;min-width:0}.userBadge{min-height:42px;display:grid;align-content:center;gap:2px;padding:5px 12px;border:1px solid var(--line);border-radius:8px;background:#ffffffd1}.userBadge strong{font-size:13px;color:var(--navy)}.userBadge span{color:var(--muted);font-size:11px}.loginPage{min-height:100vh;display:grid;grid-template-columns:minmax(320px,.9fr) minmax(320px,420px);align-items:center;gap:40px;padding:clamp(24px,6vw,84px)}.loginHero{display:grid;gap:14px;max-width:620px}.loginHero h1{font-size:44px;color:var(--navy)}.loginHero p:last-child{color:var(--muted);font-size:17px;line-height:1.8}.loginCard{display:grid;gap:14px;padding:22px;border-radius:12px;border:1px solid rgba(215,226,239,.9);background:#ffffffeb;box-shadow:var(--shadow)}.loginCard label{display:grid;gap:7px;color:var(--muted);font-size:13px;font-weight:800}.loginCard button,.governanceControls select{min-height:42px}.loginCard button{border-radius:8px;color:#fff;background:linear-gradient(135deg,var(--teal),#2d73b8);font-weight:900}.loginCard small{color:var(--muted)}.governancePanel{display:grid;gap:12px}.governanceControls{display:flex;align-items:end;justify-content:space-between;gap:14px}.governanceControls label{min-width:260px;display:grid;gap:6px;color:var(--muted);font-size:13px;font-weight:900}.governanceControls span{color:var(--muted);font-size:13px}.searchBox{flex:1 1 340px;width:auto;min-width:min(340px,100%);max-width:520px;gap:8px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#ffffffe0;box-shadow:inset 0 1px #fffc;transition:box-shadow .2s ease,border-color .2s ease,transform .2s var(--ease)}.searchBox:focus-within{border-color:#16807a80;box-shadow:0 0 0 4px #16807a1f;transform:translateY(-1px)}.searchBox input{width:100%;height:42px;border:0;outline:0;background:transparent}.iconButton,.tinyDanger{display:grid;place-items:center}.iconButton{width:42px;height:42px;border-radius:8px;color:var(--navy);background:var(--surface);border:1px solid var(--line);transition:transform .18s var(--ease),box-shadow .18s ease,color .18s ease}.iconButton:hover{color:var(--teal);transform:translateY(-2px);box-shadow:var(--shadow-soft)}.logoutButton{min-height:42px;display:inline-flex;align-items:center;gap:7px;padding:0 12px;border-radius:8px;color:var(--navy);background:var(--surface);border:1px solid var(--line);font-weight:900}.logoutButton:hover{color:var(--teal);box-shadow:var(--shadow-soft)}.onlineBadge,.supportButton{min-height:42px;display:inline-flex;align-items:center;gap:6px;padding:0 11px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--navy);white-space:nowrap}.onlineBadge svg{color:var(--teal)}.onlineBadge span{color:var(--muted);font-size:12px}.supportButton{position:relative;font-weight:900}.supportButton:hover{color:var(--teal);box-shadow:var(--shadow-soft)}.supportButton b{position:absolute;top:-7px;right:-7px;min-width:21px;height:21px;display:grid;place-items:center;padding:0 5px;border-radius:999px;color:#fff;background:var(--red);font-size:11px}.toastNotice{position:fixed;right:26px;bottom:82px;z-index:120;display:inline-flex;align-items:center;gap:8px;padding:12px 15px;border-radius:10px;color:#0f5132;background:#e8f7ef;border:1px solid #bfe7cf;box-shadow:var(--shadow);font-weight:900;animation:riseIn .24s var(--ease) both}.viewStack{display:grid;gap:18px}.viewStack>*{min-width:0}.returnStrip{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#ffffffdb;box-shadow:var(--shadow-soft)}.returnStrip button{min-height:34px;padding:0 12px;border-radius:8px;color:#fff;background:linear-gradient(135deg,var(--teal),#2d73b8);font-weight:900}.returnStrip span{color:var(--muted);font-size:13px;font-weight:800}.metricGrid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:14px}.metric,.panel{position:relative;overflow:hidden;background:linear-gradient(180deg,#fffffff5,#ffffffe6);border:1px solid rgba(226,233,243,.95);border-radius:10px;box-shadow:var(--shadow);animation:riseIn .5s var(--ease) both}.metric:before,.panel:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--teal),var(--blue),var(--gold),var(--coral));opacity:.78}.metric:hover,.panel:hover{box-shadow:0 22px 52px #1d263621}.metric{min-height:140px;padding:18px}.metric:nth-child(1){animation-delay:.02s}.metric:nth-child(2){animation-delay:.07s}.metric:nth-child(3){animation-delay:.12s}.metric:nth-child(4){animation-delay:.17s}.metricIcon{width:38px;height:38px;display:grid;place-items:center;border-radius:8px;margin-bottom:14px;color:var(--teal);background:linear-gradient(135deg,#dff4ef,#edf5ff);box-shadow:inset 0 1px #fffffff2}.metric span,.metric small,.projectRow small,.projectCard small,.workloadCard small{color:var(--muted)}.metric strong{font-size:28px;margin:4px 0}.twoColumn,.split,.worklogSplit{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.42fr);gap:18px;align-items:start;width:100%;max-width:100%;min-width:0}.worklogSplit.logClosed{grid-template-columns:minmax(0,1fr) 54px}.worklogSplit.logOpen{grid-template-columns:minmax(0,1fr);padding-right:calc(clamp(360px,28vw,470px) + 18px)}.projectSplit.panelClosed{grid-template-columns:minmax(0,1fr) 58px}.projectWorkspace.closed{width:58px;min-height:520px;padding:10px}.projectWorkspace.closed .drawerToggle{writing-mode:vertical-rl;min-height:320px}.projectWorkspace.closed .projectWorkspaceContent{display:none}.projectWorkspace.open .drawerToggle{margin-bottom:12px}.panel{padding:18px}.panelTitle{justify-content:space-between;gap:12px;margin-bottom:16px}.panelTitle div{display:flex;align-items:center;gap:8px;color:var(--navy)}.panelTitle span{color:var(--muted);font-size:13px}.projectList,.taskRail,.projectCards,.reportBars,.logList,.ganttRows,.miniRows{display:grid;gap:10px}.projectRow{display:grid;grid-template-columns:minmax(180px,1.5fr) 88px minmax(120px,.8fr) 46px;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#fff,#fbfdff);transition:transform .18s var(--ease),border-color .18s ease,box-shadow .18s ease}button.projectRow{width:100%;color:var(--ink);text-align:left}.projectLinkRow strong,.textLink{color:var(--blue)}.textLink{width:fit-content;padding:0;background:transparent;text-align:left;font-weight:700}.textLink:hover{color:var(--teal);text-decoration:underline}.projectRow:hover{transform:translateY(-2px);border-color:#16807a59;box-shadow:var(--shadow-soft)}.pill{display:inline-flex;align-items:center;justify-content:center;min-width:42px;width:fit-content;min-height:26px;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:800}.pill-規劃中,.pill-待辦,.pill-低{color:#315174;background:#e7eff8}.pill-進行中,.pill-中{color:#75530d;background:#fff0c2}.pill-待審核,.pill-審核中,.pill-高{color:#9b2c2c;background:#ffe1dc}.pill-已完成,.pill-完成{color:#276749;background:#dff4e9}.light{display:inline-flex;align-items:center;gap:6px;min-height:26px;width:fit-content;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:800}.light i{width:10px;height:10px;border-radius:50%;animation:signalPulse 1.9s ease-in-out infinite}.light.green{color:#276749;background:#dff4e9}.light.green i{background:#2f855a}.light.yellow{color:#75530d;background:#fff0c2}.light.yellow i{background:#d69e2e}.light.red{color:#9b2c2c;background:#ffe1dc}.light.red i{background:#c2413b}.signalLegend{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:-4px 0 14px;color:var(--muted);font-size:12px}.signalLegend span{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:4px 9px 4px 4px;border:1px solid rgba(226,233,243,.92);border-radius:999px;background:#ffffffb8}.viewStack>.signalLegend{margin:0;padding:10px;border:1px solid rgba(226,233,243,.92);border-radius:8px;background:#ffffffc2;box-shadow:var(--shadow-soft)}.progress,.reportRow div{height:8px;border-radius:999px;background:#e7edf5;overflow:hidden}.progress{position:relative;height:10px;border:1px solid rgba(217,224,234,.9);background:linear-gradient(180deg,#ffffffd9,#fff0),#e8eef5;box-shadow:inset 0 1px 2px #10233a14}.progress:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 38px,rgba(255,255,255,.55) 38px 40px);pointer-events:none}.progress i,.reportRow i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal),var(--blue));animation:growBar .8s var(--ease) both}.progress i{position:relative;z-index:1;min-width:6px;background:var(--progress-fill, linear-gradient(90deg, var(--teal), var(--blue)));box-shadow:0 0 0 1px #ffffff52 inset,0 4px 10px var(--progress-glow, rgba(22,128,122,.22))}.progress-low{--progress-fill: linear-gradient(90deg, #c2413b, #e8796e);--progress-glow: rgba(194,65,59,.24)}.progress-watch{--progress-fill: linear-gradient(90deg, #b7791f, #f2c94c);--progress-glow: rgba(183,121,31,.24)}.progress-steady{--progress-fill: linear-gradient(90deg, #16807a, #22a79a);--progress-glow: rgba(22,128,122,.24)}.progress-complete{--progress-fill: linear-gradient(90deg, #2b6cb0, #16807a);--progress-glow: rgba(43,108,176,.24)}.progressLegend{display:flex;flex-wrap:wrap;gap:8px;padding:10px;border:1px solid rgba(226,233,243,.92);border-radius:8px;background:#ffffffc7;box-shadow:var(--shadow-soft)}.progressLegend.compact{padding:8px;box-shadow:none}.progressLegend span{min-height:30px;display:inline-flex;align-items:center;gap:8px;padding:4px 10px;border:1px solid rgba(226,233,243,.92);border-radius:999px;color:var(--muted);background:#ffffffb8;font-size:13px;font-weight:800}.progressSwatch{width:32px;height:8px;border-radius:999px;box-shadow:inset 0 0 0 1px #ffffff5c}.progressSwatch.low{background:linear-gradient(90deg,#c2413b,#e8796e)}.progressSwatch.watch{background:linear-gradient(90deg,#b7791f,#f2c94c)}.progressSwatch.steady{background:linear-gradient(90deg,#16807a,#22a79a)}.progressSwatch.complete{background:linear-gradient(90deg,#2b6cb0,#16807a)}.taskItem{display:grid;gap:9px;min-height:156px;padding:13px;border:1px solid rgba(217,224,234,.92);border-radius:8px;background:linear-gradient(180deg,#fff,#fbfdff);transition:transform .18s var(--ease),box-shadow .18s ease,border-color .18s ease;animation:riseIn .42s var(--ease) both}.taskItem:hover{transform:translateY(-3px);border-color:#2b6cb04d;box-shadow:0 16px 32px #1d26361c}.taskStageBadge{min-height:24px;display:inline-flex;align-items:center;padding:3px 8px;border:1px solid var(--phase-border, var(--line));border-radius:6px;color:var(--phase-ink, var(--navy));background:var(--phase-bg, #eef4fa);font-size:12px;font-weight:900;line-height:1;white-space:nowrap}.focusedTaskItem{border:3px solid #8e44ad;box-shadow:0 0 0 4px #8e44ad33,0 14px 30px #1d26361f}.readonlyBanner{padding:12px 14px;border:1px solid #d8e8fb;border-radius:8px;color:#1f477c;background:#eef6ff;font-weight:800}.formWarning{margin:0;padding:10px 12px;border:1px solid #f3c7c4;border-radius:8px;background:#fff3f1;color:#b3342d;font-size:13px;font-weight:800;line-height:1.55}select:disabled,input:disabled,textarea:disabled,button:disabled{cursor:not-allowed;opacity:.62}.taskTop,.columnHeader{justify-content:space-between}.taskMeta{flex-wrap:wrap;gap:6px;color:var(--muted)}.taskMeta small{display:inline-flex;min-height:23px;align-items:center;padding:2px 7px;border-radius:999px;background:#f2f6fa;font-size:12px}.inlineMeta{gap:6px;flex-wrap:wrap}.attachmentHint{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:13px}.tinyDanger{width:28px;height:28px;border-radius:6px;color:var(--red);background:#fff1ef;transition:transform .18s var(--ease),background .18s ease}.tinyDanger:hover{transform:scale(1.08);background:#ffe0dc}select,input,textarea{min-height:40px;border:1px solid var(--line);border-radius:8px;padding:0 10px;background:#fff;color:var(--ink);min-width:0;transition:border-color .18s ease,box-shadow .18s ease,transform .18s var(--ease)}textarea{min-height:92px;padding:10px;resize:vertical}select:focus,input:focus,textarea:focus{outline:0;border-color:#16807a8c;box-shadow:0 0 0 4px #16807a1f}.taskItem select{width:100%}.segmented{display:flex;flex-wrap:wrap;gap:6px;width:fit-content;padding:5px;border:1px solid var(--line);border-radius:8px;background:#ffffffc7;box-shadow:var(--shadow-soft)}.segmented button{min-height:34px;padding:0 12px;border-radius:6px;background:transparent;color:var(--muted);transition:background .18s ease,color .18s ease,transform .18s var(--ease)}.segmented button:hover{transform:translateY(-1px);background:#edf5f4}.segmented button.selected{background:var(--navy);color:#fff}.segmented button.dangerFilter{color:#b7353a}.segmented button.dangerFilter.selected{background:#cf4f55;color:#fff;box-shadow:0 12px 24px #cf4f5533}.deletedProjectNotice{margin:12px 0;padding:12px 14px;border-left:4px solid var(--teal);border-radius:8px;color:#27445c;background:#eefaf8;line-height:1.7}.deletedProjectNotice.compact{margin:0 0 14px}.deletedProjectList,.deletedArchiveList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.deletedProjectCard,.deletedArchiveCard{display:grid;gap:10px;padding:16px;border:1px solid #f0c5c8;border-radius:8px;background:linear-gradient(180deg,snow,#fff)}.deletedProjectCardHead{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.deletedProjectCard strong,.deletedArchiveCard strong{color:var(--ink);font-size:18px}.deletedProjectCard i,.deletedArchiveCard i{justify-self:start;padding:4px 10px;border:1px solid #c7ddf6;border-radius:999px;color:#1f67b1;background:#e8f3ff;font-style:normal;font-weight:800}.deletedMeta{display:grid;grid-template-columns:90px 1fr;gap:6px 10px;color:var(--muted)}.deletedMeta b{color:var(--ink)}.deletedProjectCard em{color:#b7353a;font-style:normal;font-weight:700}.deletedProjectWorkspace .projectWorkspaceContent{gap:12px}.adminBlock{margin:16px 0;padding:16px;border:1px solid var(--line);border-radius:10px;background:#f8fbfd}.adminHint{margin:10px 0 14px;padding:10px 12px;border-left:4px solid var(--teal);border-radius:8px;color:#27445c;background:#eefaf8}.deletedArchiveCard button{justify-self:start;display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border:0;border-radius:8px;color:#fff;background:linear-gradient(135deg,var(--teal),var(--blue));font-weight:800}.projectCards{grid-template-columns:repeat(3,minmax(240px,1fr))}.tableHeader{display:grid;gap:10px;align-items:center;padding:9px 12px;border:1px solid rgba(217,224,234,.92);border-radius:8px;color:var(--muted);background:#f4f8fb;font-size:12px;font-weight:900}.projectCardHeader{grid-template-columns:1.2fr 1.2fr .7fr 1fr 1.2fr}.projectCard{min-height:194px;display:grid;gap:12px;text-align:left;padding:15px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:linear-gradient(180deg,#fff,#fbfdff);transition:transform .2s var(--ease),box-shadow .2s ease,border-color .2s ease;animation:riseIn .45s var(--ease) both}.projectCardTitle{display:grid;gap:5px;align-content:start}.projectCardTitle strong{line-height:1.3}.projectCardTitle i,.projectCodeBadge{justify-self:start;display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border:1px solid #cfe0ef;border-radius:999px;color:var(--blue);background:#eef6fb;font-size:12px;font-style:normal;font-weight:900}.contentReviewBadge{justify-self:start;display:inline-flex;align-items:center;min-height:24px;padding:2px 9px;border:1px solid rgba(212,153,32,.42);border-radius:999px;color:#9a5f00;background:#fff7e3;font-size:12px;font-style:normal;font-weight:900}.detailCode{margin-top:0}.detailBadgeRow{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}.projectCardActions{display:flex;gap:8px;align-items:center;justify-content:flex-end}.projectCardActions span{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 11px;border-radius:7px;color:var(--navy);background:#eef5fb;font-size:13px;font-weight:800;transition:transform .18s var(--ease),background .18s ease,color .18s ease}.projectCardActions span:hover{transform:translateY(-1px);color:#fff;background:linear-gradient(135deg,var(--teal),var(--blue))}.projectCard:hover{transform:translateY(-4px);border-color:#16807a61;box-shadow:0 18px 40px #1d26361f}.selectedCard{border-color:var(--teal);box-shadow:0 0 0 3px #16807a24}.projectDetailHero{display:grid;gap:18px}.detailHeroTop{display:flex;justify-content:space-between;gap:14px;align-items:center}.ghostButton{min-height:36px;padding:0 12px;border-radius:8px;color:var(--navy);background:#eef5fb;transition:transform .18s var(--ease),background .18s ease}.ghostButton:hover{transform:translateY(-1px);background:#e0f1ee}.detailHeroGrid{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(420px,1.25fr);gap:18px;align-items:start}.detailHeroGrid h2{font-size:32px;margin-bottom:10px}.detailLead{color:var(--muted);line-height:1.65}.detailStats{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr));gap:12px}.detailStats .metric{min-height:128px;box-shadow:var(--shadow-soft)}.detailInfoGrid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:10px}.infoCell{display:grid;gap:5px;padding:12px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#fff,#fbfdff)}.infoCell span{color:var(--muted);font-size:13px}.templateSheets{display:grid;gap:14px}.templateSheet{display:grid;gap:14px;padding:14px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(180deg,#fff,#fbfdff)}.templateSheetHead{display:grid;gap:5px}.templateSheetHead strong{font-size:18px}.templateSheetHead span{color:var(--muted);font-size:13px}.contentAttachmentPanel{display:grid;gap:10px;padding:12px;border:1px dashed #b8d2e7;border-radius:10px;background:linear-gradient(180deg,#f7fcfd,#f2f8fb)}.contentAttachmentHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.contentAttachmentHead div{display:grid;gap:3px}.contentAttachmentHead strong{display:inline-flex;align-items:center;gap:6px;font-size:14px}.contentAttachmentHead span{color:var(--muted);font-size:12px}.contentAttachmentUpload{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 12px;border-radius:8px;color:var(--teal-dark);background:#e8f6f3;font-weight:800;cursor:pointer;white-space:nowrap}.contentAttachmentUpload input{display:none}.contentAttachmentList{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:8px}.contentAttachmentItem{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px;border:1px solid #dce8f2;border-radius:9px;background:#fff}.contentAttachmentThumb,.contentAttachmentFile{width:52px;height:52px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:#eef6fb;color:var(--blue);overflow:hidden}.contentAttachmentThumb img{width:100%;height:100%;object-fit:cover}.contentAttachmentItem div:nth-child(2){min-width:0;display:grid;gap:3px}.contentAttachmentItem div:nth-child(2) strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.contentAttachmentItem div:nth-child(2) span{color:var(--muted);font-size:12px}.contentAttachmentActions{display:inline-flex;align-items:center;gap:6px}.contentAttachmentActions a,.contentAttachmentActions button{min-height:30px;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:5px 8px;border-radius:8px;color:var(--blue);background:#edf5fb;font-size:12px;font-weight:800;text-decoration:none}.contentAttachmentActions button{color:var(--red);background:#fff1ef}.contentAttachmentEmpty{min-height:42px;display:flex;align-items:center;padding:0 10px;border:1px dashed #cbd9e6;border-radius:8px;color:var(--muted);font-size:13px;background:#fff}.templateGroups{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.templateGroup{display:grid;gap:10px;padding:12px;border-radius:8px;background:#f6fafc}.templateGroup h3{margin:0;font-size:15px}.fieldChips{display:flex;flex-wrap:wrap;gap:7px}.fieldChips span{display:inline-flex;min-height:26px;align-items:center;padding:3px 8px;border-radius:999px;color:#315174;background:#e7eff8;font-size:12px}.detailTaskList{display:grid;gap:10px}.detailTaskList>div{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1fr) 86px;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff}.detailTaskList span{color:var(--muted);font-size:13px}.gcdFlow{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.gcdCard{position:relative;display:grid;gap:9px;padding:14px;border:1px solid var(--phase-border, var(--line));border-radius:10px;background:linear-gradient(90deg,var(--phase-wash, transparent) 0 5px,transparent 5px),linear-gradient(180deg,#fff,#fbfdff);overflow:hidden}.gcdCard:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--phase-border, #cbd5e1)}.gcdCard.done:before{background:var(--green)}.gcdCard.activeStage:before{background:var(--gold);box-shadow:0 0 18px #b7791f66}.gcdCode{width:fit-content;min-height:28px;display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;color:var(--phase-ink, #ffffff);background:var(--phase-bg, linear-gradient(135deg, var(--navy), var(--blue)));border:1px solid var(--phase-border, transparent);font-weight:800;font-size:12px}.gcdCard p{color:var(--muted);font-size:13px;line-height:1.55}.gcdCard small{color:var(--muted)}.formPanel,.logForm{align-self:start;display:grid;gap:11px}.logProgressFields{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(220px,1.2fr);gap:10px}.logProgressFields label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:800}.workStateChecks{display:grid;grid-template-columns:repeat(2,minmax(76px,1fr));gap:8px;margin:0;padding:0;border:0}.workStateChecks legend{grid-column:1 / -1;color:var(--muted);font-size:12px;font-weight:800}.workStateChecks label{display:flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:8px 6px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);cursor:pointer;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.workStateChecks label.checked{border-color:#20948b80;background:#20948b1c;box-shadow:inset 0 0 0 1px #20948b1f}.workStateChecks input{flex:0 0 auto;width:16px;height:16px;margin:0;accent-color:var(--teal)}.workStateChecks span{white-space:nowrap}.progressInput{display:grid;grid-template-columns:1fr 72px auto;align-items:center;gap:7px}.progressInput input[type=range]{padding:0;accent-color:var(--teal)}.embeddedForm{padding:0;background:transparent;border:0;box-shadow:none}.projectWorkspace{display:grid;gap:14px}.workspaceTabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:6px;padding:5px;border:1px solid var(--line);border-radius:8px;background:#f2f7fac7}.workspaceTabs button{min-height:34px;border-radius:6px;color:var(--muted);background:transparent;font-weight:800;transition:transform .18s var(--ease),background .18s ease,color .18s ease}.workspaceTabs button:hover{transform:translateY(-1px);background:#e8f4f1}.workspaceTabs button.selected{color:#fff;background:var(--navy)}.projectInspect,.projectEditForm{display:grid;gap:14px}.saveAsHint{padding:11px 12px;border:1px solid #cfe7e4;border-left:4px solid var(--teal);border-radius:8px;color:var(--ink);background:#eef8f7;font-size:13px;line-height:1.6}.saveAsOptionGroup{display:grid;gap:10px;padding:12px;border:1px solid #d7e6f1;border-radius:8px;background:#f8fbfd}.saveAsOptionGroup>span{color:var(--muted);font-size:13px;font-weight:900}.saveAsOptionGroup label{display:grid;grid-template-columns:18px 1fr;gap:8px;align-items:start;margin:0;color:var(--ink);font-size:14px;font-weight:800}.saveAsOptionGroup input{width:16px;height:16px;margin-top:2px;accent-color:var(--teal)}.formActions{display:flex;flex-wrap:wrap;gap:10px}.inspectHero{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px;border-radius:8px;background:linear-gradient(135deg,#f7fbff,#edf8f5);border:1px solid #e4edf5}.inspectHero h2{font-size:24px;line-height:1.24}.inspectGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.inspectGrid span{display:grid;gap:5px;padding:11px;border:1px solid var(--line);border-radius:8px;color:var(--muted);background:#fff;font-size:12px}.inspectGrid strong{color:var(--ink);font-size:15px}.peopleChips,.workspaceActions{display:flex;flex-wrap:wrap;gap:8px}.peopleChips i{min-height:28px;display:inline-flex;align-items:center;padding:0 10px;border-radius:999px;color:var(--navy);background:#eef5fb;font-size:13px;font-style:normal;font-weight:800}.workspaceActions button,.projectEditForm button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;border-radius:8px;color:#fff;background:linear-gradient(135deg,var(--teal),var(--blue));font-weight:900;box-shadow:0 12px 26px #16807a33;transition:transform .18s var(--ease),box-shadow .18s ease}.workspaceActions button:hover,.projectEditForm button:hover{transform:translateY(-2px);box-shadow:0 18px 34px #16807a42}.projectEditForm .danger,.formActions .danger{background:linear-gradient(135deg,var(--red),var(--coral))}.projectEditForm label{display:grid;gap:6px;color:var(--muted);font-size:13px;font-weight:800}.fieldGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.projectParticipantSelector{border:1px solid #dbe6f2;border-radius:10px;padding:12px;background:#f8fbfd}.projectParticipantSelector legend{padding:0 6px;color:var(--muted);font-size:13px;font-weight:900}.projectParticipantOptions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:180px;overflow:auto}.projectParticipantOption{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 8px;padding:8px 10px;border:1px solid #dbe6f2;border-radius:8px;background:#fff}.projectParticipantOption input{width:16px;height:16px;accent-color:var(--teal)}.projectParticipantOption span{color:var(--ink);font-size:13px;font-weight:900}.projectParticipantOption small{grid-column:2;color:var(--muted);font-size:11px}.formPanel button,.quickTask button,.settingsRow button,.logForm button{min-height:40px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;color:#fff;background:linear-gradient(135deg,var(--teal),#2d8fb4);box-shadow:0 12px 24px #16807a38;transition:transform .18s var(--ease),box-shadow .18s ease,filter .18s ease}.formPanel button:hover,.quickTask button:hover,.settingsRow button:hover,.logForm button:hover{transform:translateY(-2px);box-shadow:0 16px 30px #16807a47;filter:saturate(1.08)}.quickTask{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(160px,1.05fr) minmax(92px,.55fr) minmax(130px,.85fr) minmax(110px,.75fr) minmax(72px,.45fr) minmax(86px,.55fr) minmax(92px,.55fr) minmax(118px,.7fr) minmax(118px,.7fr) minmax(118px,.7fr) minmax(70px,.45fr) 46px;gap:8px;width:100%;max-width:100%;min-width:0;padding:12px;border-radius:8px;background:#ffffffe0;border:1px solid #e8edf4;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.quickTask button{padding:0}.boardScope{display:flex;align-items:center;gap:10px;padding:11px 14px;border:1px solid rgba(226,233,243,.94);border-radius:8px;background:#ffffffc7;box-shadow:var(--shadow-soft)}.boardScope strong{color:var(--navy)}.boardScope span{color:var(--muted);font-size:13px}.boardStageScope{display:grid;grid-template-columns:minmax(190px,.28fr) minmax(0,1fr);gap:8px;align-items:stretch;padding:8px;border:1px solid rgba(226,233,243,.94);border-radius:8px;background:#ffffffe0;box-shadow:var(--shadow-soft)}.boardStageIntro{display:grid;gap:2px;align-content:center;padding:8px 10px;border-left:3px solid var(--teal);border-radius:8px;background:#eef8f6}.boardStageIntro span,.boardStageIntro small{color:var(--muted);font-size:12px;font-weight:800}.boardStageIntro strong{color:var(--navy);font-size:16px;line-height:1.2}.boardStageFilter{display:grid;grid-template-columns:repeat(6,minmax(78px,1fr));gap:6px;min-width:0}.boardStageFilter button{min-height:42px;display:grid;gap:3px;place-items:center;padding:6px 8px;border:1px solid var(--phase-border, #d7e3ef);border-radius:8px;color:var(--phase-ink, #56657a);background:linear-gradient(180deg,#ffffffe6,#ffffffc2),var(--phase-bg, #f5f9fc);box-shadow:none}.boardStageFilter button span{font-weight:900;white-space:nowrap}.boardStageFilter button small{min-width:22px;min-height:18px;display:inline-grid;place-items:center;border-radius:999px;color:var(--phase-ink, var(--muted));background:#ffffffb8;font-size:11px;font-weight:900}.boardStageFilter button:hover{transform:translateY(-.5px);border-color:var(--phase-border, rgba(22,128,122,.35));box-shadow:0 8px 18px #1d26360f,0 0 0 2px var(--phase-wash, transparent)}.boardStageFilter button.selected{color:var(--phase-ink, #ffffff);border-color:var(--phase-border, transparent);background:linear-gradient(180deg,#ffffffc7,#ffffff7a),var(--phase-bg, linear-gradient(135deg, var(--teal), #2d73b8));box-shadow:0 8px 18px #1f71941f,0 0 0 3px var(--phase-wash, transparent)}.boardStageFilter button.selected small{color:var(--phase-ink, var(--navy));background:#ffffffe0}.boardStageFilter button:not([class*=phase-]){--phase-bg: #f5f9fc;--phase-border: #d7e3ef;--phase-ink: #56657a;--phase-wash: rgba(22,128,122,.16)}.boardStageFilter button:not([class*=phase-]).selected{--phase-bg: linear-gradient(135deg, var(--teal), #2d73b8);--phase-border: transparent;--phase-ink: #ffffff}.boardStageFilter button:not([class*=phase-]).selected small{color:var(--navy)}.boardTypeScope{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid rgba(226,233,243,.94);border-radius:8px;background:#ffffffdb;box-shadow:var(--shadow-soft)}.boardTypeScope>span{color:var(--muted);font-size:13px;font-weight:800}.boardKindFilter{display:inline-flex;align-items:center;gap:6px;padding:4px;border-radius:10px;background:#eef5f7;border:1px solid #d7e3ef}.boardKindFilter button{min-height:32px;border-radius:8px;padding:0 12px;color:#5c6b82;font-weight:900;background:transparent;box-shadow:none}.boardKindFilter button:hover{color:var(--navy);transform:none;box-shadow:none}.boardKindFilter button.selected{color:#fff;background:linear-gradient(135deg,var(--teal),#2d73b8);box-shadow:0 8px 18px #1f719433}.kanban{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;min-width:0}.worklogSplit>.kanban{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;min-width:0;padding-bottom:8px}.worklogSplit>.kanban .kanbanColumn{min-width:0}.kanbanColumn{min-height:520px;display:grid;align-content:start;gap:10px;padding:10px;border-radius:8px;background:linear-gradient(180deg,#edf2f7f0,#e6edf5e0);border:1px solid rgba(255,255,255,.66);box-shadow:inset 0 1px #ffffffd9}.kanbanColumn .taskItem{box-shadow:0 8px 18px #1d26360f}.columnHeader{min-height:34px}.columnHeader span{min-width:28px;min-height:28px;display:inline-grid;place-items:center;border-radius:999px;background:#fff;color:var(--muted);box-shadow:var(--shadow-soft)}.worklogPanel{align-self:start;position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto;transition:width .24s var(--ease),min-height .24s var(--ease),padding .24s var(--ease)}.worklogPanel.closed{width:54px;min-height:360px;padding:12px 8px;overflow:hidden}.worklogPanel.open{position:fixed;top:clamp(12px,2vh,24px);right:clamp(14px,2vw,32px);bottom:clamp(12px,2vh,24px);z-index:20;width:clamp(360px,28vw,470px);max-height:none;overflow:auto}.drawerToggle{width:100%;min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;color:var(--navy);background:#eef8f6;transition:transform .18s var(--ease),background .18s ease}.drawerToggle:hover{transform:translateY(-1px);background:#dff4ef}.worklogPanel.closed .drawerToggle{writing-mode:vertical-rl;min-height:300px}.worklogPanel.closed .drawerContent{display:none}.drawerContent{margin-top:12px}.worklogPanel.open .drawerContent{max-height:calc(100vh - 102px);padding-right:7px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.worklogPanel.open .drawerContent::-webkit-scrollbar{width:9px}.worklogPanel.open .drawerContent::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:#16807a85;background-clip:padding-box}.worklogPanel.open .drawerContent::-webkit-scrollbar-track{background:#e2e9f38c}.logContext{display:grid;gap:4px;padding:12px;margin-bottom:12px;border-radius:8px;background:linear-gradient(135deg,#f7fafc,#eef8f5);border:1px solid #e5edf5}.fileBox{min-height:42px;display:flex;align-items:center;gap:8px;border:1px dashed #a8b4c5;border-radius:8px;padding:0 12px;color:var(--muted);background:linear-gradient(135deg,#fbfdff,#f4fbf9);transition:border-color .18s ease,transform .18s var(--ease),background .18s ease}.fileBox span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fileBox.hasFile{border-color:var(--teal);color:var(--teal-strong);background:#edf9f6}.fileBox:hover{transform:translateY(-1px);border-color:var(--teal);background:#f0fbf8}.fileBox input{display:none}.logItem{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#fff,#fbfdff);animation:riseIn .35s var(--ease) both}.logItem img{width:100%;max-height:220px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.attachmentPreviewButton{width:100%;display:grid;gap:7px;padding:0;color:var(--muted);background:transparent;text-align:left;font-size:12px;font-weight:800}.watermarkedImageFrame{position:relative;display:block;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff}.attachmentThumbFrame{width:100%;height:210px;max-height:210px;transition:transform .18s var(--ease),box-shadow .18s ease}.watermarkedImageFrame img{width:100%;height:100%;display:block;object-fit:contain}.attachmentPreviewButton:hover .attachmentThumbFrame{transform:scale(1.01);box-shadow:var(--shadow-soft)}.attachmentWatermarkOverlay{position:absolute;inset:0;pointer-events:none;display:grid;place-items:center;color:#0f324e85;text-align:center;transform:rotate(-19deg);text-shadow:0 1px 2px rgba(255,255,255,.65)}.attachmentWatermarkCompany{max-width:92%;font-size:clamp(18px,5.8vw,42px);font-weight:950;line-height:1.15;opacity:.28}.attachmentWatermarkMeta{position:absolute;top:calc(50% + 28px);left:8%;right:8%;font-size:clamp(10px,1.6vw,16px);font-weight:900;opacity:.45}.attachmentWatermarkOverlay.companyOnly .attachmentWatermarkCompany{font-size:clamp(20px,6.4vw,50px);opacity:.3}.attachmentFileCard{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#f8fbff}.attachmentPendingCard{border-style:dashed;background:#fbfdff}.attachmentFileCard>div:first-child{display:grid;gap:4px}.attachmentFileCard strong{color:var(--ink);overflow-wrap:anywhere}.attachmentFileCard span,.attachmentFileCard em{color:var(--muted);font-size:12px;font-style:normal;font-weight:800;line-height:1.55}.attachmentFileActions{display:flex;flex-wrap:wrap;gap:8px}.attachmentFileActions button{min-height:30px;padding:0 10px;border-radius:8px;color:#fff;background:linear-gradient(135deg,var(--teal),#2d73b8);font-size:12px;font-weight:900}.attachmentFileActions button:disabled{cursor:wait;opacity:.65}.attachmentActions{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:12px;font-weight:900}.attachmentActions span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachmentDeleteButton{flex:0 0 auto;min-height:30px;display:inline-flex;align-items:center;gap:5px;padding:0 9px;border:1px solid #ffd7d2;border-radius:8px;color:#c2413b;background:#fff5f3;font-size:12px;font-weight:900}.attachmentDeleteButton:hover{border-color:#ef8f83;background:#ffe9e5}.supportOverlay{position:fixed;inset:0;z-index:980;display:grid;place-items:center;padding:24px;background:#091c3194;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.supportCenter{width:min(1040px,calc(100vw - 48px));max-height:calc(100vh - 48px);display:grid;gap:16px;padding:18px;overflow:auto;border-radius:8px;background:#f6f9fc;box-shadow:0 28px 80px #091c3159}.supportHead,.supportHead>div,.supportMetrics,.presenceList>div,.issueItem>div{display:flex;align-items:center}.supportHead{justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--line)}.supportHead>div{gap:10px}.supportHead>div>div{display:grid;gap:3px}.supportHead span{color:var(--muted);font-size:12px}.supportHead button{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:#fff}.issueForm,.adminSupportArea,.supportSection,.issueList,.presenceList,.usageTable{display:grid;gap:10px}.issueForm{padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff}.issueForm>label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:800}.issueForm textarea{min-height:96px}.issueForm>button{justify-self:end}.supportMetrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.supportMetrics>div{display:grid;grid-template-columns:auto 1fr;gap:5px 9px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff}.supportMetrics svg{grid-row:1 / 3;align-self:center;color:var(--teal)}.supportMetrics span{color:var(--muted);font-size:12px}.supportSection{padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff}.sopGuide{width:min(1120px,calc(100vw - 48px));max-height:calc(100vh - 48px);display:grid;gap:14px;padding:18px;overflow:auto;border-radius:8px;background:linear-gradient(135deg,#16807a0f,#2b6cb00d),#f7fafc;box-shadow:0 28px 80px #091c3159}.sopGuideIntro{display:grid;gap:5px;padding:12px 14px;border-left:4px solid var(--teal);border-radius:8px;color:var(--navy);background:#eef8f6}.sopGuideIntro p{margin:0;color:var(--muted);line-height:1.7}.sopGuideLayout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px;align-items:start}.sopGuideMap,.sopGuideSections{display:grid;gap:10px}.sopGuideMap{position:sticky;top:0;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff}.sopGuideMap a{padding:9px 10px;border-radius:7px;color:var(--muted);font-size:13px;font-weight:900}.sopGuideMap a:hover{color:var(--teal);background:#eef8f6}.sopGuideSection{display:grid;gap:12px;padding:15px;border:1px solid var(--line);border-radius:8px;background:#fff;scroll-margin-top:14px}.sopGuideSectionHead{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start}.sopGuideSectionHead>span{min-width:38px;min-height:30px;display:grid;place-items:center;border-radius:7px;color:#0b5f5a;background:#dff5ef;font-size:13px;font-weight:950}.sopGuideSection h2{margin:0 0 4px;color:var(--navy);font-size:18px}.sopGuideSection p{margin:0;color:var(--muted);line-height:1.65}.sopGuideSection ol{margin:0;padding-left:22px;color:var(--ink);line-height:1.75}.sopGuideSection li+li{margin-top:5px}.sopModeGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}.sopModeCard{display:grid;gap:10px;padding:13px;border:1px solid #cfe1ec;border-radius:8px;background:linear-gradient(180deg,#fbfdff,#f4f9fb)}.sopModeCard>div:first-child{display:grid;gap:4px;padding-bottom:8px;border-bottom:1px solid #dbe8ef}.sopModeCard strong{color:var(--blue)}.sopModeCard p{margin:0;color:var(--muted);line-height:1.6}.sopModeCard ol{padding-left:20px;font-size:13px}.sopCheckList{display:grid;gap:6px;padding:10px;border-left:3px solid var(--teal);border-radius:7px;background:#edf8f5}.sopCheckList span{color:#0b5f5a;font-size:12px;font-weight:950}.sopCheckList p{color:var(--ink);font-size:13px}.sopExampleCase,.sopExampleFlow{display:grid;gap:10px}.sopExampleHead{display:grid;gap:5px;padding:12px;border:1px solid rgba(22,128,122,.22);border-radius:8px;background:#eef8f6}.sopExampleHead strong{color:var(--navy);font-size:17px}.sopExampleHead span{color:#0b5f5a;font-size:13px;font-weight:900}.sopExampleFlow div{display:grid;grid-template-columns:auto 150px minmax(0,1fr);gap:6px 10px;align-items:start;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.sopExampleFlow b{grid-row:1 / 3;min-width:32px;min-height:28px;display:grid;place-items:center;border-radius:7px;color:#0b5f5a;background:#dff5ef;font-size:12px}.sopExampleFlow strong{color:var(--blue)}.sopExampleFlow p{margin:0;color:var(--ink)}.sopExampleFlow span{grid-column:3;color:var(--muted);font-size:13px}.presenceList{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.presenceList>div{position:relative;display:grid;grid-template-columns:auto 1fr;gap:2px 8px;padding:10px;border:1px solid var(--line);border-radius:8px}.presenceList i{width:9px;height:9px;grid-row:1 / 4;align-self:center;border-radius:50%;background:#27a66f;box-shadow:0 0 0 4px #27a66f24}.presenceList span,.presenceList small,.issueItem span,.issueItem small{color:var(--muted);font-size:12px}.issueItem{display:grid;grid-template-columns:1fr auto;gap:7px 12px;padding:12px;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:8px;background:#fbfdff}.issueItem.priority-高,.issueItem.priority-緊急{border-left-color:var(--red)}.issueItem>div{justify-content:space-between;gap:12px}.issueItem p,.issueItem small{grid-column:1}.issueItem select{grid-column:2;grid-row:1 / 4;align-self:center;min-width:100px}.usageTable>div{display:grid;grid-template-columns:1fr 1fr 150px 110px;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px}@media(max-width:760px){.supportOverlay{padding:8px}.supportCenter{width:calc(100vw - 16px);max-height:calc(100vh - 16px)}.supportMetrics,.usageTable>div{grid-template-columns:1fr}.issueItem{grid-template-columns:1fr}.issueItem select,.issueItem p,.issueItem small{grid-column:1;grid-row:auto}}.attachmentModalOverlay{position:fixed;inset:0;z-index:900;display:grid;place-items:center;padding:26px 28px 26px clamp(300px,18vw,340px);background:#08162670;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.attachmentModal{width:min(1180px,100%);height:calc(100vh - 52px);display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;padding:16px;border-radius:12px;background:#f8fbfffa;border:1px solid var(--line);box-shadow:0 30px 80px #091c3147}.attachmentModal:before{content:none}.attachmentModalHead{display:flex;align-items:center;justify-content:space-between;gap:12px}.attachmentModalHead>div{display:flex;gap:8px}.attachmentModalHead a,.attachmentModalHead button{min-height:34px;display:inline-flex;align-items:center;padding:0 12px;border-radius:8px;color:#fff;background:linear-gradient(135deg,var(--teal),#2d73b8);text-decoration:none;font-weight:900}.attachmentViewport{min-height:0;overflow:auto;display:grid;place-items:start center;border-radius:8px;background:#fff;border:1px solid var(--line)}.attachmentViewport.pdfViewport{place-items:stretch;overflow:hidden}.pdfPreviewFrame{min-height:0;display:grid;width:100%;height:100%;background:#f8fbff}.pdfPreviewFrame iframe{width:100%;height:100%;border:0;background:#fff}.pdfPreviewStatus{margin:auto;padding:14px 18px;border-radius:8px;color:var(--muted);background:var(--soft);font-weight:900}.pdfPreviewStatus.error{color:#b83232;background:#fff1f0;border:1px solid #ffc7c0}.attachmentModalImageFrame{height:auto;max-width:none;min-width:280px}.attachmentModalImageFrame img{width:100%;height:auto;object-fit:contain}.ganttEditLayout{display:grid;grid-template-columns:minmax(0,1fr) clamp(330px,25vw,430px);gap:18px;align-items:start;min-width:0}.ganttEditLayout.editorClosed{grid-template-columns:minmax(0,1fr) 58px}.ganttEditLayout.noEditor{grid-template-columns:minmax(0,1fr)}.ganttPanel{min-width:0;overflow:hidden}.ganttPhaseStack{--gantt-table-width: 1340px;display:grid;gap:16px;min-width:0;max-height:calc(100vh - 310px);overflow:auto;overscroll-behavior:contain;padding-bottom:14px;scrollbar-width:thin}.ganttPhase{min-width:calc(var(--gantt-table-width) + 24px);display:grid;gap:10px;padding:12px;border:1px solid var(--phase-border, var(--line));border-radius:12px;background:linear-gradient(90deg,var(--phase-wash, rgba(255,255,255,0)) 0 5px,transparent 5px),#ffffffbd}.ganttPhaseHead{display:flex;justify-content:space-between;gap:16px;align-items:center}.ganttPhaseHead div{display:flex;align-items:center;gap:10px}.ganttPhaseHead .phaseBadge{min-height:28px;display:inline-flex;align-items:center;padding:3px 10px;border:1px solid var(--phase-border, transparent);border-radius:6px;color:var(--phase-ink, #fff);background:var(--phase-bg, linear-gradient(135deg, var(--navy), var(--blue)));font-size:12px;font-weight:800}.phase-GCD01{--phase-bg: #f7caca;--phase-border: #e79393;--phase-ink: #6f2222;--phase-wash: rgba(231,147,147,.18)}.phase-GCD02{--phase-bg: #cfe1f9;--phase-border: #7aa3df;--phase-ink: #1f477c;--phase-wash: rgba(122,163,223,.18)}.phase-GCD03{--phase-bg: #ffe3ad;--phase-border: #f0a92e;--phase-ink: #6f4310;--phase-wash: rgba(240,169,46,.2)}.phase-GCD04{--phase-bg: #d6ead0;--phase-border: #a2c79d;--phase-ink: #2f5f2d;--phase-wash: rgba(162,199,157,.2)}.phase-GCD05{--phase-bg: #e4d5ea;--phase-border: #a681b8;--phase-ink: #563266;--phase-wash: rgba(166,129,184,.18)}.phase-other{--phase-bg: #e7edf5;--phase-border: #a8b4c5;--phase-ink: var(--navy);--phase-wash: rgba(168,180,197,.16)}.ganttPhaseHead small{color:var(--muted);line-height:1.45}.ganttProjectNav{display:grid;grid-template-columns:minmax(190px,230px) minmax(260px,1fr) auto;gap:8px;margin:0 0 16px;padding:8px;border:1px solid var(--line);border-radius:10px;background:#ffffffc7;box-shadow:var(--shadow-soft)}.ganttProjectSelect{min-width:0;display:grid;grid-template-columns:86px minmax(0,1fr);gap:10px;align-items:center;color:var(--muted);font-size:13px;font-weight:900}.ganttProjectSelect select{width:100%;min-height:48px;color:var(--navy);background:linear-gradient(180deg,#fff,#f7fbff);font-weight:900}.ganttFocusCancelButton{align-self:stretch;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.ganttProjectSummary{display:grid;align-content:center;gap:2px;min-height:54px;padding:8px 12px;border-radius:8px;background:#eef8f6}.ganttProjectSummary span,.ganttProjectSummary small{color:var(--muted);font-size:12px;font-weight:800}.ganttProjectSummary strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ganttProjectProgressSummary{display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(260px,360px) auto;align-items:center;gap:14px;margin:-2px 0 16px;padding:12px 14px;border:1px solid rgba(22,128,122,.24);border-radius:8px;background:linear-gradient(90deg,#eff8f6e0,#fffffff0 45%),linear-gradient(180deg,#fff,#f9fcff)}.ganttProgressIdentity{min-width:0;display:grid;gap:3px}.ganttProgressIdentity strong{overflow:hidden;color:var(--blue);font-size:17px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.ganttProgressIdentity span,.ganttProgressNumbers span{color:var(--muted);font-size:12px;font-weight:800}.ganttProgressStatus{display:inline-flex;align-items:center;justify-content:center}.summaryScopePill{min-height:28px;display:inline-flex;align-items:center;padding:0 12px;border-radius:999px;color:#fff;background:linear-gradient(135deg,var(--teal),var(--blue));font-size:12px;font-weight:900}.ganttProgressMeter{min-width:240px}.ganttProgressNumbers{display:grid;justify-items:end;gap:2px;white-space:nowrap}.ganttProgressNumbers strong{color:var(--navy);font-size:18px;font-weight:900}.projectPicker{min-width:0;display:flex;gap:8px;overflow-x:auto;padding:4px 2px 8px;scrollbar-width:thin}.projectPicker button{flex:0 0 auto;min-height:34px;display:inline-flex;align-items:center;gap:8px;padding:0 11px;border-radius:8px;color:var(--muted);background:transparent;border:1px solid transparent;transition:transform .18s var(--ease),background .18s ease,color .18s ease}.projectPicker button strong{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.projectPicker button small{min-width:24px;min-height:22px;display:inline-grid;place-items:center;border-radius:999px;color:var(--muted);background:#edf2f7;font-size:12px;font-weight:900}.projectPicker button:hover{transform:translateY(-1px);background:#edf5f4}.projectPicker button.selected{color:#fff;background:linear-gradient(135deg,var(--teal),var(--blue));border-color:#fff9;box-shadow:0 10px 22px #16807a33}.projectPicker button.selected small{color:var(--navy);background:#ffffffd1}.ganttHeader,.ganttRow{display:grid;grid-template-columns:42px minmax(220px,1.1fr) minmax(150px,.82fr) minmax(80px,.45fr) 104px 104px 104px 82px minmax(286px,.95fr) 34px;gap:10px;align-items:center;min-width:var(--gantt-table-width)}.ganttHeader{padding:0 12px 8px;color:var(--muted);font-size:13px;font-weight:800}.timelineHeader{display:flex;align-items:center;min-height:28px}.timelineAxis{position:relative;height:28px;border:1px solid #d8e3ef;border-radius:8px;overflow:hidden;background:linear-gradient(180deg,#fff,#edf5fb)}.progressAxis{display:grid;grid-template-columns:1fr 1fr;overflow:visible;background:linear-gradient(90deg,transparent calc(50% - .5px),rgba(43,108,176,.2) calc(50% - .5px),rgba(43,108,176,.2) calc(50% + .5px),transparent calc(50% + .5px)),linear-gradient(180deg,#fff,#eef6fb)}.timelineAxis i{position:absolute;inset-block:0;display:flex;align-items:center;justify-content:center;border-left:1px solid rgba(43,108,176,.2);color:#41536d;font-size:11px;font-style:normal;font-weight:900;white-space:nowrap}.timelineAxis i:first-child{border-left:0}.progressAxis i{position:static;border-left:0}.ganttRow{padding:12px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#fff,#fbfdff);transition:transform .18s var(--ease),box-shadow .18s ease}.ganttTrack{position:relative;min-height:28px;margin:0 32px;border-radius:999px;background:#dcebf3}.ganttTrack:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,transparent calc(50% - .5px),rgba(43,108,176,.2) calc(50% - .5px),rgba(43,108,176,.2) calc(50% + .5px),transparent calc(50% + .5px))}.ganttTrack .progressZero,.ganttTrack .progressFull{position:absolute;top:50%;transform:translateY(-50%);color:#c2413b;font-size:12px;font-weight:900;pointer-events:none}.ganttTrack .progressZero{right:calc(100% + 6px)}.ganttTrack .progressFull{left:calc(100% + 6px)}.statusHint{padding:9px 11px;border:1px solid #d8e8fb;border-radius:8px;color:#1f477c;background:#eef6ff;font-size:12px;line-height:1.6;font-weight:800}.ganttTaskName{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0}.ganttTaskName strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ganttTaskName small{color:var(--muted);font-size:12px;font-weight:800;white-space:nowrap}.ganttRowNo{color:var(--blue);font-weight:900;text-align:center}.ganttAssignee{min-width:0;overflow:hidden;color:var(--blue);font-weight:800;text-overflow:ellipsis;white-space:nowrap}.subprojectRow{border-color:#2b6cb047;background:linear-gradient(90deg,rgba(207,225,249,.5),transparent 44%),linear-gradient(180deg,#fff,#f7fbff)}.childTaskRow{background:linear-gradient(180deg,#fff,#fcfdff)}.treeStem{position:absolute;left:6px;width:12px;height:1px;background:#9fb0c5}.subprojectBadge{display:inline-flex;align-items:center;min-height:24px;padding:2px 8px;border-radius:999px;color:#1f477c;background:#dcecff;font-size:12px;font-weight:900}.taskTop .subprojectBadge{min-height:22px;padding-inline:7px;font-size:11px}.backToTop{position:fixed;right:24px;bottom:24px;z-index:80;display:inline-flex;align-items:center;gap:6px;min-height:42px;padding:0 14px;border-radius:999px;color:#fff;background:linear-gradient(135deg,var(--navy),var(--teal));box-shadow:0 18px 36px #091c313d;border:1px solid rgba(255,255,255,.28);font-weight:900;transition:transform .18s var(--ease),box-shadow .18s ease,filter .18s ease}.backToTop span{font-size:11px;letter-spacing:0}.backToTop:hover{transform:translateY(-3px);box-shadow:0 22px 42px #091c314d;filter:saturate(1.08)}.ganttRow:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft)}.selectedGanttRow{border:3px solid #16807a;box-shadow:0 0 0 4px #16807a2e}.ganttEditor{position:sticky;top:16px;display:grid;gap:12px;max-height:calc(100vh - 32px);overflow:auto;transition:width .24s var(--ease),padding .24s var(--ease),min-height .24s var(--ease)}.ganttEditor.closed{width:58px;min-height:420px;padding:12px 8px;overflow:hidden}.ganttEditorToggle{width:100%;min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;color:var(--navy);background:#eef8f6;font-weight:900;transition:transform .18s var(--ease),background .18s ease}.ganttEditorToggle:hover{transform:translateY(-1px);background:#dff4ef}.ganttEditor.closed .ganttEditorToggle{writing-mode:vertical-rl;min-height:360px}.ganttEditor.closed .ganttEditorContent{display:none}.ganttEditorContent{display:grid;gap:12px}.ganttEditForm,.biForm{display:grid;gap:10px}.ganttEditForm label{display:grid;gap:6px;color:var(--muted);font-size:13px;font-weight:800}.ganttEditForm button,.biForm button,.memberAddForm button,.memberRow button,.optionAddForm button,.optionRow button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:8px;padding:0 12px;color:#fff;background:linear-gradient(135deg,var(--teal),var(--blue));font-weight:900;transition:transform .18s var(--ease),box-shadow .18s ease}.ganttEditForm button:hover,.biForm button:hover,.memberAddForm button:hover,.memberRow button:hover,.optionAddForm button:hover,.optionRow button:hover{transform:translateY(-1px);box-shadow:0 12px 24px #16807a33}.ganttProgressAxis{display:grid;grid-template-columns:42px minmax(150px,1fr) 58px;align-items:center;gap:10px;min-width:286px}.ganttProgressValue,.ganttProgressState{color:var(--muted);font-size:12px;font-weight:900;white-space:nowrap}.ganttProgressValue{text-align:right}.ganttProgressState{text-align:left}.ganttProgressTrack{position:relative;height:18px;overflow:visible;border:1px solid #ccd8e3;border-radius:4px;background:#edf2f6}.ganttProgressFill{position:absolute;inset:0 auto 0 0;max-width:100%;border-radius:3px;background:#16877f;transition:width .25s ease}.ganttProgressTick{position:absolute;top:0;bottom:0;width:1px;background:#546d843d;transform:translate(-.5px)}.ganttPlannedMarker{position:absolute;top:-3px;bottom:-3px;width:2px;border-radius:2px;background:#2b6cb0;transform:translate(-2px)}.ganttProgressAxis.state-completed .ganttProgressFill{background:#2f966d}.ganttProgressAxis.state-completed .ganttProgressState{color:#277a5a}.ganttProgressAxis.is-overdue .ganttProgressTrack{border:2px solid #c2413b}.ganttProgressAxis.is-overdue .ganttProgressValue,.ganttProgressAxis.is-overdue .ganttProgressState{color:#c2413b}@media(max-width:1120px){.ganttProgressAxis{grid-template-columns:38px minmax(120px,1fr) 52px;gap:7px}}@media(max-width:780px){.ganttProgressAxis{grid-template-columns:34px minmax(96px,1fr)}.ganttProgressState{grid-column:2;font-size:11px}}.workloadGrid,.reportGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.unitPanel{display:grid;gap:12px}.loadLegend{display:flex;flex-wrap:wrap;gap:12px}.loadLegend span{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:13px}.loadLegend i{width:20px;height:10px;border-radius:999px}.featureAccessIntro{padding:11px 13px;border-left:3px solid var(--teal);background:#eef8f7;color:var(--ink);font-size:13px;line-height:1.55}.featureAccessManager{display:grid;gap:12px;margin-top:8px;padding:16px 0;border-top:1px solid var(--line)}.featureAccessSearch{max-width:460px}.featureAccessList{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px;align-items:start}.featureAccessUnits,.featureAccessUnit{display:grid;gap:12px}.featureAccessUnit{padding:12px;border:1px solid var(--line);border-radius:8px;background:#f4f8fbb8}.featureAccessUnitHead{display:flex;align-items:center;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid var(--line)}.featureAccessUnitHead span{color:var(--muted);font-size:12px}.featureAccessRow{display:grid;grid-template-columns:1fr;grid-template-areas:"person" "overview" "actions";align-items:start;gap:13px;min-height:156px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 10px 22px #0f2c460a}.featureAccessPerson{grid-area:person;display:grid;gap:3px}.featureAccessOverview{grid-area:overview;display:grid;grid-template-columns:repeat(2,minmax(118px,1fr));gap:9px 14px;align-items:center;justify-content:start}.featureAccessActions{grid-area:actions;display:grid;grid-template-columns:repeat(2,minmax(118px,1fr));gap:10px 14px;align-items:center;padding-top:8px;border-top:1px dashed #dce7f0}.featureAccessRow span{color:var(--muted);font-size:12px}.featureAccessRow label{display:inline-flex;align-items:center;gap:7px;min-height:24px;min-width:0;white-space:nowrap;color:var(--ink);font-size:13px;font-weight:800}@media(max-width:1500px){.featureAccessList{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.versionManager{grid-template-columns:1fr}.versionForm{grid-template-columns:repeat(2,minmax(0,1fr))}.codeRuleForm{grid-template-columns:repeat(3,minmax(0,1fr))}.codeRuleHead{grid-column:1 / -1}}@media(max-width:760px){.featureAccessList,.logProgressFields,.versionForm,.codeRuleForm,.versionHistoryItem{grid-template-columns:1fr}}.featureAccessRow input[type=checkbox]{flex:0 0 16px;width:16px;height:16px;min-width:16px;min-height:16px;margin:0;padding:0;appearance:none;-webkit-appearance:none;border:1.5px solid #91a4b7;border-radius:4px;background:#fff;cursor:pointer}.featureAccessRow input[type=checkbox]:checked{border-color:var(--teal);background:var(--teal);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M3 7.2l2.5 2.5L11 4'/%3E%3C/svg%3E");background-position:center;background-size:13px 13px;background-repeat:no-repeat}.memberTransferPanel{display:grid;gap:12px;margin-top:8px;padding:16px;border:1px solid #d5e5f0;border-radius:8px;background:linear-gradient(180deg,#f8fbfd,#fff)}.memberTransferForm{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) 150px;gap:10px;align-items:end}.memberTransferForm button{min-height:42px}.memberTransferHint{padding:10px 12px;border-left:3px solid var(--teal);border-radius:7px;background:#eef8f7;color:var(--ink);font-size:13px;line-height:1.55}.memberTransferRecords{display:grid;gap:8px}.memberTransferRecords>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff}.memberTransferRecords strong{color:var(--ink)}.memberTransferRecords span{color:var(--muted);font-size:12px;font-weight:800}.taskLogJumpLink{white-space:normal;line-height:1.35}.normalLoad{background:var(--teal)}.warnLoad{background:var(--gold)}.overLoad{background:var(--red)}.workloadCard{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#fff,#fbfdff);transition:transform .2s var(--ease),box-shadow .2s ease;animation:riseIn .45s var(--ease) both}.workloadCard.hasOverload{border-color:#c2413b59;box-shadow:0 18px 42px #c2413b21}.workloadCard:hover{transform:translateY(-4px);box-shadow:0 18px 42px #1d26361f}.memberHead{gap:12px}.memberHead b{margin-left:auto;color:var(--teal)}.avatar{width:48px;height:48px;display:grid;place-items:center;border-radius:8px;color:#6b4616;font-weight:800;background:linear-gradient(135deg,#f4dfb6,#f8cfc0);box-shadow:inset 0 1px #ffffffd9}.miniRows div{display:grid;grid-template-columns:1fr 48px;gap:8px;padding:8px 0;border-top:1px solid #edf2f7;font-size:13px}.weekLoadRows{display:grid;gap:8px}.weekLoadRow{display:grid;grid-template-columns:92px minmax(86px,1fr) 86px;gap:8px;align-items:center;font-size:12px}.weekLoadRow div{height:9px;overflow:hidden;border-radius:999px;background:#e7edf5}.weekLoadRow i{display:block;height:100%;border-radius:inherit}.weekLoadRow.normal i{background:linear-gradient(90deg,var(--teal),var(--blue))}.weekLoadRow.warn i{background:linear-gradient(90deg,var(--gold),#d69e2e)}.weekLoadRow.over i{background:linear-gradient(90deg,var(--red),var(--coral))}.weekLoadRow.over b{color:var(--red)}.emptyState{color:var(--muted);font-size:13px}.chartPanel{min-height:320px}.reportGrid .chartPanel{min-height:300px;border-radius:14px}.reportGrid .chartPanel:nth-child(1):before{background:linear-gradient(90deg,#16807a,#2b6cb0)}.reportGrid .chartPanel:nth-child(2):before{background:linear-gradient(90deg,#7057c9,#2b6cb0)}.reportGrid .chartPanel:nth-child(3):before{background:linear-gradient(90deg,#2f855a,#c2413b)}.reportWorkbench{gap:16px}.biKpiGrid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px}.biLayout{display:grid;grid-template-columns:minmax(260px,.24fr) minmax(0,1fr);gap:16px;align-items:start}.biControl{position:sticky;top:16px;display:grid;gap:12px}.biWidgetList{display:grid;gap:8px}.biWidgetList button{min-height:36px;display:flex;align-items:center;gap:8px;padding:0 10px;border-radius:8px;color:var(--muted);background:#f2f6fa;text-align:left}.biWidgetList button:hover{color:var(--red);background:#fff1ef}.biCanvas{align-items:stretch}.pie{width:150px;height:150px;margin:6px auto 18px;border-radius:50%;box-shadow:inset 0 0 0 36px #fff,0 18px 38px #1d263617,0 0 0 1px var(--line);animation:spinIn .9s var(--ease) both;transition:transform .25s var(--ease)}.pie:hover{transform:rotate(8deg) scale(1.03)}.reportRow{display:grid;grid-template-columns:112px minmax(120px,1fr) 52px;align-items:center;gap:12px;font-size:14px;padding:5px 0}.reportRow span{color:var(--muted)}.reportRow strong{text-align:right;color:var(--ink)}.contentSheets{display:grid;gap:16px}.contentToolbar{display:flex;justify-content:space-between;gap:14px;align-items:center}.contentActions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.contentActions button{min-height:38px;display:inline-flex;align-items:center;gap:7px;padding:0 14px;border-radius:8px;color:#fff;background:linear-gradient(135deg,var(--teal),var(--blue));font-weight:900}.contentActions .contentExportButton{color:var(--ink);background:#f3f8fb;border:1px solid var(--line)}.contentActions .contentExportButton:hover{color:#0f6f7c;background:#eaf8f7;border-color:#16807a47}.contentLockNotice{margin:12px 0 16px;padding:12px 14px;border:1px solid rgba(22,128,122,.18);border-left:4px solid var(--teal);border-radius:8px;color:var(--ink);background:#eef8f7;font-size:13px;line-height:1.55}.contentReviewPanel{border-color:#d4992061;box-shadow:0 16px 34px #d4992014}.contentCopiedReviewNotice{display:grid;gap:5px;margin:12px 0 0;padding:12px 14px;border:1px solid rgba(212,153,32,.38);border-left:4px solid var(--gold);border-radius:8px;color:#7b4c00;background:#fff7e3;font-size:13px;line-height:1.55}.contentCopiedReviewNotice strong{color:#8a5400;font-size:14px}.contentCopiedReviewNotice span{color:#7b5a20}.contentLockNotice.locked{border-color:#cb373733;border-left-color:var(--red);background:#fff5f4}.contentLockNotice.changeRequest{border-color:#d499203d;border-left-color:var(--gold);background:#fff9ea}.contentSheet{display:grid;gap:16px;padding:16px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,#fff,#fbfdff)}.contentGroup{display:grid;gap:10px}.contentGroup h3{margin:0;padding-left:10px;border-left:4px solid var(--teal);font-size:16px}.contentGroupHead{display:flex;align-items:center;justify-content:space-between;gap:12px}.contentGroupHead button{min-height:34px;display:inline-flex;align-items:center;gap:6px;padding:0 12px;border:1px solid rgba(22,128,122,.22);border-radius:8px;color:var(--teal);background:#eef8f7;font-size:12px;font-weight:900}.contentFieldGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}.basicInfoGroup .contentFieldGrid{grid-template-columns:repeat(3,minmax(220px,1fr))}.stageDateGroup .contentFieldGrid{grid-template-columns:1fr}.marketGroup .contentFieldGrid{grid-template-columns:repeat(3,minmax(260px,1fr))}.segmentGroup .contentFieldGrid{grid-template-columns:1fr}.specificationGroup .contentFieldGrid{grid-template-columns:repeat(4,minmax(0,1fr))}.sampleCostGroup .contentFieldGrid,.manufacturingGroup .contentFieldGrid{grid-template-columns:repeat(3,minmax(180px,1fr))}.costPricingGroup .contentFieldGrid{grid-template-columns:repeat(2,minmax(220px,1fr))}.sampleCostGroup .contentField,.manufacturingGroup .contentField,.costPricingGroup .contentField{min-height:86px}@media(max-width:1500px){.specificationGroup .contentFieldGrid{grid-template-columns:repeat(4,minmax(160px,1fr))}}@media(max-width:900px){.basicInfoGroup .contentFieldGrid,.stageDateGroup .contentFieldGrid,.marketGroup .contentFieldGrid,.specificationGroup .contentFieldGrid,.sampleCostGroup .contentFieldGrid,.manufacturingGroup .contentFieldGrid,.costPricingGroup .contentFieldGrid{grid-template-columns:1fr}}.segmentGroup .contentField{min-height:auto}.segmentGroup .contentField>span{min-height:36px;display:flex;align-items:center;padding:0 10px;border:1px solid #e2eaf3;border-radius:8px 8px 0 0;background:#f3f8fc}.contentField{position:relative;display:grid;gap:7px;padding:12px;border:1px solid #e2eaf3;border-radius:9px;background:#f8fbfd}.checklistContentField{align-content:start}.contentFieldRemove{position:absolute;top:8px;right:8px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;color:var(--red);background:#fff1ef}.contentFieldRemove+.contentLabelInput,.contentFieldRemove+span{padding-right:34px}.contentField span{color:var(--blue);font-size:12px;font-weight:800}.contentLabelInput{width:100%;min-height:34px;border:1px solid #d4deeb;border-radius:8px;padding:7px 10px;color:var(--blue);background:#fff;font-size:12px;font-weight:900}.contentField p{color:var(--ink);font-size:13px;line-height:1.6;white-space:pre-wrap}.signoffContentField{align-content:start}.signoffFieldBody{display:grid;gap:10px}.signoffSignaturePreview{min-height:100px;display:grid;gap:6px;align-content:center;padding:8px;border:1px solid #b8d9d6;border-radius:8px;background:#fff}.signoffSignaturePreview img{display:block;width:100%;max-height:82px;object-fit:contain}.signoffSignaturePreview small{color:var(--muted);font-size:11px;font-weight:800;text-align:center}.signoffActions{display:flex;flex-wrap:wrap;gap:8px}.signoffActions button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 10px;border-radius:8px;color:#fff;background:linear-gradient(135deg,var(--teal),var(--blue));font-size:12px;font-weight:900}.signoffActions button.secondary{color:var(--red);background:#fff1ef}.signatureModalBackdrop{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;padding:24px;background:#091a2b6b}.signatureModal{width:min(760px,100%);display:grid;gap:14px;padding:18px;border:1px solid #d5e1ed;border-radius:10px;background:#fff;box-shadow:0 24px 70px #1422343d}.signatureModalHead{display:flex;align-items:center;justify-content:space-between;gap:12px}.signatureModalHead div,.signatureModalMeta{display:grid;gap:4px}.signatureModalHead span,.signatureModalMeta span{color:var(--muted);font-size:12px;font-weight:900}.signatureModalHead strong{color:var(--navy);font-size:20px}.signatureModalMeta{padding:10px 12px;border:1px solid #e2eaf3;border-radius:8px;background:#f8fbfd}.signatureIconButton{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;color:var(--navy);background:#eef5fb}.signaturePad{width:100%;height:230px;border:1px solid #cbd9e7;border-radius:10px;background:linear-gradient(180deg,#ffffffd6,#fffffff0),repeating-linear-gradient(0deg,transparent 0 44px,rgba(83,97,118,.16) 45px 46px);cursor:crosshair;touch-action:none}.signatureModalActions{display:flex;justify-content:flex-end;gap:10px}.signatureModalActions button:disabled{cursor:not-allowed;opacity:.48}.contentEditInput{width:100%;min-height:112px;resize:vertical;border:1px solid #d4deeb;border-radius:8px;padding:10px;color:var(--ink);background:#fff;line-height:1.55}.contentDateInput{width:100%;min-height:44px;border:1px solid #d4deeb;border-radius:8px;padding:10px;color:var(--ink);background:#fff;font-weight:800}.checklistField{display:grid;gap:10px}.segmentChecklist{gap:12px}.segmentChecklist h4{margin:0;color:var(--navy);font-size:20px}.checkGroup{display:grid;gap:8px;padding:10px;border:1px solid rgba(217,224,234,.92);border-radius:8px;background:#fff}.checkGroup strong{color:var(--navy);font-size:13px}.checkOptions{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,max-content));gap:8px}.marketGroup .checkOptions{grid-template-columns:1fr}.segmentGroup .checkOptions{grid-template-columns:repeat(auto-fit,minmax(140px,max-content))}.checkOptions label{min-height:30px;display:inline-flex;align-items:center;gap:7px;padding:4px 9px;border:1px solid #dbe4ee;border-radius:999px;color:var(--muted);background:#f7fafc;font-size:13px;font-weight:800;transition:border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}.segmentGroup .checkOptions label{min-width:136px;justify-content:flex-start}.marketGroup .checkOptions label{width:100%}.checkOptions label.checked{color:#0b5f5a;border-color:#16807a57;background:#e9f7f3;box-shadow:inset 0 0 0 1px #16807a14}.checkOptions label.readonly{cursor:default}.checkOptions input{flex:0 0 16px;width:16px;height:16px;min-width:16px;min-height:16px;margin:0;padding:0;appearance:none;-webkit-appearance:none;border:1.5px solid #91a4b7;border-radius:4px;background:#fff;cursor:pointer}.checkOptions input:checked{border-color:var(--teal);background:var(--teal);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M3 7.2l2.5 2.5L11 4'/%3E%3C/svg%3E");background-position:center;background-size:13px 13px;background-repeat:no-repeat}.checkOptions input:disabled{cursor:default;opacity:1}.checkOptionAddForm{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding-top:2px}.checkOptionAddForm input{min-width:0;min-height:34px;border:1px solid #d4deeb;border-radius:8px;padding:7px 10px;color:var(--ink);background:#fff;font-size:13px;font-weight:800}.checkOptionAddForm button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 10px;border-radius:8px;color:#fff;background:linear-gradient(135deg,var(--teal),#2d8fb4);font-size:13px;font-weight:900;white-space:nowrap}.checkNote{padding:8px 10px;border-left:3px solid var(--teal);border-radius:6px;background:#16807a0f}.settings{display:grid;gap:10px}.settingsCategoryTabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:8px;border:1px solid var(--line);border-radius:10px;background:#ffffffb8}.settingsCategoryTab{display:grid;gap:4px;min-height:76px;padding:14px;border:1px solid #cfe2ee;border-radius:8px;background:#fbfdff;color:var(--muted);text-align:left;cursor:pointer}.settingsCategoryTab strong{color:var(--ink);font-size:16px}.settingsCategoryTab span{font-size:12px;font-weight:800;line-height:1.45}.settingsCategoryTab.selected{border-color:#16807a73;background:linear-gradient(135deg,#16807a24,#2b6cb01f);box-shadow:0 10px 24px #2563871f}.settingsCategoryPanel{display:grid;gap:14px}.settingsRow{justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--line);border-radius:8px}.settingsRow .danger{background:linear-gradient(135deg,var(--red),var(--coral))}.adminConsole{display:grid;gap:14px;padding:16px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(90deg,#16807a0f,#2b6cb00d),#fbfdff}.versionManager{display:grid;grid-template-columns:minmax(180px,.32fr) minmax(0,1fr);gap:12px;padding:12px;border:1px solid #cfe2ee;border-radius:10px;background:#fff}.versionCurrent{display:grid;gap:6px;align-content:center;padding:12px;border-left:4px solid var(--teal);border-radius:8px;background:#eef9f7}.versionCurrent span,.versionHint{color:var(--muted);font-size:12px;font-weight:800}.versionCurrent strong{color:var(--ink);font-size:22px}.adminSettingCard{display:grid;gap:10px;padding:12px;border:1px solid #cfe2ee;border-radius:10px;background:#fff}.adminSettingCardHead{display:flex;align-items:center;justify-content:space-between;gap:12px}.adminSettingCardHead div{display:grid;gap:4px}.adminSettingCardHead strong{color:var(--ink)}.adminSettingCardHead span{color:var(--muted);font-size:12px;font-weight:800}.aboutSystemToggle{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:8px;background:#eef9f7;cursor:pointer}.aboutSystemToggle input{width:18px;height:18px;accent-color:var(--teal)}.aboutSystemToggle span{display:grid;gap:3px}.aboutSystemToggle b{color:var(--ink)}.aboutSystemToggle small{color:var(--muted);font-size:12px;font-weight:800}.backupManager{display:grid;gap:12px;padding:12px;border:1px solid #cfe2ee;border-radius:10px;background:#fff}.backupManagerHead{display:flex;align-items:center;justify-content:space-between;gap:12px}.backupManagerHead div{display:grid;gap:4px}.backupManagerHead strong,.backupPolicy b{color:var(--ink)}.backupManagerHead span,.backupPolicy span,.backupItem span,.backupItem small{color:var(--muted);font-size:12px;font-weight:800}.backupManagerHead button{white-space:nowrap}.backupManagerHead button:disabled{cursor:wait;opacity:.72}.backupPolicy{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:8px;padding:10px;border-left:4px solid var(--teal);border-radius:8px;background:#eef9f7}.backupPolicy div{display:grid;gap:4px}.backupPolicy p{grid-column:1 / -1;margin:0;color:var(--ink);font-size:13px;font-weight:700}.backupList{display:grid;gap:8px;max-height:280px;overflow:auto}.backupItem{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:8px;background:#f8fbfd}.backupItem div{display:grid;gap:2px}.backupItem code{overflow:hidden;color:#1b5fa7;font-family:inherit;font-size:12px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.backupActions{display:flex!important;gap:6px;justify-content:flex-end}.backupActions button,.backupInspectionHead button{padding:8px 10px;min-height:34px;border-radius:8px;font-size:12px}.backupInspectionPanel,.protectionAlertManager,.programBaselineManager,.securityGuardManager{display:grid;gap:10px;padding:12px;border:1px solid #cfe2ee;border-radius:10px;background:#f8fbfd}.securityGuardManager.is-normal{border-color:#8fd2c9;background:#f2fbf9}.securityGuardManager.is-locked{border-color:#f0a0a0;background:#fff5f5}.securityGuardForms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.securityGuardForms form{display:grid;gap:8px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.securityGuardForms label{display:grid;gap:5px;color:var(--muted);font-size:12px;font-weight:900}.securityGuardForms input{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:8px;color:var(--ink);font:inherit;font-weight:800}.backupInspectionPanel.status-valid{border-color:#8fd2c9;background:#f2fbf9}.backupInspectionPanel.status-legacy-readable{border-color:#dfbf5f;background:#fffaf0}.backupInspectionPanel.status-hash-mismatch,.backupInspectionPanel.status-missing-state{border-color:#f0a0a0;background:#fff5f5}.backupInspectionHead{display:flex;align-items:center;justify-content:space-between;gap:12px}.backupInspectionHead div{display:grid;gap:3px}.backupInspectionHead span{color:var(--muted);font-size:12px;font-weight:900}.backupDiffGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.backupDiffGrid>div{display:grid;gap:6px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.backupDiffGrid span{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px;font-weight:800}.backupDiffGrid strong,.backupChangeList strong{color:var(--ink)}.backupChangeList{display:grid;gap:5px;padding:10px;border-radius:8px;background:#fff}.backupChangeList p,.backupChangeList small,.protectionAlertItem p,.protectionAlertItem small{margin:0;color:var(--muted);font-size:12px;font-weight:800}.protectionAlertList{display:grid;gap:8px;max-height:260px;overflow:auto}.programBaselineList{display:grid;gap:8px;max-height:320px;overflow:auto}.programBaselineItem{display:grid;grid-template-columns:minmax(160px,.72fr) minmax(0,1fr) minmax(180px,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-left:4px solid #7aa2d8;border-radius:8px;background:#fff}.programBaselineItem.is-latest{border-left-color:var(--teal);background:#f2fbf9}.programBaselineItem div{display:grid;gap:3px}.programBaselineItem strong{color:var(--ink)}.programBaselineItem span,.programBaselineItem small,.programBaselineItem em{color:var(--muted);font-size:12px;font-style:normal;font-weight:800}.programBaselineItem code{overflow:hidden;color:#1b5fa7;font-family:inherit;font-size:12px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.programBaselineItem p{margin:0;color:var(--ink);font-size:13px;font-weight:800}.protectionAlertItem{display:grid;gap:6px;padding:10px;border:1px solid var(--line);border-left:4px solid #dfbf5f;border-radius:8px;background:#fff}.protectionAlertItem.severity-blocked{border-left-color:#d65656}.protectionAlertItem div{display:flex;justify-content:space-between;gap:10px}.versionStageBadge{justify-self:start;padding:4px 10px;border-radius:999px;font-style:normal;font-size:12px;font-weight:900}.versionStageBadge.stage-testing{color:#8a5a00;background:#fff2c6}.versionStageBadge.stage-formal{color:#0a6f67;background:#dff6f2}.versionForm{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:10px;align-items:end}.versionForm button{min-height:38px;white-space:nowrap}.versionHint,.versionHistory{grid-column:1 / -1}.versionHistory{display:grid;gap:8px;padding-top:4px}.versionHistory>strong{color:var(--ink);font-size:14px}.versionHistoryItem{display:grid;grid-template-columns:84px minmax(180px,.8fr) 1fr;gap:10px;align-items:center;padding:8px 10px;border:1px solid #d8e6ef;border-radius:8px;background:#f8fbfd}.versionHistoryItem span{color:var(--blue);font-weight:900}.versionHistoryItem small{color:var(--muted);font-weight:800}.versionHistoryItem p{margin:0;color:var(--ink);font-size:13px}.codeRuleForm{display:grid;grid-template-columns:1.2fr .7fr .55fr .7fr .7fr auto;gap:10px;align-items:end;padding:12px;border:1px solid #d7e6ef;border-radius:10px;background:#fff}.codeRuleHead{display:grid;gap:6px}.codeRuleHead strong{display:block;color:var(--ink);font-size:15px}.codeRuleHead span{color:var(--muted);font-size:12px}.codeRuleHead b{justify-self:start;padding:5px 9px;border-radius:999px;color:var(--blue);background:#eef6fb;font-size:12px}.codeRuleForm label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:900}.codeRuleForm .checkField{min-height:38px;grid-template-columns:auto 1fr;align-items:center;color:var(--ink)}.codeRuleForm .checkField input{width:16px;height:16px;accent-color:var(--teal)}.versionForm label,.columnAdminCard label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:900}.columnAdminGrid{display:grid;grid-template-columns:repeat(3,minmax(230px,1fr));gap:12px}.optionAdminGrid{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:12px}.optionManager{display:grid;gap:10px;padding:12px;border:1px solid rgba(217,224,234,.94);border-radius:8px;background:#ffffffd1}.optionManagerHead{display:flex;align-items:center;justify-content:space-between;gap:10px}.optionManagerHead span{color:var(--muted);font-size:12px;font-weight:900}.optionAddForm,.optionRow,.memberFilters{display:grid;gap:8px}.optionAddForm{grid-template-columns:minmax(0,1fr) 86px}.optionRows{display:grid;gap:7px;max-height:360px;overflow:auto}.optionRow{grid-template-columns:minmax(0,1fr) 42px}.optionRow .danger{color:#fff;background:linear-gradient(135deg,var(--red),var(--coral))}.memberFilters{grid-template-columns:minmax(180px,1fr) minmax(160px,.8fr) minmax(140px,.7fr);padding:10px;border:1px solid #e2eaf3;border-radius:8px;background:#f7fafc}.columnAdminCard{display:grid;gap:10px;padding:12px;border:1px solid rgba(217,224,234,.94);border-radius:8px;background:#ffffffd1}.columnAdminCard>div{display:grid;gap:3px}.columnAdminCard>div span{color:var(--muted);font-size:12px}.memberManager{display:grid;gap:12px;margin-top:8px;padding-top:16px;border-top:1px solid var(--line)}.memberAddForm,.memberRow{display:grid;grid-template-columns:minmax(100px,.8fr) 110px minmax(130px,1fr) minmax(120px,.8fr) minmax(170px,1.2fr) minmax(110px,.8fr) 76px 112px;gap:8px;align-items:center}.memberTable{display:grid;gap:8px}.memberHeader{display:grid;grid-template-columns:minmax(100px,.8fr) 110px minmax(130px,1fr) minmax(120px,.8fr) minmax(170px,1.2fr) minmax(110px,.8fr) 76px 88px 180px;gap:8px;align-items:center;padding:8px 10px;border:1px solid rgba(217,224,234,.92);border-radius:8px;color:var(--muted);background:#f4f8fb;font-size:12px;font-weight:900}.memberRow{grid-template-columns:minmax(100px,.8fr) 110px minmax(130px,1fr) minmax(120px,.8fr) minmax(170px,1.2fr) minmax(110px,.8fr) 76px 88px 86px 86px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#ffffffbd}.memberRow span{color:var(--muted);font-size:13px;font-weight:800}.memberRow .danger{background:linear-gradient(135deg,#c2413b,#e8796e)}.viewerNote{padding:9px 11px;border-radius:8px;color:#1f477c;background:#eef6ff;border:1px solid #d8e8fb;font-size:12px;font-weight:800}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes riseIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes growBar{0%{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}@keyframes signalPulse{0%,to{transform:scale(1);box-shadow:0 0 0 0 currentColor}50%{transform:scale(1.18);box-shadow:0 0 0 5px transparent}}@keyframes shimmer{0%{filter:saturate(1)}50%{filter:saturate(1.45) brightness(1.05)}to{filter:saturate(1)}}@keyframes spinIn{0%{opacity:0;transform:rotate(-18deg) scale(.92)}to{opacity:1;transform:rotate(0) scale(1)}}@media(max-width:1280px){.twoColumn,.split,.loginPage,.biLayout,.settingsCategoryTabs,.columnAdminGrid,.optionAdminGrid{grid-template-columns:1fr}.biControl{position:static}.ganttEditLayout.editorClosed{grid-template-columns:minmax(0,1fr) 58px}.ganttProjectNav{grid-template-columns:minmax(180px,220px) minmax(240px,1fr) auto}.kanban{grid-template-columns:repeat(2,minmax(220px,1fr))}.worklogSplit>.kanban{grid-template-columns:repeat(3,minmax(0,1fr))}.memberAddForm,.memberRow,.memberHeader{min-width:1180px}.memberTable,.memberManager{overflow-x:auto}}@media(max-width:1600px){.quickTask{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}}@media(max-width:1050px){.worklogSplit,.worklogSplit.logOpen{grid-template-columns:1fr}.worklogSplit>.kanban{grid-template-columns:repeat(2,minmax(240px,1fr))}.worklogPanel{position:static;max-height:none}}@media(max-width:1120px){.ganttEditLayout,.ganttEditLayout.editorClosed,.ganttProjectNav{grid-template-columns:1fr}.ganttEditor{position:static}.ganttEditor.closed{width:100%;min-height:auto}.ganttEditor.closed .ganttEditorToggle{writing-mode:horizontal-tb;min-height:42px}}@media(max-width:1120px){.metricGrid,.detailInfoGrid{grid-template-columns:repeat(2,minmax(160px,1fr))}.quickTask{grid-template-columns:1fr 1fr}}@media(max-width:780px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:14px}.nav{grid-template-columns:repeat(2,1fr)}.sidebarPanel{display:none}.sopShortcut{min-height:48px}.main{padding:18px}.topbar,.topActions,.governanceControls{align-items:stretch;flex-direction:column}.searchBox{width:100%}.metricGrid,.detailInfoGrid,.biKpiGrid,.sopGuideLayout,.kanban,.quickTask,.fieldGrid,.projectRow,.reportRow,.memberAddForm,.memberRow,.versionForm,.projectCardHeader,.memberHeader,.memberFilters,.marketGroup .contentFieldGrid,.specificationGroup .contentFieldGrid,.deletedProjectList,.deletedArchiveList{grid-template-columns:1fr}.sopGuide{width:calc(100vw - 28px);max-height:calc(100vh - 28px);padding:14px}.sopGuideMap{position:static}.sopExampleFlow div{grid-template-columns:auto 1fr}.sopExampleFlow p,.sopExampleFlow span{grid-column:2}.segmented{width:100%}.kanbanColumn{min-height:auto}.boardStageScope{grid-template-columns:1fr}.boardStageFilter{grid-template-columns:repeat(3,minmax(0,1fr))}.worklogSplit>.kanban{grid-template-columns:1fr}.worklogPanel{position:static}.attachmentModalOverlay{padding:12px}.attachmentModal{height:calc(100vh - 24px);padding:12px}.attachmentModalHead{align-items:flex-start;flex-direction:column}.loginPage{padding:18px}.loginHero h1{font-size:32px}.boardTypeScope{align-items:stretch;flex-direction:column}.boardKindFilter{width:100%;justify-content:space-between}.boardKindFilter button{flex:1}.backToTop{right:16px;bottom:16px}}
