:root{--font-sans:"Pretendard JP Variable","Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--c-primary:#0066ff;--c-primary-strong:#005eeb;--c-primary-heavy:#0054d1;--c-primary-weak:#eaf2fe;--c-primary-weak-2:#f5f9ff;--c-bg:#f7f7f8;--c-surface:#ffffff;--c-surface-2:#f4f5f7;--c-line:#e7e8eb;--c-line-strong:#d3d6db;--c-text:#171719;--c-text-2:#33363c;--c-text-3:#565a63;--c-text-weak:#8b8f98;--c-text-disable:#b6bac2;--c-success:#00a331;--c-success-weak:#e7f7ec;--c-success-text:#008a1e;--c-danger:#e52222;--c-danger-weak:#feecec;--c-danger-text:#e52222;--c-warning:#ff9200;--c-warning-weak:#fff3da;--c-warning-text:#b45309;--c-violet:#6d28d9;--c-violet-weak:#f3f0ff;--r-sm:8px;--r-md:10px;--r-lg:12px;--r-xl:16px;--r-2xl:20px;--r-pill:999px;--sh-sm:0 1px 2px rgba(23,23,25,.06);--sh-md:0 4px 16px rgba(23,23,25,.08);--sh-lg:0 10px 30px rgba(23,23,25,.14)}:root[data-theme=dark]{--c-primary:#3385ff;--c-primary-strong:#5b84ff;--c-primary-heavy:#6b95ff;--c-primary-weak:rgba(51,133,255,.16);--c-primary-weak-2:rgba(51,133,255,.08);--c-bg:#15171c;--c-surface:#21252d;--c-surface-2:#1a1d24;--c-line:#2c313b;--c-line-strong:#3a404b;--c-text:#f7f7f7;--c-text-2:#e4e5e8;--c-text-3:#c2c4c9;--c-text-weak:#9a9da4;--c-text-disable:#5c5f65;--c-danger:#d85a5a;--c-success-weak:rgba(0,191,64,.18);--c-success-text:#28c85a;--c-danger-weak:rgba(216,90,90,.2);--c-danger-text:#ef7d7d;--c-warning-weak:rgba(255,146,0,.18);--c-warning-text:#ffab3a;--c-violet-weak:rgba(139,92,246,.2);--sh-sm:0 1px 2px rgba(0,0,0,.45);--sh-md:0 4px 16px rgba(0,0,0,.5);--sh-lg:0 10px 30px rgba(0,0,0,.6)}*{box-sizing:border-box}body{margin:0;font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Malgun Gothic,sans-serif;font-size:13px;line-height:1.5;letter-spacing:-.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--c-surface-2);color:var(--c-text)}.layout{display:flex;min-height:100vh}.sidebar{width:220px;background:var(--c-text);color:var(--c-surface);padding:20px 0;flex-shrink:0}.brand{font-size:17px;font-weight:700;padding:0 20px 20px;border-bottom:1px solid var(--c-text-2)}.sidebar nav{display:flex;flex-direction:column;margin-top:10px}.nav-group{display:flex;flex-direction:column}.nav-item{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--c-line-strong);text-decoration:none;padding:11px 20px;font-size:13px}.nav-badge{flex:0 0 auto;min-width:18px;height:18px;padding:0 5px;background:var(--c-danger);color:var(--c-surface);border-radius:9px;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;line-height:1}.nav-item:hover{background:var(--c-text-2);color:var(--c-surface)}.nav-item.active{background:var(--c-primary-strong);color:var(--c-surface)}.nav-parent{cursor:pointer}.nav-caret{font-size:10px;opacity:.7;transition:transform .15s ease}.nav-caret.open{transform:rotate(180deg)}.nav-subitems{display:flex;flex-direction:column;background:var(--c-text)}.nav-subitem{display:block;color:var(--c-text-weak);text-decoration:none;padding:9px 20px 9px 36px;font-size:12.5px}.nav-subitem:before{content:"└ ";opacity:.5}.nav-subitem:hover{background:var(--c-text-2);color:var(--c-surface)}.nav-subitem.active{background:var(--c-primary-strong);color:var(--c-surface);font-weight:600}.content{flex:1;min-width:0;padding:24px 32px}h1{margin-top:0;font-size:20px}h2{font-size:15px}.card{background:var(--c-surface);border:1px solid var(--c-line);border-radius:8px;padding:18px 20px;margin-bottom:20px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.stat .stat-label{color:var(--c-text-3);font-size:13px}.stat .stat-value{font-size:26px;font-weight:700;margin:6px 0;color:var(--c-text)}.stat .stat-sub{color:var(--c-text-3);font-size:13px}.stat.overdue .stat-value{color:var(--c-danger)}.form{display:flex;flex-direction:column;gap:12px;max-width:480px}.form label{display:flex;flex-direction:column;font-size:13px;color:var(--c-text-2);gap:4px}.inline-form{flex-direction:row;flex-wrap:wrap;align-items:center;max-width:none}input,select{padding:7px 10px;border:1px solid var(--c-line-strong);border-radius:6px;font-size:13px;font-family:inherit}.form-actions{display:flex;gap:8px}.btn{padding:7px 14px;border:1px solid var(--c-line-strong);background:var(--c-surface);border-radius:6px;cursor:pointer;font-size:13px;font-family:inherit}.btn:hover{background:var(--c-primary-weak)}.btn.primary{background:var(--c-primary-strong);border-color:var(--c-primary-strong);color:var(--c-surface)}.btn.primary:hover{background:var(--c-primary-strong)}.btn.small{padding:4px 10px;font-size:13px}.btn.danger{color:var(--c-danger);border-color:var(--c-danger)}.approval-card{border:1px solid var(--c-warning);background:var(--c-warning-weak);margin-bottom:14px}.tax-row-canceled td{opacity:.6;text-decoration:line-through}.tax-row-canceled td:last-child{text-decoration:none}.table{width:100%;border-collapse:collapse}.card:has(>table){overflow-x:auto}.card:has(>table)>table th,.card:has(>table)>table td{white-space:nowrap}.prod-table-wrap{overflow-x:auto}.inv-pagination{display:flex;justify-content:center;align-items:center;gap:4px;margin-top:14px;flex-wrap:wrap}.inv-pagination .page-btn{min-width:32px;height:32px;padding:0 8px;border:1px solid var(--c-line);background:var(--c-surface);border-radius:6px;cursor:pointer;font-size:13px;color:var(--c-text-2)}.inv-pagination .page-btn:hover:not(:disabled){background:var(--c-surface-2)}.inv-pagination .page-btn.active{background:var(--c-primary-strong);border-color:var(--c-primary-strong);color:var(--c-surface);font-weight:600}.inv-pagination .page-btn:disabled{opacity:.5;cursor:default}.table th,.table td{text-align:center;padding:11px 42px;border-bottom:1px solid var(--c-surface-2);font-size:13px}.table .actions{display:flex;gap:6px;justify-content:center}.name-cell{display:flex;align-items:center;justify-content:center;gap:6px}.table .col-name{width:100%}.table th:not(.col-name):not(.check-col),.table td:not(.col-name):not(.check-col){white-space:nowrap;min-width:72px}.table .check-col{width:36px;text-align:center;padding-right:0}.clickable-row{cursor:pointer}.clickable-row:hover{background:var(--c-primary-weak)}.member-chips{display:flex;flex-wrap:wrap;gap:4px}.member-chip{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;background:var(--c-surface-2);color:var(--c-text-2)}.row-between{display:flex;justify-content:space-between;align-items:center}.inline{flex-direction:row;align-items:center;gap:6px}.badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;background:var(--c-line)}.status-RECEIVING_ORDER{background:var(--c-violet-weak);color:var(--c-violet)}.status-IN_PROGRESS{background:var(--c-primary-weak);color:var(--c-primary-strong)}.status-DONE{background:var(--c-success-weak);color:var(--c-success-text)}.status-ON_HOLD{background:var(--c-warning);color:var(--c-warning-text)}.prio-HIGH{background:var(--c-danger-weak);color:var(--c-danger-text)}.prio-MEDIUM{background:var(--c-warning-weak);color:var(--c-warning-text)}.prio-LOW{background:var(--c-line);color:var(--c-text-2)}.error-banner{background:var(--c-danger-weak);border:1px solid var(--c-danger);color:var(--c-danger-text);padding:10px 14px;border-radius:6px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}.error-close{background:none;border:none;color:var(--c-danger-text);font-size:18px;cursor:pointer}.board{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.board-col{background:var(--c-surface-2);border-radius:8px;padding:10px;min-height:120px}.board-col-header{font-weight:600;margin-bottom:10px;display:flex;justify-content:space-between}.board-col-header .count{background:var(--c-line-strong);border-radius:10px;padding:0 8px;font-size:12px}.task-card{background:var(--c-surface);border:1px solid var(--c-line);border-radius:6px;padding:10px;margin-bottom:10px}.task-title{font-weight:600;margin-bottom:6px}.task-meta{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--c-text-3);margin-bottom:6px}.task-due{font-size:12px;color:var(--c-text-3);margin-bottom:6px}.task-actions{display:flex;gap:6px}.task-actions select{flex:1;padding:4px;font-size:12px}.empty{color:var(--c-text-weak);font-size:13px;text-align:center;padding:10px}.expand-caret{display:inline-block;font-size:10px;color:var(--c-text-weak);margin-right:8px;transition:transform .12s}.expand-caret.open{transform:rotate(90deg);color:var(--c-primary-strong)}.task-detail-row>td{background:var(--c-primary-weak);padding:0 26px 16px!important}.task-detail{display:flex;flex-direction:column;gap:16px;padding-top:12px}.detail-label{font-weight:700;font-size:13px;margin-bottom:6px;color:var(--c-text-2)}.detail-body{font-size:13px;color:var(--c-text-2);white-space:pre-wrap}.comment-list{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:8px}.comment-item{background:var(--c-surface);border:1px solid var(--c-line);border-radius:6px;padding:8px 12px}.comment-head{display:flex;gap:8px;align-items:baseline;margin-bottom:4px}.comment-author{font-weight:700;font-size:13px}.comment-time{font-size:11px;color:var(--c-text-weak)}.comment-content{font-size:13px;color:var(--c-text-2);white-space:pre-wrap}.comment-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.comment-form input{flex:1;min-width:180px}.page-header{display:flex;justify-content:space-between;align-items:center}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:20px}.stat.clickable{font-family:inherit;text-align:left;width:100%;cursor:pointer;transition:border-color .12s,box-shadow .12s}.stat.clickable:hover{border-color:var(--c-primary-strong)}.stat.clickable.active{border-color:var(--c-primary-strong);box-shadow:0 0 0 2px #2563eb40}.stat.overdue.clickable:hover,.stat.overdue.clickable.active{border-color:var(--c-danger)}.stat.overdue.clickable.active{box-shadow:0 0 0 2px #d6454540}.section-header{display:flex;align-items:center;gap:8px;margin:8px 0 12px}.section-title{margin:0}.select-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;background:var(--c-primary-weak);border:1px solid var(--c-primary-weak);border-radius:8px;padding:10px 14px;margin-bottom:14px}.select-bar-text{font-size:13px;color:var(--c-primary-strong)}.select-bar-actions{display:flex;gap:6px}.select-check{width:16px;height:16px;cursor:pointer}.clickable-row.selected{background:var(--c-primary-weak)}.proj-card.selected{border-color:var(--c-primary-strong);box-shadow:0 0 0 2px #2563eb40}.btn:disabled{opacity:.5;cursor:not-allowed}.toolbar{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:14px}.view-toggle{display:flex;gap:6px}.view-toggle .btn.active{background:var(--c-primary-strong);border-color:var(--c-primary-strong);color:var(--c-surface)}.proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.proj-card{display:flex;flex-direction:column;gap:8px;margin-bottom:0}.proj-card.is-overdue{border-color:var(--c-danger)}.clickable-card{cursor:pointer;transition:border-color .12s,box-shadow .12s,transform .12s}.clickable-card:hover{border-color:var(--c-primary-strong);box-shadow:0 2px 10px #00000014}.clickable-card:focus-visible{outline:2px solid var(--c-primary-strong);outline-offset:2px}span.proj-card-title{cursor:inherit}.proj-card-top{display:flex;justify-content:space-between;align-items:center}.proj-icon{font-size:22px}.proj-card-title{font-size:15px;font-weight:700;color:var(--c-text);text-decoration:none}.proj-card-title:hover{color:var(--c-primary-strong)}.proj-card-dates{font-size:13px;color:var(--c-text-3);display:flex;align-items:center;gap:8px}.proj-card-meta{font-size:13px;color:var(--c-text-2)}.proj-card-actions{display:flex;gap:6px;margin-top:auto;padding-top:8px;border-top:1px solid var(--c-surface-2)}.proj-card-footer{display:flex;justify-content:flex-end;margin-top:auto;padding-top:8px;border-top:1px solid var(--c-surface-2)}.kebab-wrap{position:relative}.kebab-btn{padding:2px 10px;font-size:18px;line-height:1}.kebab-menu{position:absolute;right:0;bottom:calc(100% + 4px);min-width:110px;background:var(--c-surface);border:1px solid var(--c-line);border-radius:6px;box-shadow:0 4px 12px #0000001f;overflow:hidden;z-index:20}.kebab-menu.down{top:calc(100% + 4px);bottom:auto;left:0;right:auto}.kebab-item{display:block;width:100%;text-align:left;padding:9px 14px;background:none;border:none;cursor:pointer;font-size:14px;font-family:inherit;color:var(--c-text)}.kebab-item:hover{background:var(--c-primary-weak)}.kebab-item.danger{color:var(--c-danger)}.kebab-item.danger:hover{background:var(--c-danger-weak)}.overdue-tag{background:var(--c-danger-weak);color:var(--c-danger-text);border-radius:8px;padding:1px 6px;font-size:11px}.board-header{display:flex;align-items:center;gap:10px}.project-status{font-size:12px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--c-line);margin:8px 0 16px}.tab{background:none;border:none;border-bottom:2px solid transparent;padding:8px 14px;font-size:14px;font-family:inherit;color:var(--c-text-3);cursor:pointer}.tab:hover{color:var(--c-text)}.tab.active{color:var(--c-primary-strong);border-bottom-color:var(--c-primary-strong);font-weight:600}.board-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:12px}.search-input{width:100%;max-width:360px;background:var(--c-surface-2);border:1px solid var(--c-line)}.task-grid{display:grid;grid-template-columns:minmax(150px,2fr) 104px 84px 86px 96px 92px 92px 84px 92px;align-items:center;gap:8px}.task-grid>*:not(:first-child){justify-self:center;text-align:center}.taskreq-grid{grid-template-columns:minmax(150px,2fr) minmax(120px,1.3fr) 120px 120px 86px 104px 100px}.list-head{padding:8px 16px;font-size:12px;color:var(--c-text-weak);border-bottom:1px solid var(--c-surface-2)}.section-group{margin-bottom:4px}.section-row{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--c-primary-weak);border-bottom:1px solid var(--c-surface-2)}.section-toggle{background:none;border:none;font-family:inherit;font-size:14px;font-weight:600;color:var(--c-text);cursor:pointer;display:flex;align-items:center}.section-name-input{font-family:inherit;font-size:14px;font-weight:600;color:var(--c-text);padding:3px 8px;border:1px solid var(--c-primary-strong);border-radius:6px;outline:none}.section-heading{font-size:14px;font-weight:600;color:var(--c-text)}.section-count{color:var(--c-text-weak);font-size:12px}.section-row .kebab-wrap{margin-left:4px}.task-rows{padding:2px 0 6px}.task-row{padding:10px 16px;border-bottom:1px solid var(--c-surface-2);cursor:pointer}.task-row:hover{background:var(--c-primary-weak)}.task-row>span{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-row-name{display:flex;align-items:center;gap:6px;font-size:14px}.overdue-clock{font-size:12px}.cell-date{color:var(--c-text-3)}.cell-date.overdue-date{color:var(--c-danger)}.cell-modifier{color:var(--c-text-2)}.prio-tag{display:inline-flex;align-items:center;gap:4px;font-size:13px}.prio-arrow{font-weight:700}.prio-tag.prio-high{color:var(--c-warning)}.prio-tag.prio-mid{color:var(--c-text-3)}.prio-tag.prio-low{color:var(--c-primary-strong)}.status-tag{display:inline-flex;align-items:center;gap:4px;font-size:13px}.status-tag.st-todo,.status-tag.st-requested{color:var(--c-text-3)}.status-tag.st-ack{color:var(--c-warning-text)}.status-tag.st-prog{color:var(--c-primary-strong)}.status-tag.st-hold{color:var(--c-warning)}.status-tag.st-done{color:var(--c-success-text)}.collapse-all{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--c-text-2);margin-left:auto}.header-action{margin-left:auto}.overview{display:flex;flex-direction:column;gap:24px}.ov-block{margin:0}.ov-label{font-size:15px;font-weight:700;margin:0 0 10px}.ov-period{font-size:14px;color:var(--c-text-2)}.ov-desc{border:1px solid var(--c-line);border-radius:8px;padding:16px 18px;font-size:13px;color:var(--c-text-2);line-height:1.7}.member-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px 16px}.member-item{display:flex;align-items:center;gap:10px}.member-name{font-size:14px;font-weight:700;display:flex;align-items:center;gap:4px}.member-badge{color:var(--c-primary-strong);font-size:11px}.member-sub{font-size:12px;color:var(--c-text-weak);margin-top:2px}.add-task-btn,.add-section-btn{background:none;border:none;color:var(--c-text-3);font-family:inherit;font-size:13px;cursor:pointer;padding:8px 12px 8px 34px}.add-task-btn:hover,.add-section-btn:hover{color:var(--c-primary-strong)}.add-section-btn{padding-left:12px;margin-top:6px}.add-task-row,.add-section-form{display:flex;gap:6px;align-items:center}.add-task-input,.add-task-row .add-task-input{flex:1}.add-section-form{padding:8px 12px}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:var(--c-surface);font-weight:700;flex-shrink:0;line-height:1}.avatar-stack{display:inline-flex}.avatar-stack .avatar{margin-left:-6px;border:2px solid var(--c-surface)}.avatar-stack .avatar:first-child{margin-left:0}.muted{color:var(--c-text-weak)}.small-text{font-size:12px}.slideover-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a59;display:flex;justify-content:flex-end;z-index:100}.slideover{width:600px;max-width:92vw;height:100%;background:var(--c-surface);box-shadow:-4px 0 24px #0000002e;display:flex;flex-direction:column;animation:slidein .16s ease-out}@keyframes slidein{0%{transform:translate(24px);opacity:.6}to{transform:translate(0);opacity:1}}.slideover-head{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--c-surface-2)}.slideover-project{color:var(--c-primary-strong);font-weight:600;font-size:14px}.icon-btn{background:none;border:none;font-size:16px;cursor:pointer;color:var(--c-text-2)}.slideover-error{margin:12px 20px 0}.slideover-body{padding:20px;overflow-y:auto}.detail-author{display:flex;align-items:center;gap:10px;margin-bottom:18px}.detail-author-name{font-weight:700;font-size:14px}.detail-author-date{font-size:12px;color:var(--c-text-weak)}.detail-title-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.task-badge{background:var(--c-surface-2);color:var(--c-text-2)}.detail-title{margin:0;font-size:18px}.detail-desc{width:100%;border:1px solid transparent;background:var(--c-primary-weak);border-radius:6px;padding:10px;font-family:inherit;font-size:13px;color:var(--c-text-2);resize:vertical;min-height:48px;margin-bottom:18px}.detail-desc:focus{border-color:var(--c-line-strong);background:var(--c-surface);outline:none}.detail-fields{display:grid;grid-template-columns:90px 1fr;gap:12px 16px;margin:0 0 18px;align-items:center}.detail-fields dt{color:var(--c-text-weak);font-size:13px}.detail-fields dd{margin:0;font-size:13px}.assignee-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.assignee-chip{display:inline-flex;align-items:center;gap:4px;font-size:13px}.btn.ghost{border-color:transparent;color:var(--c-primary-strong);background:none;padding:2px 6px}.assignee-picker{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px;background:var(--c-primary-weak);border:1px solid var(--c-surface-2);border-radius:6px;padding:8px}.assignee-option{display:inline-flex;align-items:center;gap:4px;font-size:13px;cursor:pointer}.period-row{display:flex;align-items:center;gap:6px}.detail-stats{display:flex;gap:16px;padding:14px 0;border-top:1px solid var(--c-surface-2);border-bottom:1px solid var(--c-surface-2);margin-bottom:16px}.stat-btn{background:none;border:none;font-family:inherit;font-size:13px;color:var(--c-text-3);cursor:default;display:inline-flex;align-items:center;gap:4px}button.stat-btn{cursor:pointer}.stat-btn.liked{color:var(--c-violet)}.comment-box{display:flex;flex-direction:column;gap:8px;border:1px solid var(--c-line);border-radius:8px;padding:10px;margin-top:10px}.comment-box textarea{width:100%;display:block;box-sizing:border-box;border:none;resize:vertical;min-height:80px;font-family:inherit;font-size:13px;outline:none}.comment-box-actions{display:flex;justify-content:flex-end;gap:8px}.gantt{display:flex;flex-direction:column;gap:8px}.gantt-row{display:grid;grid-template-columns:200px 1fr;align-items:center;gap:12px;cursor:pointer}.gantt-row:hover{background:var(--c-primary-weak)}.gantt-label{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-track{position:relative;height:18px;background:var(--c-surface-2);border-radius:4px}.gantt-bar{position:absolute;top:0;height:100%;background:var(--c-primary-strong);border-radius:4px}.gantt-bar.overdue{background:var(--c-danger)}.assignee-names{display:inline-flex;align-items:center;gap:6px}.assignee-lead{font-size:13px}.assignee-more{font-size:12px;color:var(--c-text-2);background:var(--c-surface-2);border-radius:10px;padding:1px 7px}.create-panel{width:640px}.create-title{margin:0;font-size:18px}.create-tab{padding:0 20px 10px;border-bottom:1px solid var(--c-surface-2);font-weight:600;color:var(--c-primary-strong);font-size:14px}.create-body{display:flex;flex-direction:column;gap:14px}.project-chip{align-self:flex-start;background:var(--c-text);color:var(--c-surface);border-radius:16px;padding:6px 14px;font-size:13px;font-weight:600}.create-titlebar{display:flex;align-items:center;gap:8px}.create-title-input{flex:1;border:none;border-bottom:1px solid transparent;font-size:16px;font-weight:600;padding:6px 2px}.create-title-input:focus{outline:none;border-bottom-color:var(--c-line-strong)}.create-content{border:1px solid var(--c-surface-2);border-radius:6px;background:var(--c-primary-weak);padding:12px;min-height:120px;font-family:inherit;font-size:13px;resize:vertical}.create-content:focus{outline:none;border-color:var(--c-line-strong);background:var(--c-surface)}.assignee-chip.removable{background:var(--c-surface-2);border-radius:14px;padding:3px 6px 3px 10px}.assignee-chip.removable button{background:none;border:none;cursor:pointer;color:var(--c-text-3);font-size:13px;padding:0 2px}.assignee-option-btn{background:var(--c-surface);border:1px solid var(--c-line);border-radius:14px;padding:4px 10px;font-size:13px;font-family:inherit;cursor:pointer}.assignee-option-btn:hover{background:var(--c-primary-weak);border-color:var(--c-primary-strong)}.create-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:8px;border-top:1px solid var(--c-surface-2)}.current-user{margin-top:20px;padding:14px 20px 0;border-top:1px solid var(--c-text-2);display:flex;flex-direction:column;gap:6px}.current-user label{font-size:12px;color:var(--c-text-weak)}.current-user select{background:var(--c-text-2);color:var(--c-surface);border:1px solid var(--c-text-2);font-size:13px}.detail-desc.readonly{color:var(--c-text-2);white-space:pre-wrap}.readonly-note{margin-top:8px;font-size:12px;color:var(--c-text-weak)}.project-fields{grid-template-columns:100px 1fr;align-items:start}.project-fields dt{padding-top:8px}.project-fields .full{width:100%}.project-fields textarea.full{min-height:64px;font-family:inherit;resize:vertical}.placeholder-icon{font-size:20px}.cover-placeholder{height:120px;border:1px dashed var(--c-line-strong);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--c-text-weak);font-size:13px;background:var(--c-primary-weak)}.radio-row{display:flex;gap:18px;align-items:center}.radio-row label{display:inline-flex;align-items:center;gap:6px;font-size:13px}.inline-check{display:inline-flex;align-items:center;gap:6px;font-size:13px;margin-left:4px}.due-soon-orange{color:var(--c-warning);font-weight:600}.due-soon-red{color:var(--c-danger);font-weight:700}.admin-add input,.admin-add select{min-width:120px}.admin-table .cell-input{width:100%;border:1px solid transparent;background:transparent;padding:5px 8px}.admin-table .cell-input:hover{border-color:var(--c-line)}.admin-table .cell-input:focus{border-color:var(--c-primary-strong);background:var(--c-surface);outline:none}.role-select{font-weight:600;font-size:12px;padding:4px 8px}.role-select.role-ADMIN{color:var(--c-danger-text);border-color:var(--c-danger)}.role-select.role-MANAGER{color:var(--c-primary-strong);border-color:var(--c-primary-weak)}.role-select.role-MEMBER{color:var(--c-text-2)}.brand-link{display:block;text-decoration:none;color:var(--c-surface);cursor:pointer}.brand-link:hover{color:var(--c-primary)}.home-toolbar{margin-bottom:14px;display:flex;align-items:center;gap:12px}.hw-cal-widget{display:flex;flex-direction:column;overflow:hidden}.hw-cal-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.hw-cal-src{display:inline-flex;border:1px solid var(--c-line-strong);border-radius:6px;overflow:hidden}.hw-cal-src button{border:none;background:var(--c-surface);padding:3px 10px;font-size:12px;cursor:pointer;color:var(--c-text-3)}.hw-cal-src button.active{background:var(--c-primary-strong);color:var(--c-surface);font-weight:600}.hw-cal-nav{display:inline-flex;align-items:center;gap:6px}.hw-cal-nav button{border:none;background:none;cursor:pointer;font-size:15px;color:var(--c-text-3);padding:0 4px;line-height:1}.hw-cal-title{font-size:13px;font-weight:700;cursor:pointer;min-width:56px;text-align:center}.hw-cal-title:hover{color:var(--c-primary-strong)}.hw-cal-weekhead{display:grid;grid-template-columns:repeat(7,1fr);font-size:11px;color:var(--c-text-weak);text-align:center;padding-bottom:2px;border-bottom:1px solid var(--c-surface-2)}.hw-cal-weekhead .sun{color:var(--c-danger)}.hw-cal-weekhead .sat{color:var(--c-primary-strong)}.hw-cal-grid{flex:1;display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:1fr;min-height:0}.hw-cal-cell{border-right:1px solid var(--c-surface-2);border-bottom:1px solid var(--c-surface-2);padding:2px 0 0 4px;cursor:pointer;display:flex;flex-direction:column;gap:2px;overflow:hidden}.hw-cal-cell:nth-child(7n){border-right:none}.hw-cal-cell:hover{background:var(--c-primary-weak)}.hw-cal-cell.other,.hw-cal-cell.other .hw-cal-d{color:var(--c-line-strong)}.hw-cal-cell.today{background:var(--c-primary-weak)}.hw-cal-d{font-size:12px;line-height:1.2}.hw-cal-d.sun{color:var(--c-danger)}.hw-cal-d.sat{color:var(--c-primary-strong)}.hw-cal-cell.today .hw-cal-d{font-weight:700;color:var(--c-primary-strong)}.hw-cal-evs{display:flex;flex-direction:column;gap:1px;overflow:hidden;min-height:0;padding-right:3px}.hw-cal-ev{font-size:10px;line-height:1.3;background:var(--c-primary-weak);color:var(--c-primary-strong);border-radius:3px;padding:0 3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hw-cal-cell.today .hw-cal-ev{background:var(--c-primary-weak)}.hw-cal-more{font-size:9px;color:var(--c-text-weak);padding-left:3px}.hw-cal-back{border:none;background:none;cursor:pointer;font-size:13px;color:var(--c-primary-strong);font-weight:600;padding:0}.hw-cal-detail-title{font-size:13px;font-weight:700}.hw-cal-open{font-size:12px;color:var(--c-text-3);cursor:pointer}.hw-cal-open:hover{color:var(--c-primary-strong)}.widget-picker{position:relative}.widget-picker-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:30;background:var(--c-surface);border:1px solid var(--c-line);border-radius:8px;box-shadow:0 8px 24px #0000001f;padding:8px;min-width:180px}.widget-picker-title{font-size:12px;color:var(--c-text-3);font-weight:600;padding:4px 8px 6px}.widget-picker-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer;font-size:14px}.widget-picker-item:hover{background:var(--c-primary-weak)}.home-edit{background:var(--c-surface)}.home-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,360px));gap:16px;align-items:start}.widget{background:var(--c-surface);border:1px solid var(--c-line);border-radius:10px;padding:18px}.widget-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.widget-head h3{margin:0;font-size:15px}.widget-head h3.widget-link{cursor:pointer}.widget-head h3.widget-link:hover{color:var(--c-primary-strong)}.widget-icon{font-size:16px}.widget-empty{color:var(--c-text-weak);font-size:13px;padding:28px 0;text-align:center}.profile-widget{display:flex;flex-direction:column;gap:12px}.profile-greeting{margin:4px 0 0;font-size:20px;line-height:1.35}.profile-date{color:var(--c-text-2);font-size:13px}.profile-actions{display:flex;flex-direction:column;gap:8px;margin-top:8px}.line-btn{width:100%;text-align:center;color:var(--c-text-2)}.profile-empty{display:flex;flex-direction:column;gap:12px;align-items:center;text-align:center}.tasks-tabs{display:flex;gap:16px;border-bottom:1px solid var(--c-surface-2);margin-bottom:10px}.tasks-tab{background:none;border:none;border-bottom:2px solid transparent;padding:6px 2px;font-family:inherit;font-size:13px;color:var(--c-text-3);cursor:pointer}.tasks-tab.active{color:var(--c-primary-strong);border-bottom-color:var(--c-primary-strong);font-weight:600}.my-task-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto}.gw>.widget.tasks-widget{display:flex;flex-direction:column;overflow:hidden}.tasks-widget .widget-head,.tasks-widget .tasks-tabs{flex-shrink:0}.my-task-item{padding:10px 4px;border-bottom:1px solid var(--c-surface-2);cursor:pointer}.my-task-item:hover{background:var(--c-primary-weak)}.my-task-title{display:block;font-size:14px;margin-bottom:2px}.my-task-meta{font-size:12px;color:var(--c-text-weak)}.auth-loading{padding:40px;text-align:center;color:var(--c-text-3)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--c-surface-2);padding:24px}.auth-card{width:100%;max-width:380px;background:var(--c-surface);border:1px solid var(--c-line);border-radius:12px;padding:32px 28px;box-shadow:0 6px 24px #0000000f}.auth-brand{font-size:22px;font-weight:800;color:var(--c-primary-strong);text-align:center;margin-bottom:4px}.auth-brand-link{display:block;text-decoration:none;cursor:pointer}.auth-brand-link:hover{opacity:.85}.auth-title{font-size:18px;text-align:center;margin:4px 0 18px}.auth-desc{font-size:13px;color:var(--c-text-3);text-align:center;margin:-8px 0 16px}.auth-form{display:flex;flex-direction:column;gap:10px}.auth-form input{padding:10px 12px;font-size:14px}.auth-submit{margin-top:4px;padding:10px;font-size:14px}.auth-links{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:16px;font-size:13px}.auth-links a{color:var(--c-text-2);text-decoration:none}.auth-links a:hover{color:var(--c-primary-strong)}.auth-sep{color:var(--c-line-strong)}.auth-hint{margin-top:14px;font-size:12px;color:var(--c-text-weak);text-align:center}.auth-result{background:var(--c-primary-weak);border:1px solid var(--c-primary-weak);color:var(--c-primary-strong);border-radius:8px;padding:14px;font-size:14px;text-align:center}.current-user-info{margin-bottom:8px}.current-user-name{font-size:13px;font-weight:600;color:var(--c-surface)}.current-user-id{font-size:12px;color:var(--c-text-weak)}.logout-btn{width:100%;background:var(--c-text-2);color:var(--c-line-strong);border-color:var(--c-text-2)}.logout-btn:hover{background:var(--c-text-2);color:var(--c-surface)}.auth-devbox{margin-top:14px;padding:12px;border:1px dashed var(--c-line-strong);border-radius:8px;background:var(--c-primary-weak)}.auth-devbox-label{font-size:12px;color:var(--c-text-weak);margin-bottom:8px;text-align:center}.admin-table .drag-cell{width:28px;text-align:center;padding-left:8px;padding-right:0}.drag-handle{cursor:grab;color:var(--c-text-weak);-webkit-user-select:none;user-select:none;letter-spacing:-3px;font-size:14px}.drag-handle:active{cursor:grabbing}.admin-table tr.row-dragging{opacity:.45}.admin-table tr.row-over td{box-shadow:inset 0 2px 0 var(--c-primary-strong)}.main-area{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:52px;background:var(--c-surface);border-bottom:1px solid var(--c-line);display:flex;align-items:center;justify-content:flex-end;padding:0 20px;position:relative;z-index:50}.topbar-icons{display:flex;align-items:center;gap:6px}.topbar-item{position:relative}.topbar-btn,.topbar-avatar{background:none;border:none;cursor:pointer;border-radius:8px;padding:7px;color:var(--c-text-2);line-height:1;display:inline-flex;align-items:center;position:relative}.topbar-badge{position:absolute;top:1px;right:1px;min-width:16px;height:16px;padding:0 4px;background:var(--c-danger);color:var(--c-surface);border-radius:8px;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}.topbar-btn:hover,.topbar-avatar:hover{background:var(--c-primary-weak)}.topbar-avatar{padding:4px}.noti-dot{position:absolute;top:4px;right:6px;width:7px;height:7px;background:var(--c-danger);border-radius:50%}.pop{position:absolute;top:calc(100% + 6px);right:0;width:280px;background:var(--c-surface);border:1px solid var(--c-line);border-radius:10px;box-shadow:0 8px 24px #0000001f;overflow:hidden;z-index:60}.pop-head{font-weight:700;font-size:14px;padding:12px 16px;border-bottom:1px solid var(--c-surface-2);display:flex;align-items:center;justify-content:space-between;gap:8px}.noti-readall{font-size:12px;font-weight:600}.pop-body{padding:8px 0}.pop-org{width:300px}.org-body{max-height:360px;overflow-y:auto;padding:8px 12px}.org-dept{margin-bottom:12px}.org-dept-name{font-size:12px;font-weight:700;color:var(--c-primary-strong);margin:6px 0}.org-member{display:flex;align-items:center;gap:8px;padding:5px 4px;font-size:13px}.org-member-name{font-size:13px;font-weight:500}.org-member-pos{margin-left:auto;color:var(--c-text-weak);font-size:12px}.noti-row{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;font-size:14px;cursor:pointer}.noti-row:hover{background:var(--c-primary-weak)}.pop-profile{width:300px}.profile-pop-head{display:flex;align-items:center;gap:12px;padding:16px}.profile-pop-name{font-weight:700;font-size:16px}.profile-pop-id{font-size:12px;color:var(--c-text-weak)}.profile-status{margin:0 16px 12px}.profile-menu-item.static{cursor:default;padding:6px 16px}.profile-menu-item.static:hover{background:none}.profile-menu{border-top:1px solid var(--c-surface-2);padding:6px 0}.profile-menu-item{width:100%;text-align:left;background:none;border:none;font-family:inherit;font-size:14px;color:var(--c-text);padding:11px 16px;cursor:pointer;display:flex;align-items:center;gap:10px}.profile-menu-item:hover:not(:disabled){background:var(--c-primary-weak)}.profile-menu-item:disabled{cursor:default;color:var(--c-text-2)}.profile-menu-item .chev{margin-left:auto;color:var(--c-line-strong)}.profile-menu-item.logout{color:var(--c-danger);border-top:1px solid var(--c-surface-2)}.pop-noti{width:340px}.noti-list{max-height:380px;overflow-y:auto;padding:4px 0}.noti-empty{color:var(--c-text-weak);font-size:13px;text-align:center;padding:28px 0}.noti-item{display:flex;flex-direction:column;gap:4px;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--c-surface-2);padding:12px 16px;cursor:pointer;font-family:inherit}.noti-item:hover{background:var(--c-primary-weak)}.noti-tag{align-self:flex-start;font-size:11px;font-weight:700;border-radius:8px;padding:1px 8px}.noti-tag.tag-task{background:var(--c-primary-weak);color:var(--c-primary-strong)}.noti-tag.tag-mention{background:var(--c-violet-weak);color:var(--c-violet)}.noti-tag.tag-project{background:var(--c-success-weak);color:var(--c-success-text)}.noti-msg{font-size:13px;color:var(--c-text);line-height:1.45}.noti-time{font-size:11px;color:var(--c-text-weak)}.status-wrap{display:inline-block}.status-btn{cursor:pointer;border:none;font-family:inherit}.status-btn:hover{filter:brightness(.96)}.status-menu{min-width:120px}.status-menu .kebab-item.current{font-weight:700}.overdue-badge{background:var(--c-danger-weak);color:var(--c-danger-text)}.sdot.s-RECEIVING_ORDER{color:var(--c-violet)}.sdot.s-IN_PROGRESS{color:var(--c-primary-strong)}.sdot.s-ON_HOLD{color:var(--c-warning-text)}.sdot.s-DONE{color:var(--c-success-text)}.ov-amount-row{display:flex;align-items:center;gap:10px}.ov-amount-edit{display:flex;align-items:center;gap:8px}.ov-amount-edit input{width:180px;text-align:right}.ov-amount-won{color:var(--c-text-2)}.attach-list{padding:6px 4px}.attach-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--c-surface-2)}.attach-row:last-child{border-bottom:none}.attach-label{width:110px;font-weight:600;font-size:13px;color:var(--c-text-2);flex-shrink:0}.attach-content{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1}.attach-file{font-size:13px;color:var(--c-text)}.attach-file-item{display:inline-flex;align-items:center;gap:6px}.file-btn{margin-left:auto;cursor:pointer}.mention-wrap{position:relative;width:100%}.mention-menu{position:absolute;left:0;bottom:calc(100% + 4px);min-width:200px;max-height:220px;overflow-y:auto;background:var(--c-surface);border:1px solid var(--c-line);border-radius:8px;box-shadow:0 4px 16px #00000024;z-index:80;padding:4px}.mention-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:none;border-radius:6px;padding:7px 8px;cursor:pointer;font-family:inherit;font-size:13px}.mention-item.active,.mention-item:hover{background:var(--c-primary-weak)}.mention-name{font-weight:600}.mention-pos{margin-left:auto;color:var(--c-text-weak);font-size:12px}.comment-author-hint{margin-right:auto;align-self:center;color:var(--c-text-weak);font-size:12px}.requester-fixed{display:inline-flex;align-items:center;font-size:13px;font-weight:600;color:var(--c-text-2);background:var(--c-surface-2);border-radius:6px;padding:5px 10px}.comment-box-actions{align-items:center}.comment-attach-btn{cursor:pointer}.comment-file-chip{display:inline-flex;align-items:center;gap:4px;background:var(--c-surface-2);border-radius:12px;padding:3px 6px 3px 10px;font-size:12px;color:var(--c-text-2);max-width:180px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.comment-file-chip button{background:none;border:none;cursor:pointer;color:var(--c-text-3);font-size:12px}.comment-submit{margin-left:auto}.comment-file{margin-top:6px;background:var(--c-primary-weak);border:1px solid var(--c-primary-weak);color:var(--c-primary-strong);border-radius:6px;padding:5px 10px;font-size:12px;font-family:inherit;cursor:pointer;display:inline-block}.comment-file:hover{background:var(--c-primary-weak)}.home-hint{font-size:12px;color:var(--c-text-weak)}.home-dash{position:relative;width:100%}.gw{position:absolute;top:0;left:0;box-sizing:border-box;transition:transform .18s ease,width .18s ease,height .18s ease;cursor:move}.gw>.widget{width:100%;height:100%;margin:0;overflow:auto}.gw.active{transition:none;z-index:50}.gw.dragging{opacity:.9;box-shadow:0 14px 34px #0003;cursor:grabbing}.dash-ph{position:absolute;top:0;left:0;z-index:1;border:2px dashed var(--c-text-weak);background:#94a3b81f;border-radius:10px;transition:transform .18s ease,width .18s ease,height .18s ease}.dash-handle{position:absolute;top:6px;right:8px;z-index:6;cursor:grab;color:var(--c-line-strong);-webkit-user-select:none;user-select:none;font-size:15px;line-height:1;padding:2px 4px}.dash-handle:hover{color:var(--c-primary-strong)}.dash-handle:active{cursor:grabbing}.dash-resize{position:absolute;right:2px;bottom:2px;width:16px;height:16px;z-index:6;cursor:nwse-resize;background:linear-gradient(135deg,transparent 45%,var(--c-line-strong) 45%,var(--c-line-strong) 55%,transparent 55%,transparent 70%,var(--c-line-strong) 70%,var(--c-line-strong) 80%,transparent 80%);border-radius:0 0 8px}.dash-resize-r{position:absolute;top:0;right:0;width:8px;height:100%;z-index:5;cursor:ew-resize}.dash-resize-b{position:absolute;left:0;bottom:0;height:8px;width:100%;z-index:5;cursor:ns-resize}.dash-ghost{position:absolute;z-index:1;border:2px dashed var(--c-text-weak);background:#94a3b81a;border-radius:10px}.admin-card{overflow-x:auto}.org-layout{display:flex;align-items:flex-start;gap:16px}.org-layout-tree{flex:0 0 280px;max-width:280px}.org-layout-list{flex:1;min-width:0}@media (max-width: 900px){.org-layout{flex-direction:column}.org-layout-tree{flex:1 1 auto;max-width:none;width:100%}}.org-tree-card{margin-bottom:0}.org-tree-card h2{margin:0 0 12px}.org-root{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;margin-bottom:8px}.org-root-icon{font-size:18px}.org-inline-input{min-width:140px}.org-team-list{list-style:none;margin:0;padding:0 0 0 14px;border-left:2px solid var(--c-surface-2)}.org-team{padding:2px 0}.org-team-row{display:flex;align-items:center;gap:8px;padding:6px 0}.org-team-name{font-weight:600;font-size:14px}.org-root-name,.org-team-name{cursor:pointer;padding:2px 8px;border-radius:6px}.org-root-name:hover,.org-team-name:hover{background:var(--c-primary-weak)}.org-root-name.active,.org-team-name.active{background:var(--c-primary-weak);color:var(--c-primary)}.org-edit-pencil{font-size:13px;color:var(--c-text-3);margin-left:2px}.org-count-badge{background:var(--c-primary-weak);color:var(--c-primary)}.org-add-row{display:flex;align-items:center;gap:8px;margin-top:12px;padding-left:14px}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{text-align:left;padding:11px 16px;border-bottom:1px solid var(--c-surface-2);font-size:13px;white-space:nowrap}.admin-table th{color:var(--c-text-weak);font-weight:600;font-size:12px}.admin-row{cursor:pointer}.admin-row:hover{background:var(--c-primary-weak)}.admin-row.row-dragging{opacity:.45}.admin-row.row-over td{box-shadow:inset 0 2px 0 var(--c-primary-strong)}.admin-table .drag-col,.admin-table .drag-cell{width:28px;padding-left:8px;padding-right:0;text-align:center}.admin-table .avatar-col{width:36px;padding-right:0}.cell-strong{font-weight:600}.role-badge.role-ADMIN{background:var(--c-danger-weak);color:var(--c-danger-text)}.role-badge.role-MANAGER{background:var(--c-primary-weak);color:var(--c-primary-strong)}.role-badge.role-MEMBER{background:var(--c-surface-2);color:var(--c-text-2)}.field-select{width:auto;min-width:160px;max-width:240px}.ai-result-box{margin-top:16px;padding:12px 14px;background:var(--c-primary-weak);border:1px solid var(--c-primary-weak);border-radius:8px}.ai-result-box .detail-label{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.badge.ai-status{font-size:12px}.ai-status.ai-PENDING,.ai-status.ai-PROCESSING{background:var(--c-warning-weak);color:var(--c-warning-text)}.ai-status.ai-DONE{background:var(--c-success-weak);color:var(--c-success-text)}.ai-status.ai-ERROR{background:var(--c-danger-weak);color:var(--c-danger-text)}.ai-routed{font-size:12px;color:var(--c-text-2)}.ai-result-text{white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.55;background:var(--c-surface);border:1px solid var(--c-line);border-radius:6px;padding:10px 12px;margin:0;max-height:360px;overflow:auto;font-family:inherit}.ai-result-error{color:var(--c-danger-text);font-size:13px}.ai-assignee-hint{color:var(--c-primary-strong);font-size:12px;margin-top:4px}.messenger-badge{position:absolute;top:1px;right:1px;min-width:16px;height:16px;padding:0 4px;background:var(--c-danger);color:var(--c-surface);border-radius:8px;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}.chat-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000047;z-index:200;display:flex;justify-content:flex-end}.chat-panel{width:420px;max-width:100vw;height:100%;background:var(--c-surface);box-shadow:-8px 0 28px #0000002e;display:flex;flex-direction:column;position:relative;animation:chat-slide-in .18s ease-out}@keyframes chat-slide-in{0%{transform:translate(24px);opacity:.6}to{transform:translate(0);opacity:1}}.chat-window{height:100vh;width:100vw;background:var(--c-surface);display:flex;flex-direction:column;overflow:hidden}.chat-panel-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--c-surface-2)}.chat-panel-title{font-size:20px;font-weight:800;color:var(--c-text)}.chat-panel-close{background:none;border:none;cursor:pointer;font-size:16px;color:var(--c-text-3);padding:4px 8px;border-radius:6px}.chat-panel-close:hover{background:var(--c-primary-weak)}.chat-panel-search{position:relative;padding:12px 16px}.chat-panel-search input{width:100%;box-sizing:border-box;padding:10px 36px 10px 14px;border:1px solid var(--c-line);border-radius:22px;background:var(--c-surface-2);font-size:14px}.chat-panel-search input:focus{outline:none;border-color:var(--c-line-strong)}.chat-search-clear{position:absolute;right:26px;top:50%;transform:translateY(-50%);border:none;background:var(--c-line-strong);color:var(--c-surface);width:18px;height:18px;border-radius:50%;font-size:10px;cursor:pointer;line-height:1}.chat-panel-main{flex:1;min-height:0;display:flex}.chat-tabs{width:72px;border-right:1px solid var(--c-surface-2);display:flex;flex-direction:column;padding:8px 0;gap:4px}.chat-tab{background:none;border:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 0;font-size:11px;color:var(--c-text-weak)}.chat-tab .chat-tab-ic{font-size:18px;opacity:.55}.chat-tab.active{color:var(--c-text);font-weight:700}.chat-tab.active .chat-tab-ic{opacity:1}.chat-panel-content{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.chat-list-toolbar{padding:10px 14px 4px;display:flex;justify-content:flex-end}.chat-room-list{flex:1;overflow-y:auto}.chat-empty{padding:32px 16px;text-align:center;color:var(--c-text-weak);font-size:14px}.chat-room-row{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;border:none;border-bottom:1px solid var(--c-surface-2);background:var(--c-surface);cursor:pointer;text-align:left}.chat-room-row:hover{background:var(--c-primary-weak)}.chat-room-main{flex:1;min-width:0}.chat-room-name{font-weight:700;font-size:14px;color:var(--c-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-room-last{font-size:12px;color:var(--c-text-weak);margin-top:2px}.chat-unread{background:var(--c-danger);color:var(--c-surface);border-radius:11px;font-size:11px;font-weight:700;min-width:20px;height:20px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;line-height:1}.chat-org-wrap{flex:1;min-height:0;display:flex;flex-direction:column}.chat-org{flex:1;overflow-y:auto;padding:8px 14px}.chat-org-member.selected{background:var(--c-primary-weak)}.chat-org-check{margin-left:auto;flex:none;width:18px;height:18px;border:1.5px solid var(--c-line-strong);border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--c-surface);font-size:12px;line-height:1}.chat-org-check.checked{background:var(--c-primary-strong);border-color:var(--c-primary-strong)}.chat-org-actions{flex:none;padding:10px 14px;border-top:1px solid var(--c-surface-2);background:var(--c-surface)}.chat-org-create{width:100%}.chat-org-create:disabled{opacity:.5;cursor:default}.chat-org-dept{margin-bottom:12px}.chat-org-dept-name{font-size:12px;font-weight:700;color:var(--c-primary-strong);margin:8px 4px}.chat-org-member{width:100%;display:flex;align-items:center;gap:10px;padding:8px 6px;border:none;background:none;cursor:pointer;border-radius:8px;text-align:left;font-size:13px}.chat-org-member:hover{background:var(--c-primary-weak)}.chat-org-member:disabled{opacity:.5;cursor:default}.chat-org-member-name{font-weight:600;color:var(--c-text)}.chat-org-member-pos{margin-left:auto;color:var(--c-text-weak);font-size:12px}.chat-conversation{flex:1;display:flex;flex-direction:column;min-height:0}.chat-conv-head{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--c-surface-2)}.chat-back-btn{background:none;border:none;cursor:pointer;color:var(--c-primary-strong);font-size:13px;font-weight:600;padding:4px 6px;border-radius:6px}.chat-back-btn:hover{background:var(--c-primary-weak)}.chat-conv-title{font-weight:700;font-size:15px;color:var(--c-text)}.chat-conv-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:8px}.chat-msg{align-self:flex-start;max-width:78%}.chat-msg.mine{align-self:flex-end}.chat-msg-sender{font-size:11px;color:var(--c-text-3);margin-bottom:2px}.chat-bubble{background:var(--c-surface-2);color:var(--c-text);border-radius:12px;padding:8px 12px;font-size:14px;white-space:pre-wrap;word-break:break-word}.chat-bubble.mine{background:var(--c-primary-strong);color:var(--c-surface)}.chat-bubble.deleted{background:var(--c-surface-2);color:var(--c-text-weak);font-style:italic}.chat-attach{margin-top:6px}.chat-msg-meta{font-size:10px;color:var(--c-text-weak);margin-top:2px;text-align:left}.chat-msg-meta.mine{text-align:right}.chat-msg-del{margin-left:8px;border:none;background:none;color:var(--c-line-strong);font-size:10px;cursor:pointer}.chat-typing{font-size:12px;color:var(--c-text-3)}.chat-mentions{padding:4px 16px;display:flex;flex-wrap:wrap;gap:6px}.chat-mention-btn{border:1px solid var(--c-line);background:var(--c-surface);border-radius:14px;padding:3px 10px;font-size:12px;cursor:pointer;color:var(--c-text-2)}.chat-mention-btn.on{background:var(--c-primary-strong);color:var(--c-surface);border-color:var(--c-primary-strong)}.chat-input-area{position:relative}.chat-archived-banner{padding:14px 16px;text-align:center;font-size:13px;color:var(--c-text-3);background:var(--c-surface-2);border-top:1px solid var(--c-line)}.chat-mention-dropdown{position:absolute;bottom:100%;left:12px;right:12px;margin-bottom:6px;background:var(--c-surface);border:1px solid var(--c-line);border-radius:10px;box-shadow:0 -4px 16px #0000001a;max-height:180px;overflow-y:auto;padding:4px;z-index:10}.chat-mention-option{display:block;width:100%;text-align:left;border:none;background:none;cursor:pointer;padding:8px 10px;border-radius:6px;font-size:13px;font-weight:600;color:var(--c-primary-strong)}.chat-mention-option:hover{background:var(--c-primary-weak)}.chat-input-row{display:flex;align-items:center;gap:8px;padding:12px;border-top:1px solid var(--c-surface-2)}.chat-file-btn{cursor:pointer;font-size:18px;padding:4px;line-height:1}.chat-input{flex:1;padding:9px 12px;border-radius:8px;border:1px solid var(--c-line);font-size:14px}.chat-input:focus{outline:none;border-color:var(--c-line-strong)}.chat-file-pending{padding:0 12px 8px;font-size:12px;color:var(--c-text-3)}.chat-dialog-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:10}.chat-dialog{background:var(--c-surface);border-radius:12px;width:360px;max-width:calc(100% - 32px);padding:18px;box-shadow:0 12px 32px #0003}.chat-dialog-title{margin:0 0 12px;font-size:16px}.chat-dialog-types{display:flex;gap:8px;margin-bottom:12px}.chat-dialog-name{width:100%;box-sizing:border-box;padding:8px;margin-bottom:12px;border-radius:8px;border:1px solid var(--c-line)}.chat-dialog-users{max-height:260px;overflow-y:auto;border:1px solid var(--c-surface-2);border-radius:8px}.chat-dialog-user{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;font-size:14px}.chat-dialog-dept{color:var(--c-text-weak);font-size:12px}.chat-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.avatar.avatar-image{overflow:hidden;border-radius:50%}.avatar.avatar-image img{display:block}.profile-avatar-btn{background:none;border:none;padding:0;cursor:pointer;border-radius:50%;line-height:0}.profile-avatar-btn:hover{opacity:.85}.profile-status-line{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--c-text-2)}.status-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;display:inline-block}.status-dropdown{display:inline-flex;align-items:center;gap:8px;width:100%}.status-dropdown .status-dot{flex:none}.status-select-el{flex:1;padding:8px 10px;border:1px solid var(--c-line);border-radius:8px;background:var(--c-surface);font-family:inherit;font-size:13px;color:var(--c-text);cursor:pointer}.status-select-el:focus{outline:none;border-color:var(--c-primary-strong)}.status-dropdown.compact .status-select-el{padding:5px 8px;font-size:12px}.profile-avatar-wrap{position:relative;display:inline-block}.avatar-dropdown{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);z-index:30;background:var(--c-surface);border:1px solid var(--c-line);border-radius:12px;box-shadow:0 8px 24px #00000024;padding:12px;min-width:264px}.avatar-dropdown:before{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%) rotate(45deg);width:12px;height:12px;background:var(--c-surface);border-left:1px solid var(--c-line);border-top:1px solid var(--c-line)}.avatar-choices{width:100%}.avatar-choices-label{font-size:12px;color:var(--c-text-weak);margin-bottom:6px}.avatar-choices-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.avatar-choice{display:inline-flex;align-items:center;justify-content:center;padding:3px;border:2px solid transparent;border-radius:50%;background:none;cursor:pointer}.avatar-choice:hover:not(:disabled){background:var(--c-primary-weak)}.avatar-choice.active{border-color:var(--c-primary-strong)}.avatar-choice:disabled{cursor:default;opacity:.6}.avatar-choices-actions{display:flex;gap:6px;margin-top:8px}.avatar-choices-error{margin-top:6px;font-size:12px;color:var(--c-danger)}.status-select{display:grid;grid-template-columns:1fr 1fr;gap:6px}.status-option{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid var(--c-line);border-radius:8px;background:var(--c-surface);font-family:inherit;font-size:13px;color:var(--c-text-2);cursor:pointer}.status-option:hover:not(:disabled){background:var(--c-primary-weak)}.status-option.active{border-color:var(--c-primary-strong);background:var(--c-primary-weak);color:var(--c-text);font-weight:600}.status-option:disabled{cursor:default;opacity:.7}.status-select.compact{grid-template-columns:repeat(4,1fr);gap:4px}.status-select.compact .status-option{flex-direction:column;gap:4px;padding:6px 2px;font-size:11px}.noti-mute-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;gap:10px;padding:9px 12px;border:1px solid var(--c-primary-weak);border-radius:8px;background:var(--c-surface);font-family:inherit;font-size:13px;color:var(--c-primary-strong);font-weight:600;cursor:pointer}.noti-mute-toggle:hover:not(:disabled){background:var(--c-primary-weak)}.noti-mute-toggle.muted{background:var(--c-surface-2);border-color:var(--c-line);color:var(--c-text-weak);font-weight:500}.noti-mute-toggle.muted:hover:not(:disabled){background:var(--c-surface-2)}.noti-mute-toggle:disabled{cursor:default;opacity:.7}.toggle-switch{width:36px;height:20px;border-radius:999px;background:var(--c-line-strong);position:relative;flex-shrink:0;transition:background .15s ease}.toggle-switch.on{background:var(--c-success)}.toggle-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--c-surface);transition:transform .15s ease}.toggle-switch.on .toggle-knob{transform:translate(16px)}.avatar-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1000}.avatar-picker{width:360px;max-width:calc(100vw - 32px);background:var(--c-surface);border-radius:12px;box-shadow:0 12px 40px #0003;padding:16px}.avatar-picker-head{display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:15px;margin-bottom:12px}.avatar-picker-close{background:none;border:none;font-size:22px;line-height:1;color:var(--c-text-weak);cursor:pointer}.avatar-picker-preview{display:flex;justify-content:center;margin-bottom:14px}.avatar-picker-presets{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:12px}.avatar-preset{display:flex;align-items:center;justify-content:center;padding:4px;border:2px solid transparent;border-radius:10px;background:var(--c-primary-weak);cursor:pointer}.avatar-preset:hover{background:var(--c-surface-2)}.avatar-preset.active{border-color:var(--c-primary-strong);background:var(--c-primary-weak)}.avatar-picker-error{color:var(--c-danger);font-size:12px;margin-bottom:10px}.avatar-picker-actions{display:flex;gap:8px;justify-content:flex-end}.revenue-cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.revenue-charts{display:flex;gap:20px;margin-bottom:20px}.revenue-chart-card{flex:1 1 0;min-width:0;margin-bottom:0}.revenue-chart-card h2{margin-top:0;font-size:16px}@media (max-width: 900px){.revenue-charts{flex-direction:column}}.revenue-donut-wrap{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.revenue-donut{width:180px;height:180px;flex:0 0 auto}.revenue-donut-label{font-size:12px;fill:var(--c-text-3)}.revenue-donut-total{font-size:11px;font-weight:700;fill:var(--c-text)}.revenue-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;flex:1 1 0;min-width:160px}.revenue-legend li{display:flex;align-items:center;gap:8px;font-size:13px}.revenue-legend-dot{width:12px;height:12px;border-radius:3px;flex:0 0 auto}.revenue-legend-name{color:var(--c-text-2);min-width:56px}.revenue-legend-value{color:var(--c-text);font-weight:600;margin-left:auto}.revenue-legend-inline{flex-direction:row;flex-wrap:wrap;margin-top:14px;gap:12px}.revenue-legend-inline li{font-size:12px}.revenue-bars-wrap{display:flex;flex-direction:column}.revenue-bars{display:flex;align-items:flex-end;gap:6px;height:160px}.revenue-bar-col{flex:1 1 0;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end}.revenue-bar-stack{width:70%;max-width:28px;min-height:2px;display:flex;flex-direction:column-reverse;border-radius:3px 3px 0 0;overflow:hidden;background:var(--c-primary-weak)}.revenue-bar-seg{width:100%}.revenue-bar-label{margin-top:6px;font-size:11px;color:var(--c-text-3)}.revenue-toolbar{margin-bottom:12px;flex-wrap:wrap;gap:10px}.revenue-toolbar h2{margin:0;font-size:16px}.revenue-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.revenue-type-badge{font-weight:600}.revenue-unpaid-badge{background:var(--c-danger-weak);color:var(--c-danger);font-weight:600}.revenue-paid-badge{background:var(--c-success-weak);color:var(--c-success-text);font-weight:600}.revenue-partial-badge{background:var(--c-warning-weak);color:var(--c-warning-text);font-weight:600}.revenue-paid-input,.revenue-tax-select{padding:4px 6px;border:1px solid var(--c-line);border-radius:6px;font-size:13px}.rev-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:16px}.rev-detail-title{margin:8px 0 0;font-size:22px}.rev-detail-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.rev-detail-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}@media (max-width: 800px){.rev-detail-cards{grid-template-columns:1fr}}.rev-card-label{color:var(--c-text-3);font-size:13px;margin-bottom:6px}.rev-card-value{font-size:22px;font-weight:700}.rev-card-sub{margin-top:8px;color:var(--c-text-3);font-size:13px}.rev-card-ok{border-left:4px solid var(--c-success-text)}.rev-card-warn,.rev-card-mid{border-left:4px solid var(--c-warning-text)}.tax-issue-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}.tax-issue-form input,.tax-issue-form select{padding:6px 8px;border:1px solid var(--c-line);border-radius:6px;font-size:14px}.tax-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;justify-content:center;align-items:flex-start;padding:40px 16px;overflow-y:auto;z-index:1000}.tax-modal{background:var(--c-surface);border-radius:12px;width:100%;max-width:640px;padding:24px;box-shadow:0 12px 40px #0003}.tax-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.tax-modal-head h2{margin:0 0 4px}.tax-warning{background:var(--c-danger-weak);border:1px solid var(--c-danger);color:var(--c-danger-text);border-radius:8px;padding:12px 14px;margin-bottom:16px}.tax-warning ul{margin:6px 0 0;padding-left:18px}.tax-section{border:1px solid var(--c-surface-2);border-radius:10px;padding:14px 16px;margin-bottom:14px}.tax-section h4{margin:0 0 10px;font-size:15px}.tax-field{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:10px;margin-bottom:10px}.tax-field>label{color:var(--c-text-2);font-size:13px}.tax-field input,.tax-field select,.tax-field textarea{width:100%;padding:8px 10px;border:1px solid var(--c-line);border-radius:8px;font-size:14px}.tax-field textarea{min-height:64px;resize:vertical}.tax-field .req{color:var(--c-danger)}.tax-modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.tax-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.tax-section-head h4{margin:0}.tax-item{border:1px dashed var(--c-line);border-radius:8px;padding:12px;margin-bottom:10px}.tax-item-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.tax-field input.readonly{background:var(--c-surface-2);color:var(--c-text-2)}.tax-item-total{text-align:right;color:var(--c-text-2);font-size:14px;margin-top:4px}.rev-detail-section{margin:8px 0 12px;font-size:18px}.rev-detail-table th{width:160px;text-align:left;color:var(--c-text-2);background:var(--c-primary-weak);font-weight:600}.revenue-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:50}.revenue-dialog{background:var(--c-surface);border-radius:12px;width:440px;max-width:calc(100% - 32px);max-height:calc(100% - 48px);overflow-y:auto;padding:20px 22px;box-shadow:0 12px 32px #0003}.revenue-dialog-title{margin:0 0 14px;font-size:18px}.revenue-dialog .form{max-width:none}.calendar-google{display:flex;flex-direction:column;gap:8px}.calendar-google-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.calendar-google-label{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--c-text-2)}.calendar-google-dot{width:9px;height:9px;border-radius:50%;background:var(--c-text-weak)}.calendar-google-dot.connected{background:var(--c-success)}.calendar-google-banner{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-radius:8px;background:var(--c-primary-weak);color:var(--c-primary-strong);font-size:13px}.calendar-google-banner-close{border:none;background:transparent;color:inherit;cursor:pointer;font-size:13px}.calendar-google-warn{padding:8px 12px;border-radius:8px;background:var(--c-danger-weak);color:var(--c-danger-text);font-size:13px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.calendar-nav{display:flex;align-items:center;gap:8px}.calendar-title{font-size:18px;font-weight:600;margin-left:8px}.calendar-view-toggle{display:flex;gap:6px}.calendar-mode-tabs{display:flex;gap:8px;margin-bottom:12px}.calendar-mode-tabs .btn{flex:1;font-weight:600}.partner-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:12px}.partner-search{flex:0 0 280px;max-width:100%}.calendar-filters{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.calendar-filter-item{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:14px}.calendar-legend-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex:0 0 auto}.calendar-loading{margin-left:auto;font-size:13px}.calendar-body{padding:0;overflow:hidden}.calendar-body.clickable-days .calendar-cell,.calendar-body.clickable-days .calendar-week-col,.calendar-body.clickable-days .calendar-day-list{cursor:pointer;position:relative;transition:background .12s ease,box-shadow .12s ease}.calendar-body.clickable-days .calendar-cell:hover,.calendar-body.clickable-days .calendar-week-col:hover{background:var(--c-primary-weak);box-shadow:inset 0 0 0 2px var(--c-primary)}.calendar-body.clickable-days .calendar-day-list:hover{background:var(--c-primary-weak)}.calendar-body.clickable-days .calendar-cell:after,.calendar-body.clickable-days .calendar-week-col:after{content:"+ 추가";position:absolute;top:4px;right:4px;font-size:11px;font-weight:700;color:var(--c-primary-strong);background:var(--c-primary-weak);border-radius:4px;padding:1px 5px;opacity:0;pointer-events:none;transition:opacity .12s ease}.calendar-body.clickable-days .calendar-cell:hover:after,.calendar-body.clickable-days .calendar-week-col:hover:after{opacity:1}.calendar-weekrow,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-weekhead-cell{padding:8px 6px;text-align:center;font-size:13px;font-weight:600;color:var(--c-text-2);border-bottom:1px solid var(--c-line)}.calendar-weekhead-cell.sun{color:var(--c-danger)}.calendar-weekhead-cell.sat{color:var(--c-primary-strong)}.calendar-cell{min-height:96px;border-right:1px solid var(--c-surface-2);border-bottom:1px solid var(--c-surface-2);padding:4px 5px;display:flex;flex-direction:column;gap:3px;overflow:hidden}.calendar-cell.other-month{background:var(--c-surface-2)}.calendar-cell.other-month .calendar-cell-date{color:var(--c-line-strong)}.calendar-cell.today{background:var(--c-primary-weak)}.calendar-cell-date{font-size:13px;font-weight:600;color:var(--c-text-2)}.calendar-cell-date.sun{color:var(--c-danger)}.calendar-cell-date.sat{color:var(--c-primary-strong)}.calendar-cell-events{display:flex;flex-direction:column;gap:2px}.calendar-badge{display:flex;align-items:center;gap:4px;border:none;border-radius:5px;padding:2px 5px;font-size:12px;text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-badge-dot{display:inline-block;width:6px;height:6px;border-radius:50%;flex:0 0 auto}.calendar-badge-more{font-size:11px;color:var(--c-text-3);padding-left:4px}.calendar-week{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-week-col{border-right:1px solid var(--c-surface-2);min-height:320px}.calendar-week-col.today{background:var(--c-primary-weak)}.calendar-week-head{text-align:center;padding:8px 4px;border-bottom:1px solid var(--c-line);font-size:13px;font-weight:600}.calendar-week-head.sun{color:var(--c-danger)}.calendar-week-head.sat{color:var(--c-primary-strong)}.calendar-week-date{font-size:16px}.calendar-week-events{display:flex;flex-direction:column;gap:4px;padding:6px 5px}.calendar-event-row{display:flex;align-items:center;gap:8px;border:none;border-left:3px solid var(--c-primary-strong);background:var(--c-primary-weak);border-radius:4px;padding:5px 8px;font-size:13px;text-align:left;cursor:pointer;width:100%}.calendar-event-row.big{padding:10px 12px;font-size:14px}.calendar-event-time{color:var(--c-text-3);font-variant-numeric:tabular-nums;flex:0 0 auto}.calendar-event-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event-src{font-size:12px;font-weight:600;flex:0 0 auto}.calendar-day-list{display:flex;flex-direction:column;gap:6px;padding:14px}.calendar-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:50}.calendar-dialog{background:var(--c-surface);border-radius:12px;width:440px;max-width:calc(100% - 32px);max-height:calc(100% - 48px);overflow-y:auto;padding:20px 22px;box-shadow:0 12px 32px #0003}.calendar-dialog-head{display:flex;align-items:center;gap:8px;margin-bottom:12px}.calendar-dialog-title{margin:0;font-size:18px}.calendar-detail{display:grid;grid-template-columns:64px 1fr;gap:8px 12px;margin:0 0 16px}.calendar-detail dt{color:var(--c-text-3);font-size:13px}.calendar-detail dd{margin:0;font-size:14px}.calendar-detail-desc{white-space:pre-wrap}.calendar-dialog-actions{display:flex;justify-content:flex-end;gap:8px}.calendar-form{max-width:none;display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.calendar-form-inline{flex-direction:row;align-items:center;gap:8px}.calendar-form-error{background:var(--c-danger-weak);color:var(--c-danger);border-radius:6px;padding:8px 10px;margin-bottom:12px;font-size:13px}.calendar-color-picker{display:flex;gap:8px;margin-top:6px}.calendar-color-swatch{width:26px;height:26px;border-radius:50%;border:2px solid transparent;cursor:pointer}.calendar-color-swatch.active{border-color:var(--c-text-2);box-shadow:0 0 0 2px var(--c-surface) inset}.production-page .prod-toptabs{display:flex;gap:8px;margin-bottom:16px}.prod-toptab{padding:8px 18px;background:var(--c-primary-weak);border:1px solid var(--c-line);border-radius:8px;cursor:pointer;font-size:14px;color:var(--c-text-3)}.prod-toptab.active{background:var(--c-primary-strong);border-color:var(--c-primary-strong);color:var(--c-surface);font-weight:600}.production-page .prod-tabs{display:flex;gap:8px;margin-bottom:16px;border-bottom:1px solid var(--c-line)}.prod-tab{padding:8px 16px;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:14px;color:var(--c-text-3)}.prod-tab.active{color:var(--c-primary-strong);border-bottom-color:var(--c-primary-strong);font-weight:600}.prod-toolbar{display:flex;gap:8px;align-items:center;margin-bottom:12px}.prod-toolbar select,.prod-search{padding:6px 10px;border:1px solid var(--c-line-strong);border-radius:6px;font-size:14px}.prod-search{min-width:220px}.prod-layout{display:flex;gap:16px;align-items:flex-start}.prod-table-wrap{flex:1;min-width:0}.prod-table{width:100%;border-collapse:collapse;font-size:14px}.prod-table th,.prod-table td{padding:10px 12px;text-align:center;border-bottom:1px solid var(--c-surface-2)}.prod-table thead th{color:var(--c-text-3);font-weight:600;background:var(--c-surface-2)}.prod-table tbody tr{cursor:pointer}.prod-table tbody tr:hover,.prod-table tbody tr.selected{background:var(--c-primary-weak)}.prod-table tbody tr.inactive-row{color:var(--c-text-weak)}.production-page .prod-status{background:var(--c-surface);border:1px solid var(--c-line);border-radius:8px;padding:18px 20px}.production-page .prod-status .prod-toolbar{flex-wrap:wrap}.production-page .prod-status .prod-table-wrap{overflow-x:auto}.production-page .prod-status .prod-table th,.production-page .prod-status .prod-table td{padding:11px 28px;border-bottom:1px solid var(--c-surface-2);font-size:13px;white-space:nowrap}.production-page .prod-status .prod-table thead th{background:transparent;color:var(--c-text-3);font-weight:600}.production-page .prod-status .prod-table tbody tr:hover{background:var(--c-primary-weak)}.wl-entry{border:1px solid var(--c-line);border-radius:8px;padding:12px 14px;margin-bottom:12px;background:var(--c-surface-2)}.wl-entry-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.wl-entry-no{font-weight:600;font-size:13px;color:var(--c-text-2)}.wl-materials{border-top:1px solid var(--c-surface-2);padding-top:12px;margin-top:4px}.wl-materials-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-weight:600;font-size:14px}.wl-mat-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.wl-mat-autocomplete{position:relative;flex:1;min-width:0}.wl-mat-autocomplete input{width:100%}.wl-mat-suggest{position:absolute;z-index:20;top:100%;left:0;right:0;background:var(--c-surface);border:1px solid var(--c-line-strong);border-radius:6px;box-shadow:0 4px 12px #00000014;max-height:200px;overflow-y:auto}.wl-mat-suggest-item{display:block;width:100%;text-align:left;padding:8px 10px;border:none;background:none;cursor:pointer;font-size:13px}.wl-mat-suggest-item:hover{background:var(--c-primary-weak)}.wl-mat-qty{width:90px}.wl-mat-unit{min-width:28px;color:var(--c-text-3);font-size:13px}.prog-bar{position:relative;width:120px;height:16px;background:var(--c-primary-weak);border-radius:8px;overflow:hidden}.prog-fill{position:absolute;left:0;top:0;bottom:0;background:var(--c-primary-strong);border-radius:8px}.prog-label{position:absolute;left:0;right:0;top:0;bottom:0;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--c-text)}.stage-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600}.stage-badge.stage-PENDING{background:var(--c-line);color:var(--c-text-2)}.stage-badge.stage-REQUESTED{background:var(--c-primary-weak);color:var(--c-primary-strong)}.stage-badge.stage-PRODUCING{background:var(--c-warning-weak);color:var(--c-warning-text)}.stage-badge.stage-SHIPPING{background:var(--c-success-weak);color:var(--c-success-text)}.stage-badge.stage-CHECKING{background:var(--c-warning-weak);color:var(--c-warning-text)}.stage-badge.stage-CONFIRMED{background:var(--c-success-weak);color:var(--c-success-text)}.stage-badge.stage-DRAFT{background:var(--c-line);color:var(--c-text-2)}.stage-badge.stage-DISPATCHED{background:var(--c-success-weak);color:var(--c-success-text)}.dispatch-add-card{border:1px solid var(--c-line);border-radius:8px;background:var(--c-primary-weak);padding:12px 14px;margin-bottom:12px}.dispatch-add-title{font-weight:700;font-size:14px;color:var(--c-text-2);margin-bottom:8px}.dispatch-add-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.dispatch-add-search{position:relative}.dispatch-ac-list{position:absolute;z-index:20;top:100%;left:0;min-width:260px;margin:2px 0 0;padding:4px 0;list-style:none;background:var(--c-surface);border:1px solid var(--c-line-strong);border-radius:6px;box-shadow:0 4px 12px #0000001a;max-height:240px;overflow-y:auto}.dispatch-ac-list li{padding:6px 12px;cursor:pointer}.dispatch-ac-list li:hover{background:var(--c-primary-weak)}.dispatch-qty{width:80px}.dispatch-detail-page .page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.dispatch-detail-page .page-head-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.dispatch-detail-card{background:var(--c-surface);border:1px solid var(--c-line);border-radius:8px;padding:18px 20px;margin-bottom:20px;overflow-x:auto}.dispatch-detail-table{table-layout:fixed}.dispatch-detail-table th,.dispatch-detail-table td{overflow:hidden;text-overflow:ellipsis}.dispatch-cat-tabs{flex-wrap:wrap}.dispatch-add-table{height:440px;overflow-y:auto}.dispatch-add-table thead th{position:sticky;top:0;background:var(--c-surface-2);z-index:1;box-shadow:inset 0 -1px 0 var(--c-surface-2)}.stage-badge.as-status-RECEIVED{background:var(--c-line);color:var(--c-text-2)}.stage-badge.as-status-SCHEDULING{background:var(--c-violet-weak);color:var(--c-violet)}.stage-badge.as-status-DISPATCHED{background:var(--c-primary-weak);color:var(--c-primary-strong)}.stage-badge.as-status-RESOLVED,.stage-badge.as-status-CLOSED{background:var(--c-success-weak);color:var(--c-success-text)}.charge-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600}.charge-badge.charge-FREE{background:var(--c-success-weak);color:var(--c-success-text)}.charge-badge.charge-PAID{background:var(--c-danger-weak);color:var(--c-danger-text)}.as-item-table{width:100%;border-collapse:collapse;font-size:13px}.as-item-table th,.as-item-table td{border:1px solid var(--c-line);padding:4px 6px;text-align:left}.as-item-table thead th{background:var(--c-surface-2);font-weight:600;text-align:center}.as-item-table input{width:100%;box-sizing:border-box;border:none;padding:2px 4px;font-size:13px}.as-item-table input:focus{outline:1px solid var(--c-primary)}.as-item-table td.num{text-align:right}.as-detail-grid{display:grid;grid-template-columns:120px 1fr;gap:6px 12px;font-size:14px;margin-bottom:12px}.as-detail-grid dt{color:var(--c-text-3)}.as-detail-grid dd{margin:0}.as-quote-doc-scroll{max-height:60vh;overflow:auto;background:var(--c-surface-2);padding:12px;border-radius:6px}.as-quote-pdf-frame{width:100%;height:70vh;border:1px solid var(--c-line-strong);border-radius:6px;background:var(--c-text-2)}.xlsx-view{background:var(--c-surface);margin:0 auto;box-sizing:content-box}.xlsx-table{border-collapse:collapse;table-layout:fixed;font-family:Malgun Gothic,맑은 고딕,Gulim,굴림,sans-serif;color:var(--c-text)}.xlsx-table td{font-size:12px;box-sizing:border-box;line-height:1.3}.asq{width:760px;margin:0 auto;background:var(--c-surface);color:var(--c-text);padding:30px 34px 36px;font-family:Malgun Gothic,맑은 고딕,Gulim,굴림,sans-serif;font-size:13px;line-height:1.45;box-sizing:border-box}.asq-title{text-align:center;font-size:34px;font-weight:800;letter-spacing:14px;text-indent:14px;margin:0 0 22px}.asq-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:14px}.asq-left{flex:1;min-width:0;padding-top:4px}.asq-no{font-size:12px;margin-bottom:10px}.asq-client{display:flex;align-items:baseline;gap:10px;border-bottom:2px solid var(--c-text);padding-bottom:6px;margin-bottom:12px}.asq-client-name{font-size:22px;font-weight:800}.asq-client-suffix{font-size:15px;font-weight:700}.asq-line{display:flex;gap:8px;margin:3px 0}.asq-lbl{flex:0 0 64px;font-weight:700;white-space:nowrap}.asq-val{flex:1;min-width:0}.asq-greet{margin:10px 0;font-weight:600}.asq-sum{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;border:1.5px solid var(--c-text);padding:7px 10px;margin:8px 0}.asq-sum-amount{font-size:16px;font-weight:800;letter-spacing:1px}.asq-vat{font-size:11px;color:var(--c-text-2)}.asq-right{width:320px;flex:0 0 320px}.asq-company{font-size:22px;font-weight:800;text-align:center;border:2px solid var(--c-text);padding:12px 8px;margin-bottom:8px;letter-spacing:2px}.asq-supplier{font-size:11.5px;line-height:1.7}.asq-supplier>div{white-space:pre;overflow:hidden;text-overflow:ellipsis}.asq-supplier-ceo{font-weight:700;font-size:13px;margin-top:2px}.asq-items{width:100%;border-collapse:collapse;margin:6px 0 0;table-layout:fixed}.asq-items th,.asq-items td{border:1px solid var(--c-text);padding:5px 6px;font-size:12px;height:22px;word-break:break-all;vertical-align:middle}.asq-items thead th{background:var(--c-line);text-align:center;font-weight:700}.asq-items td.c{text-align:center}.asq-items td.r{text-align:right}.asq-total-label{font-weight:800;letter-spacing:4px}.asq-total-amount{font-weight:800}.asq-vat-cell{font-size:11px}.asq-terms{width:100%;border-collapse:collapse;margin-top:-1px;table-layout:fixed}.asq-terms th,.asq-terms td{border:1px solid var(--c-text);padding:7px 8px;font-size:12px;vertical-align:top}.asq-terms th{background:var(--c-line);font-weight:700;text-align:left;white-space:nowrap}.as-field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.as-field>label{font-size:13px;color:var(--c-text-2);font-weight:600}.as-field input,.as-field select,.as-field textarea{width:100%;box-sizing:border-box;padding:6px 8px;border:1px solid var(--c-line-strong);border-radius:6px;font-size:14px}.as-attach-row{display:flex;align-items:center;gap:8px;font-size:13px;padding:4px 0}.prod-card-box{margin-top:16px;padding:12px 14px;background:var(--c-success-weak);border:1px solid var(--c-success);border-radius:8px}.prod-card-box .detail-label{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.prod-part-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.prod-part-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 8px;background:var(--c-surface);border:1px solid var(--c-line);border-radius:6px}.prod-part-name{font-size:14px;font-weight:500}.prod-part-status-select{min-width:96px}.prod-part-status{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;background:var(--c-line)}.prod-detail-actions{margin-top:12px}.prod-assignee-select,.prod-duedate-input{width:100%}.prod-duedate-hint{margin-top:4px}.prod-requested-info{margin:8px 0;padding:8px 10px;border-radius:8px;background:var(--c-primary-weak);font-size:13px;color:var(--c-text-2)}.part-materials{width:560px;min-height:560px}.pm-section{margin-top:14px}.pm-label{font-size:13px;font-weight:600;color:var(--c-text-2);margin-bottom:6px}.pm-qty{width:90px}.pm-select{width:100%;height:34px}.pm-combo{position:relative;max-width:calc(100% - 113px)}.pm-suggest{position:absolute;top:100%;left:0;right:0;z-index:20;margin-top:2px;background:var(--c-surface);border:1px solid var(--c-line);border-radius:8px;box-shadow:0 8px 20px #0000001f;max-height:320px;overflow-y:auto}.pm-suggest-item{display:block;width:100%;text-align:left;border:none;background:var(--c-surface);padding:8px 10px;font-size:13px;cursor:pointer}.pm-suggest-item:hover:not(:disabled){background:var(--c-primary-weak)}.pm-suggest-item:disabled{opacity:.5;cursor:default}.pm-suggest-empty{padding:8px 10px;font-size:13px}.pm-options{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;max-height:180px;overflow-y:auto}.pm-option{border:1px solid var(--c-line);background:var(--c-surface);border-radius:8px;padding:6px 10px;font-size:13px;cursor:pointer}.pm-option:hover:not(:disabled){background:var(--c-primary-weak)}.pm-option:disabled{opacity:.5;cursor:default}.part-materials .prod-detail-actions{display:flex;justify-content:flex-end;gap:8px}.prod-detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:50}.prod-detail{width:520px;max-width:calc(100% - 32px);max-height:calc(100% - 48px);overflow-y:auto;padding:20px 22px;box-shadow:0 12px 32px #0003}.prod-detail-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.prod-detail-head h3{margin:0;font-size:16px}.prod-detail-meta{display:flex;gap:8px;align-items:center;margin-bottom:12px}.prod-detail h4{margin:16px 0 8px;font-size:13px;color:var(--c-text-2)}.prod-part-catalog{display:flex;flex-direction:column;gap:6px}.prod-part-check{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.prod-part-check.inactive{color:var(--c-text-weak)}.prod-part-row{display:flex;align-items:center;gap:12px}.prod-part-row.inactive .prod-part-check{color:var(--c-text-weak)}.prod-part-qty-wrap{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--c-text-2)}.prod-part-qty{width:72px;height:30px;padding:0 6px}.prod-part-status-table{width:100%;border-collapse:collapse;font-size:14px}.prod-part-status-table td{padding:6px 8px;border-bottom:1px solid var(--c-surface-2)}.prod-part-status-table select{padding:4px 8px;border:1px solid var(--c-line-strong);border-radius:6px}.prod-row-actions{display:flex;gap:8px;justify-content:center;flex-wrap:nowrap;white-space:nowrap}.btn-link.danger{color:var(--c-danger)}.ship-detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:50}.ship-detail{width:520px;max-width:calc(100% - 32px);max-height:calc(100% - 48px);overflow-y:auto;padding:20px 22px;box-shadow:0 12px 32px #0003}.ship-detail-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.ship-detail-head h3{margin:0;font-size:16px}.ship-detail-meta{display:flex;gap:8px;align-items:center;margin-bottom:12px}.ship-detail h4{margin:16px 0 8px;font-size:13px;color:var(--c-text-2)}.ship-item-catalog{display:flex;flex-direction:column;gap:6px}.ship-item-check{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.ship-item-check.inactive{color:var(--c-text-weak)}.ship-item-status-table{width:100%;border-collapse:collapse;font-size:14px}.ship-item-status-table td{padding:6px 8px;border-bottom:1px solid var(--c-surface-2)}.ship-item-done{display:flex;align-items:center;gap:8px;cursor:pointer}.ship-confirmed-banner{margin-top:14px;padding:8px 12px;border-radius:8px;background:var(--c-success-weak);color:var(--c-success-text);font-size:13px;font-weight:600;text-align:center}.wo-card-toolbar{display:flex;justify-content:flex-end;margin-bottom:10px}.wo-fieldset{border:0;padding:0;margin:0;min-width:0}.wo-catalog-select{margin-left:8px;max-width:240px}.wo-group{border:1px solid var(--c-line);border-radius:8px;padding:12px;margin:10px 0;background:var(--c-surface-2)}.wl-item-block{border:1px solid var(--c-surface-2);border-radius:6px;padding:10px;margin:8px 0;background:var(--c-surface)}.wl-readonly-mats{display:flex;flex-wrap:wrap;gap:6px;padding:6px 0}.wl-readonly-mat{display:inline-block;padding:3px 8px;border:1px solid var(--c-line);border-radius:12px;background:var(--c-primary-weak);font-size:13px}.wo-group-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.wo-group-title{font-size:13px;font-weight:700;color:var(--c-text-2)}.wo-group-head select{flex:1;max-width:320px}.inv-modal-wide .form.wl-form{max-width:none}.wo-project-picker{display:flex;flex-wrap:wrap;gap:6px 16px;max-height:140px;overflow-y:auto;border:1px solid var(--c-line);border-radius:8px;padding:10px 12px}.wo-project-check{display:flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap}.wo-item-table{width:100%;border-collapse:collapse;font-size:14px}.wo-item-table th{text-align:left;padding:6px 8px;border-bottom:1px solid var(--c-line);font-size:12px;color:var(--c-text-3);font-weight:600}.wo-item-table td{padding:6px 8px;border-bottom:1px solid var(--c-surface-2)}.wo-input{width:100%;box-sizing:border-box;padding:6px 8px;border:1px solid var(--c-line-strong);border-radius:6px;font-size:14px}.wo-detail-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.appr-segs{display:flex;gap:8px;margin-bottom:12px}.appr-seg-inbox{display:inline-flex;align-items:center;gap:6px}.as-combo{position:relative;display:inline-block;min-width:240px}.as-combo>input{width:100%}.as-combo-list{position:absolute;top:100%;left:0;right:0;z-index:40;max-height:260px;overflow-y:auto;margin:3px 0 0;padding:4px 0;list-style:none;background:var(--c-surface);border:1px solid var(--c-line-strong);border-radius:6px;box-shadow:0 8px 20px #0000001f}.as-combo-item{padding:7px 12px;font-size:13px;cursor:pointer}.as-combo-item:hover,.as-combo-item.active{background:var(--c-primary-weak)}.as-combo-empty{padding:7px 12px;font-size:13px;color:var(--c-text-weak)}.appr-leave-days{margin:-4px 0 4px;font-size:13px;font-weight:600;color:var(--c-primary-strong)}.appr-toolbar{display:flex;gap:10px;align-items:center;margin-bottom:12px}.appr-toolbar select{padding:6px 10px;border:1px solid var(--c-line-strong);border-radius:6px}.btn-link{background:none;border:none;padding:0;color:var(--c-primary-strong);cursor:pointer;font:inherit;text-decoration:underline}.appr-badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600}.appr-badge-draft{background:var(--c-primary-weak);color:var(--c-text-3)}.appr-badge-progress{background:var(--c-primary-weak);color:var(--c-primary-strong)}.appr-badge-approved{background:var(--c-success-weak);color:var(--c-success-text)}.appr-badge-rejected{background:var(--c-danger-weak);color:var(--c-danger-text)}.appr-badge-reported{background:var(--c-violet-weak);color:var(--c-violet)}.appr-badge-withdraw-req{background:var(--c-warning-weak);color:var(--c-danger-text)}.appr-badge-withdrawn{background:var(--c-line);color:var(--c-text-2)}.appr-withdraw-box{border:1px solid var(--c-warning);background:var(--c-warning-weak);border-radius:8px;padding:10px 12px}.appr-dialog{width:540px;max-width:92vw;max-height:88vh;overflow-y:auto}.appr-detail{width:600px;position:relative}.appr-detail-close{position:absolute;top:12px;right:12px;z-index:2}.appr-dialog-wide{width:900px}.appr-quote-items{margin:4px 0;overflow-x:auto}.appr-detail-wide{width:980px}.appr-detail-wide .as-quote-pdf-frame{height:82vh}.appr-attach-list{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.appr-attach-list li{display:flex;gap:10px;align-items:center;font-size:13px}.appr-attach-picked{display:inline-flex;gap:10px;align-items:center;margin-top:4px;font-size:13px;color:var(--c-text-2)}.appr-attach-kind{flex:0 0 auto;padding:1px 8px;border-radius:999px;background:var(--c-primary-weak);color:var(--c-primary-strong);font-size:11px;font-weight:600}.appr-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-right:34px}.appr-detail-type{font-size:12px;color:var(--c-text-3);font-weight:600}.appr-detail-body{display:flex;flex-direction:column;gap:10px;margin:12px 0}.appr-meta-row{display:flex;gap:12px;font-size:14px}.appr-meta-label{min-width:84px;color:var(--c-text-3);font-weight:600}.appr-section{border-top:1px solid var(--c-surface-2);padding-top:10px}.appr-content{white-space:pre-wrap;font-size:14px;margin-top:4px}.appr-timeline{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.appr-step{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:8px 12px;border-radius:8px;background:var(--c-primary-weak);font-size:13px}.appr-step-role{font-weight:700;min-width:36px}.appr-step-action{font-weight:600}.appr-step-approved .appr-step-action{color:var(--c-success-text)}.appr-step-rejected .appr-step-action{color:var(--c-danger-text)}.appr-step-reported .appr-step-action{color:var(--c-violet)}.appr-step-pending .appr-step-action{color:var(--c-text-weak)}.appr-step-time{color:var(--c-text-weak);font-size:12px}.appr-step-comment{flex-basis:100%;color:var(--c-danger-text);font-size:12px}.appr-reject-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:60}.appr-reject-box{background:var(--c-surface);border-radius:12px;padding:20px;width:420px;max-width:90vw}.appr-reject-box textarea{width:100%;margin-top:8px;border:1px solid var(--c-line-strong);border-radius:8px;padding:8px}.leave-toolbar{display:flex;align-items:center;gap:8px}.leave-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}.leave-stat{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.leave-stat-label{font-size:13px;color:var(--c-text-3)}.leave-stat-value{font-size:26px;font-weight:700;color:var(--c-primary-strong)}.leave-stat-value.leave-negative,td.leave-negative{color:var(--c-danger)}.leave-section-title{font-size:15px;font-weight:600;margin:0 0 10px}.leave-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.leave-section-head .leave-section-title{margin:0}.leave-badge-nohire{background:var(--c-surface-2);color:var(--c-text-3)}.mail-layout{align-items:flex-start}.mail-tabs{display:flex;gap:4px;margin:0 0 12px;border-bottom:1px solid var(--c-line)}.mail-tab{border:none;background:none;padding:8px 14px;font-size:14px;color:var(--c-text-3);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.mail-tab:hover{color:var(--c-primary-strong)}.mail-tab.active{color:var(--c-primary-strong);font-weight:700;border-bottom-color:var(--c-primary-strong)}.mail-body{word-break:break-word;overflow-x:auto}.mail-body img{max-width:100%;height:auto}.mail-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:50}.mail-modal{background:var(--c-surface);border-radius:12px;width:720px;max-width:calc(100% - 32px);max-height:calc(100% - 48px);overflow-y:auto;padding:20px 22px;box-shadow:0 12px 32px #0003}.mail-modal-header{margin-bottom:12px}.mail-setting-account{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 0;border-top:1px solid var(--c-surface-2)}.mail-setting-account .mail-account-email{font-weight:600}.mail-app-password-help{background:var(--c-warning-weak);border:1px solid var(--c-warning);color:var(--c-warning-text);border-radius:8px;padding:10px 12px;font-size:13px;margin:8px 0}.mail-status-ok{color:var(--c-success-text)}.mail-status-err{color:var(--c-danger-text)}.mail-guide-tabs{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}.mail-guide-tab{padding:8px 18px;border:1px solid var(--c-line-strong);background:var(--c-surface);border-radius:6px;cursor:pointer;font-size:14px;font-family:inherit;color:var(--c-text-2)}.mail-guide-tab:hover{background:var(--c-primary-weak)}.mail-guide-tab.active{background:var(--c-primary-strong);border-color:var(--c-primary-strong);color:var(--c-surface);font-weight:600}.mail-guide-body{max-width:820px}.mail-guide-title{margin:0 0 4px;font-size:20px}.mail-guide-subtitle{margin:0 0 16px;color:var(--c-text-3);font-size:14px}.mail-guide-overview{margin:6px 0;line-height:1.6;color:var(--c-text-2)}.mail-guide-step{margin-top:22px;padding-top:16px;border-top:1px solid var(--c-surface-2)}.mail-guide-step-heading{margin:0 0 8px;font-size:15px;font-weight:700;color:var(--c-text);border-left:3px solid var(--c-primary-strong);padding-left:8px}.mail-guide-p{margin:6px 0;line-height:1.6;color:var(--c-text-2)}.mail-guide-img{display:block;max-width:100%;height:auto;margin:10px 0;border:1px solid var(--c-line);border-radius:8px;box-shadow:0 1px 4px #0f172a14}.mail-guide-section{margin-top:22px;padding-top:16px;border-top:1px solid var(--c-surface-2)}.mail-guide-table{width:100%;border-collapse:collapse;margin-top:4px;font-size:14px}.mail-guide-table th,.mail-guide-table td{border:1px solid var(--c-line);padding:8px 10px;text-align:left;vertical-align:top;line-height:1.5}.mail-guide-table th{background:var(--c-primary-weak);font-weight:600;color:var(--c-text-2);white-space:nowrap}.mail-guide-table td:first-child{white-space:nowrap;font-weight:500;color:var(--c-text-2)}.mail-guide-cautions{margin:4px 0 0;padding-left:20px;color:var(--c-text-2)}.mail-guide-cautions li{margin:6px 0;line-height:1.6}.inventory-page .inv-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.inventory-page .inv-toolbar input,.inventory-page .inv-toolbar select{height:32px;padding:0 8px}.inv-toolbar-spacer{flex:1}.inventory-page .table td.num,.inventory-page .table th.num{text-align:right}.inv-center-table th,.inv-center-table td,.inventory-page .inv-center-table td.num,.inventory-page .inv-center-table th.num{text-align:center}.inventory-page .table tr.clickable{cursor:pointer}.inventory-page .table tr.clickable:hover{background:var(--c-primary-weak)}.inv-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600;white-space:nowrap}.inv-badge.st-DRAFT{background:var(--c-surface-2);color:var(--c-text-3)}.inv-badge.st-ORDERED{background:var(--c-primary-weak);color:var(--c-primary-strong)}.inv-badge.st-RECEIVED{background:var(--c-success-weak);color:var(--c-success-text)}.inv-badge.st-CANCELED{background:var(--c-danger-weak);color:var(--c-danger)}.inv-badge.st-ok{background:var(--c-success-weak);color:var(--c-success-text)}.inv-badge.st-short{background:var(--c-danger-weak);color:var(--c-danger)}.inv-badge.tx-IN{background:var(--c-success-weak);color:var(--c-success-text)}.inv-badge.tx-OUT{background:var(--c-warning-weak);color:var(--c-warning-text)}.inv-summary{display:flex;gap:12px;margin-bottom:12px}.inv-stat{flex:0 0 auto;min-width:120px;padding:10px 14px;border:1px solid var(--c-line);border-radius:8px;display:flex;flex-direction:column;gap:4px}.inv-stat span{font-size:12px;color:var(--c-text-3)}.inv-stat b{font-size:22px}.inv-stat.warn b{color:var(--c-danger)}.inv-stat.clickable{cursor:pointer;background:var(--c-surface);text-align:left;font:inherit;transition:border-color .12s,box-shadow .12s,background .12s}.inv-stat.clickable:hover{border-color:var(--c-line-strong)}.inv-stat.clickable.active{border-color:var(--c-primary-strong);box-shadow:0 0 0 1px var(--c-primary-strong) inset;background:var(--c-primary-weak)}.inv-stat.warn.clickable.active{border-color:var(--c-danger);box-shadow:0 0 0 1px var(--c-danger) inset;background:var(--c-danger-weak)}.inv-filter-tag{align-self:center;font-size:12px;color:var(--c-danger)}.inv-check{display:inline-flex!important;align-items:center;gap:6px;flex-direction:row!important;white-space:nowrap}.inv-check input[type=checkbox]{height:auto;width:auto;padding:0;margin:0}.inv-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#141a2373;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.inv-modal{background:var(--c-surface);border-radius:12px;width:460px;max-width:100%;max-height:90vh;overflow-y:auto;padding:20px;box-shadow:0 12px 40px #0003}.inv-modal-wide{width:min(960px,96vw);max-height:95vh}.inv-modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.inv-modal-head h2{margin:0;font-size:18px}.inv-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}.inv-form-col{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.inv-form-grid label,.inv-form-col label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--c-text-3)}.inv-form-grid label input,.inv-form-grid label select,.inv-form-col label input,.inv-form-col label select{height:32px;padding:0 8px}.inv-item-table input{width:100%;height:28px;padding:0 6px;box-sizing:border-box;border:none;background:transparent;outline:none}.inv-item-table input:focus{background:var(--c-primary-weak)}.inv-item-table td.num{text-align:right}.inv-row-del{border:none;background:transparent;color:var(--c-line-strong);font-size:16px;line-height:1;cursor:pointer;padding:2px 6px;border-radius:4px}.inv-row-del:hover{color:var(--c-danger);background:var(--c-danger-weak)}.inv-item-foot{display:flex;align-items:center;justify-content:space-between;margin:8px 0 12px}.inv-item-total{font-weight:600;font-size:14px;color:var(--c-text-2)}.inv-attach{margin-bottom:12px}.inv-attach-head{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--c-text-3);margin-bottom:8px}.inv-attach-add{display:inline-flex;align-items:center;height:28px;padding:0 12px;border:1px solid var(--c-line-strong);border-radius:6px;cursor:pointer;background:var(--c-primary-weak);color:var(--c-text-2)}.inv-attach-add:hover{background:var(--c-primary-weak)}.inv-attach-count{color:var(--c-text-3)}.inv-attach-list{display:flex;flex-wrap:wrap;gap:10px}.inv-attach-thumb{position:relative;width:88px;height:88px;border:1px solid var(--c-line);border-radius:8px;overflow:hidden;background:var(--c-surface-2)}.inv-attach-thumb img{width:100%;height:100%;object-fit:cover;display:block}.inv-attach-thumb .inv-row-del{position:absolute;top:2px;right:2px;background:#ffffffd9}.inv-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.inv-detail-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:6px 16px;margin-bottom:10px;font-size:13px}.inv-detail-meta div span{display:inline-block;min-width:56px;color:var(--c-text-3);margin-right:8px}.inv-modal .inv-item-table th,.inv-modal .inv-item-table td{padding:5px 8px;font-size:13px}.inv-modal-wide{padding:16px}.inv-modal .inv-detail-meta,.inv-modal .inv-item-table{margin-bottom:8px}.inv-modal .inv-attach{margin-top:4px}.inv-modal .inv-attach-thumb{width:60px;height:60px}.inv-modal .inv-modal-actions{margin-top:10px}.inv-autocomplete{list-style:none;margin:-6px 0 0;padding:0;border:1px solid var(--c-line);border-radius:6px;max-height:180px;overflow-y:auto}.inv-autocomplete li{padding:6px 10px;cursor:pointer;font-size:13px}.inv-autocomplete li:hover{background:var(--c-primary-weak)}.inv-ac-wrap{position:relative}.inv-autocomplete.inv-ac-float{position:absolute;left:0;right:0;top:100%;z-index:40;margin:2px 0 0;background:var(--c-surface);box-shadow:0 8px 20px #00000024}.inv-item-ac{list-style:none;margin:0;padding:0;position:absolute;left:0;top:100%;z-index:40;min-width:240px;background:var(--c-surface);border:1px solid var(--c-line);border-radius:6px;max-height:220px;overflow-y:auto;box-shadow:0 8px 20px #00000024}.inv-item-ac li{padding:6px 10px;cursor:pointer;font-size:13px;white-space:nowrap}.inv-item-ac li:hover{background:var(--c-primary-weak)}.inv-hint{font-size:12px;color:var(--c-text-3);margin:0}.inv-direct-rows{display:flex;flex-direction:column;gap:10px}.inv-direct-row{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--c-line);border-radius:8px;background:var(--c-surface-2)}.inv-direct-row-remove{align-self:flex-end}.inv-inmode{display:flex;gap:16px;margin-bottom:4px}.inv-radio{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--c-text-2);cursor:pointer}.cost-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:4px 0 16px}@media (max-width: 720px){.cost-summary{grid-template-columns:repeat(2,1fr)}}.cost-card{border:1px solid var(--c-line);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:6px;background:var(--c-primary-weak)}.cost-card span{font-size:12px;color:var(--c-text-3)}.cost-card b{font-size:18px;color:var(--c-text)}.cost-card.pos b{color:var(--c-success-text)}.cost-card.neg b{color:var(--c-danger)}.cost-h4{margin:12px 0 8px;font-size:14px;color:var(--c-text-2)}.cost-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.cost-entry-form{display:flex;gap:8px;align-items:center;margin:4px 0 10px;flex-wrap:wrap}.cost-entry-form select{height:34px}.cost-entry-desc{flex:1;min-width:180px;height:34px;padding:0 8px}.cost-entry-amount{width:140px;height:34px;padding:0 8px}.pm-spec-row{display:flex;gap:8px;align-items:center;margin-bottom:6px}.pm-spec-row .pm-select{flex:1}.pm-spec-block{border:1px solid var(--c-line);border-radius:10px;padding:10px 12px;margin:8px 0;background:var(--c-primary-weak)}.pm-spec-head{display:flex;align-items:center;justify-content:space-between}.prod-part-x{font-size:15px;line-height:1;padding:2px 6px}.prod-part-section{border:1px solid var(--c-line);border-radius:10px;margin:10px 0;overflow:hidden}.prod-part-section-head{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--c-primary-weak);border-bottom:1px solid var(--c-line)}.prod-part-section-name{font-weight:700;color:var(--c-text)}.prod-part-section-head{width:100%;border:none;border-bottom:1px solid var(--c-line);cursor:pointer;font:inherit;text-align:left}.prod-part-table{table-layout:fixed;width:100%}.prod-part-table th,.prod-part-table td{text-align:center;vertical-align:middle}.prod-part-table th:nth-child(1),.prod-part-table td:nth-child(1){width:37%}.prod-part-table th:nth-child(2),.prod-part-table td:nth-child(2){width:15%}.prod-part-table th:nth-child(3),.prod-part-table td:nth-child(3){width:20%}.prod-part-table th:nth-child(4),.prod-part-table td:nth-child(4){width:28%}.prod-part-table td input{width:85%;text-align:center}.outsourcing-tab{display:flex;flex-direction:column;gap:12px}.outsourcing-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.os-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600;color:var(--c-surface);background:var(--c-text-weak)}.os-badge.os-REQUESTED{background:var(--c-text-weak)}.os-badge.os-QUOTED{background:var(--c-warning)}.os-badge.os-CONTRACTED,.os-badge.os-IN_PROGRESS{background:var(--c-primary)}.os-badge.os-DONE{background:var(--c-success)}.outsourcing-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;z-index:1000;overflow-y:auto}.outsourcing-modal{background:var(--c-surface);border-radius:10px;width:100%;max-width:640px;padding:20px;box-shadow:0 10px 40px #0003;display:flex;flex-direction:column;gap:12px}.outsourcing-modal-head{display:flex;align-items:center;justify-content:space-between}.outsourcing-modal-head h3{margin:0}.outsourcing-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.outsourcing-form label{display:flex;flex-direction:column;gap:4px;font-size:13px}.outsourcing-form label.checkbox-inline{flex-direction:row;align-items:center;gap:6px}.outsourcing-form label.checkbox-inline input{width:auto}.outsourcing-form .outsourcing-form-wide{grid-column:1 / -1}.outsourcing-modal-actions{display:flex;align-items:center;gap:12px}.outsourcing-docs{display:flex;flex-direction:column;gap:10px}.outsourcing-doc-group{border:1px solid var(--c-line);border-radius:8px;padding:8px 12px}.outsourcing-doc-head{display:flex;align-items:center;justify-content:space-between;font-weight:600;font-size:13px}.outsourcing-doc-head .btn{cursor:pointer}.outsourcing-doc-list{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.outsourcing-doc-list li{display:flex;align-items:center;gap:10px}.outsourcing-log-form{display:flex;align-items:center;gap:8px}.outsourcing-log-input{flex:1}.outsourcing-timeline{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.os-log{border-left:3px solid var(--c-line-strong);padding:4px 10px;background:var(--c-primary-weak);border-radius:0 6px 6px 0}.os-log-OUT{border-left-color:var(--c-primary)}.os-log-IN{border-left-color:var(--c-success)}.os-log-NOTE{border-left-color:var(--c-text-weak)}.os-log-meta{display:flex;align-items:center;gap:8px}.os-log-dir{display:inline-block;padding:1px 7px;border-radius:8px;font-size:11px;font-weight:600;color:var(--c-surface);background:var(--c-text-weak)}.os-dir-OUT{background:var(--c-primary)}.os-dir-IN{background:var(--c-success)}.os-dir-NOTE{background:var(--c-text-weak)}.os-log-content{margin-top:2px;font-size:13px;white-space:pre-wrap}@media (max-width: 640px){.outsourcing-form{grid-template-columns:1fr}}.pti-collect,.pti-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.pti-collect label,.pti-filters label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--c-text-2)}.pti-collect input,.pti-collect select,.pti-filters input,.pti-filters select{padding:6px 8px;border:1px solid var(--c-line-strong);border-radius:6px;font-size:14px}.pti-collect-msg{margin:10px 2px 0;font-size:13px;color:var(--c-primary-strong)}.pti-row-actions{display:flex;gap:6px;align-items:center}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table th,.data-table td{padding:8px 10px;border-bottom:1px solid var(--c-surface-2);text-align:left;white-space:nowrap}.data-table thead th{color:var(--c-text-3);font-weight:600;border-bottom:2px solid var(--c-line)}.badge-success{background:var(--c-success-weak);color:var(--c-success-text)}.badge-muted{background:var(--c-surface-2);color:var(--c-text-3)}.pager{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:14px}.pti-invoice-meta{color:var(--c-text-2);font-size:13px;margin:4px 0 10px}.pti-link-mode{display:flex;flex-direction:column;gap:8px;margin:10px 0}.pti-link-mode label{display:flex;align-items:center;gap:6px;font-size:14px}.pti-link-mode select{padding:6px 8px;border:1px solid var(--c-line-strong);border-radius:6px;margin-left:22px}.pti-candidate-box{margin-top:12px;padding:10px 12px;border:1px solid var(--c-line);border-radius:8px;background:var(--c-surface-2)}.pti-candidate-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.pti-candidate-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.pti-candidate-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;padding:6px 8px;background:var(--c-surface);border:1px solid var(--c-surface-2);border-radius:6px}.page{padding:20px 24px}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.page-head h1{font-size:20px;margin:0}.pti-modal-scope .modal-overlay,.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-overlay>.modal{background:var(--c-surface);border-radius:10px;padding:20px 22px;width:480px;max-width:92vw;max-height:88vh;overflow:auto;box-shadow:0 8px 30px #0000002e}.modal-overlay>.modal h2{margin:0 0 6px;font-size:18px}.modal-overlay .field{display:flex;flex-direction:column;gap:4px;font-size:14px;margin:10px 0}.modal-overlay .field select,.modal-overlay .field input{padding:7px 9px;border:1px solid var(--c-line-strong);border-radius:6px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.bank-page{display:flex;flex-direction:column;gap:14px}.bank-head{display:flex;align-items:center;justify-content:space-between}.bank-head h1{margin:0;font-size:20px}.bank-banner{padding:10px 14px;border-radius:8px;background:var(--c-primary-weak);color:var(--c-primary-strong);font-size:13px;border:1px solid var(--c-primary-weak)}.bank-banner.warn{background:var(--c-danger-weak);color:var(--c-danger-text);border-color:var(--c-danger-weak)}.bank-summary{display:flex;gap:12px;flex-wrap:wrap}.bank-sum-card{flex:1;min-width:200px;background:var(--c-surface);border:1px solid var(--c-line);border-radius:10px;padding:14px 16px}.bank-sum-card.warn{border-color:var(--c-danger-weak);background:var(--c-danger-weak)}.bank-sum-label{font-size:12px;color:var(--c-text-3);margin-bottom:6px}.bank-sum-value{font-size:20px;font-weight:700}.bank-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.bank-filters label{display:flex;flex-direction:column;font-size:12px;color:var(--c-text-3);gap:4px}.bank-filters input,.bank-filters select{padding:6px 8px;border:1px solid var(--c-line-strong);border-radius:6px}.bank-table-wrap{overflow-x:auto;background:var(--c-surface);border:1px solid var(--c-line);border-radius:10px}.bank-segtabs{margin:14px 0 16px}.tax-segtabs{margin:0 0 16px}.as-doc-scroll{max-height:68vh;overflow-y:auto;padding:8px 2px}.as-doc{width:720px;max-width:100%;margin:0 auto;background:#fff;color:#111;padding:32px 34px;box-sizing:border-box;font-size:13px;line-height:1.5}.as-doc-title{text-align:center;font-size:24px;font-weight:800;letter-spacing:8px;padding-bottom:14px;border-bottom:3px solid #111;margin-bottom:14px;color:#111}.as-doc-supplier{text-align:right;font-size:12px;color:#333;margin-bottom:14px}.as-doc-supplier-name{font-size:15px;font-weight:700;color:#111;margin-bottom:2px}.as-doc-table{width:100%;border-collapse:collapse}.as-doc-table th,.as-doc-table td{border:1px solid #333;padding:9px 10px;vertical-align:top;color:#111}.as-doc-table th{width:100px;background:#f1f3f5;font-weight:700;text-align:center;white-space:nowrap}.as-doc-multiline{white-space:pre-wrap;word-break:break-word}.as-doc-tall{height:96px}.as-doc-photos{margin-top:16px}.as-doc-photos-title{font-weight:700;margin-bottom:8px;color:#111}.as-doc-photos-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.as-doc-photo{border:1px solid #bbb;padding:4px}.as-doc-photo img{width:100%;height:220px;object-fit:contain;display:block}.as-doc-foot{margin-top:24px;text-align:center;font-size:13px;color:#111}.pti-search{margin-top:12px;width:100%;max-width:340px;padding:8px 10px;border:1px solid var(--c-line-strong);border-radius:8px;font-size:13px}.tax-embed{display:block}.bank-range-btns{display:flex;gap:8px;flex-wrap:wrap;margin:-6px 0 14px}input[type=date]::-webkit-calendar-picker-indicator{opacity:0;display:none}input[type=date]{cursor:pointer}.dp-pop{position:fixed;z-index:1000;width:268px;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:var(--sh-lg);padding:12px 12px 14px;-webkit-user-select:none;user-select:none}.dp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.dp-title{font-size:14px;font-weight:700;color:var(--c-text)}.dp-nav{width:28px;height:28px;border:none;background:transparent;border-radius:var(--r-md);font-size:18px;line-height:1;color:var(--c-text-3);cursor:pointer}.dp-nav:hover{background:var(--c-surface-2);color:var(--c-text)}.dp-weekrow,.dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.dp-wk{text-align:center;font-size:12px;font-weight:600;color:var(--c-text-3);padding:4px 0}.dp-wk.sun{color:#e5484d}.dp-wk.sat{color:var(--c-primary)}.dp-cell{height:32px;border:1px solid transparent;background:transparent;border-radius:var(--r-md);font-size:13px;color:var(--c-text-2);cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:inherit}.dp-cell.empty{cursor:default}.dp-cell.sun{color:#e5484d}.dp-cell.sat{color:var(--c-primary)}.dp-cell:not(.empty):not(.sel):hover{background:var(--c-primary-weak)}.dp-cell.today{border-color:var(--c-primary);font-weight:700}.dp-cell.sel{background:var(--c-primary);border-color:var(--c-primary);color:#fff;font-weight:700}.dp-cell:disabled{color:var(--c-text-disable);cursor:default}.bank-table{width:100%;border-collapse:collapse;table-layout:fixed}.bank-table th,.bank-table td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--c-primary-weak);font-size:13px;word-break:break-word}.bank-table th.num,.bank-table td.num{text-align:right}.bank-row-suggested{background:var(--c-warning-weak)}.bank-row-failed{background:var(--c-danger-weak)}.bank-actions{display:flex;gap:6px;flex-wrap:wrap}.bank-warn-icon{color:var(--c-warning-text);cursor:help}.bank-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600}.bank-badge-unmatched{background:var(--c-surface-2);color:var(--c-text-3)}.bank-badge-suggested{background:var(--c-warning-weak);color:var(--c-warning-text)}.bank-badge-confirmed{background:var(--c-success-weak);color:var(--c-success-text)}.bank-badge-ignored{background:var(--c-line);color:var(--c-text-weak)}.bank-raw{white-space:pre-wrap;background:var(--c-primary-strong);color:var(--c-line);padding:10px;border-radius:6px;font-size:12px;margin:4px 0}.bank-memo-cell{display:flex;gap:6px;align-items:center}.bank-memo-input{padding:4px 6px;border:1px solid var(--c-line-strong);border-radius:6px;min-width:140px}.bank-match-panel{background:var(--c-primary-weak);border:1px solid var(--c-line);border-radius:8px;padding:12px}.bank-match-title{font-weight:600;margin-bottom:8px}.bank-match-empty{color:var(--c-text-3);font-size:13px;margin-bottom:8px}.bank-suggestions{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:6px}.bank-suggestions li{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:6px 8px;background:var(--c-surface);border:1px solid var(--c-line);border-radius:6px}.bank-strength{font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px}.bank-strength.strong{background:var(--c-success-weak);color:var(--c-success-text)}.bank-strength.weak{background:var(--c-warning-weak);color:var(--c-warning-text)}.bank-sug-name{font-weight:600}.bank-sug-amt{color:var(--c-text-2)}.bank-sug-reasons{color:var(--c-text-3);font-size:12px}.bank-manual{margin-top:8px}.bank-manual-input{padding:6px 8px;border:1px solid var(--c-line-strong);border-radius:6px;width:260px;max-width:100%}.rev-card-mid{border-color:var(--c-warning);background:var(--c-warning-weak)}.rev-payment-add{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;align-items:center}.rev-payment-add input{padding:6px 8px;border:1px solid var(--c-line-strong);border-radius:6px}.rev-pay-amount{width:140px}.rev-pay-memo{flex:1;min-width:160px}.rev-payment-table{width:100%;border-collapse:collapse}.rev-payment-table th,.rev-payment-table td{padding:6px 10px;border-bottom:1px solid var(--c-primary-weak);font-size:13px;text-align:left}.rev-payment-table th.num,.rev-payment-table td.num{text-align:right}body{font-family:var(--font-sans);font-size:14px;line-height:1.55;letter-spacing:-.005em;background:var(--c-bg);color:var(--c-text)}.sidebar{width:248px;background:var(--c-surface);color:var(--c-text);border-right:1px solid var(--c-line);padding:14px 0}.brand{font-size:20px;font-weight:800;letter-spacing:-.02em;color:var(--c-text);padding:6px 20px 16px;border-bottom:1px solid var(--c-line)}.sidebar nav{margin-top:8px;padding:0 12px;gap:2px}.nav-item{color:var(--c-text-3);border-radius:var(--r-md);padding:10px 12px;font-size:14px;font-weight:500}.nav-item:hover{background:var(--c-surface-2);color:var(--c-text)}.nav-item.active{background:var(--c-primary-weak);color:var(--c-primary);font-weight:700}.nav-caret{opacity:.45}.nav-subitems{background:transparent;padding-left:8px}.nav-subitem{color:var(--c-text-weak);border-radius:var(--r-sm);padding:8px 12px 8px 34px;font-size:13px}.nav-subitem:hover{background:var(--c-surface-2);color:var(--c-text)}.nav-subitem.active{background:var(--c-primary-weak);color:var(--c-primary);font-weight:600}.nav-badge{background:var(--c-danger);border-radius:var(--r-pill);color:#fff}.topbar{background:var(--c-surface);border-bottom:1px solid var(--c-line)}.topbar-btn,.icon-btn{border-radius:var(--r-md)}.topbar-badge,.messenger-badge{background:var(--c-danger);color:#fff}.content{padding:28px 32px}.page-header,.page-head{margin-bottom:20px}h1{font-size:24px;font-weight:800;letter-spacing:-.02em}h2{font-size:16px;font-weight:700}.card{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-xl);box-shadow:var(--sh-sm);padding:20px}.widget,.proj-card,.cost-card,.admin-card,.bank-sum-card,.revenue-chart-card,.org-tree-card,.dispatch-detail-card,.leave-stat,.rev-detail-cards>*{border-radius:var(--r-xl)}.btn{border:1px solid var(--c-line-strong);background:var(--c-surface);color:var(--c-text-2);border-radius:var(--r-md);font-weight:600;padding:8px 16px;transition:background-color .13s ease,border-color .13s ease,color .13s ease}.btn:hover{background:var(--c-surface-2)}.btn.primary{background:var(--c-primary);border-color:var(--c-primary);color:#fff}.btn.primary:hover{background:var(--c-primary-strong);border-color:var(--c-primary-strong)}.btn.danger{color:var(--c-danger);border-color:var(--c-danger-weak)}.btn.danger:hover{background:var(--c-danger-weak)}.btn.ghost{background:transparent;border-color:transparent;color:var(--c-text-3)}.btn.ghost:hover{background:var(--c-surface-2);color:var(--c-text)}.btn.small{padding:5px 12px;border-radius:var(--r-sm);font-size:13px}.btn-link,.line-btn,.widget-link{color:var(--c-primary)}input,select,textarea,.search-input,.cell-input,.partner-search,.chat-input{border:1px solid var(--c-line-strong);border-radius:var(--r-md);background:var(--c-surface);color:var(--c-text);font-family:inherit;padding:9px 12px}input::placeholder,textarea::placeholder{color:var(--c-text-weak)}input:focus,select:focus,textarea:focus,.search-input:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-weak)}.data-table,.table,.admin-table,.bank-table,.prod-table,.revenue-legend,.rev-detail-table,.inv-item-table,.wo-item-table{width:100%}.data-table th,.table th,.admin-table th,.bank-table th,.prod-table th{color:var(--c-text-weak);font-weight:600;font-size:12.5px;border-bottom:1px solid var(--c-line);background:transparent}.data-table td,.table td,.admin-table td,.bank-table td,.prod-table td{border-bottom:1px solid var(--c-line)}.data-table tbody tr:hover,.table tbody tr:hover,.clickable-row:hover,.admin-row:hover{background:var(--c-surface-2)}.badge,.appr-badge,.bank-badge,.inv-badge,.stage-badge,.os-badge,.role-badge,.revenue-type-badge,.status-tag,.prio-tag,.task-badge,.charge-badge,.nav-badge,.overdue-tag,.project-status,.prod-status{border-radius:var(--r-pill);font-weight:600;letter-spacing:0}.badge-success,.st-ok,.st-done,.appr-badge-approved,.bank-badge-confirmed{background:var(--c-success-weak);color:var(--c-success-text)}.badge-muted,.st-todo,.appr-badge-draft{background:var(--c-surface-2);color:var(--c-text-3)}.toolbar,.bank-filters,.revenue-filters,.revenue-toolbar,.prod-toolbar,.inv-toolbar,.leave-toolbar,.partner-toolbar,.board-toolbar,.pti-filters,.calendar-toolbar{gap:10px}.modal,.appr-dialog,.calendar-dialog,.inv-modal,.tax-modal,.chat-dialog,.outsourcing-modal,.mail-modal,.revenue-dialog,.avatar-picker,.prod-detail{background:var(--c-surface);border-radius:var(--r-2xl);box-shadow:var(--sh-lg)}.slideover{background:var(--c-surface);box-shadow:var(--sh-lg)}.tabs,.tasks-tabs,.prod-tabs,.mail-tabs,.chat-tabs,.calendar-mode-tabs{border-bottom:1px solid var(--c-line)}.tab.active,.chat-tab.active,.prod-tab.active,.mail-tab.active,.tasks-tab.active{color:var(--c-text);border-color:var(--c-primary)}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--c-line-strong);border-radius:var(--r-pill);border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-track{background:transparent}.nav-item-main{display:inline-flex;align-items:center;gap:11px;min-width:0;flex:1 1 auto}.nav-item-main .nav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-fav-section{padding:4px 0 6px;margin-bottom:6px;border-bottom:1px solid var(--c-line)}.nav-fav-title{padding:6px 20px 4px;font-size:11px;font-weight:700;color:var(--c-text-weak);letter-spacing:.02em}.nav-fav-row{position:relative}.nav-fav-row.dragging{opacity:.45}.nav-fav-row.over:before{content:"";position:absolute;left:12px;right:12px;top:-1px;height:2px;background:var(--c-primary);border-radius:2px}.nav-fav-handle{flex:0 0 auto;cursor:grab;color:var(--c-text-weak);font-size:12px;opacity:0;margin-right:-4px}.nav-fav-row:hover .nav-fav-handle{opacity:.7}.nav-fav-row .nav-item{cursor:default}.nav-star{flex:0 0 auto;background:none;border:none;cursor:pointer;font-size:14px;line-height:1;color:inherit;opacity:0;padding:2px;transition:opacity .12s,color .12s}.nav-item:hover .nav-star,.nav-subitem:hover .nav-star{opacity:.55}.nav-star:hover,.nav-star.on{opacity:1;color:#f5a623}.nav-subitem{display:flex;align-items:center}.nav-subitem .nav-label{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-icon{width:19px;height:19px;flex:0 0 auto;opacity:.82}.nav-item:hover .nav-icon,.nav-item.active .nav-icon{opacity:1}.partner-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.partner-toolbar .partner-search{flex:0 1 320px;width:33%;max-width:340px;min-width:180px}.partner-segbtns{display:inline-flex;gap:8px;flex-wrap:wrap}.seg-btn{border:1px solid var(--c-line-strong);background:var(--c-surface);color:var(--c-text-2,#52606d);border-radius:var(--r-pill);padding:7px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:all .12s ease}.seg-btn:hover{border-color:var(--c-primary);color:var(--c-primary)}.table th,.table td,.prod-table th,.prod-table td,.admin-table th,.admin-table td,.data-table th,.data-table td,.bank-table th,.bank-table td,.rev-payment-table th,.rev-payment-table td,.rev-detail-table th,.rev-detail-table td,.as-item-table th,.as-item-table td,.inv-item-table th,.inv-item-table td,.dispatch-detail-table th,.dispatch-detail-table td,.dispatch-add-table th,.dispatch-add-table td,.wo-item-table th,.wo-item-table td,.prod-part-status-table th,.prod-part-status-table td,.ship-item-status-table th,.ship-item-status-table td{text-align:center!important}.table .actions,.name-cell{justify-content:center}.table th.num,.table td.num,.prod-table th.num,.prod-table td.num,.admin-table th.num,.admin-table td.num,.data-table th.num,.data-table td.num,.bank-table th.num,.bank-table td.num,.rev-payment-table th.num,.rev-payment-table td.num,.rev-detail-table th.num,.rev-detail-table td.num,.as-item-table th.num,.as-item-table td.num,.inv-item-table th.num,.inv-item-table td.num,.dispatch-detail-table th.num,.dispatch-detail-table td.num,.dispatch-add-table th.num,.dispatch-add-table td.num,.wo-item-table th.num,.wo-item-table td.num,.inventory-page .table th.num,.inventory-page .table td.num,.inventory-page .inv-center-table th.num,.inventory-page .inv-center-table td.num{text-align:right!important}.partner-table{table-layout:fixed;width:100%}.partner-table td,.partner-table th{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.partner-table td:nth-child(3),.partner-table th:nth-child(3){overflow:visible;text-overflow:clip}.partner-scan-picker{max-width:420px}.partner-scan-options{display:flex;gap:10px;margin:14px 0 4px}.partner-scan-options .btn{flex:1;padding:14px 8px;font-weight:600}.partner-scan-options .btn:hover{border-color:var(--c-primary);color:var(--c-primary-strong)}.seg-btn.active{background:var(--c-surface);border-color:var(--c-primary);color:var(--c-primary-strong)}.seg-btn.active:hover{background:var(--c-surface);color:var(--c-primary-strong)}.partner-cell{display:inline-flex;align-items:center;gap:10px;min-width:0}.partner-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.partner-avatar{width:30px;height:30px;flex:0 0 auto;border-radius:var(--r-pill);display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff}.partner-type-badge{display:inline-flex;align-items:center;white-space:nowrap;padding:3px 10px;border-radius:var(--r-pill);font-size:12px;font-weight:600}.partner-avatar.t-SALES{background:#3b82f6}.partner-type-badge.t-SALES{background:var(--c-primary-weak);color:var(--c-primary)}.partner-avatar.t-PURCHASE{background:#f59e0b}.partner-type-badge.t-PURCHASE{background:var(--c-warning-weak,#fff3da);color:var(--c-warning-text,#b45309)}.partner-avatar.t-OUTSOURCING{background:#8b5cf6}.partner-type-badge.t-OUTSOURCING{background:var(--c-violet-weak,#f3f0ff);color:var(--c-violet,#6d28d9)}
