:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.app{background:#f5f7fa;flex-direction:column;min-height:100vh;display:flex}.header{color:#fff;text-align:center;background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);padding:40px 20px}.header-top{justify-content:center;align-items:center;gap:20px;margin-bottom:10px;display:flex}.header h1{margin:0;font-size:32px;font-weight:600}.header p{opacity:.8;margin:0;font-size:16px}.config-btn{color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #ffffff4d;border-radius:6px;padding:8px 16px;font-size:14px;transition:all .2s}.config-btn:hover{background:#ffffff40}.usage-badge{background:#fff3;border-radius:20px;margin-top:15px;padding:8px 16px;font-size:14px}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{text-align:center;background:#fff;border-radius:12px;max-width:400px;padding:30px}.modal h2{color:#1a1a2e;margin:0 0 15px}.modal p{color:#666;margin:10px 0}.pricing-info{flex-direction:column;gap:10px;margin:20px 0;display:flex}.plan{background:#f5f7fa;border-radius:8px;flex-direction:column;gap:5px;padding:15px;display:flex}.plan strong{color:#4a90e2}.plan span{color:#666;font-size:14px}.modal button{color:#fff;cursor:pointer;background:#4a90e2;border:none;border-radius:6px;margin-top:15px;padding:10px 30px}.modal button:hover{background:#3a7bc8}.modal button[type=button]{color:#333;background:#ddd}.modal button[type=button]:hover{background:#ccc}.modal button.primary{background:#4a90e2}.modal button.primary:hover{background:#3a7bc8}.modal-actions{justify-content:center;gap:10px;margin-top:20px;display:flex}.edit-modal{max-width:500px}.edit-form{flex-direction:column;gap:5px;display:flex}.cancel-btn{color:#333;cursor:pointer;background:#ddd;border:none;border-radius:6px;padding:10px 30px}.cancel-btn:hover{background:#ccc}.save-btn{color:#fff;cursor:pointer;background:#4a90e2;border:none;border-radius:6px;padding:10px 30px}.save-btn:hover{background:#3a7bc8}.form-group{text-align:left;margin-bottom:15px}.form-group label{color:#333;margin-bottom:5px;font-size:14px;font-weight:500;display:block}.form-group input{box-sizing:border-box;border:1px solid #ddd;border-radius:6px;width:100%;padding:10px;font-size:14px}.form-group input:focus{border-color:#4a90e2;outline:none}.config-help{color:#999;margin-top:15px;font-size:12px}.config-help a{color:#4a90e2;text-decoration:none}.config-help a:hover{text-decoration:underline}.main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:40px 20px}.upload-section{margin-bottom:40px}.upload-area{text-align:center;cursor:pointer;background:#fff;border:2px dashed #ddd;border-radius:12px;padding:60px 20px;transition:all .3s}.upload-area.active{background:#f0f7ff;border-color:#4a90e2}.upload-area:hover{border-color:#4a90e2}.upload-area.disabled{cursor:not-allowed;background:#f5f5f5;border-color:#ddd}.upload-area.disabled:hover{border-color:#ddd}.upload-label{color:#333;cursor:pointer;font-size:18px;display:block}.upload-label.disabled{color:#999;cursor:not-allowed}.upload-hint{color:#999;margin-top:15px;font-size:14px}.data-section{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000000d}.actions{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;display:flex}.actions-left{align-items:center;gap:12px;display:flex}.filter-bar{align-items:center;gap:12px;margin-bottom:20px;display:flex}.search-box{flex:1}.search-input{box-sizing:border-box;border:1px solid #ddd;border-radius:6px;width:100%;padding:10px 15px;font-size:14px}.search-input:focus{border-color:#4a90e2;outline:none}.date-filter{width:140px}.filter-select{cursor:pointer;box-sizing:border-box;background:#fff;border:1px solid #ddd;border-radius:6px;width:100%;padding:10px 15px;font-size:14px}.filter-select:focus{border-color:#4a90e2;outline:none}.export-btn{color:#fff;cursor:pointer;background:#4a90e2;border:none;border-radius:6px;padding:10px 20px;font-size:14px;transition:background .2s}.export-btn:hover{background:#3a7bc8}.count{color:#666;font-size:14px}.invoice-table{border-collapse:collapse;width:100%}.invoice-table th,.invoice-table td{text-align:left;border-bottom:1px solid #eee;padding:12px 15px}.invoice-table th{color:#333;background:#f9f9f9;font-weight:600}.invoice-table td{color:#555;font-size:14px}.status{border-radius:4px;padding:4px 12px;font-size:12px;display:inline-block}.status.completed{color:#2e7d32;background:#e8f5e9}.status.processing{color:#ef6c00;background:#fff3e0}.status.error{color:#c62828;background:#ffebee}.status.pending{color:#666;background:#f5f5f5}.error-msg{color:#c62828;margin-top:4px;font-size:11px;display:block}.delete-btn{color:#c62828;cursor:pointer;background:0 0;border:1px solid #c62828;border-radius:4px;padding:4px 10px;font-size:12px;transition:all .2s}.delete-btn:hover{color:#fff;background:#c62828}.edit-btn{color:#4a90e2;cursor:pointer;background:0 0;border:1px solid #4a90e2;border-radius:4px;margin-right:5px;padding:4px 10px;font-size:12px;transition:all .2s}.edit-btn:hover{color:#fff;background:#4a90e2}.empty-section{text-align:center;color:#999;padding:60px 20px}.empty-title{color:#666;margin-bottom:8px;font-size:18px}.empty-desc{color:#999;font-size:14px}.features-row{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:20px;display:flex}.feature-tag{color:#ffffffe6;background:#ffffff26;border-radius:16px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;display:flex}.feature-dot{background:#4ecdc4;border-radius:50%;width:6px;height:6px}.how-section{text-align:center;max-width:800px;margin:0 auto;padding:40px 20px 20px}.how-section h2{color:#333;margin-bottom:30px;font-size:22px;font-weight:600}.steps-row{justify-content:center;align-items:center;gap:16px;display:flex}.step-card{text-align:center;background:#fff;border-radius:10px;flex:1;max-width:200px;padding:24px 20px;box-shadow:0 2px 12px #0000000f}.step-num{color:#fff;background:#1a1a2e;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;margin:0 auto 12px;font-size:16px;font-weight:600;display:flex}.step-title{color:#333;margin-bottom:6px;font-size:16px;font-weight:600}.step-desc{color:#888;font-size:13px}.step-arrow{border-top:6px solid #0000;border-bottom:6px solid #0000;border-left:8px solid #ccc;flex-shrink:0;width:0;height:0}.pricing-section{text-align:center;background:#f5f7fa;padding:40px 20px}.pricing-section h2{color:#333;margin-bottom:30px;font-size:22px;font-weight:600}.pricing-cards{flex-wrap:wrap;justify-content:center;gap:20px;max-width:800px;margin:0 auto;display:flex}.pricing-card{text-align:center;background:#fff;border:2px solid #0000;border-radius:12px;width:230px;padding:28px 24px;transition:border-color .2s;box-shadow:0 2px 12px #0000000f}.pricing-card.active-plan{border-color:#4ecdc4}.plan-name{color:#333;margin-bottom:12px;font-size:16px;font-weight:600}.plan-price{color:#1a1a2e;margin-bottom:16px;font-size:36px;font-weight:700}.plan-price span{color:#888;font-size:14px;font-weight:400}.plan-features{text-align:left;margin:0;padding:0;list-style:none}.plan-features li{color:#555;border-bottom:1px solid #f0f0f0;padding:6px 0;font-size:14px}.plan-features li:last-child{border-bottom:none}.footer{color:#fff;text-align:center;opacity:.9;background:#1a1a2e;padding:20px}.footer p{margin:5px 0;font-size:14px}.stats-toggle-btn{color:#4a90e2;cursor:pointer;background:#f5f7fa;border:1px solid #4a90e2;border-radius:6px;padding:8px 16px;font-size:14px;transition:all .2s}.stats-toggle-btn:hover{color:#fff;background:#4a90e2}.stats-panel{background:#f5f7fa;border-radius:8px;margin-bottom:20px;padding:20px}.stats-header{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.stats-header h3{color:#1a1a2e;margin:0;font-size:18px}.stats-header .close-btn{color:#666;cursor:pointer;background:0 0;border:none;padding:5px 10px;font-size:14px}.stats-header .close-btn:hover{color:#333}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:15px;margin-bottom:20px;display:grid}.stat-card{text-align:center;background:#fff;border-radius:8px;padding:15px}.stat-label{color:#666;margin-bottom:8px;font-size:13px}.stat-value{color:#1a1a2e;font-size:24px;font-weight:600}.stat-value.success{color:#2e7d32}.stat-value.amount{color:#4a90e2}.recent-records{background:#fff;border-radius:8px;padding:15px}.recent-records h4{color:#333;margin:0 0 12px;font-size:14px}.recent-list{flex-direction:column;gap:10px;display:flex}.recent-item{background:#f5f7fa;border-radius:6px;justify-content:space-between;align-items:center;padding:10px;display:flex}.recent-info{flex:1;align-items:center;gap:10px;display:flex}.recent-filename{color:#333;text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:13px;overflow:hidden}.recent-status{border-radius:4px;padding:3px 8px;font-size:11px}.recent-status.status-completed{color:#2e7d32;background:#e8f5e9}.recent-status.status-error{color:#c62828;background:#ffebee}.recent-amount{color:#4a90e2;font-size:14px;font-weight:500}.stats-loading,.stats-error{text-align:center;color:#666;padding:20px}@media (width<=768px){.invoice-table{display:block;overflow-x:auto}.header h1{font-size:24px}.upload-area{padding:40px 15px}.steps-row{flex-direction:column;gap:12px}.step-arrow{transform:rotate(90deg)}.step-card{width:100%;max-width:100%;padding:20px}.pricing-cards{flex-direction:column;align-items:center}.pricing-card{width:100%;max-width:300px}.features-row{gap:8px}.feature-tag{padding:5px 10px;font-size:12px}.how-section{padding:30px 15px 15px}.how-section h2{margin-bottom:20px;font-size:18px}.pricing-section h2{font-size:18px}}.batch-actions{background:#f0f7ff;border-radius:6px;align-items:center;gap:15px;margin-bottom:15px;padding:12px 15px;display:flex}.selected-count{color:#4a90e2;font-size:14px;font-weight:500}.batch-delete-btn{color:#fff;cursor:pointer;background:#c62828;border:none;border-radius:6px;padding:8px 16px;font-size:14px;transition:background .2s}.batch-delete-btn:hover{background:#b71c1c}.cancel-select-btn{color:#666;cursor:pointer;background:0 0;border:1px solid #ddd;border-radius:6px;padding:8px 16px;font-size:14px;transition:all .2s}.cancel-select-btn:hover{background:#f5f5f5;border-color:#ccc}.checkbox-col{text-align:center;width:40px}.checkbox-col input[type=checkbox]{cursor:pointer;width:16px;height:16px}.invoice-table tbody tr.selected{background:#f0f7ff}.invoice-table tbody tr:hover{background:#f9f9f9}.invoice-table tbody tr.selected:hover{background:#e8f4fd}.category-select{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:6px;width:100%;padding:10px;font-size:14px}.category-select:focus{border-color:#4a90e2;outline:none}.category-tag{border-radius:4px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-block}.category-未分类{color:#666;background:#f5f5f5}.category-餐饮{color:#e65100;background:#fff3e0}.category-交通{color:#1565c0;background:#e3f2fd}.category-办公用品{color:#6a1b9a;background:#f3e5f5}.category-差旅{color:#2e7d32;background:#e8f5e9}.category-招待{color:#c2185b;background:#fce4ec}.category-采购{color:#f57f17;background:#fff8e1}.category-服务{color:#006064;background:#e0f7fa}.category-其他{color:#4e342e;background:#efebe9}.image-col{text-align:center;width:60px}.thumbnail-container{cursor:pointer;display:inline-block}.image-preview{justify-content:center;align-items:center;width:50px;height:50px;display:flex}.thumbnail-image{object-fit:cover;border:1px solid #eee;border-radius:4px;width:50px;height:50px;transition:transform .2s}.thumbnail-image:hover{transform:scale(1.1)}.image-placeholder{color:#999;background:#f5f5f5;border-radius:4px;justify-content:center;align-items:center;width:50px;height:50px;font-size:11px;display:flex}.image-placeholder.loading{background:#f0f0f0}.image-placeholder.error{color:#c62828;background:#ffebee}.image-modal{width:auto;max-width:90vw;padding:0;overflow:hidden}.image-modal-header{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:20px;display:flex}.image-modal-header h3{color:#333;text-overflow:ellipsis;white-space:nowrap;max-width:70vw;margin:0;font-size:16px;overflow:hidden}.image-modal-header .close-btn{color:#999;cursor:pointer;background:0 0;border:none;width:32px;height:32px;padding:0;font-size:28px;line-height:1}.image-modal-header .close-btn:hover{color:#333}.image-modal-content{background:#f5f5f5;justify-content:center;align-items:center;padding:20px;display:flex}.preview-image{object-fit:contain;border-radius:4px;max-width:100%;max-height:70vh}@media (width<=768px){.image-modal{max-width:95vw}.image-modal-header,.image-modal-content{padding:15px}.preview-image{max-height:60vh}}
