:root{--ink: #1B1F3B;--muted: #6B7394;--accent: #6D4DF2;--card-border: #E6E6F5;--input-border: #DADBF0;--table-head: #F7F5FF;--selected: #EFEAFF;--selected-text: #3B2BA8;--hero: linear-gradient(115deg, #3F37C9, #7B2FF2, #C026D3);--sidebar: linear-gradient(155deg, #141A4A, #29206A 60%, #4A1D6C);--nav: linear-gradient(90deg, #7B5CFF, #25B5F2);--primary: linear-gradient(90deg, #7B5CFF, #3F8CFF);--page: linear-gradient(135deg, #F4F2FF, #F1F5FD 55%, #E9F7FB);--kpi1: linear-gradient(135deg, #5B3FE0, #8E3CF7);--kpi2: linear-gradient(135deg, #1D5FD6, #0891B2);--kpi3: linear-gradient(135deg, #0E8A70, #15A34A);--kpi4: linear-gradient(135deg, #E0561B, #DB2777);--good: #0CA30C;--warn: #E89A00;--bad: #D03B3B;--info: #2A78D6;--sidebar-w: 228px;--radius-card: 16px;--radius-hero: 20px;--radius-input: 9px;--gap: 18px;--font: "Malgun Gothic", "맑은 고딕", "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{margin:0}body{background:var(--page);background-attachment:fixed;color:var(--ink);font:13px/1.6 var(--font);min-height:100vh}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}button,input,select{font:inherit;border-radius:var(--radius-input);padding:8px 15px;min-height:36px}button{cursor:pointer;background:#fff;color:#2b2f55;border:1px solid var(--input-border)}button:hover{background:#f5f3ff;border-color:#bcb0ff}button:active{background:#ece7ff}button:disabled{background:#f3f3f8;color:#a3a7bf;cursor:default;border-color:var(--input-border)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input{border:1px solid var(--input-border);background:#fff;color:var(--ink)}input[readonly]{background:#f3f3f8;color:var(--muted)}.primary{background:var(--primary);color:#fff;border:0;font-weight:700}.primary:hover{background:var(--primary);filter:brightness(1.06)}.primary:disabled{background:#c9c4ee;color:#fff}.block{display:block;width:100%;padding:12px;margin-top:22px}.link-btn{background:none;border:0;color:#4b32d6;padding:6px 0;min-height:0;text-decoration:underline}.link-btn:hover{background:none}.note,.sub{color:var(--muted);font-size:12px;line-height:1.7}code{background:#f0ecff;padding:1px 6px;border-radius:5px}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);background:var(--sidebar);padding:26px 16px;color:#ecebff;overflow-y:auto;z-index:30}.brand{display:block;font:800 18px Segoe UI,sans-serif;white-space:nowrap;margin-bottom:6px}.brand-sub{color:#a6abd9;font-size:12px;margin:0 0 14px}.group{font-size:10px;letter-spacing:1px;color:#a6abd9;margin:16px 14px 5px}.sidebar nav a{display:flex;gap:10px;align-items:center;color:#c3c7ee;padding:10px 14px;margin:2px 0;border-radius:10px;text-decoration:none}.sidebar nav a img{width:20px;height:20px;filter:brightness(0) invert(1);opacity:.7}.sidebar nav a:hover{background:#ffffff16;color:#fff}.sidebar nav a.active{background:var(--nav);color:#fff;font-weight:700}.sidebar nav a.active img{opacity:1}.sidebar nav a:focus-visible{outline-color:#fff}.asidefoot{margin-top:26px;font-size:11px;color:#a6abd9}main{margin-left:var(--sidebar-w);padding:14px 22px 12px;min-width:0;outline:none}.skip-link{position:absolute;left:-9999px;top:8px;z-index:50}.skip-link:focus{left:8px}.footer{padding:14px 2px;color:var(--muted);font-size:11px}.nav-backdrop,.panel-backdrop{display:none}.hero{background:var(--hero);border-radius:12px;color:#fff;padding:8px 14px 8px 20px;display:flex;align-items:center;gap:16px;box-shadow:0 4px 14px #7b2ff230;margin-bottom:12px;min-height:52px}.hero-text{flex:1;min-width:0;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.hero h1{font-size:19px;margin:0;letter-spacing:-.2px}.hero p{font-size:12px;opacity:.9;margin:0}.hero small{display:none;background:#ffffff28;border:1px solid #ffffff3c;border-radius:10px;padding:2px 10px;font-size:11px}.hero-actions{display:flex;gap:12px;align-items:center}.hamburger{display:none;background:#ffffff26;border:1px solid #ffffff60;padding:8px 10px}.hamburger span{display:block;width:18px;height:2px;background:#fff;margin:3px 0;border-radius:1px}.seg{display:flex}.seg button{border-radius:0;background:#ffffff26;color:#fff;border:1px solid #ffffff60}.seg button:first-child{border-radius:9px 0 0 9px}.seg button:last-child{border-radius:0 9px 9px 0;border-left:0}.seg button.active{background:#fff;color:#4b32d6;font-weight:700}.seg button:focus-visible,.user-btn:focus-visible,.hamburger:focus-visible{outline-color:#fff}.usermenu{position:relative}.user-btn{display:flex;align-items:center;gap:8px;background:#fff;color:#4b32d6;font-weight:700;border:0}.avatar{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--primary);color:#fff;font-size:12px}.menu{position:absolute;right:0;top:calc(100% + 8px);background:#fff;color:var(--ink);border:1px solid var(--card-border);border-radius:12px;box-shadow:0 12px 32px #1b1f3b26;min-width:240px;padding:6px;z-index:40}.menu-head{padding:10px 12px;border-bottom:1px solid #EFEFF7;margin-bottom:4px}.menu-head b{display:block}.menu-head span{color:var(--muted);font-size:12px}.menu [role=menuitem]{display:block;width:100%;text-align:left;border:0;background:none}.menu [role=menuitem]:hover,.menu [role=menuitem]:focus{background:var(--selected)}.mock-banner{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#fff5e7;border:1px dashed #E89A00;color:#835128;padding:7px 14px;border-radius:10px;margin-bottom:14px;font-size:12px}.mock-banner strong{background:#e89a00;color:#fff;border-radius:6px;padding:1px 8px;letter-spacing:1px}.mock-banner span{flex:1;min-width:200px}.mock-btn{min-height:28px;padding:3px 10px;font-size:12px}.mock-banner.inline{margin-bottom:18px}.mock-accounts{margin-top:26px;border-top:1px solid var(--card-border);padding-top:12px;font-size:12px}.mock-accounts ul{padding-left:18px;margin:6px 0}.mock-accounts summary{cursor:pointer;color:var(--muted)}.period-line{color:var(--muted);font-size:12px;margin:-6px 0 12px}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:var(--gap)}.kpi{display:block;width:100%;text-align:left;color:#fff;padding:14px 22px;border-radius:var(--radius-card);position:relative;overflow:hidden;border:0;box-shadow:0 8px 26px #5b3fe046;cursor:pointer}.kpi:hover{filter:brightness(1.05)}.kpi:focus-visible{outline:3px solid var(--ink)}.kpi:after{content:"";position:absolute;right:-30px;top:-30px;width:120px;height:120px;background:#ffffff18;border-radius:50%;pointer-events:none}.kpi-1,.kpi-1:hover{background:var(--kpi1)}.kpi-2,.kpi-2:hover{background:var(--kpi2)}.kpi-3,.kpi-3:hover{background:var(--kpi3)}.kpi-4,.kpi-4:hover{background:var(--kpi4)}.kpi b{display:block;font:700 30px Segoe UI,sans-serif;margin:6px 0}.kpi-unit{font-size:14px;margin-left:6px;opacity:.85}.kpi small{opacity:.9;display:block}.kpi-meta{font-size:11px}.kpi-status{background:#ffffff30;border-radius:6px;padding:1px 7px;margin-right:6px}.card{background:#fff;border:1px solid var(--card-border);border-radius:var(--radius-card);padding:19px 22px;margin-bottom:var(--gap);min-width:0}.card h2,.panel-head h2{font-size:15px;border-left:4px solid #7B5CFF;padding-left:9px;margin:0 0 16px}.split{display:grid;grid-template-columns:1.35fr 1fr;gap:var(--gap)}.rowline{display:flex;gap:15px;align-items:center;justify-content:space-between}.rowline h2{margin-bottom:12px}.todo-list{list-style:none;margin:0;padding:0}.action{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:12px 0;border-bottom:1px solid #EEEFFA}.action:last-child{border:0}.action p{margin:3px 0 0;color:var(--muted);font-size:12px}.pill{display:inline-block;background:#f0ecff;color:#6043c9;border-radius:8px;padding:2px 9px;font-size:11px}.pill-high{background:#fdecec;color:var(--bad)}.tablewrap{overflow-x:auto}.raw-json{max-height:360px;overflow:auto;padding:12px;border:1px solid var(--card-border);border-radius:8px;background:var(--table-head);font-size:12px;white-space:pre-wrap;word-break:break-word}table{border-collapse:collapse;width:100%;font-size:13px}th{background:var(--table-head);color:#5e6192;text-align:left;font-size:12px;white-space:nowrap}td,th{padding:6px 9px;border-bottom:1px solid #EFEFF7;height:34px}.num{text-align:right;font-variant-numeric:tabular-nums}tbody tr{cursor:pointer}tbody tr:hover{background:#f7f5ff}tbody tr.selected{background:var(--selected);color:var(--selected-text)}tbody tr:focus-visible{outline-offset:-2px}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.tabs .active{background:var(--primary);color:#fff;border-color:transparent}.toolbar{display:flex;gap:8px;align-items:center;margin:0 0 10px;flex-wrap:wrap}.toolbar input{min-width:300px}.state{padding:32px 16px;text-align:center;color:var(--muted)}.state p{margin:6px 0}.state-error{color:var(--bad)}.state-forbidden,.state-unavailable{color:#835128}.state-id{font-size:11px;color:var(--muted)}.spinner{display:inline-block;width:22px;height:22px;border:3px solid #E4DEFF;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:3s}}.splash{min-height:100vh;display:grid;place-items:center}.notice{background:#fff5e7;border:1px solid #F2DDC1;color:#835128;padding:10px 16px;border-radius:10px;margin-bottom:16px}.form-error{background:#fdecec;border:1px solid #F3C4C4;color:var(--bad);padding:10px 14px;border-radius:10px;margin:12px 0}.detail-panel{position:fixed;top:0;right:0;bottom:0;width:440px;max-width:100%;background:#fff;border-left:1px solid var(--card-border);box-shadow:-12px 0 40px #1b1f3b22;z-index:35;display:flex;flex-direction:column}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 22px 4px}.panel-head h2{margin:0}.panel-body{padding:12px 22px 22px;overflow-y:auto}.detail{margin:0}.detail-row{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:9px 0;border-bottom:1px solid #F1F1F8}.detail dt{color:var(--muted)}.detail dd{margin:0;overflow-wrap:anywhere}.field{margin-top:16px}.field label{display:block;margin-bottom:6px;font-weight:600}.field input{width:100%;background:#f8f7fc}.field.has-error input{border-color:var(--bad)}.field-error{color:var(--bad);font-size:12px;margin:5px 0 0}.field select{display:block;width:100%;margin-top:6px;border:1px solid var(--input-border);background:#f8f7fc;color:var(--ink)}.admin-form{background:#f8f7fc;border:1px solid var(--card-border);border-radius:12px;padding:16px;margin:8px 0 18px}.admin-form h3{margin:0 0 8px;font-size:14px}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}.admin-form .field{margin-top:0}.reset-form{max-width:620px;margin-top:18px}.login-page{min-height:100vh;display:grid;place-items:center;padding:25px 16px}.login-wrap{width:min(960px,100%);display:grid;grid-template-columns:1fr 1fr;background:#fff;border-radius:var(--radius-hero);overflow:hidden;border:1px solid var(--card-border);box-shadow:0 16px 48px #5b3fe022}.login-brand{background:var(--sidebar);color:#fff;padding:55px 38px;display:flex;flex-direction:column;justify-content:space-between}.login-brand h1{font-size:28px;line-height:1.5}.login-brand p{line-height:1.9;color:#c3c7ee}.login-form{padding:40px 38px}.login-form h2{font-size:23px;margin:0 0 6px}.session-dialog{border:1px solid var(--card-border);border-radius:18px;padding:26px;width:min(460px,calc(100% - 32px));color:var(--ink)}.session-dialog::backdrop{background:#141a4acc;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.session-dialog h2{font-size:18px;margin:0 0 8px}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px;flex-wrap:wrap}@media(max-width:1280px){.split{grid-template-columns:1fr 1fr}.kpi{padding:12px 16px}.kpi b{font-size:26px}}@media(max-width:1000px){.sidebar{transform:translate(-100%);transition:transform .2s ease;box-shadow:none}.sidebar.open{transform:none;box-shadow:8px 0 40px #0006}.nav-backdrop{display:block;position:fixed;inset:0;background:#141a4a66;z-index:25}main{margin-left:0}.hamburger{display:block}.split{grid-template-columns:1fr}.kpis,.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){main{padding:12px 16px}.hero{flex-wrap:wrap;padding:8px 12px;border-radius:12px;gap:8px}.hero p{display:none}.hero-text{flex-basis:calc(100% - 60px)}.hero h1{font-size:17px}.hero-actions{width:100%;justify-content:space-between}.user-name{display:none}.kpi b{font-size:22px}.card{padding:16px}.toolbar input{min-width:0;flex:1 1 100%}.detail-panel{width:100%}td{white-space:nowrap}.panel-backdrop{display:block;position:fixed;inset:0;background:#141a4a55;z-index:34}.login-wrap{grid-template-columns:1fr}.login-brand{padding:24px}.login-brand h1{font-size:22px;margin:8px 0}.login-brand>p{display:none}.login-form{padding:24px}.detail-row{grid-template-columns:90px 1fr}.form-grid{grid-template-columns:1fr}}@media print{.sidebar,.toolbar,.mock-banner,.hero-actions{display:none}main{margin:0}}.filterbar input[type=search]{min-width:240px}.inline-label{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}.inline-label select,.inline-label input,.filterbar input[type=date]{min-width:0}select{border:1px solid var(--input-border);background:#fff;color:var(--ink);padding:7px 10px}.pager{display:flex;gap:12px;align-items:center;justify-content:center;padding:14px 0 2px;color:var(--muted);font-size:12px}.detail-headline{margin:0 0 12px;color:var(--muted);overflow-wrap:anywhere}.detail-panel .tabs button{padding:5px 11px;min-height:30px;font-size:12px}.detail-panel table{font-size:12px}.detail-panel td,.detail-panel th{height:auto;padding:8px 7px}.notice button{min-height:28px;padding:3px 10px;margin-left:6px}@media(max-width:640px){.filterbar input[type=search]{min-width:0;flex:1 1 100%}.inline-label{flex-wrap:wrap}}.card tbody td{white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}textarea{font:inherit;width:100%;border:1px solid var(--input-border);border-radius:var(--radius-input);padding:8px 12px;background:#f8f7fc;color:var(--ink);resize:vertical}.field select{width:100%}.req{color:var(--bad)}.edit-form h3{font-size:15px;margin:0 0 4px}.multicheck{border:0;padding:0;margin:16px 0 0}.multicheck legend{font-weight:600;margin-bottom:6px;padding:0}.checks{display:flex;flex-wrap:wrap;gap:6px 14px}.check{display:inline-flex;align-items:center;gap:5px;font-weight:400}.check input{min-height:0}.conflict{margin-top:16px;background:#fff5e7;border:1px solid #F2DDC1;border-radius:10px;padding:12px 14px}.conflict table{font-size:12px;background:#fff}.conflict td,.conflict th{height:auto;padding:6px 8px}.conflict tr.diff td{color:var(--bad);font-weight:600}.form-error button{min-height:26px;padding:2px 10px;margin-left:6px}.cal-toolbar{justify-content:space-between}.cal-toolbar .tabs{margin:0}.cal-nav{display:flex;gap:6px;align-items:center}.cal-nav button{min-width:36px;padding:6px 10px}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.day{background:#f7f5ff;border-radius:10px;padding:10px;min-height:160px;display:flex;flex-direction:column;gap:5px;min-width:0}.day.today,.mday.today{outline:2px solid #7B5CFF;outline-offset:-2px}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.mh{text-align:center;color:var(--muted);font-size:12px;padding:4px 0}.mday{background:#f7f5ff;border-radius:8px;padding:5px;min-height:92px;display:flex;flex-direction:column;gap:3px;min-width:0}.mday.out{opacity:.45}.mnum{font-size:11px;color:var(--muted)}.ev-chip{display:block;width:100%;text-align:left;font-size:11px;line-height:1.35;padding:4px 6px;min-height:0;border-radius:6px;border:0;background:#e4ddff;color:#3b2ba8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ev-chip.kind-off{background:#e8eaf2;color:#5e6192}.ev-chip.cancelled{text-decoration:line-through;opacity:.7}.ev-time{font-weight:700}.more{font-size:11px;min-height:0;padding:2px 6px;border:0;background:none;color:#4b32d6;text-align:left}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-title{font-size:14px;margin:18px 0 6px}.report-list{padding-left:18px;margin:4px 0}.report-list li{margin-bottom:8px}@media(max-width:1000px){.week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.week-grid{grid-template-columns:1fr}.day{min-height:0}.mday{min-height:56px}.mday .ev-chip{font-size:0;padding:3px}.mday .ev-chip .ev-time{font-size:9px}.field-row{grid-template-columns:1fr}}.day .ev-chip{white-space:normal}.import-intro,.import-upload{display:flex;gap:18px;align-items:center;justify-content:space-between}.import-intro h2,.import-upload h2{margin-bottom:6px}.import-upload input[type=file]{flex:1;min-width:220px;border:1px dashed var(--input-border);border-radius:10px;padding:10px;background:#f8f7fc}.import-layout{display:grid;grid-template-columns:minmax(250px,.65fr) minmax(0,2fr);gap:var(--gap);align-items:start}.batch-list{display:grid;gap:8px}.batch-item{display:grid;grid-template-columns:1fr auto;gap:4px 10px;text-align:left;padding:10px 12px;min-width:0}.batch-item b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.batch-item span{color:var(--muted);font-size:11px}.batch-item small{grid-column:1 / -1;color:var(--muted)}.batch-item.active{border-color:var(--primary);background:var(--selected);color:var(--selected-text)}.import-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:16px 0}.import-stats div{background:#f8f7fc;border:1px solid var(--card-border);border-radius:10px;padding:10px}.import-stats span{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}.import-stats b{display:block;overflow-wrap:anywhere}.count-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}.import-preview .notice{margin:16px 0 0}.review-actions{display:flex;gap:5px}.review-actions button{min-height:28px;padding:3px 8px}.issue-list{display:grid;gap:10px}.issue-review{border:1px solid var(--card-border);border-radius:10px;padding:12px;background:#fff9f2}.issue-review.resolved{background:#f4faf7;opacity:.8}.issue-review p{margin:8px 0}.issue-review input{flex:1;min-width:180px}@media(max-width:1000px){.import-layout{grid-template-columns:1fr}}@media(max-width:640px){.import-intro,.import-upload{align-items:stretch;flex-direction:column}.import-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.pl-toolbar{justify-content:space-between}.pl-toolbar .tabs{margin:0}.pl-admin-actions{display:flex;gap:8px;margin-left:auto}.pl-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:10px}.pl-kpis .kpi{padding:8px 14px;min-height:72px;box-shadow:0 5px 16px #5b3fe033}.pl-kpis .kpi:after{width:82px;height:82px}.pl-kpis .kpi b{font-size:22px;margin:2px 0;line-height:1.15}.pl-kpis .kpi-unit{font-size:11px}.pl-kpis .kpi small,.pl-kpis .kpi-meta{font-size:10px}.pl-chart-card,.pl-table-card{padding:12px 16px;margin-bottom:10px}.pl-chart-card h2,.pl-table-card h2{margin-bottom:8px}.pl-chart-scroll{overflow-x:auto}.pl-chart{width:100%;min-width:680px;height:172px;display:block}.pl-chart text{font:10px var(--font);fill:var(--muted)}.pl-axis{stroke:#c9cae0;stroke-width:1}.pl-sales{fill:#6d4df2}.pl-cost{fill:#26a6d1}.pl-profit{fill:#16a36b}.pl-loss{fill:#d03b3b}.pl-table table{min-width:1120px}.pl-table table{font-size:11px}.pl-table th{font-size:10px}.pl-table td,.pl-table th{height:30px;padding:4px 7px}.pl-table tbody tr{cursor:default}.pl-table tbody th{color:#4b4f78;background:#fbfaff;min-width:84px}.pl-table td:nth-child(2){min-width:190px}.pl-table .pl-total,.pl-table .pl-profit{background:#f1eeff;font-weight:700}.pl-table .pl-rate{background:#faf9ff;color:#4b32d6;font-weight:700}.pl-table .pl-annual{background:#eee9ff;border-left:2px solid #C8BBFF;font-weight:700}.pl-table-card>.note{margin:7px 0 0;font-size:10px}.pl-editor{width:520px}.pl-editor .panel-body{padding-bottom:40px}.pl-input{display:grid;grid-template-columns:minmax(190px,1fr) minmax(160px,.8fr);align-items:center;gap:12px;margin-top:9px}.pl-input label{margin:0}.pl-input input{text-align:right;font-variant-numeric:tabular-nums}@media(max-width:1000px){.pl-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.pl-toolbar{align-items:stretch}.pl-admin-actions{width:100%;margin:0}.pl-admin-actions button{flex:1}.pl-input{grid-template-columns:1fr;gap:4px}}.annual-dashboard{display:grid;gap:18px;color:#1b1f3b}.dash-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:16px 20px;border-radius:16px;background:linear-gradient(115deg,#3f37c9,#7b2ff2,#c026d3);box-shadow:0 10px 34px #7b2ff240;color:#fff}.dash-toolbar label{display:flex;align-items:center;gap:6px;font-weight:600}.dash-toolbar select{color:#1b1f3b;background:#fff;border:1px solid #ffffff80}.dash-toolbar button{margin-left:auto;color:#4b32d6;font-weight:700}.dash-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.dash-kpis .card{display:flex;flex-direction:column;gap:9px;min-height:105px;margin:0;border:0;color:#fff;background:linear-gradient(135deg,#5b3fe0,#8e3cf7);box-shadow:0 8px 26px #5b3fe030}.dash-kpis .card:nth-child(3n+2){background:linear-gradient(135deg,#1d5fd6,#0891b2)}.dash-kpis .card:nth-child(3n){background:linear-gradient(135deg,#0e8a70,#15a34a)}.dash-kpis small{color:#ffffffdc}.dash-kpis strong{font-size:1.55rem;font-variant-numeric:tabular-nums}.dash-kpis button{align-self:flex-start}.dash-target{display:flex;gap:6px;flex-wrap:wrap}.dash-target input{width:150px}.dash-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.dash-charts .card{min-width:0;margin:0;border:1px solid #e6e6f5;border-radius:16px;box-shadow:0 8px 32px #39317d12}.dash-charts h2{margin:0 0 18px;font-size:15px;border-left:4px solid #7b5cff;padding-left:10px}.dash-charts .card:last-child{grid-column:1/-1}.dash-category-list{display:grid;gap:10px;max-width:780px}.dash-category-row{display:grid;grid-template-columns:115px minmax(80px,1fr) 125px 48px;gap:12px;align-items:center;min-height:32px}.dash-category-label{display:flex;align-items:center;gap:9px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-category-label i{height:10px;width:10px;flex:0 0 10px;border-radius:3px}.dash-category-track,.dash-bar div{height:12px;background:#f0eefa;border-radius:7px;overflow:hidden}.dash-category-track i{display:block;height:100%;border-radius:7px;min-width:2px}.dash-category-row strong,.dash-category-row small{font-variant-numeric:tabular-nums;text-align:right}.dash-category-row small{color:#6b7394}.dash-bars{display:grid;gap:10px}.dash-bar{display:grid;grid-template-columns:135px minmax(80px,1fr) 105px;align-items:center;gap:12px;min-height:24px;font-size:.84rem}.dash-bar span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.dash-bar i{display:block;height:100%;background:linear-gradient(90deg,#7b5cff,#3f8cff);border-radius:7px}.dash-bar strong{text-align:right;font-variant-numeric:tabular-nums}.dash-more{margin-top:14px;font-size:12px}.dash-basis{font-size:.88rem;line-height:1.6}.dash-basis p{margin:6px 0 0}.dash-notice{margin:0;color:#305a78}@media(max-width:1050px){.dash-kpis{grid-template-columns:repeat(2,1fr)}.dash-charts{grid-template-columns:1fr}.dash-charts .card:last-child{grid-column:auto}}.ws-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--gap, 14px)}.ws-card{display:grid;gap:6px;align-content:start}.ws-card header{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.ws-card h2{margin:0;font-size:15px}.ws-count{font-size:22px;color:var(--muted);font-variant-numeric:tabular-nums}.ws-count.on{color:var(--primary)}.ws-card ul{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:4px}.ws-card li{display:grid;gap:1px;padding:5px 8px;border-left:3px solid #d9dde3;background:#fafbfc;border-radius:4px}.ws-card li b{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-card li span{font-size:12px;color:var(--muted)}.ws-card li.ws-late{border-left-color:#d9534f;background:#fdf1f0}.ws-card li.ws-soon{border-left-color:#e3a13a;background:#fff8ec}.ws-empty{color:#1e6b3a;font-size:13px;margin:4px 0}.ws-err{color:#a11b1b;font-size:13px}.ws-more{justify-self:end;font-size:12px}.tablewrap.dt-xl{overflow:auto;max-height:calc(100vh - 250px);min-height:120px;border:1px solid #C9CDD4;border-radius:4px;background:#fff}.dt-xl table{border-collapse:separate;border-spacing:0;font-size:12.5px}.dt-xl th,.dt-xl td{height:28px;padding:3px 8px;border-bottom:1px solid #E4E7EC;border-right:1px solid #EEF0F3;white-space:nowrap;max-width:360px;overflow:hidden;text-overflow:ellipsis}.dt-xl thead th{position:sticky;top:0;z-index:2;background:#f2f4f7;color:#344054;font-weight:600;font-size:12px;border-bottom:1px solid #C9CDD4}.dt-xl .dt-rownum{position:sticky;left:0;z-index:1;width:40px;min-width:40px;text-align:center;color:#667085;background:#f7f8fa;font-weight:400;font-size:11px;border-right:1px solid #D0D5DD}.dt-xl thead .dt-rownum{z-index:3;background:#e9ecf1}.dt-xl tbody tr:nth-child(2n) td{background:#fcfcfd}.dt-xl tbody tr:hover td{background:#f4f1ff}.dt-xl tbody tr.selected td,.dt-xl tbody tr.selected .dt-rownum{background:var(--selected);color:var(--selected-text)}.dt-xl td.num{font-variant-numeric:tabular-nums}.xs-page{display:grid;gap:10px;min-width:0}.xs-counts{display:flex;flex-wrap:wrap;gap:6px}.xs-counts button{min-height:30px;padding:3px 12px;border-radius:15px;font-size:12px}.xs-counts button b{margin-left:4px;font-variant-numeric:tabular-nums}.xs-counts button.on{background:var(--primary);color:#fff;border-color:transparent}.xs-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.xs-tools input[type=search]{width:300px}.xs-tools label{display:grid;gap:2px;font-size:11px;color:var(--muted)}.xs-tools button{min-height:32px}.xs-grid{max-height:calc(100vh - 330px)}.xs-head th{top:0}.xs-grid tbody tr{cursor:pointer}.xs-grid tbody tr:hover td{background:#f6faf7}.xs-grid tbody tr.xs-selected td{background:#e6f2ea}.xs-grid tbody tr:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.xs-grid tr.xs-row-excluded td{color:#8a8f98}.xs-grid td.xs-ok{color:#1e6b3a;text-align:center;font-weight:700}.xs-grid td.xs-miss{color:#b45309;text-align:center}.xs-badge{display:inline-block;padding:0 7px;border-radius:9px;font-size:11px;line-height:18px;background:#eef0f3;color:#4b5563}.xs-badge.xs-needs_review{background:#fff2d8;color:#7a4b00}.xs-badge.xs-ready{background:#e3f1ff;color:#1d4f91}.xs-badge.xs-converted{background:#e6f4ea;color:#1e6b3a}.xs-badge.xs-excluded{background:#eeeff2;color:#6b7280}.xs-pager{display:flex;gap:8px;align-items:center;justify-content:flex-end;font-size:12px;color:var(--muted)}.xs-pager button{min-height:28px;padding:2px 12px}.xs-detail{display:grid;gap:10px}.xs-detail h3{margin:6px 0 0;font-size:13px}.xs-form{display:grid;gap:8px;border:0;padding:0;margin:0}.xs-form label{display:grid;gap:3px;font-size:12px;color:var(--muted)}.xs-form input,.xs-form select{width:100%;min-width:0}.xs-actions{display:flex;gap:8px}.xs-convert{display:grid;gap:6px;padding:10px;border:1px solid #cfe0d4;border-radius:8px;background:#f4faf6;font-size:12px}.xs-convert p{margin:0}.xs-convert button{justify-self:start}.xs-raw{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;margin:0;font-size:12px}.xs-raw div{display:grid;gap:1px;padding:4px 0;border-bottom:1px solid #eef0f2;min-width:0}.xs-raw dt{color:var(--muted);font-size:11px}.xs-raw dd{margin:0;overflow-wrap:anywhere}.xl-sheet{display:grid;gap:8px;min-width:0}.xl-summary{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:linear-gradient(135deg,#173f2a,#286846);color:#fff;border-radius:8px 8px 0 0}.xl-summary>div:first-child{display:flex;align-items:baseline;gap:12px}.xl-summary b{font-size:18px}.xl-summary span{font-size:12px;color:#d8eadf}.xl-summary-actions{display:flex;gap:6px}.xl-summary-actions button{min-height:30px}.xl-presence{min-height:28px;padding:5px 10px;border:1px solid #cfe0d4;background:#f1f8f3;color:#315b3f;font-size:12px}.xl-bar{display:grid;grid-template-columns:80px 28px 1fr;border:1px solid #C9CDD4;background:#fff;font-size:13px}.xl-bar>span{padding:5px 8px;border-right:1px solid #E1E4E8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.xl-name{font-weight:600;text-align:center}.xl-fx{color:#6b7280;font-style:italic;text-align:center}.xl-product-toolbar{display:flex;align-items:center;gap:10px;min-height:34px;padding:4px 10px;border:1px solid #e1e4e8;background:#fff;font-size:12px}.xl-product-toolbar button{min-height:28px;padding:3px 10px;white-space:nowrap}.xl-product-picker{border:1px solid #cdd7e5;border-radius:8px;background:#fff;padding:12px;display:grid;gap:12px}.xl-product-picker-head,.xl-product-picker-search{display:flex;align-items:center;gap:12px}.xl-product-picker-head{justify-content:space-between}.xl-product-picker-head>div{display:grid;gap:3px}.xl-product-picker-head span{color:var(--muted);font-size:12px}.xl-product-picker-search label{white-space:nowrap;font-weight:600;font-size:12px}.xl-product-picker-search input{flex:1;min-width:220px;max-width:620px;height:36px}.xl-product-picker-search button{margin-left:auto}.xl-product-picker-results{border:1px solid #e1e6ef;border-radius:6px;max-height:320px;overflow-y:auto}.xl-product-picker-results>p{margin:0;padding:12px;color:var(--muted);font-size:12px}.xl-product-picker-columns,.xl-product-picker-row{display:grid;grid-template-columns:150px minmax(220px,1fr) 130px 72px;align-items:center;gap:12px;width:100%;padding:8px 12px;text-align:left}.xl-product-picker-columns{position:sticky;top:0;background:#f3f6fb;font-size:12px;font-weight:600;z-index:1}.xl-product-picker-row{border:0;border-top:1px solid #edf0f5;border-radius:0;background:#fff;font-size:12px}.xl-product-picker-row:hover:not(:disabled),.xl-product-picker-row:focus-visible{background:#eef3ff}.xl-product-picker-row:disabled{color:#53627a;background:#f7f9fd}.xl-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.xl-tools button{min-height:28px;padding:3px 10px}.xl-legend{margin-left:auto;font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.xl-sw{display:inline-block;width:12px;height:12px;border:1px solid #C9CDD4}.xl-sw.auto{background:#eaf6ee;border-color:#8bb79a}.xl-sw.manual{background:#fff4d8;border-color:#d6b85d}.xl-sw.imported{background:#eef1f5;border-color:#a9b1bd}.xl-page-note{font-size:12px;color:#8a5a00}.xl-msg{margin:0;font-size:13px;padding:6px 10px;border-radius:6px}.xl-msg.ok{background:#eef8f2;color:#1e6b3a}.xl-msg.err{background:#fdeeee;color:#a11b1b}.xl-grid{overflow:auto;max-height:calc(100vh - 300px);min-height:280px;border:1px solid #C9CDD4;background:#fff;outline:none}.xl-grid:focus-visible{box-shadow:0 0 0 2px var(--primary)}.xl-grid table{border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:12.5px;font-family:Malgun Gothic,Apple SD Gothic Neo,sans-serif}.xl-grid th,.xl-grid td{border-right:1px solid #E1E4E8;border-bottom:1px solid #E1E4E8;padding:3px 6px;height:24px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#fff;color:#111}.xl-grid td.num{text-align:right;font-variant-numeric:tabular-nums}.xl-letters th{position:sticky;top:0;z-index:3;background:#f3f4f6;color:#6b7280;font-weight:400;text-align:center;height:20px;font-size:11px}.xl-head th{position:sticky;top:21px;z-index:3;background:#e8f0e4;font-weight:700;text-align:center;white-space:pre-line;height:38px;line-height:1.2}.xl-head th>span{display:block;padding-right:14px}.xl-rownum{background:#f3f4f6!important;color:#6b7280;font-weight:400;text-align:center;font-size:11px}.xl-frozen{position:sticky;z-index:2}.xl-letters th.xl-frozen,.xl-head th.xl-frozen{z-index:4}.xl-grid td.xl-frozen{box-shadow:inset -1px 0 #c9cdd4}.xl-grid td.xl-editable{cursor:text}.xl-grid td.xl-editable:hover{background:#fffde8}.xl-grid td.xl-sel{outline:2px solid #1E7B45;outline-offset:-2px}.xl-grid tr.xl-being-edited td{background:#edf6ff}.xl-grid td.xl-source-calculated{box-shadow:inset 3px 0 #6ba67e}.xl-grid td.xl-source-manual{box-shadow:inset 3px 0 #d6a529}.xl-grid td.xl-source-imported{box-shadow:inset 3px 0 #8994a3}.xl-source-label{display:inline-block;margin-left:5px;padding:0 4px;border-radius:7px;background:#ffffffbf;color:#5d6570;font-size:9px;line-height:14px;vertical-align:1px}.xl-empty{text-align:center;color:var(--muted);height:60px!important}.xl-input{width:100%;border:0;padding:0;font:inherit;background:#fff;outline:none}.xl-filter{position:absolute;right:2px;bottom:3px;min-height:0!important;width:16px;height:16px;padding:0!important;font-size:10px;line-height:14px;border:1px solid #B8BEC6;background:#fff;border-radius:2px}.xl-filter.on{background:#1e7b45;color:#fff;border-color:#1e7b45}.xl-head th{position:sticky}.xl-menu{position:absolute;top:100%;left:0;z-index:10;width:220px;background:#fff;border:1px solid #B8BEC6;box-shadow:0 6px 18px #00000026;padding:8px;text-align:left;font-weight:400;display:grid;gap:6px;white-space:normal}.xl-menu label{display:flex;gap:6px;align-items:center;font-size:12px}.xl-menu-list{max-height:200px;overflow:auto;display:grid;gap:3px;border:1px solid #E1E4E8;padding:4px}.xl-menu-actions{display:flex;gap:6px;justify-content:flex-end}.xl-menu-actions button{min-height:26px;padding:2px 10px}.xl-new{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:7px;align-items:end;padding:10px;border:1px dashed #9ea9a2;background:#f8faf8}.xl-new-title{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center}.xl-new input,.xl-new select{min-width:0;width:100%;height:32px}.xl-new label{display:grid;gap:2px;color:var(--muted);font-size:11px}.xl-new label input{color:#111;font-size:13px}.xl-new .xl-msg{flex-basis:100%}.xl-new .xl-msg{grid-column:1 / -1}.xl-grid td.xl-late{background:#fde2e1;color:#9b1c1c;font-weight:600}.xl-grid td.xl-soon{background:#fff1d6;color:#8a5a00}.xl-sw.late{background:#fde2e1;border-color:#e7a09c}.xl-sw.soon{background:#fff1d6;border-color:#e3c07a}.xl-paste{display:grid;gap:8px;padding:10px;border:1px dashed #9ea9a2;background:#f8faf8}.xl-paste textarea{width:100%;font-family:ui-monospace,monospace;font-size:12px}.xl-check{display:flex;gap:6px;align-items:center;font-size:12px}.xl-paste-grid{max-height:260px;overflow:auto;border:1px solid #c9cdd4;background:#fff}.xl-paste-grid table{border-collapse:collapse;font-size:12px;white-space:nowrap}.xl-paste-grid th,.xl-paste-grid td{border:1px solid #e1e4e8;padding:2px 6px}.xl-paste-grid th{background:#e8f0e4;position:sticky;top:0}.xl-paste-ok td{background:#eef8f2}.xl-paste-err td:nth-child(2){color:#a11b1b;font-weight:600}.xl-grid tr.xl-quote-first td,.xl-grid tr.xl-quote-first th{border-top:1.5px solid #9AA0B4}.xl-grid tr.xl-quote-cont td{background:#fcfcfe}.xl-grid tr.xl-row-sel td{background:#e8f0fe}.xl-grid tr{cursor:default}.xl-grid td.xl-missing{color:#98a2b3;font-style:italic}.xl-tools input[type=search]{min-width:200px}.xl-month{display:inline-flex;align-items:center;gap:4px}.xl-month button{min-width:30px;padding:0 8px}.xl-month button.on{background:var(--primary);color:#fff}.xl-month input[type=month]{height:30px;padding:2px 6px}.xl-head th.xl-edit-head{background:#eaf4ec}.history-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 8px;font-size:12px}.history-chips button{height:28px;padding:0 10px;font-size:12px}.history-chips button.active{background:var(--primary);color:#fff;border-color:transparent}.history-chips small{opacity:.75;margin-left:2px}.xl-grid td.xl-muted-cell{color:#667085;font-size:11.5px}.xl-grid tr.xl-sum-row td,.xl-grid tr.xl-sum-row th{position:sticky;bottom:0;background:#eef2f6;font-weight:700;border-top:1.5px solid #98A2B3}.ship-picker{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.ship-picker input[type=search]{width:200px;min-width:0;height:30px}.ship-picker select{max-width:340px;height:30px}.ship-picker-cur{color:#475467;font-size:11.5px}.xl-sheet-tabs{display:flex;flex-wrap:wrap;gap:2px;align-items:center;padding:2px 0}.xl-sheet-tabs button{height:26px;min-width:42px;padding:0 8px;font-size:12px;border-radius:4px 4px 0 0;border-bottom:2px solid transparent}.xl-sheet-tabs button.on{background:#fff;border-color:#c9cdd4;border-bottom-color:#217346;color:#217346;font-weight:700}.xl-sheet-tabs .sep{width:10px}@media(max-width:640px){.xl-sheet-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.xl-sheet-tabs button{flex:0 0 auto}}.stock-basis{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px;margin:0 0 10px}.stock-basis-box{display:grid;gap:3px;padding:10px 12px;border-radius:8px;border:1px solid #D0D5DD;background:#fff;font-size:12.5px}.stock-basis-box b{font-size:13.5px}.stock-basis-box small{color:#475467;font-size:11.5px}.stock-basis-box.program{border-left:4px solid #2665a2}.stock-basis-box.excel{border-left:4px solid #98A2B3;background:#fafafb}.stock-basis-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.stock-basis-actions button{height:28px;padding:0 10px;font-size:12px}.stock-basis-box .stock-basis-warn{color:#b54708}.oi-wrap{display:grid;gap:10px}.xl-print-code{display:none}.oi-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.oi-toolbar .primary{margin-left:auto}.oi-errors{margin:0;padding:8px 12px 8px 28px;background:#fdeeee;color:#a11b1b;border-radius:6px;font-size:13px}.oi-sheet{background:#fff;border:1px solid #c9cdd4;padding:24px 28px;max-width:820px;width:100%;margin:0 auto;box-shadow:0 2px 8px #0000000f;color:#111}.oi-fields{min-width:0;margin:0;padding:0;border:0}.oi-sheet h1{text-align:center;font-size:22px;letter-spacing:6px;margin:0 0 16px}.oi-sheet h1 small{font-size:13px;letter-spacing:0;color:#555}.oi-sheet h2{font-size:14px;margin:18px 0 6px;display:flex;gap:14px;align-items:center}.oi-grid,.oi-lines{width:100%;border-collapse:collapse;table-layout:fixed;font-size:13px}.oi-grid th,.oi-grid td,.oi-lines th,.oi-lines td{border:1px solid #9aa1ab;padding:2px 4px;height:28px}.oi-grid th,.oi-lines thead th,.oi-lines tfoot th{background:#eef3ec;font-weight:600;text-align:center;white-space:nowrap}.oi-grid th{width:17%}.oi-sheet input,.oi-sheet textarea{width:100%;min-width:0;border:0;background:transparent;font:inherit;padding:2px}.oi-sheet input:focus,.oi-sheet textarea:focus{outline:2px solid #1e7b45;background:#fffde8}.oi-sheet textarea{border:1px solid #9aa1ab;resize:vertical}.oi-sheet .num{text-align:right;font-variant-numeric:tabular-nums}.oi-lines .oi-no{text-align:center;width:36px}.oi-lines th:last-child.no-print,.oi-lines td:last-child.no-print{width:32px;text-align:center}.oi-lines td button{min-height:0;padding:0 6px}.oi-manual{background:#fff4d8!important}.oi-total{font-weight:700}.oi-radio{display:inline-flex;gap:10px;font-weight:400;font-size:13px}.oi-radio label{display:inline-flex;gap:3px;align-items:center;white-space:nowrap}.oi-radio input{width:auto}.oi-customer{display:flex;align-items:center;gap:6px}.oi-customer input{flex:1}.oi-customer button{flex:none;min-height:26px;white-space:nowrap}.oi-grid small{display:block;color:#64716a;font-size:11px}.oi-add{margin-top:4px;min-height:28px}@media print{@page{size:A4;margin:12mm}body *{visibility:hidden}.oi-sheet,.oi-sheet *{visibility:visible}.oi-sheet{position:absolute;inset:0;border:0;box-shadow:none;padding:0;max-width:none}.no-print{display:none!important}.xl-print-code{display:inline!important}.oi-sheet input:focus{outline:0;background:transparent}.oi-manual{background:transparent!important}}.oi-grid th{white-space:normal;line-height:1.2;font-size:12px}.oi-lines.oi-items th:nth-child(1){width:36px}.oi-lines.oi-items th:nth-child(2){width:28%}.oi-lines.oi-items th:nth-child(3){width:17%}.oi-lines.oi-items th:nth-child(4){width:7%}.oi-lines.oi-items th:nth-child(5){width:12%}.oi-lines.oi-items th:nth-child(6){width:14%}.qi-head{display:grid;grid-template-columns:1fr 1fr;gap:14px}.qi-head .oi-grid th{width:28%}.qi-total{margin:14px 0 8px;font-size:15px;border-bottom:2px solid #333;padding-bottom:4px}.qi-total span{font-size:12px;color:#555}.qi-items th small{font-weight:400;color:#666;font-size:10px}.qi-items th:nth-child(1){width:36px}.qi-items th:nth-child(2){width:38%}.qi-items th:nth-child(3){width:8%}.qi-items th:nth-child(4){width:14%}.qi-items th:nth-child(5){width:15%}.qi-foot{margin-top:12px}.qi-foot th{width:20%}.oi-fieldset{border:0;padding:0;margin:0;min-width:0}.oi-fieldset:disabled .oi-sheet input,.oi-fieldset:disabled .oi-sheet textarea{color:#111}.oi-sheet input[readonly]{color:#333;background:#f6f6f6}.ts-meta{display:flex;justify-content:space-between;font-size:13px;margin:-6px 0 10px}.ts-biz thead th{background:#dfe9dc;text-align:center}.ts-biz th{width:24%}.ts-items th:nth-child(1){width:56px}.ts-items th:nth-child(2){width:26%}.ts-items th:nth-child(3){width:7%}.ts-items th:nth-child(4){width:6%}.ts-foot{margin-top:10px}.ts-foot th{width:12%}.ts-sign{display:flex;align-items:center;gap:4px}.ts-copy{display:none}.ic-title{letter-spacing:1px!important;font-size:20px!important}.ic-sec{background:#dfe9dc!important;text-align:left!important}.ic-head th{width:18%}.ic-checks{margin-top:10px;font-size:12px}.ic-checks th:nth-child(1){width:24%}.ic-checks th:nth-child(2){width:28%}.ic-checks select{width:100%;border:0;background:transparent;font:inherit}.ic-equip{margin-top:10px}.ic-equip th{width:24%}.ic-pages{display:flex;flex-wrap:wrap;gap:4px}.ic-pages button{min-height:26px;padding:1px 10px;font-size:12px}.ic-pages button.on{background:var(--primary);color:#fff;border-color:transparent}.ic-print{display:none}@media print{.ts-copy{display:block}.ts-sheet{position:static!important;page-break-after:always;break-after:page}.ic-print{display:block}.ic-print .ic-sheet{position:static!important;page-break-after:always;break-after:page}.oi-wrap .oi-sheet{position:static}}@media print{.oi-wrap:has(.ts-sheet),.oi-wrap:has(.ic-print){position:absolute;top:0;left:0;width:100%}.ts-sheet:last-child,.ts-copy .ts-sheet,.ic-print .ic-sheet:last-child{page-break-after:auto;break-after:auto}}.pl-map{display:block;margin-top:8px}.pl-map-table{margin-top:6px;border-collapse:collapse}.pl-map-table td{padding:2px 8px;border-bottom:1px solid var(--line, #d0d7de)}.pl-map-table td.num{text-align:right}.xl-page{box-sizing:border-box;width:210mm;min-height:297mm;margin:0 auto 14px;background:#fff;color:#000;box-shadow:0 2px 12px #10182824}.xl-page.xl-landscape-page{width:297mm;min-height:210mm}.xl-form{border-collapse:collapse;table-layout:fixed}.xl-form{width:auto;font-size:inherit}.xl-form td{height:auto;padding:0 1px;overflow:hidden;white-space:pre;line-height:1;border-bottom:none}.xl-form tbody tr{cursor:default}.xl-form tbody tr:hover{background:transparent}.xl-form td.xl-slot{padding:0;position:relative}.xl-form td.xl-slot>.xl-in{position:absolute;inset:0;height:100%}.xl-in{display:block;box-sizing:border-box;width:100%;height:100%;min-height:1.2em;margin:0;padding:0 2px;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;text-align:inherit;line-height:inherit;box-shadow:none}textarea.xl-in{resize:none;white-space:pre-wrap;overflow:hidden}select.xl-in{appearance:none;-webkit-appearance:none;cursor:pointer;text-align-last:inherit}.xl-in::-webkit-calendar-picker-indicator{opacity:.35}input.xl-in[type=date]{font:inherit}@media screen{.xl-in:hover{background:#2665a20f}.xl-in:focus{outline:2px solid #2665a2;outline-offset:-2px;background:#fffde8}.xl-in.xl-manual{background:#fff6cc}.xl-in::placeholder{color:#b0b7c3}.xl-auto{color:#1f4f82}}@page xlpage{size:A4;margin:0}@page xllandscape{size:A4 landscape;margin:0}@media print{body *{visibility:hidden}.xl-doc,.xl-doc *{visibility:visible}.xl-doc{position:absolute;top:0;left:0;width:210mm;page:xlpage}.xl-doc .no-print,.xl-doc .xl-screen-only{display:none!important}.xl-doc .xl-scroll{overflow:visible;padding:0}.xl-page{box-shadow:none;margin:0;min-height:297mm;page-break-after:always;break-after:page}.xl-page.xl-landscape-page{width:297mm;min-height:210mm;page:xllandscape}.xl-doc .xl-page:last-of-type{page-break-after:auto;break-after:auto}.xl-in::placeholder{color:transparent}.xl-in::-webkit-calendar-picker-indicator{display:none}.xl-in.xl-manual{background:transparent}}.xl-row-tools{position:relative}.xl-tools-float{position:absolute;left:100%;top:0;display:none;gap:2px;padding-left:4px;white-space:nowrap;z-index:2}tr:hover>.xl-row-tools .xl-tools-float,.xl-row-tools:focus-within .xl-tools-float{display:flex}.xl-tools-float button{height:20px;min-height:0;padding:0 6px;font-size:11px;font-family:system-ui,sans-serif}@media print{.xl-tools-float{display:none!important}}.xl-scroll{overflow-x:auto;padding:8px 0 24px}@media screen{.xl-print-only{display:none}}@media print{.xl-print-only{display:block}}.xl-form td.xl-slot>.xl-lab-in{position:absolute;inset:0;display:flex;align-items:center;gap:2px;padding:0 2px}.xl-lab-in>span{white-space:pre;flex:none}.xl-lab-in>.xl-in{position:static;flex:1;min-width:0;height:100%;padding:0}.xl-form td.xl-slot>.xl-text{position:absolute;inset:0;display:flex;align-items:center;padding:0 2px}.xl-add-row{position:absolute;left:2px;top:1px;height:calc(100% - 2px);min-height:0;padding:0 8px;font-size:11px;font-family:system-ui,sans-serif;opacity:.6}.xl-add-row:hover{opacity:1}.xl-form td{position:relative}@media screen{.xl-screen-hide{display:none}}.xl-fieldset{border:0;margin:0;padding:0;min-width:0}.xl-checks{gap:10px;justify-content:center}.xl-check{all:unset;cursor:pointer;white-space:pre;font:inherit}.xl-check:focus-visible{outline:2px solid #2665a2}.xl-fieldset:disabled .xl-check{cursor:default}.xl-form td.xl-vert{white-space:pre;line-height:1.5;text-align:center;vertical-align:middle}.xl-form td.xl-slot>textarea.xl-in{padding:2px 4px}.xl-form td.xl-spill{overflow:visible}.xl-form td.xl-spill>*{right:auto!important;width:var(--spill-w)!important;z-index:1}.xl-form td.xl-slot>.xl-sample-etc{position:absolute;inset:0;display:flex;flex-direction:column;padding:2px 4px}.xl-sample-lines{margin:0;font:inherit;white-space:pre-wrap}.xl-sample-etc>textarea.xl-in{position:static;flex:1;width:100%}.push-right{margin-left:auto}.btn-group{display:inline-flex;gap:6px}.edit-form .lines{border:0;padding:0;margin:16px 0 0}.edit-form .lines legend{font-weight:600;padding:0;margin-bottom:6px}.edit-form .lines input{width:100%;min-width:70px;padding:6px 8px;min-height:32px}.edit-form .lines td{height:auto;padding:4px}.edit-form .lines>button{margin-top:8px}.edit-form select{max-width:100%}.edit-form td select{min-width:150px;padding:6px 8px}.edit-form td input.num{text-align:right;min-width:70px;width:100%}tr.diff td{background:#fdecec}.draft-card{border:1px solid var(--card-border);border-radius:12px;padding:10px 12px;margin:8px 0;background:#faf9ff}.draft-card.status-confirmed{background:#f0faf3;border-color:#bfe3c8}.pill-done{background:#ddf3e3;color:#0e7a3a}.confirm-box{margin-top:10px;padding:10px 12px;border-radius:10px;background:#fff5e7;border:1px solid #F2DDC1}.session-shipments{margin-bottom:12px}.btn-group{flex-shrink:0}.btn-group button{white-space:nowrap}.shipment-product-search{margin:12px 0;display:grid;gap:6px;max-width:780px}.shipment-product-search>label{font-weight:700}.shipment-product-search>input{width:100%}.shipment-product-results{max-height:260px;overflow:auto;border:1px solid var(--card-border);border-radius:8px;background:#fff}.shipment-product-results>button{display:grid;grid-template-columns:125px minmax(160px,1fr) auto;gap:10px;align-items:center;width:100%;text-align:left;padding:8px 10px;border:0;border-bottom:1px solid var(--card-border);background:#fff}.shipment-product-results>button:hover{background:#eef3ff}.shipment-product-results>button small{color:#54617a}.shipment-product-results>span{display:block;padding:10px}.quote-template-page{position:relative}.quote-template-page .xl-form{position:relative;z-index:1}.quote-template-logo{position:absolute;z-index:2;left:5.4%;top:5.1%;width:20%;text-align:center;color:#2874bb;font:12px Arial,sans-serif}.quote-template-logo img{display:block;width:100%}.quote-template-logo span{display:block;text-decoration:underline}.quote-template-stamp{position:absolute;z-index:2;right:9%;top:17.5%;width:5.5%}.quote-template-address{position:absolute;z-index:2;left:54.5%;top:28%;width:38%;max-height:4%;white-space:pre-line;overflow:hidden;font:11px/1.2 Malgun Gothic,sans-serif}.quote-template-page .quote-supplier-phone{font-size:10pt;letter-spacing:-.04em}.quote-template-page textarea.quote-template-address{border:0;background:transparent;resize:none;outline:0;color:#222}.quote-template-page textarea.quote-template-address:focus{outline:1px solid #2665a2;background:#fffde8}.quote-template-watermark{position:absolute;z-index:0;left:18%;top:49%;width:64%;height:22%;background:url(../quote-template/odtech-watermark.png) center / contain no-repeat;opacity:.26;pointer-events:none}.quote-template-footer{position:absolute;z-index:2;bottom:4%;left:9%;right:9%;display:flex;justify-content:space-between;font:14px Arial,sans-serif}.quote-template-page .quote-item-row>td{border-left:1px solid #111;border-right:1px solid #111;border-bottom:1px solid #111;vertical-align:top;padding-top:5px;font-size:10pt}.quote-template-page .quote-item-row>td:first-child{text-align:center}.quote-template-page .quote-item-row>td:nth-child(3){text-align:center}.quote-template-page .quote-item-row>td:nth-child(4),.quote-template-page .quote-item-row>td:nth-child(5){text-align:right}.quote-template-page .xl-form .quote-item-row td.xl-slot>.xl-in,.quote-template-page .quote-item-row .xl-in{position:static;height:22px;min-height:0;font-size:10pt}.quote-template-page .quote-item-row .quote-description{padding:2px 6px}.quote-template-page .quote-item-row .quote-description>.xl-in:first-child{font-size:12pt;font-weight:700}.quote-template-page .quote-item-row .quote-detail{color:#102ed5}.quote-template-page .quote-empty-row>td{border-top:0}@media print{.quote-template-page{-webkit-print-color-adjust:exact;print-color-adjust:exact}.quote-template-logo,.quote-template-stamp,.quote-template-watermark,.quote-template-footer{visibility:visible}}.trade-statement-page .xl-form td.xl-slot:has(>.trade-statement-stamp){overflow:visible}.trade-statement-stamp{position:absolute;z-index:2;left:42%;top:0;width:61%;height:auto;pointer-events:none}.trade-statement-page .xl-form td.xl-slot>.trade-item-cell{position:absolute;inset:0;display:flex;align-items:center;min-width:0}.trade-item-cell>.xl-in{flex:1;min-width:0;width:100%;height:100%;padding:0 3px}.trade-item-cell>select{flex:none;width:48px;height:24px;padding:0;font-size:11px}.trade-item-cell>button{flex:none;min-height:22px;padding:1px 5px;font-size:11px}.trade-product-picker{display:grid;gap:8px;border:1px solid #cbd4e4;border-radius:8px;background:#fff;padding:12px}.trade-product-picker>div:first-child{display:flex;align-items:center;justify-content:space-between}.trade-product-picker p{margin:0;font-size:12px;color:#617087}.trade-product-picker>input{max-width:600px}.trade-product-results{max-height:280px;overflow:auto;border:1px solid #e2e7f0}.trade-product-results>button{display:grid;grid-template-columns:130px 1fr 95px;gap:10px;width:100%;padding:7px 10px;text-align:left;border:0;border-bottom:1px solid #edf0f5;background:#fff}.trade-product-results>button:hover{background:#eef3ff}.trade-product-results>span{display:block;padding:10px}.trade-reconcile{margin:8px 0;padding:9px 12px;border:1px solid #e3bb6e;border-radius:6px;color:#704d11;background:#fff8e9;font-size:13px}.trade-statement-page .xl-form tbody>tr:nth-child(3)>td:last-child,.trade-statement-page .xl-form tbody>tr:nth-child(7)>td:last-child{border-right:2px solid #000!important}@media print{.trade-statement-stamp{visibility:visible;-webkit-print-color-adjust:exact;print-color-adjust:exact}}.inspection-cert-page .xl-form tbody>tr:nth-child(5)>td:last-child,.inspection-cert-page .xl-form tbody>tr:nth-child(6)>td:last-child,.inspection-cert-page .xl-form tbody>tr:nth-child(11)>td:last-child,.inspection-cert-page .xl-form tbody>tr:nth-child(28)>td:last-child,.inspection-cert-page .xl-form tbody>tr:nth-child(31)>td:last-child{border-right:2px solid #000!important}.sample-history .tablewrap.dt-xl{max-height:max(240px,calc(100vh - 390px))}.sample-dispatch-page{display:grid;gap:16px}.sample-dispatch-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.sample-dispatch-controls h2,.sample-dispatch-controls p{width:100%;margin:0}.sample-dispatch-controls label{display:flex;align-items:center;gap:8px}.sample-dispatch-controls select{min-width:320px}.sample-dispatch-success{padding:9px 12px;border:1px solid #b7dcc8;border-radius:6px;color:#236145;background:#ecf8f0}.sample-dispatch-xl-doc{overflow-x:auto}.sample-dispatch-editor{box-sizing:border-box;width:min(100%,210mm);margin:0 auto;padding:14px;border:1px solid #d7dce7;border-radius:8px;background:#fff}.sample-dispatch-editor>label{display:flex;align-items:center;gap:8px;margin-bottom:12px}.sample-dispatch-editor .sample-dispatch-line{margin-bottom:7px}.sample-dispatch-editor .sample-dispatch-product input{width:100%}.sample-dispatch-editor .sample-dispatch-line select{width:200px}.sample-dispatch-customer-cell{position:absolute;inset:0}.sample-dispatch-customer-cell>.xl-in{height:100%}.sample-dispatch-print{box-sizing:border-box;width:210mm;min-height:297mm;margin:0 auto;padding:13mm 12mm;color:#222;background:#fff;box-shadow:0 2px 12px #10182824;font-family:Malgun Gothic,sans-serif;font-size:12px}.sample-dispatch-print h1{text-align:center;font-size:25px;font-weight:500;letter-spacing:3px;margin:2mm 0 12mm}.sample-dispatch-date{margin:0 0 3mm 7mm}.sample-dispatch-date input,.sample-dispatch-after input{width:145px}.sample-dispatch-form{width:100%;border-collapse:collapse;table-layout:fixed}.sample-dispatch-form th,.sample-dispatch-form td{border:1px solid #333;padding:4px 5px;height:29px;vertical-align:middle;overflow:visible}.sample-dispatch-form th{background:#f2f2f2;font-weight:400;text-align:center}.sample-dispatch-form th:nth-child(1){width:14%}.sample-dispatch-form td:nth-child(2){width:23%}.sample-dispatch-form th:nth-child(3){width:14%}.sample-dispatch-form td:nth-child(4){width:20%}.sample-dispatch-form th:nth-child(n+5){width:9%}.sample-dispatch-form input,.sample-dispatch-form select,.sample-dispatch-form textarea,.sample-dispatch-date input,.sample-dispatch-after input{box-sizing:border-box;max-width:100%;width:100%;min-width:0;border:0;border-radius:0;background:transparent;color:#222;font:inherit;padding:2px}.sample-dispatch-form input:focus,.sample-dispatch-form textarea:focus{outline:1px solid #6d4df2;background:#fffcec}.sample-dispatch-form input:disabled,.sample-dispatch-form textarea:disabled,.sample-dispatch-after input:disabled,.sample-dispatch-date input:disabled{opacity:1;color:#222;-webkit-text-fill-color:#222}.sample-dispatch-customer,.sample-dispatch-product{position:relative}.sample-dispatch-suggestions{position:absolute;z-index:5;top:100%;left:0;min-width:260px;max-width:550px;max-height:220px;overflow:auto;background:#fff;border:1px solid #b9c5d8;box-shadow:0 5px 14px #1b294129}.sample-dispatch-suggestions button{display:block;width:100%;border:0;border-bottom:1px solid #edf0f5;border-radius:0;text-align:left;padding:7px;background:#fff;font-size:12px}.sample-dispatch-suggestions button:hover{background:#edf2ff}.sample-dispatch-main{height:92mm}.sample-dispatch-main>th,.sample-dispatch-main>td{vertical-align:top}.sample-dispatch-main>th{vertical-align:middle}.sample-dispatch-main-content{padding:6px!important}.sample-dispatch-main-content textarea{width:100%;min-height:90px;resize:vertical}.sample-dispatch-line-list{display:grid;gap:5px;margin-bottom:8px}.sample-dispatch-line{display:flex;align-items:center;gap:4px;min-width:0}.sample-dispatch-product{flex:1;min-width:130px}.sample-dispatch-line .sample-dispatch-qty{width:36px;text-align:right;border-bottom:1px solid #ccc}.sample-dispatch-line select{width:112px;border:1px solid #d7dce7}.sample-dispatch-line button{padding:2px 4px;min-height:20px;font-size:11px}.sample-dispatch-receipt{text-align:center;vertical-align:middle!important}.sample-dispatch-approvals,.sample-dispatch-charge select{text-align:center}.sample-dispatch-after{margin:4mm 0}.sample-dispatch-print footer{display:flex;justify-content:space-between;margin-top:7mm;font-size:11px}.sample-dispatch-actions{width:min(100%,210mm);margin:0 auto 24px}.sample-dispatch-actions button{width:100%}.sample-dispatch-actions p{font-size:12px;color:#617087}@page{size:A4 portrait;margin:0}@media print{body *{visibility:hidden!important}.sample-dispatch-xl-doc,.sample-dispatch-xl-doc *{visibility:visible!important}.sample-dispatch-xl-doc{position:absolute;left:0;top:0;width:210mm;overflow:visible}.sample-dispatch-xl-doc .xl-page{box-shadow:none;margin:0}.sample-dispatch-xl-doc .no-print{display:none!important}.sample-dispatch-print,.sample-dispatch-print *{visibility:visible!important}.sample-dispatch-print{position:absolute;left:0;top:0;width:210mm;min-height:297mm;margin:0;box-shadow:none}.sample-dispatch-print .no-print{display:none!important}.sample-dispatch-print input::placeholder,.sample-dispatch-print textarea::placeholder{color:transparent}.sample-dispatch-print input::-webkit-calendar-picker-indicator{display:none}}.shipment-sheet{display:grid;gap:12px}.shipment-sheet .toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.shipment-sheet .toolbar label{display:flex;align-items:center;gap:6px}.shipment-grid-scroll{overflow:auto;max-height:600px;border:1px solid #cbd5e1;border-radius:6px}.shipment-grid{border-collapse:separate;border-spacing:0;min-width:2300px;width:100%;font-size:.82rem}.shipment-grid th,.shipment-grid td{padding:7px 9px;border-right:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;white-space:pre-line;max-width:170px;min-width:90px;overflow:hidden;text-overflow:ellipsis}.shipment-grid thead th{position:sticky;top:0;background:#e9f1f8;z-index:2;text-align:left}.shipment-grid tbody tr{cursor:pointer}.shipment-grid tbody tr:hover{background:#f2f7fb}.shipment-grid tbody tr.selected{background:#dcecf8}.shipment-grid tbody th{position:sticky;left:0;background:#f4f7fa;z-index:1;min-width:42px}.shipment-grid tbody tr.selected th{background:#dcecf8}.shipment-edit h2{margin:0;font-size:1rem}.shipment-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}.shipment-fields label{display:grid;gap:5px;font-size:.83rem;font-weight:600}.shipment-fields input,.shipment-fields textarea{width:100%;box-sizing:border-box}.shipment-edit .primary{margin-top:4px}@media(max-width:1100px){.shipment-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}.shipment-edit .auto-hint{display:block;color:#1f6fb2;font-size:11px}.shipment-sheet{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start}.shipment-sheet.with-panel{grid-template-columns:minmax(0,1fr) 380px}.shipment-sheet .shipment-edit{position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto;margin:0;padding:12px 14px}.shipment-sheet .shipment-edit>p{font-size:12px;color:#475467;margin:4px 0 8px}.shipment-sheet .shipment-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0}.shipment-sheet .shipment-fields label{font-size:12px;gap:3px}.shipment-sheet .shipment-fields label:has(textarea){grid-column:1 / -1}.shipment-sheet .shipment-fields input{height:30px;padding:3px 6px;font-size:12.5px}.shipment-sheet .shipment-fields textarea{padding:3px 6px;font-size:12.5px}.shipment-xl .xl-head th.xl-edit-head{background:#eaf4ec}.shipment-xl .xl-grid tbody tr{cursor:pointer}@media(max-width:1100px){.shipment-sheet.with-panel{grid-template-columns:minmax(0,1fr)}.shipment-sheet .shipment-edit{position:static;max-height:none}}.imp-progress{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.imp-progress section{border:1px solid var(--card-border);border-radius:10px;padding:10px 12px;background:#f8f7fc;min-width:0}.imp-progress h3{font-size:12px;color:var(--muted);margin:0 0 8px;font-weight:600}.imp-progress dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:6px 10px;margin:0}.imp-progress dt{font-size:11px;color:var(--muted)}.imp-progress dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums}.imp-gate{grid-column:1 / -1;display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap}.imp-gate.ok{background:#f4faf7}.imp-gate.locked{background:#f1f1f4}.imp-gate ul{margin:4px 0 0;padding-left:18px}.imp-filters{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-end;margin:0 0 10px}.imp-filters label{display:grid;gap:3px;font-size:11px;color:var(--muted);min-width:0}.imp-filters select,.imp-filters input{min-width:120px;max-width:100%}.imp-filters .imp-count{margin-left:auto;font-size:12px;color:var(--muted);align-self:center}.imp-next{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 10px}.imp-row-focus{outline:2px solid var(--primary);outline-offset:-2px}.imp-readonly{font-size:12px;color:var(--muted)}.imp-error small{display:block;margin-top:4px;font-family:ui-monospace,monospace;font-size:11px;opacity:.85;overflow-wrap:anywhere}.import-preview .tablewrap{overflow-x:auto}@media(max-width:640px){.imp-progress{grid-template-columns:1fr}.imp-filters label{flex:1 1 calc(50% - 12px)}.imp-filters select,.imp-filters input{min-width:0;width:100%}.imp-filters .imp-count{margin-left:0;flex-basis:100%}.import-preview .rowline{flex-wrap:wrap}.issue-review .rowline input{flex-basis:100%}}.import-source-guide{display:grid;gap:12px}.source-file-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.source-file-item{display:grid;gap:4px;padding:10px 11px;border:1px solid #dce3df;border-radius:7px;background:#fbfcfb;color:inherit;text-align:left;min-width:0}.source-file-item:not(:disabled):hover{border-color:#8a78db;background:#f9f7ff}.source-file-item:disabled{opacity:1;cursor:default}.source-file-item>span:not(.source-file-head),.source-file-item small{color:var(--muted);font-size:12px}.source-file-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.source-file-head b{font-size:13px;word-break:keep-all}.source-file-head em{flex:0 0 auto;padding:2px 6px;border-radius:999px;background:#ece9f8;color:#5b47a8;font-size:10px;font-style:normal;font-weight:700}.source-missing .source-file-head em,.source-failed .source-file-head em{background:#fff1e8;color:#a14d1b}.source-committed .source-file-head em{background:#e6f5eb;color:#257044}.source-ready_for_commit .source-file-head em{background:#e7f2ff;color:#175fa8}.revision-summary{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:8px;margin:12px 0;padding:10px;border:1px solid #d7e2da;border-radius:8px;background:#f7faf8}.revision-summary div{display:grid;gap:2px;padding:7px 9px;border-left:3px solid #4b8060;background:#fff}.revision-summary div.attention{border-left-color:#bc6c25;background:#fff8ef}.revision-summary span{color:var(--muted);font-size:11px}.revision-summary b{font-size:18px;font-variant-numeric:tabular-nums}.revision-summary p{grid-column:1 / -1;margin:2px 0 0;color:var(--muted);font-size:12px}.revision-summary details{grid-column:1 / -1;font-size:12px}.revision-summary details p{margin-top:6px;line-height:1.6}.rev-new{background:#e9f5ed;color:#245b38}.rev-modified{background:#fff2d8;color:#7a4b00}.rev-unchanged{background:#efeff2;color:#5b5b65}.conflict-clean{background:#e9f5ed;color:#245b38}.conflict-conflict{background:#ffe4df;color:#8a2f22}.conflict-review{background:#fff2d8;color:#7a4b00}.conflict-none{background:#efeff2;color:#5b5b65}.conflict-detail{min-width:310px;margin-top:6px;font-size:11px}.conflict-detail>div{display:grid;grid-template-columns:90px repeat(3,minmax(110px,1fr));gap:5px;padding:5px 0;border-top:1px solid #e0e3e1}.conflict-detail span{overflow-wrap:anywhere}.conflict-message{display:block;max-width:260px;margin-top:5px;color:var(--muted);line-height:1.4}.revision-detail{min-width:240px;margin-top:6px;font-size:11px}.revision-detail>div{display:grid;gap:3px;padding:6px 0;border-top:1px solid #e0e3e1}.revision-detail span{display:block;padding:3px 5px;border-radius:4px;overflow-wrap:anywhere}.revision-detail .before{background:#fff1f0;color:#8f3029}.revision-detail .after{background:#edf8f0;color:#22663b}.review-actions{min-width:190px}.imp-pager{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin:8px 0 0;font-size:12px;color:var(--muted);flex-wrap:wrap}.imp-pager button{min-height:28px;padding:2px 12px}.pl-summary{display:flex;flex-wrap:wrap;gap:4px 18px;align-items:baseline;padding:8px 14px;margin-bottom:8px;border:1px solid #E4E1F5;border-radius:8px;background:#fff;font-size:12px;color:#4b4f78}.pl-summary b{color:#2b2f55}.pl-summary strong{font-variant-numeric:tabular-nums;color:#1d2046}.pl-summary strong.neg{color:#d03b3b}.pl-summary strong.positive{color:#2359bd}.pl-table-card .pl-table-head{flex-wrap:wrap;gap:8px}.pl-table-card .pl-table-head h2{margin:0 auto 0 0}.pl-range{margin:0}.pl-range button{padding:4px 10px;font-size:12px}.pl-fold{display:flex;gap:6px;margin:6px 0}.pl-fold button{padding:2px 8px;font-size:11px}.pl-table.pl-compact{overflow:auto;max-height:calc(100vh - 250px);min-height:240px;border:1px solid #DCD9EE;border-radius:4px}.pl-table.pl-compact table{min-width:0;width:100%;border-collapse:separate;border-spacing:0;font-size:12px}.pl-table.pl-compact.wide table{min-width:1120px}.pl-table.pl-compact td,.pl-table.pl-compact th{height:22px;padding:0 7px;line-height:1.2;border-bottom:1px dotted #D7D5E6;white-space:nowrap}.pl-table.pl-compact thead th{position:sticky;top:0;z-index:3;background:#6b6f85;color:#fff;font-size:12px;text-align:center;border-bottom:1px solid #55586B}.pl-table.pl-compact .num{text-align:right;font-variant-numeric:tabular-nums}.pl-table.pl-compact .pl-c1{position:sticky;left:0;z-index:2;width:92px;min-width:92px;background:#fbfaff;text-align:center}.pl-table.pl-compact .pl-c2{position:sticky;left:92px;z-index:2;min-width:170px;background:#fff;border-right:1px solid #C9C6DE}.pl-table.pl-compact thead .pl-c1,.pl-table.pl-compact thead .pl-c2{z-index:4;background:#6b6f85}.pl-table.pl-compact td:nth-child(2){min-width:170px}.pl-table.pl-compact .pl-row-total td,.pl-table.pl-compact .pl-row-total .pl-c2{background:#efeff3;font-weight:700;border-bottom:1px solid #C9C6DE}.pl-table.pl-compact .pl-row-total .pl-c2{text-align:center}.pl-table.pl-compact .pl-row-rate td,.pl-table.pl-compact .pl-row-rate .pl-c2{background:#d9d9de;color:#3a3d55;font-style:italic;font-size:11px;font-weight:400;border-bottom:1.5px solid #8E90A3}.pl-table.pl-compact .pl-row-rate .pl-c2{text-align:center}.pl-table.pl-compact .pl-row-profit td,.pl-table.pl-compact .pl-row-profit .pl-c2{background:#fff;font-weight:800;border-top:1.5px solid #6B6F85}.pl-table.pl-compact .pl-annual{background:#f4f2ff;border-left:2px solid #C8BBFF;font-weight:700}.pl-table.pl-compact .neg{color:#d03b3b}.pl-table.pl-compact td.positive{color:#2359bd}.pl-table.pl-compact td.neg{color:#d03b3b}.pl-group{border:0;background:none;padding:0;font:inherit;font-weight:600;color:#3d3f6b;cursor:pointer}.pl-group:hover{text-decoration:underline}details.pl-chart-card>summary{display:flex;align-items:baseline;gap:10px;cursor:pointer;list-style:none}details.pl-chart-card>summary::-webkit-details-marker{display:none}details.pl-chart-card>summary h2{margin:0}details.pl-chart-card>summary h2:before{content:"▸ "}details.pl-chart-card[open]>summary h2:before{content:"▾ "}details.pl-chart-card[open]>summary{margin-bottom:8px}@media print{.sidebar,.topbar,.pl-toolbar,.pl-range,.pl-fold,.pl-chart-card,.pl-table-card .note,.pl-table-head button{display:none!important}.pl-table.pl-compact{max-height:none;overflow:visible;border:0}.pl-table.pl-compact thead th,.pl-table.pl-compact .pl-c1,.pl-table.pl-compact .pl-c2{position:static}@page{size:A4 landscape;margin:10mm}}.pl-table.pl-compact .pl-group{height:auto;min-height:0;line-height:1.2;box-shadow:none}.pl-table-card{display:flex;flex-wrap:wrap;align-items:center;column-gap:8px}.pl-table-card .pl-table-head{flex:1 1 auto;margin-bottom:6px}.pl-table-card .pl-fold{margin:0 0 6px}.pl-table-card .pl-table,.pl-table-card>.note{flex:1 1 100%}.pl-table.pl-compact{max-height:calc(100vh - 300px)}.pl-summary{padding:4px 12px;margin-bottom:6px}.pl-table-card{padding:8px 14px}.pl-table-card .pl-table-head h2{font-size:14px}.pl-table-card .pl-table-head button,.pl-range button,.pl-fold button{min-height:0;height:26px;padding:0 9px;font-size:12px}.pl-table.pl-compact{max-height:min(780px,calc(100vh - 310px))}.pl-table-card>.note{margin:4px 0 0;font-size:10px}.pl-chart-card h2{margin:0 0 8px}.pl-chart-card .pl-chart{height:172px}.pl-chart-card .pl-profit{fill:#2359bd}.pl-table.pl-compact .pl-cell-value{display:block;width:100%;min-height:22px;height:22px;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:right;font-variant-numeric:tabular-nums;cursor:text}.pl-table.pl-compact .pl-cell-value:hover,.pl-table.pl-compact .pl-cell-value:focus-visible{background:#eae6ff;outline:1px solid #8066D5}.pl-cell-editor{display:flex;align-items:center;gap:2px;position:relative}.pl-table.pl-compact .pl-cell-editor input{width:76px;min-width:0;height:22px;padding:0 3px;text-align:right;font-size:11px}.pl-table.pl-compact .pl-cell-editor button{min-height:22px;height:22px;padding:0 3px}.pl-cell-error{position:absolute;top:23px;right:0;z-index:6;min-width:140px;padding:4px;background:#fff0f0;color:#a12828;box-shadow:0 1px 4px #aaa;white-space:normal;text-align:left}.pl-linked-cell{background:#eef6ff;color:#174987;font-weight:600;white-space:nowrap}.pl-linked-cell span{display:block;color:#56769a;font-size:10px;font-weight:500}.pl-reconcile{padding:10px 14px}.pl-reconcile summary{cursor:pointer;color:#a34c18;font-weight:600}.pl-reconcile .tablewrap{margin-top:10px;max-height:260px;overflow:auto}
