1:root{color-scheme:light;--bg:#f5f7fb;--panel:#fff;--text:#172033;--muted:#64748b;--line:#dbe3ef;--brand:#2563eb;--good:#059669;--bad:#dc2626;--warn:#d97706;--shadow:0 14px 40px rgba(15,23,42,.08)}
2:root.dark{color-scheme:dark;--bg:#08111f;--panel:#111c2e;--text:#e5eefb;--muted:#91a1b8;--line:#263449;--brand:#38bdf8;--good:#34d399;--bad:#fb7185;--warn:#fbbf24;--shadow:0 14px 40px rgba(0,0,0,.35)}
3*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;background:radial-gradient(circle at top left,rgba(37,99,235,.12),transparent 32rem),var(--bg);color:var(--text)}button,.button,input,select{font:inherit}button,.button{border:0;border-radius:12px;background:var(--brand);color:white;padding:.72rem 1rem;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:.35rem;font-weight:700}button:hover,.button:hover{filter:brightness(1.05)}.ghost{background:transparent;color:var(--text);border:1px solid var(--line)}.app-header{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:2rem clamp(1rem,4vw,3rem)}h1,h2,p{margin:0}.eyebrow{color:var(--brand);text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:800}.header-actions{display:flex;gap:.75rem;align-items:center}.layout{padding:0 clamp(1rem,4vw,3rem) 3rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem}.cards{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.card,.panel{background:color-mix(in srgb,var(--panel) 94%,transparent);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.card{padding:1.2rem}.card span,.panel-title p,label{color:var(--muted)}.card strong{display:block;margin-top:.35rem;font-size:clamp(1.4rem,3vw,2.1rem)}.panel{padding:1.2rem}.panel-title{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.form-panel{grid-column:span 1}.chart-panel{grid-column:span 1}.budget-panel,.table-panel{grid-column:1/-1}form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}label{display:grid;gap:.35rem;font-weight:650}input,select{width:100%;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:12px;padding:.75rem}.form-actions{display:flex;align-items:end;gap:.6rem}canvas{width:100%;height:280px;display:block}.budget-bars{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.budget{display:grid;gap:.45rem}.budget-top{display:flex;justify-content:space-between;color:var(--muted);font-size:.9rem}.bar{height:12px;background:var(--bg);border-radius:999px;overflow:hidden;border:1px solid var(--line)}.bar>span{display:block;height:100%;background:var(--good);border-radius:999px}.bar>span.warn{background:var(--warn)}.bar>span.over{background:var(--bad)}.tools{align-items:center}.filters{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}.import input{display:none}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px}table{width:100%;border-collapse:collapse;min-width:720px}th,td{text-align:left;padding:.85rem;border-bottom:1px solid var(--line)}th{color:var(--muted);font-size:.85rem}tr:last-child td{border-bottom:0}.num{text-align:right}.amount-pos{color:var(--good);font-weight:800}.amount-neg{color:var(--bad);font-weight:800}.row-actions{display:flex;gap:.45rem}.row-actions button{padding:.45rem .62rem;border-radius:9px}.empty{text-align:center;color:var(--muted);padding:2rem}kbd{background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:.05rem .35rem}
4@media (max-width:850px){.layout,.cards{grid-template-columns:1fr}.chart-panel,.form-panel{grid-column:1/-1}.app-header,.panel-title{flex-direction:column}.filters{justify-content:flex-start}form{grid-template-columns:1fr}}
5
Discussion
No comments yet. Start the discussion. Recorded by @patrick-toulme.