:root{
  --bg:#f6f2ea; --ink:#243447; --muted:#667085; --card:#fffaf2; --line:#e7dccb;
  --accent:#3d6b5a; --accent2:#c6803f; --danger:#9f3a3a; --good:#2f7d5a; --shadow:0 16px 40px rgba(36,52,71,.12);
}
*{box-sizing:border-box}
body{margin:0;background:linear-gradient(135deg,#f8f4ec,#efe5d5);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}
.app-shell{max-width:1180px;margin:0 auto;padding:24px 18px 80px}
.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:26px;border-radius:28px;background:var(--ink);color:#fff;box-shadow:var(--shadow)}
h1{margin:4px 0 6px;font-size:clamp(2rem,4vw,3.8rem);letter-spacing:-.06em;line-height:.95}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;color:#d8cbb6}.subtitle{margin:0;color:#dfd8cd;max-width:700px}.hidden{display:none!important}
button,select,input,textarea{font:inherit}button{border:0;border-radius:14px;padding:11px 15px;font-weight:700;cursor:pointer}.primary{background:var(--accent);color:#fff}.ghost{background:#fff3;border:1px solid #fff5;color:inherit}.danger{background:#f9e4e4;color:var(--danger)}.small{font-size:.86rem;padding:8px 11px}.full-button{width:100%;margin:8px 0}
.status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.card{background:rgba(255,250,242,.92);border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:0 10px 28px rgba(36,52,71,.08)}.total-card{background:linear-gradient(135deg,#fffaf2,#f2dfc2)}.label{display:block;color:var(--muted);font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.card strong{font-size:2rem;line-height:1.15}.card small{display:block;color:var(--muted);margin-top:4px}.tabs{display:flex;gap:8px;overflow:auto;padding:8px;background:#fff8;border:1px solid var(--line);border-radius:18px;position:sticky;top:0;z-index:3;backdrop-filter:blur(10px)}.tab{white-space:nowrap;background:transparent;color:var(--ink)}.tab.active{background:var(--ink);color:#fff}.panel{display:none;margin-top:16px}.panel.active{display:block}.two-col{display:grid;grid-template-columns:1.6fr 1fr;gap:16px}.wide{min-width:0}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.card h2{margin:0 0 12px;font-size:1.2rem}.checklist{list-style:none;margin:0;padding:0;display:grid;gap:10px}.checklist li{padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff8}.work-plan{display:grid;gap:10px}.work-plan div{display:flex;justify-content:space-between;padding:12px;border-bottom:1px solid var(--line)}.work-plan div:last-child{border:0;background:#f2eadb;border-radius:14px;font-weight:800}.budget-progress{display:grid;gap:12px}.progress-row{display:grid;grid-template-columns:220px 1fr 110px;gap:12px;align-items:center}.bar{height:14px;background:#eadfce;border-radius:999px;overflow:hidden}.bar span{display:block;height:100%;background:var(--accent);border-radius:999px}.bar span.over{background:var(--danger)}.entry-form{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.entry-form label{display:grid;gap:6px;color:var(--muted);font-weight:700;font-size:.88rem}.entry-form input,.entry-form select,.entry-form textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px;color:var(--ink)}.full{grid-column:1/-1}.form-actions{display:flex;gap:10px;justify-content:flex-end}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:780px}th,td{padding:10px;border-bottom:1px solid var(--line);text-align:left}th{background:#f2eadb;color:#4d463d;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}td:nth-child(3),td:nth-child(4),td:nth-child(5){text-align:right;font-variant-numeric:tabular-nums}.entries-list{display:grid;gap:10px}.entry-item{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fff}.entry-meta{display:block;color:var(--muted);font-size:.86rem}.entry-amount{font-weight:900}.delete-entry{border-radius:50%;width:34px;height:34px;padding:0;background:#f2eadb;color:var(--danger);font-size:1.2rem}.row-actions{display:flex;gap:8px}.import-label{display:grid;gap:8px;margin-top:12px;padding:12px;border:1px dashed var(--line);border-radius:16px;color:var(--muted)}.muted{color:var(--muted)}
@media(max-width:850px){.status-grid,.two-col{grid-template-columns:1fr}.entry-form{grid-template-columns:1fr}.progress-row{grid-template-columns:1fr}.card-head{align-items:flex-start;flex-direction:column}.topbar{border-radius:0;margin:-24px -18px 0}.card strong{font-size:1.55rem}}
@media print{body{background:#fff}.app-shell{max-width:none;padding:0}.topbar,.tabs,#entry,#log,#settings,.card-head button,.row-actions{display:none!important}.panel{display:block}.card{box-shadow:none;border:1px solid #bbb;break-inside:avoid}.status-grid{grid-template-columns:repeat(4,1fr)} }
