@import"https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css";@import"https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/variable/pretendardvariable.css";:root{--font-body: "Pretendard Variable", "Pretendard", "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;--font-title: "Pretendard Variable", "Pretendard", "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;--bg: #f6f8fc;--bg-elevated: #ffffff;--bg-panel: #f7f9ff;--bg-nav: #ffffff;--text: #111827;--text-subtle: #475467;--line: #e4e7ec;--line-strong: #d0d5dd;--brand: #5a78ec;--brand-strong: #4a66d3;--brand-soft: #eef2ff;--danger: #d92d20;--danger-soft: #fee4e2;--amber: #b54708;--amber-soft: #fef0c7;--ok: #1d4ed8;--ok-soft: #dbeafe;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .04);--shadow-md: 0 10px 24px rgba(16, 24, 40, .08)}:root[data-theme=dark]{--bg: #0e1017;--bg-elevated: #1a2130;--bg-panel: #232d42;--bg-nav: #121622;--text: #f2f6ff;--text-subtle: #c2cde5;--line: #3a4662;--line-strong: #4f5e7f;--brand: #7f5af0;--brand-strong: #6b46e3;--brand-soft: rgba(127, 90, 240, .16);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .25);--shadow-md: 0 16px 32px rgba(0, 0, 0, .35)}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}body{font-family:var(--font-body),sans-serif;color:var(--text);background:radial-gradient(circle at 10% 2%,rgba(51,92,255,.08),transparent 26%),radial-gradient(circle at 88% 100%,rgba(51,92,255,.06),transparent 35%),var(--bg)}a{color:inherit;text-decoration:none}.auth-gate{min-height:100vh;display:grid;place-items:center;padding:20px}.auth-gate__card{width:min(520px,100%);border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow-md);padding:22px}.auth-gate__card h2{margin:0 0 8px;font-size:22px}.auth-gate__card p{margin:0;color:var(--text-subtle)}.login-shell{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(540px,100%);border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow-md);padding:26px;display:flex;flex-direction:column;gap:18px}.login-brand{display:flex;align-items:center;gap:14px}.login-brand h1{margin:0;font-size:28px}.login-brand p{margin:4px 0 0;color:var(--text-subtle);font-size:14px}.login-brand__logo{width:58px;height:58px;border-radius:12px;object-fit:contain;border:1px solid var(--line);background:#fff;padding:6px}.login-logo-help{border:1px dashed #c7d2fe;background:#f8faff;border-radius:12px;padding:10px 12px;font-size:13px;color:#334155}.google-login-button{min-height:44px;width:100%;display:flex;justify-content:center}.login-oauth-link{width:100%;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px;text-decoration:none}.login-oauth-link .button-icon{margin-right:0;width:14px;height:14px;font-size:10px}.login-actions{display:flex;flex-direction:column;align-items:center;gap:8px}.login-status{margin:0;color:var(--text-subtle);font-size:13px}.login-progress{margin:0;color:var(--brand-strong);font-size:13px;font-weight:600}.login-error{margin:0;color:var(--danger);font-size:13px;font-weight:600}.login-dev-panel{width:100%;border:1px dashed #b8c6ff;background:#f8faff;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px}.login-dev-panel strong{font-size:14px}.login-dev-panel p{margin:0;color:var(--text-subtle);font-size:12px}.login-dev-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.login-dev-quick{display:flex;flex-wrap:wrap;gap:6px}:root[data-theme=dark] .auth-gate__card,:root[data-theme=dark] .login-card{background:#151d2e;border-color:#3f5072;color:#eef3ff}:root[data-theme=dark] .auth-gate__card p,:root[data-theme=dark] .login-brand p,:root[data-theme=dark] .login-status,:root[data-theme=dark] .login-dev-panel p{color:#c6d2ea}:root[data-theme=dark] .login-logo-help{border-color:#4a5f88;background:#1a2740;color:#d8e3fb}:root[data-theme=dark] .login-brand__logo{background:#0f1728;border-color:#42577f}:root[data-theme=dark] .login-dev-panel{border-color:#4a5f88;background:#16233b}:root[data-theme=dark] .login-dev-panel .text-input{background:#0f192c;border-color:#4f6389;color:#edf3ff}.erp-shell{--lnb-width: 258px;display:grid;grid-template-columns:var(--lnb-width) minmax(0,1fr);min-height:100vh}.erp-shell[data-collapsed=true]{--lnb-width: 72px}.erp-nav{border-right:1px solid var(--line);background:var(--bg-nav);padding:16px 12px;position:sticky;top:0;height:100vh;overflow-y:auto}.erp-nav__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.erp-nav__logo{font-family:var(--font-title),sans-serif;font-size:17px;font-weight:700;letter-spacing:.02em;white-space:nowrap}.erp-nav__toggle{width:32px;height:32px;border:1px solid var(--line);border-radius:10px;background:#f8faff;cursor:pointer}.erp-shell[data-collapsed=true] .erp-nav__logo,.erp-shell[data-collapsed=true] .erp-nav__section-title,.erp-shell[data-collapsed=true] .erp-nav__links a span{display:none}.erp-shell[data-collapsed=true] .erp-nav__links a .erp-nav__icon-wrap{display:inline-flex}.erp-nav__section-title{font-size:10px;color:var(--text-subtle);margin:12px 8px 8px;text-transform:uppercase;letter-spacing:.08em}.erp-nav__links{display:flex;flex-direction:column;gap:4px}.erp-nav__links a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:11px;color:var(--text-subtle);transition:.12s ease;border:1px solid transparent;font-size:13.5px;font-weight:500}.erp-nav__icon-wrap{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:8px;background:#f4f6fb}.erp-nav__icon{width:16px;height:16px;color:#667085}.erp-nav__links a:hover,.erp-nav__links a[data-active=true]{color:var(--text);background:#f4f6ff;border-color:#d7defc}.erp-nav__links a:hover .erp-nav__icon,.erp-nav__links a[data-active=true] .erp-nav__icon{color:var(--brand)}.erp-nav__links a:hover .erp-nav__icon-wrap,.erp-nav__links a[data-active=true] .erp-nav__icon-wrap{background:#e8eeff}.erp-main{padding:18px}.erp-main__inner{width:min(1620px,100%);margin:0 auto}.erp-topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.erp-topbar__left{min-width:0;flex:1 1 auto}.erp-topbar__actions{flex:0 0 auto}.erp-topbar__title{font-family:var(--font-title),sans-serif;font-size:26px;letter-spacing:-.02em;font-weight:750;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.announcement-banner{--notice-bg: #111827;--notice-text: #f9fafb;--notice-accent: #60a5fa;--notice-speed: 24s;margin:-2px 0 14px;border:1px solid color-mix(in srgb,var(--notice-accent) 52%,transparent);border-radius:12px;background:var(--notice-bg);color:var(--notice-text);overflow:hidden;box-shadow:0 10px 20px #0f172a24}.announcement-banner.is-gradient{background:linear-gradient(90deg,color-mix(in srgb,var(--notice-bg) 78%,var(--notice-accent) 22%),color-mix(in srgb,var(--notice-bg) 92%,#fff 8%),color-mix(in srgb,var(--notice-bg) 78%,var(--notice-accent) 22%))}.announcement-banner.is-glow{box-shadow:0 0 0 1px color-mix(in srgb,var(--notice-accent) 50%,transparent),0 0 20px color-mix(in srgb,var(--notice-accent) 34%,transparent)}.announcement-banner__viewport{overflow:hidden;white-space:nowrap}.announcement-banner__marquee{display:flex;align-items:center;width:max-content;min-width:100%;animation:notice-slide var(--notice-speed) linear infinite}.announcement-banner.is-paused .announcement-banner__marquee{animation-play-state:paused}.announcement-banner__track{display:flex;align-items:center;flex-shrink:0}.announcement-banner__item{display:inline-flex;align-items:center;padding:10px 14px;white-space:nowrap;font-size:14px;font-weight:650;letter-spacing:.01em;color:var(--notice-text)}.announcement-banner__item:before{content:"공지";display:inline-flex;align-items:center;justify-content:center;margin-right:10px;min-width:34px;height:22px;border-radius:999px;font-size:11px;font-weight:700;color:#0b1020;background:var(--notice-accent)}@keyframes notice-slide{0%{transform:translate(0)}to{transform:translate(-50%)}}.erp-filters{display:flex;gap:8px;flex-wrap:wrap}.erp-filter,.search-input,.text-input,.select-input,input[type=text],input[type=email],input[type=password],input[type=search],input[type=number],input[type=date],input[type=datetime-local],select,textarea{border:1px solid var(--line);background:var(--bg-elevated);border-radius:11px;min-height:38px;padding:0 11px;color:var(--text);font:inherit;font-size:13.5px}textarea{min-height:82px;padding:12px 12px 10px;line-height:1.5;text-align:left;vertical-align:top;resize:vertical}.erp-filter:focus,.search-input:focus,.text-input:focus,.select-input:focus,input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=search]:focus,input[type=number]:focus,input[type=date]:focus,input[type=datetime-local]:focus,select:focus,textarea:focus,.cell-input:focus{outline:2px solid #d4ddff;border-color:#8ea6ff}input::placeholder,textarea::placeholder{color:#98a2b3}input[type=checkbox]{width:15px;height:15px;accent-color:var(--brand);cursor:pointer}input:disabled,select:disabled,textarea:disabled{background:#f2f4f7;color:#98a2b3;cursor:not-allowed}:root[data-theme=dark] input:disabled,:root[data-theme=dark] select:disabled,:root[data-theme=dark] textarea:disabled{background:#182033;color:#7f8aa3}.panel{border:1px solid var(--line);border-radius:16px;background:var(--bg-elevated);padding:14px;box-shadow:var(--shadow-sm)}.panel-title{font-family:var(--font-title),sans-serif;font-size:16px;margin:0 0 10px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.toolbar-spread{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.toolbar-left,.toolbar-right{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.toolbar-right{justify-content:flex-end}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field{display:flex;flex-direction:column;gap:6px}.field>span{color:var(--text-subtle);font-size:12px;font-weight:600}.field--full{grid-column:1 / -1}.color-row{display:grid;grid-template-columns:46px minmax(0,1fr);gap:8px}.color-row input[type=color]{width:46px;height:38px;border:1px solid var(--line);border-radius:11px;background:var(--bg-elevated);padding:4px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.kpi-card{border:1px solid var(--line);border-radius:14px;padding:12px;background:linear-gradient(180deg,#fff,#f8faff)}.kpi-card h3{margin:0;font-size:12px;color:var(--text-subtle);font-weight:600}.kpi-card strong{display:block;margin-top:5px;font-size:23px;font-family:var(--font-title),sans-serif}.kpi-card small{display:block;margin-top:4px;color:var(--text-subtle)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse;min-width:920px}th,td{border-bottom:1px solid var(--line);padding:10px;font-size:13px;text-align:left;white-space:nowrap;vertical-align:middle}th{position:sticky;top:0;background:var(--bg-panel);z-index:1;font-weight:600;color:#344054}.row-hover:hover{background:#f7f9ff}.cell-input{width:78px;border:1px solid var(--line);border-radius:8px;height:30px;padding:0 8px;background:#fff}.cell-input.missing{border-color:var(--danger);background:var(--danger-soft)}.mm-month-cell{text-align:center;font-size:12px;color:#98a2b3}.mm-month-cell--filled{background:#f2d8e6;color:#7a284a;font-weight:700}.mm-month-cell__content{display:flex;flex-direction:column;align-items:center;gap:2px}.mm-month-cell__meta{display:block;font-size:10px;line-height:1.2;font-weight:600;color:#7f1d4f}.badge{border-radius:999px;padding:3px 9px;font-size:12px;border:1px solid var(--line);background:#fff}.badge.alert{color:var(--danger);border-color:#fecaca;background:var(--danger-soft)}.badge.warn{color:var(--amber);border-color:#fedf89;background:var(--amber-soft)}.badge.ok{color:var(--ok);border-color:#bfdbfe;background:var(--ok-soft)}.status-tag{display:inline-flex;align-items:center;justify-content:center;min-width:58px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;line-height:1;border:1px solid transparent}.status-tag.planned{color:#92400e;background:#fff7ed;border-color:#fed7aa}.status-tag.active{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.status-tag.closed{color:#475467;background:#f2f4f7;border-color:#d0d5dd}.status-pill{display:inline-flex;align-items:center;justify-content:center;width:fit-content;max-width:100%;min-height:22px;padding:3px 9px;border-radius:999px;border:1px solid transparent;font-size:11px;font-weight:700;line-height:1;letter-spacing:.01em;white-space:nowrap}.status-pill--neutral{color:#475467;background:#f2f4f7;border-color:#d0d5dd}.status-pill--ok{color:#166534;background:#ecfdf3;border-color:#abefc6}.status-pill--watch{color:#b54708;background:#fffaeb;border-color:#fedf89}.status-pill--risk{color:#b42318;background:#fef3f2;border-color:#fecdca}.status-pill--planning{color:#b54708;background:#fffaeb;border-color:#fedf89}.status-pill--active{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.status-pill--on-hold{color:#7a4504;background:#fff5e5;border-color:#f3d3a3}.status-pill--at-risk{color:#b42318;background:#fef3f2;border-color:#fecdca}.status-pill--done{color:#344054;background:#f2f4f7;border-color:#d0d5dd}.status-pill--submitted{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.status-pill--draft{color:#475467;background:#f2f4f7;border-color:#d0d5dd}.status-pill--period{color:#1f2937;background:#fff;border-color:#d0d5dd;font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis}.report-card-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}.button{border:1px solid var(--line-strong);background:#fff;border-radius:11px;padding:8px 12px;cursor:pointer;font:inherit;color:var(--text);min-height:36px;font-size:13.5px;font-weight:600}.button:hover{border-color:#b8c0cc}.button.primary{border-color:var(--brand);background:var(--brand);color:#fff}.button.primary:hover{background:var(--brand-strong);border-color:var(--brand-strong)}.button.ghost{background:transparent}.button[disabled]{cursor:not-allowed;opacity:.6}.button.compact{padding:4px 10px;border-radius:9px;font-size:12.5px;min-height:30px}.button-icon{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;margin-right:4px;font-size:9px;line-height:1;opacity:.72}.button.compact .button-icon{width:10px;height:10px;margin-right:3px;font-size:8px}.plus-badge{width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#ffffff47,#ffffff1f);border:1px solid rgba(255,255,255,.48);color:#fff;font-size:18px;font-weight:700;line-height:1;margin-right:3px;flex-shrink:0;box-shadow:inset 0 1px #fff3}.button:not(.primary) .plus-badge{background:linear-gradient(180deg,#f1f4ff,#e6ecff);border-color:#c9d4ff;color:var(--brand-strong)}.split-add{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.split-add__pair{display:inline-flex;align-items:center}.split-add__main{border-top-right-radius:0;border-bottom-right-radius:0}.split-add__toggle{width:30px;min-width:30px;padding:0;border-top-left-radius:0;border-bottom-left-radius:0}.split-add__selector{min-width:120px}.menu-selector{position:relative;display:inline-flex;flex-direction:column;align-items:stretch}.menu-selector__toggle{display:inline-flex;align-items:center;gap:7px;min-width:108px;justify-content:center}.menu-selector__caret{font-size:10px;line-height:1;opacity:.9}.menu-selector__list{position:absolute;top:calc(100% + 6px);right:0;left:auto;z-index:40;min-width:188px;max-width:min(320px,calc(100vw - 24px));padding:6px;border-radius:10px;border:1px solid var(--line-strong);background:#fff;box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:6px}.menu-selector__item{border:1px solid transparent;background:#fff;color:var(--text);border-radius:8px;padding:7px 10px;font:inherit;cursor:pointer;text-align:left;display:block;text-decoration:none}.menu-selector__item:hover{background:var(--brand-soft);border-color:#d2dcff}.menu-selector__item:disabled{opacity:.6;cursor:not-allowed}.action-strip{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line);background:#fcfdff}.feedback-textarea{padding-top:12px}.feedback-inbox-head{align-items:center;gap:10px}.feedback-inbox-head__summary{flex:1 1 auto;flex-wrap:wrap;gap:8px;min-width:0}.feedback-inbox-head .toolbar-right{flex:0 0 auto}@media (max-width: 900px){.feedback-inbox-head{align-items:flex-start;flex-direction:column}.feedback-inbox-head__summary{width:100%}.feedback-inbox-head .toolbar-right{width:100%;justify-content:flex-start}}.table-head-title{font-size:14px;font-weight:600;color:#344054}.grid-action-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line);background:#fcfdff}.grid-action-bar .toolbar{gap:6px}.h-stack{display:flex;align-items:center;gap:8px}.stack{display:flex;flex-direction:column;gap:12px}.pagination{display:flex;align-items:center;justify-content:space-between;gap:8px}.mui-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.mui-pagination__left,.mui-pagination__right{display:flex;align-items:center;gap:8px}.mui-pagination__left span,.mui-pagination__range{font-size:13px;color:var(--text-subtle)}.mui-pagination__actions{display:flex;align-items:center;gap:4px}.mui-page-btn{min-width:30px;height:30px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);cursor:pointer;padding:0 6px}.mui-page-btn:hover{border-color:#b8c0cc}.mui-page-btn.is-active{background:var(--brand-soft);border-color:#c7d4ff;color:var(--brand-strong);font-weight:700}.mui-page-btn:disabled{opacity:.45;cursor:not-allowed}.mui-page-ellipsis{min-width:18px;text-align:center;color:var(--text-subtle);font-size:13px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#10182857;display:flex;align-items:center;justify-content:center;padding:16px;z-index:999}.modal{width:min(980px,100%);max-height:calc(100vh - 40px);overflow:auto;border-radius:16px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow-md);padding:20px}.modal--wide{width:min(1180px,96vw)}.modal-footer{position:sticky;bottom:-20px;background:#fff;border-top:1px solid var(--line);margin-top:14px;padding:12px 0 4px;display:flex;align-items:center;justify-content:flex-end;gap:8px}.erp-chatbot{position:fixed;right:18px;bottom:18px;z-index:970;display:flex;flex-direction:column;align-items:flex-end;gap:10px}.erp-chatbot__fab{border:none;border-radius:999px;min-height:50px;padding:0 16px 0 12px;background:linear-gradient(135deg,#7b93f7,#6e87ed);color:#fff;box-shadow:0 10px 20px #3f5ec947;display:inline-flex;align-items:center;gap:8px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.erp-chatbot__fab:hover{background:linear-gradient(135deg,#6b84ea,#5f79df)}.erp-chatbot__fab:focus-visible{outline:2px solid #d4ddff;outline-offset:2px}.erp-chatbot__fab-icon{width:30px;height:30px;border-radius:999px;background:#fff3;display:inline-flex;align-items:center;justify-content:center}.erp-chatbot__fab-icon svg{width:20px;height:20px}.erp-chatbot__panel{width:min(430px,calc(100vw - 18px));max-height:min(700px,calc(100vh - 88px));border-radius:16px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow-md);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden}.erp-chatbot__header{padding:14px 14px 10px;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.erp-chatbot__header strong{display:block;font-size:15px;font-weight:800;letter-spacing:.01em}.erp-chatbot__header p{margin:3px 0 0;color:var(--text-subtle);font-size:12px}.erp-chatbot__quick{padding:10px 12px;border-bottom:1px solid #eef2f6;display:flex;gap:6px;flex-wrap:wrap}.erp-chatbot__quick-item{border:1px solid #dbe2ff;background:#f5f7ff;color:#2f4bb8;border-radius:999px;font:inherit;font-size:12px;font-weight:600;padding:5px 10px;cursor:pointer}.erp-chatbot__quick-item:hover{background:#ebf0ff}.erp-chatbot__quick-item:disabled{opacity:.55;cursor:not-allowed}.erp-chatbot__messages{padding:12px;background:#f8faff;overflow:auto;display:flex;flex-direction:column;gap:9px}.erp-chatbot__message{max-width:92%;border-radius:12px;padding:9px 11px;white-space:pre-wrap;line-height:1.45;box-shadow:0 1px #1018280a}.erp-chatbot__message p{margin:0;font-size:13px}.erp-chatbot__message--assistant{background:#fff;border:1px solid #e4e7ec;align-self:flex-start}.erp-chatbot__message--user{background:#eaf0ff;border:1px solid #cfdbff;align-self:flex-end}.erp-chatbot__typing{font-size:12px;color:var(--text-subtle);padding:2px 4px}.erp-chatbot__composer{border-top:1px solid var(--line);padding:11px;background:#fff;display:flex;flex-direction:column;gap:6px}.erp-chatbot__composer textarea{width:100%;min-height:72px;resize:vertical}.erp-chatbot__composer-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.erp-chatbot__hint{font-size:11px;color:#667085}.toast-viewport{position:fixed;top:16px;left:50%;transform:translate(-50%);width:min(760px,calc(100vw - 24px));z-index:1200;display:flex;flex-direction:column;gap:10px;pointer-events:none;align-items:center}.toast{width:100%;max-width:760px;border-radius:14px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow-md);padding:14px 16px;font-size:15px;font-weight:600;line-height:1.4;color:var(--text)}.toast--ok{border-color:#bfdbfe;background:#eff6ff}.toast--warn{border-color:#fedf89;background:#fffbeb}.toast--alert{border-color:#fecaca;background:#fef2f2}.form-grid{display:grid;gap:14px}.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-field{display:flex;flex-direction:column;gap:6px}.form-label{font-size:12px;color:#344054;font-weight:600;letter-spacing:.01em}.reports-mine-toggle{min-height:38px;display:flex;align-items:center;padding:0 8px;border:1px solid var(--line);border-radius:11px;background:var(--bg-elevated)}.reports-mine-toggle .ui-form-control-label{margin:0;width:100%;min-height:34px;display:inline-flex;align-items:center}.reports-mine-toggle .ui-form-control-label span{white-space:nowrap}.reports-filter-layout{display:flex;flex-direction:column;gap:10px}.reports-filter-layout__main{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:10px;align-items:end}.reports-filter-layout__cell{min-width:0}.reports-filter-layout__cell--mine,.reports-filter-layout__cell--period{grid-column:span 3}.reports-filter-layout__cell--project{grid-column:span 4}.reports-filter-layout__cell--group{grid-column:span 2}.reports-filter-layout__cell--start,.reports-filter-layout__cell--end{grid-column:span 3}.reports-filter-layout__search{display:grid;grid-template-columns:180px minmax(0,1fr) 76px;gap:10px;align-items:end}.reports-filter-layout__tag,.reports-filter-layout__query{min-width:0}.reports-filter-layout__submit{min-width:76px}.report-week-pill{min-height:30px;display:inline-flex;align-items:center;padding:4px 11px;border-radius:999px;border:1px solid var(--line);background:var(--bg-panel);color:var(--text);font-size:12px;font-weight:600}.report-week-actions .badge{font-size:12px}.project-overview-metric{min-height:120px;display:flex;flex-direction:column;justify-content:space-between;gap:6px}@media (max-width: 1160px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.reports-filter-layout__cell--mine,.reports-filter-layout__cell--period,.reports-filter-layout__cell--project,.reports-filter-layout__cell--group,.reports-filter-layout__cell--start,.reports-filter-layout__cell--end{grid-column:span 6}}@media (max-width: 1024px){html,body{overflow-x:hidden}.erp-shell{display:block;min-height:100vh}.erp-shell[data-collapsed=true]{--lnb-width: 100%}.erp-shell[data-collapsed=true] .erp-nav__logo,.erp-shell[data-collapsed=true] .erp-nav__section-title,.erp-shell[data-collapsed=true] .erp-nav__links a span{display:initial}.grid-2,.grid-3,.grid-4,.form-grid-2,.form-grid-3{grid-template-columns:1fr}.erp-topbar{flex-direction:column;align-items:stretch}.erp-topbar__left{width:100%;justify-content:flex-start}.erp-topbar__actions{width:100%;justify-content:flex-start!important}.login-dev-form{grid-template-columns:1fr}table{min-width:680px}}@media (max-width: 768px){.erp-chatbot{right:8px;left:8px;bottom:10px;align-items:stretch}.erp-chatbot__panel{width:100%;max-height:min(78vh,760px)}.erp-chatbot__fab{align-self:flex-end}}.erp-mobile-nav-toggle{display:none}.erp-nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;border:0;margin:0;padding:0;background:#11182759;z-index:25}#root .MuiPaper-root,#root .MuiCard-root{border:1px solid var(--line)!important;background:var(--bg-elevated)!important;box-shadow:var(--shadow-sm)!important}#root .MuiCard-root{border-radius:16px!important}#root .MuiCardContent-root{padding:14px!important}#root .MuiButton-root{border-radius:11px;min-height:36px;text-transform:none;font-weight:650}#root .MuiOutlinedInput-root{border-radius:11px;background:var(--bg-elevated);min-height:38px;font-size:13.5px;transition:box-shadow .14s ease,border-color .14s ease}#root .MuiInputBase-input{font-size:13.5px;padding:9px 11px}#root .MuiInputBase-input.MuiSelect-select{min-height:38px;display:flex;align-items:center;padding-right:30px!important}#root textarea.MuiInputBase-inputMultiline{min-height:82px!important;padding:8px 11px!important}#root .MuiInputLabel-root{font-size:12px;font-weight:600;letter-spacing:.01em;color:#344054;line-height:1.2}#root .MuiInputLabel-shrink{transform:translate(12px,-8px) scale(.85)}#root .MuiFormHelperText-root{margin-left:2px;font-size:12px;color:var(--text-subtle)}:root[data-theme=dark] #root .MuiInputLabel-root{color:#c1cadf}#root .Mui-focused .MuiOutlinedInput-notchedOutline{border-color:#8ea6ff!important}#root .Mui-focused.MuiOutlinedInput-root{box-shadow:0 0 0 2px #d4ddff}#root .MuiMenu-paper{border:1px solid var(--line)!important;border-radius:11px!important;box-shadow:var(--shadow-md)!important}#root .MuiMenuItem-root{min-height:34px;font-size:13.5px}#root .MuiAutocomplete-paper{border:1px solid var(--line)!important;border-radius:11px!important}#root .MuiTypography-root{word-break:break-word}@media (max-width: 1024px){.erp-nav{position:fixed;left:0;top:0;bottom:0;width:min(320px,84vw);transform:translate(-100%);transition:transform .18s ease;height:100vh;z-index:30;visibility:hidden;pointer-events:none}.erp-nav.is-open{transform:translate(0);visibility:visible;pointer-events:auto}.erp-mobile-nav-toggle{display:inline-flex;align-items:center}}.ui-alert{border:1px solid var(--line);border-radius:11px;padding:10px 12px;font-size:13px;line-height:1.45}.ui-alert--info{background:#eef4ff;border-color:#c7d7ff;color:#1d4ed8}.ui-alert--success{background:#ecfdf3;border-color:#abefc6;color:#067647}.ui-alert--warning{background:#fff7ed;border-color:#fed7aa;color:#b54708}.ui-alert--error{background:#fef3f2;border-color:#fecdca;color:#b42318}.ui-card{padding:0}.ui-card-content{padding:14px}.ui-card-action{display:block;width:100%;border:0;background:transparent;color:var(--text);padding:0;text-align:left;cursor:pointer}.ui-tabs{display:inline-flex;align-items:center;gap:6px;border-bottom:1px solid var(--line);padding-bottom:6px;flex-wrap:wrap}.ui-tab{border:1px solid var(--line);border-radius:10px;background:var(--bg-elevated);color:var(--text-subtle);font-family:inherit;font-size:12.5px;font-weight:700;min-height:34px;padding:0 12px;cursor:pointer}.ui-tab.is-active{border-color:var(--brand);color:var(--brand-strong);background:#eef2ff}.ui-field-help{margin-left:2px;font-size:12px;color:var(--text-subtle)}.ui-field-help.error{color:var(--danger)}.text-input.is-error,.select-input.is-error{border-color:var(--danger)}.ui-form-control-label{align-items:center;gap:8px;font-size:13px;color:var(--text-subtle)}.ui-switch{width:16px;height:16px;accent-color:var(--brand)}.badge--small{font-size:11px;padding:4px 8px}.badge--outlined{background:transparent;border-color:var(--line-strong)}.badge--click{cursor:pointer;font:inherit}.ui-divider{border:0;border-top:1px solid var(--line);margin:0}.ui-list{margin:0;padding:0;list-style:none}.ui-list-item{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px 0}.ui-list-item--divider{border-bottom:1px solid var(--line)}.ui-list-item__action{flex-shrink:0}.ui-slider{width:100%;accent-color:var(--brand)}.ui-spinner{border-style:solid;border-color:var(--line);border-top-color:var(--brand);border-radius:999px;animation:ui-spin .8s linear infinite}.ui-circle-progress{border-radius:999px;display:inline-flex;box-sizing:border-box}.ui-circle-progress__inner{width:100%;height:100%;border-radius:999px;background:var(--bg-elevated)}.ui-snackbar{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:1200;width:min(520px,calc(100vw - 24px))}.percent-ring{position:relative;display:inline-flex;align-items:center;justify-content:center}.percent-ring__label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--text)}.button.danger{border-color:#fda29b;color:#b42318;background:#fef3f2}.button.danger:hover{border-color:#f97066;background:#fee4e2}.admin-menu-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-menu-card{border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#fff,#f8faff);text-align:left;padding:14px;cursor:pointer;display:flex;align-items:flex-start;gap:10px;min-height:120px}.admin-menu-card:hover{border-color:#c7d2fe;box-shadow:var(--shadow-sm)}.admin-menu-card__icon{width:34px;height:34px;border-radius:10px;border:1px solid #dbe4ff;background:#eef2ff;display:inline-flex;align-items:center;justify-content:center;font-size:16px;color:var(--brand);flex-shrink:0}.admin-menu-card__body{display:flex;flex-direction:column;gap:6px;min-width:0}.admin-menu-card__body strong{font-size:15px;font-weight:700;color:var(--text)}.admin-menu-card__body p{margin:0;font-size:12.5px;line-height:1.45;color:var(--text-subtle)}:root[data-theme=dark] .erp-nav__toggle{background:#1b2233;color:var(--text);border-color:#344056}:root[data-theme=dark] .erp-nav__icon-wrap{background:#1a2233}:root[data-theme=dark] .erp-nav__icon{color:#b4bfd8}:root[data-theme=dark] .erp-nav__links a:hover,:root[data-theme=dark] .erp-nav__links a[data-active=true]{background:#1f2940;border-color:#394968}:root[data-theme=dark] .erp-nav__links a:hover .erp-nav__icon-wrap,:root[data-theme=dark] .erp-nav__links a[data-active=true] .erp-nav__icon-wrap{background:#263251}:root[data-theme=dark] .kpi-card{background:linear-gradient(180deg,#1b2234,#161d2c)}:root[data-theme=dark] th{color:#c8d1e8}:root[data-theme=dark] .row-hover:hover{background:#1a2233}:root[data-theme=dark] .cell-input{background:#151d2d;color:var(--text)}:root[data-theme=dark] .badge{background:#171f30;color:#d4dcf2}:root[data-theme=dark] .panel-title,:root[data-theme=dark] .form-label,:root[data-theme=dark] .table-head-title,:root[data-theme=dark] .ui-form-control-label,:root[data-theme=dark] .ui-field-help{color:#d6e0f6}:root[data-theme=dark] .panel,:root[data-theme=dark] .ui-card,:root[data-theme=dark] .ui-card-content{background:#1a2335;border-color:#465979}:root[data-theme=dark] .text-input,:root[data-theme=dark] .select-input,:root[data-theme=dark] textarea{background:#111a2c;border-color:#4f6389;color:#edf3ff}:root[data-theme=dark] .text-input:focus,:root[data-theme=dark] .select-input:focus,:root[data-theme=dark] textarea:focus{outline-color:#7e95d8;border-color:#8ea6ff}:root[data-theme=dark] .badge--outlined{border-color:#607298;color:#dde6fb}:root[data-theme=dark] input::placeholder,:root[data-theme=dark] textarea::placeholder{color:#9aaccc}:root[data-theme=dark] .status-tag.planned{color:#ffd3a0;background:#3a2b17;border-color:#6d5232}:root[data-theme=dark] .status-tag.active{color:#b3ceff;background:#1a2a47;border-color:#355489}:root[data-theme=dark] .status-tag.closed{color:#c9d2e6;background:#222b3d;border-color:#404c67}:root[data-theme=dark] .status-pill--neutral,:root[data-theme=dark] .status-pill--done,:root[data-theme=dark] .status-pill--draft{color:#c9d2e6;background:#222b3d;border-color:#404c67}:root[data-theme=dark] .status-pill--ok{color:#9de3bc;background:#163225;border-color:#2f6f4c}:root[data-theme=dark] .status-pill--watch,:root[data-theme=dark] .status-pill--planning,:root[data-theme=dark] .status-pill--on-hold{color:#ffd89e;background:#3b2d1a;border-color:#7b6032}:root[data-theme=dark] .status-pill--risk,:root[data-theme=dark] .status-pill--at-risk{color:#ffb8b8;background:#3f2222;border-color:#804141}:root[data-theme=dark] .status-pill--active,:root[data-theme=dark] .status-pill--submitted{color:#b3ceff;background:#1a2a47;border-color:#355489}:root[data-theme=dark] .status-pill--period{color:#d9e3fb;background:#1f2940;border-color:#475a7f}:root[data-theme=dark] .button{background:#171f30;border-color:#3b4761;color:#dde4f7}:root[data-theme=dark] .button:hover{border-color:#536283;background:#1b2437}:root[data-theme=dark] .button.primary{color:#fff}:root[data-theme=dark] .menu-selector__list,:root[data-theme=dark] .menu-selector__item,:root[data-theme=dark] .modal,:root[data-theme=dark] .modal-footer,:root[data-theme=dark] .erp-chatbot__panel,:root[data-theme=dark] .erp-chatbot__composer{background:#171f30}:root[data-theme=dark] .action-strip,:root[data-theme=dark] .grid-action-bar{background:#171f30}:root[data-theme=dark] .table-head-title{color:#d7def2}:root[data-theme=dark] .mui-page-btn{background:#171f30}:root[data-theme=dark] .ui-tab.is-active{background:#25314e;color:#d6e2ff}:root[data-theme=dark] .ui-alert--info{background:#1c2a44;border-color:#34538a;color:#b9d3ff}:root[data-theme=dark] .ui-alert--success{background:#183327;border-color:#2f6f4c;color:#9de3bc}:root[data-theme=dark] .ui-alert--warning{background:#3b2d1a;border-color:#7b6032;color:#ffd89e}:root[data-theme=dark] .ui-alert--error{background:#3f2222;border-color:#804141;color:#ffb8b8}:root[data-theme=dark] .admin-menu-card{background:linear-gradient(180deg,#1b2234,#161d2c);border-color:#334059}:root[data-theme=dark] .admin-menu-card:hover{border-color:#4f6192}:root[data-theme=dark] .admin-menu-card__icon{border-color:#3a4f7f;background:#263251}:root[data-theme=dark] .erp-chatbot__quick{border-bottom-color:#2f3b53}:root[data-theme=dark] .erp-chatbot__quick-item{border-color:#44598f;background:#243152;color:#d0ddff}:root[data-theme=dark] .erp-chatbot__quick-item:hover{background:#2c3c63}:root[data-theme=dark] .erp-chatbot__messages{background:#111927}:root[data-theme=dark] .erp-chatbot__message--assistant{background:#182133;border-color:#344056}:root[data-theme=dark] .erp-chatbot__message--user{background:#27355a;border-color:#3e568e}@keyframes ui-spin{to{transform:rotate(360deg)}}@media (max-width: 1320px){.admin-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.admin-menu-grid{grid-template-columns:1fr}.login-shell{align-items:flex-start;padding:12px}.login-card{width:100%;border-radius:14px;padding:14px;gap:12px}.login-brand{gap:10px;align-items:flex-start}.login-brand__logo{width:44px;height:44px;border-radius:10px;padding:4px}.login-brand>div{min-width:0;flex:1 1 auto}.login-brand h1{font-size:21px;line-height:1.2;word-break:keep-all;overflow-wrap:anywhere}.login-brand p{font-size:12px;line-height:1.4;word-break:keep-all;overflow-wrap:anywhere}.login-oauth-link{min-height:42px;font-size:13px;padding:0 10px;text-align:center;word-break:keep-all}.login-dev-form{grid-template-columns:1fr}.login-dev-quick{display:grid;grid-template-columns:1fr}.login-dev-quick .button{width:100%;justify-content:flex-start;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.erp-main{padding:8px}.erp-topbar__title{font-size:18px;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.2}.erp-topbar{gap:8px}.erp-topbar__left,.erp-topbar__actions{width:100%}.erp-topbar__actions .badge{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel,.ui-card-content{padding:10px}.panel-head{flex-direction:column;align-items:flex-start}.button{min-height:36px;padding:7px 10px;font-size:13px}.badge{font-size:11px}.toolbar-spread,.toolbar-left,.toolbar-right{width:100%;flex-direction:column;align-items:stretch}.toolbar-left .search-input,.toolbar-right .search-input,.toolbar-left>*,.toolbar-right>*{width:100%}input[type=text],input[type=email],input[type=password],input[type=search],input[type=number],input[type=date],input[type=datetime-local],select,textarea,.text-input,.select-input,.search-input,#root .MuiInputBase-input,#root .MuiInputBase-input.MuiSelect-select,#root textarea.MuiInputBase-inputMultiline{font-size:16px}.reports-filter-layout__main,.reports-filter-layout__search{grid-template-columns:1fr}.reports-filter-layout__cell--mine,.reports-filter-layout__cell--period,.reports-filter-layout__cell--project,.reports-filter-layout__cell--group,.reports-filter-layout__cell--start,.reports-filter-layout__cell--end{grid-column:1 / -1}.reports-filter-layout__submit{width:100%}.project-overview-metric{min-height:100px}.table-wrap{border-radius:10px}table{min-width:560px}th,td{padding:8px;font-size:12.5px}.modal-backdrop{align-items:flex-end;padding:0}.modal{width:100%!important;max-height:92vh;border-radius:16px 16px 0 0;border-left:0;border-right:0;padding:14px}.modal-footer{margin-top:10px;padding-top:10px;flex-wrap:wrap;justify-content:stretch}.modal-footer .button{width:100%;justify-content:center}}
