.dashboard[data-v-bcb406e4]{padding:20px 0}.stats-cards[data-v-bcb406e4]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.card[data-v-bcb406e4]{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 10px #0000000d;text-align:center}.card h3[data-v-bcb406e4]{margin:0 0 10px;color:#666;font-size:16px}.card .number[data-v-bcb406e4]{font-size:36px;font-weight:700;color:#333;margin:0}.card .unit[data-v-bcb406e4]{font-size:14px;color:#999;font-weight:400}.card.total .number[data-v-bcb406e4]{color:#4caf50}.card.alert.has-alert .number[data-v-bcb406e4]{color:#ff4d4f}.card .desc[data-v-bcb406e4]{font-size:12px;color:#ff4d4f;margin-top:5px}.charts-container[data-v-bcb406e4]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.chart[data-v-bcb406e4]{height:350px;background:#fff;border-radius:8px;padding:15px;box-shadow:0 2px 10px #0000000d}@media (max-width: 600px){.chart[data-v-bcb406e4]{height:300px}}.module-box[data-v-e14d776f]{padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 12px #0000001a}.tag[data-v-e14d776f]{background:#e3f2fd;color:#1976d2;padding:2px 8px;border-radius:4px;font-size:.9em}.module-box[data-v-68e2995f]{padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 12px #0000001a}.tag[data-v-68e2995f]{padding:2px 8px;border-radius:4px;font-size:.9em}.tag-success[data-v-68e2995f]{background:#e8f5e9;color:#2e7d32}.tag-danger[data-v-68e2995f]{background:#ffebee;color:#c62828}.module-box[data-v-8370bfa2]{padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 12px #0000001a}.tag[data-v-8370bfa2]{padding:2px 8px;border-radius:4px;font-size:.9em}.tag-income[data-v-8370bfa2]{background:#fbe9e7;color:#d84315}.tag-income[data-v-8370bfa2]{background:#e8f5e9;color:#2e7d32}.tag-expense[data-v-8370bfa2]{background:#ffebee;color:#c62828}.text-income[data-v-8370bfa2]{color:#2e7d32;font-weight:700}.text-expense[data-v-8370bfa2]{color:#c62828;font-weight:700}.module-box[data-v-b1dc05d0]{padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 12px #0000001a}.grid-container[data-v-b1dc05d0]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;margin-top:20px}.card[data-v-b1dc05d0]{border:1px solid #eee;border-radius:8px;padding:15px;position:relative;background:#f9f9f9}.card-header[data-v-b1dc05d0]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.badge[data-v-b1dc05d0]{background:#e0f2f1;color:#00695c;padding:2px 6px;border-radius:4px;font-size:.8em}.env-monitor[data-v-b1dc05d0]{display:flex;gap:10px;margin-top:10px;color:#666;font-size:.9em}.btn-delete-sm[data-v-b1dc05d0]{background:#ff5252;color:#fff;border:none;padding:4px 8px;border-radius:4px;cursor:pointer;position:absolute;bottom:10px;right:10px;font-size:.8em}.module-box[data-v-c9469ca6]{padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 12px #0000001a}.info-row[data-v-c9469ca6]{display:flex;justify-content:space-between;margin-bottom:16px;padding:10px 0;border-bottom:1px solid #eee}.form-group[data-v-c9469ca6]{background:#f8f9fa;padding:20px;border-radius:8px}.form-row[data-v-c9469ca6]{display:flex;gap:10px;margin-bottom:12px}.btn-primary[data-v-c9469ca6]{padding:10px 20px;background:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer}.btn-logout[data-v-c9469ca6]{background:#f44336}input,select,textarea{padding:10px;border:1px solid #ddd;border-radius:4px;outline:none;transition:border-color .3s;width:100%;box-sizing:border-box}input:focus,select:focus,textarea:focus{border-color:#4caf50}button{padding:10px 25px;background-color:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:700;transition:background .3s}button:hover{background-color:#45a049}.btn-delete{background-color:#ff4d4f}.btn-delete:hover{background-color:#ff7875}.form-group{background:#f8f9fa;padding:20px;border-radius:8px;margin-bottom:25px}.form-row{display:flex;gap:12px;margin-bottom:12px}@media (max-width: 600px){.form-row{flex-direction:column}}.form-row:last-child{margin-bottom:0}.container[data-v-20fd2a26]{max-width:800px;margin:0 auto;background:#fff;padding:30px;border-radius:12px;box-shadow:0 4px 20px #00000014;font-family:Microsoft YaHei,sans-serif}h1[data-v-20fd2a26]{color:#1a1a1a;text-align:center;margin-bottom:30px}.header[data-v-20fd2a26]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.header h1[data-v-20fd2a26]{margin-bottom:0}.tabs[data-v-20fd2a26]{display:flex;gap:0;margin-bottom:20px;border-bottom:1px solid #eee;padding-bottom:10px;overflow-x:auto;-webkit-overflow-scrolling:touch}.tabs button[data-v-20fd2a26]{background:none;border:none;color:#666;font-size:16px;padding:10px 20px;cursor:pointer;border-radius:4px;transition:all .3s;flex:0 0 25vw;min-width:25vw;box-sizing:border-box;text-align:center}.tabs button.active[data-v-20fd2a26]{background-color:#e8f5e9;color:#2e7d32;font-weight:700}.tabs button[data-v-20fd2a26]:hover:not(.active){background-color:#f5f5f5}.form-group[data-v-20fd2a26]{background:#f8f9fa;padding:20px;border-radius:8px;margin-bottom:25px}.pig-form[data-v-20fd2a26]{display:flex;flex-direction:column;gap:15px}.form-row[data-v-20fd2a26]{display:flex;gap:10px}@media (max-width: 600px){.form-row[data-v-20fd2a26]{flex-direction:column}}select[data-v-20fd2a26]{flex:1;padding:10px;border:1px solid #ddd;border-radius:4px;background:#fff}.btn-add[data-v-20fd2a26]{align-self:flex-start}.login-form[data-v-20fd2a26]{flex-direction:column;gap:15px;display:flex}input[data-v-20fd2a26]{flex:1;padding:10px;border:1px solid #ddd;border-radius:4px;outline:none;transition:border-color .3s}input[data-v-20fd2a26]:focus{border-color:#4caf50}button[data-v-20fd2a26]{padding:10px 25px;background-color:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:700;transition:background .3s}button[data-v-20fd2a26]:hover{background-color:#45a049}.btn-login[data-v-20fd2a26]{width:100%;font-size:16px;padding:12px}.toggle-text[data-v-20fd2a26]{text-align:center;color:#666;cursor:pointer;margin-top:10px;font-size:14px;text-decoration:underline}.toggle-text[data-v-20fd2a26]:hover{color:#4caf50}.btn-logout[data-v-20fd2a26]{background-color:#666;padding:8px 15px;font-size:14px}.btn-logout[data-v-20fd2a26]:hover{background-color:#555}.btn-profile[data-v-20fd2a26]{background-color:#1976d2;padding:8px 15px;font-size:14px}.btn-profile[data-v-20fd2a26]:hover{background-color:#1565c0}.btn-delete[data-v-20fd2a26]{background-color:#ff4d4f}.btn-delete[data-v-20fd2a26]:hover{background-color:#ff7875}table[data-v-20fd2a26]{width:100%;border-collapse:collapse;margin-top:10px}th[data-v-20fd2a26],td[data-v-20fd2a26]{border-bottom:1px solid #eee;padding:15px;text-align:left}th[data-v-20fd2a26]{background-color:#fafafa;color:#666;font-weight:600}tr[data-v-20fd2a26]:hover{background-color:#f9f9f9}.status-tag[data-v-20fd2a26]{padding:4px 8px;border-radius:4px;font-size:12px;background:#e8f5e9;color:#2e7d32}@media (max-width: 600px){.container[data-v-20fd2a26]{padding:15px;margin:10px;width:auto}.header[data-v-20fd2a26]{flex-direction:column;gap:15px}h1[data-v-20fd2a26]{font-size:1.5rem;margin-bottom:20px}.form-group[data-v-20fd2a26]{flex-direction:column;padding:15px}.tabs[data-v-20fd2a26]{white-space:nowrap}input[data-v-20fd2a26],button[data-v-20fd2a26]{width:100%;box-sizing:border-box}table[data-v-20fd2a26],thead[data-v-20fd2a26],tbody[data-v-20fd2a26],th[data-v-20fd2a26],td[data-v-20fd2a26],tr[data-v-20fd2a26]{display:block}thead tr[data-v-20fd2a26]{position:absolute;top:-9999px;left:-9999px}tr[data-v-20fd2a26]{margin-bottom:15px;border:1px solid #eee;border-radius:8px;box-shadow:0 2px 5px #0000000d;background:#fff;padding:10px}td[data-v-20fd2a26]{border:none;position:relative;padding-left:40%;padding-top:10px;padding-bottom:10px;text-align:right;border-bottom:1px solid #f5f5f5;display:flex;justify-content:space-between;align-items:center}td[data-v-20fd2a26]:last-child{border-bottom:none;justify-content:flex-end}td[data-v-20fd2a26]:before{content:attr(data-label);position:absolute;left:10px;font-weight:700;color:#666;text-align:left}.btn-delete[data-v-20fd2a26]{padding:8px 15px;font-size:14px}}
