@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700&family=Space+Grotesk:wght@400;500;600&display=swap";:root{color-scheme:light;font-family:Space Grotesk,Trebuchet MS,sans-serif;line-height:1.5;font-weight:400;color:#1b2a41;background-color:#f6f1ec;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--ink: #1b2a41;--ink-muted: #4a5d73;--accent: #f08a5d;--accent-dark: #c0653c;--surface: #ffffff;--surface-soft: #fdf8f3;--border: rgba(27, 42, 65, .12);--shadow: 0 18px 50px rgba(40, 44, 68, .12)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,#fff4e6,#f6f1ec 45%,#eef3f8);color:var(--ink)}body:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 20% 20%,rgba(240,138,93,.12),transparent 50%),radial-gradient(circle at 80% 0%,rgba(61,90,128,.12),transparent 55%);pointer-events:none;z-index:-1}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:Fraunces,Georgia,serif;margin:0}p{margin:0 0 12px}button,input,select{font-family:inherit}#root{min-height:100vh}.app-shell{padding:28px 40px 40px;display:flex;flex-direction:column;gap:28px;min-height:100vh}.app-header{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-radius:20px;background:var(--surface);box-shadow:var(--shadow);border:1px solid var(--border)}.brand{display:flex;flex-direction:column;gap:4px}.brand-mark{font-family:Fraunces,serif;font-size:22px;letter-spacing:.5px}.brand-sub{font-size:13px;color:var(--ink-muted)}.header-actions{display:flex;align-items:center;gap:12px}.user-meta{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-muted)}.sync-dot{width:8px;height:8px;border-radius:999px;background:#2a9d8f}.app-main{display:flex;flex-direction:column;gap:24px}.card{background:var(--surface);border-radius:20px;padding:22px;border:1px solid var(--border);box-shadow:var(--shadow)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.page-header{display:flex;justify-content:space-between;align-items:center}.muted{color:var(--ink-muted)}.pill{padding:6px 12px;border-radius:999px;font-size:12px;background:#f08a5d26;color:var(--accent-dark)}.primary-button,.ghost-button{border-radius:999px;padding:10px 18px;border:1px solid transparent;cursor:pointer;font-weight:600;transition:transform .2s ease,box-shadow .2s ease}.primary-button{background:var(--accent);color:#fff;box-shadow:0 10px 20px #f08a5d4d}.primary-button:hover{transform:translateY(-1px)}.ghost-button{background:transparent;border-color:var(--border);color:var(--ink)}.ghost-button:hover{transform:translateY(-1px)}.home-page{display:flex;flex-direction:column;gap:24px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.quick-add label,.quick-form label,.auth-form label{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--ink-muted)}.quick-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.quick-form input,.quick-form select,.smart-input input,.filters input,.filters select,.auth-form input{border-radius:12px;border:1px solid var(--border);padding:10px 12px;font-size:14px;background:var(--surface-soft)}.smart-input{display:flex;flex-direction:column;gap:6px;margin-top:12px}.form-actions{display:flex;align-items:center;gap:12px;grid-column:span 2}.form-error{color:#c05621;font-size:13px}.notice{padding:12px 14px;background:#f08a5d1f;border-radius:12px;color:var(--accent-dark);margin-top:12px}.summary-card{background:linear-gradient(135deg,#fff8f1,#f7f1ea);border-radius:20px;padding:24px;border:1px solid var(--border);box-shadow:var(--shadow)}.summary-total{font-size:32px;font-family:Fraunces,serif;margin:12px 0}.summary-meta{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--ink-muted)}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.kpi-card{background:var(--surface);border-radius:18px;padding:18px;border:1px solid var(--border);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:6px}.kpi-label{font-size:13px;color:var(--ink-muted)}.kpi-sub{font-size:12px;color:var(--ink-muted)}.chart-card{background:var(--surface);border-radius:20px;padding:20px;border:1px solid var(--border);box-shadow:var(--shadow)}.filters{display:flex;gap:12px;margin-bottom:12px}.table{display:grid;gap:12px}.table-head,.table-row{display:grid;grid-template-columns:110px 1.3fr 1fr 1fr 1fr 90px;align-items:center;gap:12px}.table-head{font-size:12px;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.08em}.table-row{padding:12px 8px;border-radius:14px;border:1px solid var(--border);background:var(--surface-soft)}.item-cell{font-weight:600}.empty{padding:18px;text-align:center;color:var(--ink-muted)}.month-controls{display:flex;gap:12px}.centered{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px}.auth-page--stacked{min-height:auto;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px}.auth-shell{min-height:100vh;display:flex;flex-direction:column}.auth-shell-main{flex:0 0 auto}.auth-shell .site-footer{margin-top:12px}.auth-page--stacked .site-footer{margin-top:0;padding-top:0}.auth-card{background:var(--surface);border-radius:24px;padding:32px;max-width:420px;width:100%;border:1px solid var(--border);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:16px}.auth-brand{font-family:Fraunces,serif;font-size:26px}.auth-form{display:flex;flex-direction:column;gap:16px}.site-footer{margin-top:auto;padding:18px 12px 10px;text-align:center;font-size:16px;color:var(--ink-muted)}.settings-page{display:flex;flex-direction:column;gap:20px}.rule-controls{display:grid;grid-template-columns:200px 1fr;gap:16px;align-items:end}.rule-form{display:flex;gap:12px}.rule-list{margin-top:16px;display:grid;gap:12px}.rule-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:var(--surface-soft)}@media(max-width:900px){.app-shell{padding:20px}.app-header{flex-direction:column;align-items:flex-start;gap:12px}.grid-2{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-form{grid-template-columns:1fr}.form-actions{grid-column:span 1;flex-direction:column;align-items:flex-start}.table-head,.table-row{grid-template-columns:1fr;gap:6px}.filters{flex-direction:column}.rule-controls{grid-template-columns:1fr}.rule-form{flex-direction:column}}
