:root{color:#17201c;background:#f4f7f3;font-family:Inter,Microsoft YaHei,sans-serif}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}.auth-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-panel{width:min(100%,460px);padding:30px}.auth-panel h1{margin:8px 0;font-size:34px}.auth-panel>p{color:#647169;line-height:1.6}.auth-panel form{gap:16px;margin-top:22px;display:grid}.auth-links{justify-content:space-between;gap:12px;margin-top:18px;display:flex}.auth-links button{color:#126b45;cursor:pointer;background:0 0;border:0;padding:6px 0}.success-banner{color:#126b45;background:#e8f3ec;border-radius:10px;padding:12px}.app-shell{width:min(1180px,100% - 32px);margin:0 auto;padding:48px 0 80px}.account-bar{color:#647169;justify-content:flex-end;align-items:center;gap:12px;margin-bottom:14px;font-size:13px;display:flex}.account-bar button{cursor:pointer;background:#fff;border:1px solid #c9d5cd;border-radius:9px;padding:7px 11px}.app-header h1{letter-spacing:-.04em;margin:6px 0;font-size:clamp(32px,6vw,58px)}.app-header p{color:#647169;margin-bottom:28px}.eyebrow{color:#15704a;letter-spacing:.12em;text-transform:uppercase;font-size:13px;font-weight:800}.panel{background:#fff;border:1px solid #dce5df;border-radius:18px;box-shadow:0 14px 40px #17372912}.input-panel{gap:18px;padding:24px;display:grid}label{gap:8px;font-weight:700;display:grid}input,textarea,select{width:100%;color:inherit;background:#fbfcfb;border:1px solid #cdd8d1;border-radius:10px;padding:11px 12px}textarea{resize:vertical;line-height:1.6}.primary-button{color:#fff;cursor:pointer;background:#126b45;border:0;border-radius:12px;justify-self:start;padding:13px 22px;font-weight:800}.review-heading{justify-content:space-between;align-items:end;margin:30px 0 14px;display:flex}.review-heading h2{margin:4px 0 0}.source-note{margin-bottom:18px;padding:18px 20px}.source-note summary{cursor:pointer;font-weight:800}.source-note pre{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;font:inherit;margin:14px 0 0;overflow-x:auto}.summary-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px;display:grid}.summary-card{background:#e8f3ec;border-radius:14px;gap:7px;padding:17px;display:grid}.summary-card span{color:#5e6b63;font-size:13px}.summary-card strong{font-size:22px}.table-wrap{overflow:hidden}.review-tools{flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:12px;display:flex}.review-tools button,.delete-button{cursor:pointer;background:#fff;border:1px solid #c9d5cd;border-radius:9px;padding:9px 12px}.review-tools button:disabled{opacity:.45;cursor:not-allowed}.review-tools label{align-items:center;gap:8px;font-size:13px;display:flex}.review-tools select{width:auto}.money-input{width:140px;min-width:140px}.date-input{width:142px;min-width:142px}.expense-note-input{width:128px}.invoice-status-select{min-width:152px;padding-right:40px}.delete-button{color:#a02e2e;white-space:nowrap;min-width:72px}.expense-table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid #e8eeea;padding:12px}th{color:#657169;background:#f8faf8;font-size:13px}td code{color:#266244}tr[data-status=待确认]{box-shadow:inset 4px 0 #e3ad28}.error-banner{color:#9a2424;background:#ffe8e8;border-radius:10px;padding:12px}.export-panel{margin-top:18px;padding:22px}.export-panel h2{margin:5px 0 12px}.pending-note{color:#805e12}.export-actions{flex-wrap:wrap;gap:10px;display:flex}.export-actions button{color:#126b45;cursor:pointer;background:#fff;border:1px solid #126b45;border-radius:10px;padding:11px 18px;font-weight:800}.export-actions button:disabled{opacity:.45;cursor:not-allowed}.project-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;display:flex}.project-actions button,.file-button{color:#34453b;cursor:pointer;background:#fff;border:1px solid #c9d5cd;border-radius:10px;padding:10px 14px;font-weight:700}.file-button{display:inline-block}.file-button input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.standalone-import{margin-top:14px}.backup-warning{color:#6d5419;background:#fff4d8;border-radius:10px;margin:18px 0 0;padding:10px 12px}.saved-projects{margin-top:34px}.saved-projects-heading{margin-bottom:14px}.saved-projects-heading h2{margin:5px 0 0}.saved-project-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.saved-project-card{gap:14px;padding:20px;display:grid}.saved-project-card h3{margin:0 0 6px}.saved-project-card p{color:#647169;margin:0}.saved-project-total{color:#126b45;font-size:24px}.saved-project-modified{font-size:13px}.saved-project-actions{flex-wrap:wrap;gap:9px;display:flex}.saved-project-actions .primary-button{padding:10px 14px}@media (width<=1100px){.app-shell{width:min(100% - 20px,620px);padding-top:24px}.source-note{padding:14px}.summary-grid{grid-template-columns:1fr 1fr}.expense-table thead{display:none}.expense-table,.expense-table tbody,.expense-table tr,.expense-table td{width:100%;display:block}.expense-table tr{border-bottom:8px solid #f4f7f3;padding:14px}.expense-table td{border:0;grid-template-columns:82px 1fr;align-items:center;gap:10px;padding:6px;display:grid}.expense-table td:before{content:attr(data-label);color:#68746c;font-size:13px}.expense-table .invoice-status-select{min-width:152px;padding-right:44px;font-size:16px}.expense-table .date-input{width:100%;min-width:0}.expense-table .expense-note-input{padding:8px 10px;font-size:14px}.expense-table .delete-button{white-space:nowrap;min-width:72px}.saved-project-grid{grid-template-columns:1fr}}
