:root{color:#1f2328;background:#fff;font-family:system-ui,-apple-system,Apple SD Gothic Neo,Malgun Gothic,sans-serif}body{margin:0}main{max-width:960px;margin:0 auto;padding:24px 16px}h1{margin:0 0 16px;font-size:1.5rem}.file-drop{text-align:center;background:#f6f8fa;border:2px dashed #8c959f;border-radius:12px;padding:24px 16px}.file-drop.dragging{background:#ddf4ff;border-color:#0969da}.file-drop p{margin:0 0 12px}.file-drop .hint{color:#57606a;margin:12px 0 0;font-size:.875rem}button{font:inherit;color:#fff;cursor:pointer;background:#1f883d;border:1px solid #1f883d;border-radius:8px;padding:8px 16px}button:disabled{opacity:.6;cursor:default}.loading{color:#57606a}.summary{border:1px solid #d0d7de;border-radius:12px;margin-top:16px;padding:16px}.summary p{margin:0 0 8px}.summary p:last-child{margin-bottom:0}.file-name{word-break:break-all;font-weight:600}.summary-line{font-size:1.125rem}.file-date{color:#57606a}.warning{background:#fff8c5;border:1px solid #d4a72c;border-radius:8px;padding:8px 12px}.error{color:#82071e;background:#ffebe9;border:1px solid #cf222e;border-radius:8px;margin-top:16px;padding:12px 16px}h2{margin:0 0 8px;font-size:1.125rem}.hint{color:#57606a;font-size:.875rem}select{font:inherit;background:#fff;border:1px solid #8c959f;border-radius:6px;max-width:100%;padding:6px 8px}.mapper,.selection{border:1px solid #d0d7de;border-radius:12px;margin-top:16px;padding:16px}.mapper{background:#fffdf2;border-color:#d4a72c}.mapper-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:12px 0 16px;display:grid}.mapper-grid label{flex-direction:column;gap:4px;display:flex}.mapper-grid label.missing span{color:#9a6700;font-weight:600}.selection p{margin:8px 0 0}.agent{margin:0}.selection-line{font-size:1.125rem}button.secondary{color:#1f2328;background:#f6f8fa;border-color:#8c959f}input[type=text],input[type=date]{font:inherit;border:1px solid #8c959f;border-radius:6px;padding:6px 8px}.closing{border:1px solid #d0d7de;border-radius:12px;margin-top:24px;padding:16px}.month-list{margin:0 0 12px;padding:0;list-style:none}.month-list li{border-bottom:1px solid #d8dee4;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;display:flex}.month-actions,.month-buttons{flex-wrap:wrap;gap:8px;display:flex}.month-name{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.month-name input{flex:1;min-width:200px}.week-rows{margin:12px 0;padding:0;list-style:none}.week-rows li{border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 8px;display:flex}.week-rows li.bad{background:#ffebe9}.week-rows li.bad input{border-color:#cf222e}.week-no{min-width:3.5em;font-weight:600}input[aria-invalid=true]{border-color:#cf222e}.issues{border-radius:8px;margin:8px 0;padding:8px 12px 8px 28px}.issues.errors{color:#82071e;background:#ffebe9;border:1px solid #cf222e}.issues.warnings{background:#fff8c5;border:1px solid #d4a72c}.basis{margin-top:12px}.toggle,.tabs{flex-wrap:wrap;gap:0;display:inline-flex}.toggle button,.tabs button{color:#1f2328;background:#fff;border-color:#8c959f;border-radius:0}.toggle button:first-child,.tabs button:first-child{border-radius:8px 0 0 8px}.toggle button:last-child,.tabs button:last-child{border-radius:0 8px 8px 0}.toggle button+button,.tabs button+button{border-left:none}.toggle button[aria-pressed=true],.tabs button[aria-selected=true]{color:#fff;background:#0969da;border-color:#0969da;font-weight:600}.results{border:1px solid #d0d7de;border-radius:12px;margin-top:16px;padding:16px}.results h2{margin-top:16px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}th,td{text-align:left;white-space:nowrap;border-bottom:1px solid #d8dee4;padding:6px 10px}thead th{background:#f6f8fa;font-size:.875rem}tbody th{font-weight:500}tfoot th,tfoot td{border-top:2px solid #8c959f;font-weight:700}.num{text-align:right}td.zero{color:#8c959f}td small{color:#57606a;font-weight:400}.difference{width:auto;min-width:320px}.difference tr.subtotal th,.difference tr.subtotal td{border-top:2px solid #8c959f;font-weight:700}.ok{background:#dafbe1;border:1px solid #1f883d;border-radius:8px;padding:8px 12px}.warning p,.warning ul{margin:0}.warning ul{padding-left:20px}.export{margin-top:16px}.cell-link{font:inherit;color:inherit;text-underline-offset:3px;background:0 0;border:0;border-radius:0;padding:0;-webkit-text-decoration:underline dotted #8c959f;text-decoration:underline dotted #8c959f}.cell-link:hover{color:#0969da}td.selected{background:#ddf4ff}.cell-products{background:#f6fbff;border:1px solid #54aeff;border-radius:12px;margin-top:12px;padding:12px 16px}.cell-products h3{margin:0 0 8px;font-size:1rem}.cell-products th.product{white-space:normal}.cell-products button{margin-top:12px}.search{border:1px solid #d0d7de;border-radius:12px;margin-top:16px;padding:16px}.search h2{margin-top:0}.search-form{flex-wrap:wrap;gap:8px 16px;display:flex}.search-form select{font:inherit;border-radius:6px;padding:6px 8px}.search-total{font-size:1.125rem}.search th.product{white-space:normal}.ask{background:#f6fbff;border:1px solid #54aeff;border-radius:12px;margin-bottom:16px;padding:12px 16px}.ask-form label{font-weight:600}.ask-row{gap:8px;margin-top:6px;display:flex}.ask-row input{min-width:0;font:inherit;border:1px solid #8c959f;border-radius:6px;flex:1;padding:6px 8px}.incentive{border:1px solid #d0d7de;border-radius:12px;margin-top:16px;padding:16px}.incentive h2{margin-top:0}.incentive-table th,.incentive-table td{font-size:.875rem}.incentive-details{margin:0;padding:0;list-style:none}.incentive-details li{border-bottom:1px solid #d8dee4;padding:8px 0}.incentive-details li.paid strong{color:#1a7f37}.incentive-details p{margin:4px 0 0}.incentive-details input{font:inherit;border:1px solid #8c959f;border-radius:6px;width:140px;padding:4px 6px}.toolbar{margin:0 0 8px}button.link{color:#0969da;background:0 0;border:none;padding:4px 0}.tool-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin:16px 0 0;padding:0;list-style:none;display:grid}.tool-tile{color:#1f2328;text-align:center;background:#f6f8fa;border:1px solid #d0d7de;border-radius:12px;flex-direction:column;align-items:center;gap:8px;width:100%;height:100%;padding:24px 16px;display:flex}.tool-tile:hover{background:#ddf4ff;border-color:#0969da}.tool-icon{font-size:2.5rem}.tool-name{font-size:1.125rem;font-weight:600}.tool-desc{color:#57606a;font-size:.875rem}
