@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,600&display=swap";:root,[data-theme=light]{--bg:#f2ece0;--bg-surface:#faf7f0;--bg-elevated:#ece5d6;--bg-input:#f5f1e8;--bg-header:#f2ece0f2;--bg-dot:#ac9a802e;--border:#d0c4b0;--border-light:#ddd5c5;--border-amber:#ac804852;--text-primary:#2a2018;--text-secondary:#6b5d4e;--text-muted:#a8967e;--text-amber:#9a7040;--amber:#b8875a;--amber-dim:#b8875a1f;--amber-glow:#b8875a0f;--accent-rose:#b8837a;--accent-sage:#7a9484;--accent-navy:#5a6878;--col-budget:#6a85b0;--col-actual:#9878b0;--col-paid:#6aa080;--col-pending:#c07848;--danger:#b85050;--danger-dim:#b850501a;--shadow-sm:0 1px 4px #3c281414, 0 1px 2px #3c28140f;--shadow-md:0 4px 16px #3c28141a, 0 2px 6px #3c281412;--shadow-lg:0 12px 40px #3c281424, 0 4px 12px #3c281414;--shadow-amber:0 0 24px #b8875a1f;--r-sm:4px;--r-md:8px;--r-lg:12px;--font-display:"Cormorant Garamond", "Playfair Display", Georgia, serif;--font-mono:"DM Mono", "Courier New", monospace;--font-body:"Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif}[data-theme=dark]{--bg:#1c1710;--bg-surface:#241e14;--bg-elevated:#2e2718;--bg-input:#181410;--bg-header:#1c1710f5;--bg-dot:#50402c80;--border:#3d3424;--border-light:#2e2818;--border-amber:#c4a06438;--text-primary:#f0e8d4;--text-secondary:#a89070;--text-muted:#6b5840;--text-amber:#c4a060;--amber:#c09050;--amber-dim:#c0905024;--amber-glow:#c090500f;--accent-rose:#c09088;--accent-sage:#8aac96;--accent-navy:#7890a8;--col-budget:#8aa4cc;--col-actual:#b898cc;--col-paid:#88bb9c;--col-pending:#cc9860;--danger:#c06060;--danger-dim:#c060601f;--shadow-sm:0 1px 4px #0000004d;--shadow-md:0 4px 16px #0006;--shadow-lg:0 12px 40px #00000080;--shadow-amber:0 0 24px #c090501a;--r-sm:4px;--r-md:8px;--r-lg:12px;--font-display:"Cormorant Garamond", "Playfair Display", Georgia, serif;--font-mono:"DM Mono", "Courier New", monospace;--font-body:"Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:15px}body{font-family:var(--font-body);background-color:var(--bg);background-image:repeating-linear-gradient(0deg, transparent, transparent 28px, var(--bg-dot) 28px, var(--bg-dot) 29px), repeating-linear-gradient(90deg, transparent, transparent 28px, var(--bg-dot) 28px, var(--bg-dot) 29px);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.7;transition:background-color .3s,color .3s}#root{flex-direction:column;min-height:100vh;display:flex}button{cursor:pointer;font-family:var(--font-body);border:none;outline:none}input,textarea,select{font-family:var(--font-body);outline:none}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:var(--bg-surface)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes pulse-brass{0%,to{box-shadow:0 0 #b8875a4d}50%{box-shadow:0 0 0 5px #b8875a00}}.btn{border-radius:var(--r-sm);letter-spacing:.8px;white-space:nowrap;font-size:13px;font-weight:500;font-family:var(--font-body);text-transform:uppercase;align-items:center;gap:6px;padding:9px 20px;transition:all .2s;display:inline-flex}.btn-primary{background:var(--amber);color:#faf7f0;border:1px solid #0000;font-weight:600}.btn-primary:hover{background:#c49060;transform:translateY(-1px);box-shadow:0 4px 14px #b8875a59}.btn-primary:active{transform:translateY(0)}.btn-outline{color:var(--amber);border:1px solid var(--border-amber);background:0 0}.btn-outline:hover{background:var(--amber-dim);border-color:var(--amber)}.btn-ghost{color:var(--text-secondary);border:1px solid var(--border);background:0 0}.btn-ghost:hover{background:var(--bg-elevated);color:var(--text-primary)}.btn-danger{background:var(--danger-dim);color:var(--danger);border:1px solid #b8505038}.btn-danger:hover{background:#b850502e}.btn-sm{padding:5px 14px;font-size:11px}.btn-icon{border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:inline-flex}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1c140cb3;justify-content:center;align-items:center;padding:16px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-box{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);width:100%;max-width:480px;box-shadow:var(--shadow-lg);max-height:92vh;padding:36px;animation:.22s scaleIn;position:relative;overflow-y:auto}.modal-box:before{content:"";background:linear-gradient(90deg, transparent, var(--amber), transparent);border-radius:0 0 2px 2px;height:2px;position:absolute;top:0;left:36px;right:36px}.modal-header{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.modal-title{font-family:var(--font-display);color:var(--text-primary);letter-spacing:.5px;font-size:24px;font-style:italic;font-weight:500}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 6px;font-size:18px;line-height:1;transition:all .15s}.modal-close:hover{color:var(--text-primary);background:var(--bg-elevated)}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;margin-top:28px;padding-top:20px;display:flex}.form-group{margin-bottom:20px}.form-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1.8px;font-size:10px;font-weight:500;font-family:var(--font-mono);margin-bottom:8px;display:block}.form-input{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg-input);width:100%;color:var(--text-primary);padding:11px 14px;font-size:14px;transition:border-color .2s,box-shadow .2s}.form-input:focus{border-color:var(--amber);box-shadow:0 0 0 3px #b8875a1a}.form-input::placeholder{color:var(--text-muted)}input[type=date]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-mono);letter-spacing:.5px}[data-theme=dark] input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}input[type=date]::-webkit-calendar-picker-indicator{filter:sepia(60%)saturate(60%)brightness(.85);cursor:pointer;opacity:.6;border-radius:3px;padding:2px;transition:opacity .15s}input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1;background:#b8875a1f}.inline-date-field{background:var(--bg-elevated);border:1px solid var(--border-amber);border-radius:var(--r-sm);align-items:center;gap:6px;margin-bottom:4px;padding:4px 10px;display:inline-flex}.inline-date-field input[type=date]{color:var(--text-primary);font-family:var(--font-mono);letter-spacing:.8px;background:0 0;border:none;width:130px;padding:0;font-size:12px}.inline-date-field input[type=date]:focus{outline:none}.date-clear-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:10px;line-height:1}.date-clear-btn:hover{color:var(--danger)}.ornament-divider{color:var(--text-muted);opacity:.5;align-items:center;gap:10px;display:flex}.ornament-divider:before,.ornament-divider:after{content:"";background:var(--border);flex:1;height:1px}@media (width<=768px){html{font-size:14px}.modal-box{border-radius:var(--r-md);padding:24px 20px}}
