@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3twJwl1FgtIU.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3twJwlRFgtIU.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3twJwl9FgtIU.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3twJwl5FgtIU.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3twJwlBFgg.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3vAOwl1FgtIU.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3vAOwlRFgtIU.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3vAOwl9FgtIU.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3vAOwl5FgtIU.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3vAOwlBFgg.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/sora/v17/xMQ9uFFYT72X5wkB_18qmnndmSdSnh2BAfO5mnuyOo1lfiQwWa-xsaQ.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/sora/v17/xMQ9uFFYT72X5wkB_18qmnndmSdSnh2BAfO5mnuyOo1lfiQwV6-x.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/sora/v17/xMQ9uFFYT72X5wkB_18qmnndmSdSnh2BAfO5mnuyOo1lfiQwWa-xsaQ.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/sora/v17/xMQ9uFFYT72X5wkB_18qmnndmSdSnh2BAfO5mnuyOo1lfiQwV6-x.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/sora/v17/xMQ9uFFYT72X5wkB_18qmnndmSdSnh2BAfO5mnuyOo1lfiQwWa-xsaQ.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/sora/v17/xMQ9uFFYT72X5wkB_18qmnndmSdSnh2BAfO5mnuyOo1lfiQwV6-x.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/sora/v17/xMQ9uFFYT72X5wkB_18qmnndmSdSnh2BAfO5mnuyOo1lfiQwWa-xsaQ.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/sora/v17/xMQ9uFFYT72X5wkB_18qmnndmSdSnh2BAfO5mnuyOo1lfiQwV6-x.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--dn-cyan: #2db8f5;--dn-blue: #1e54e0;--dn-blue-deep: #163fc0;--dn-ink: #0b0b10;--bg: #f3f6fb;--bg-elevated: #f8fafd;--surface: #ffffff;--surface-2: #eef2f8;--text: var(--dn-ink);--text-muted: #5a6578;--line: #d8e0ec;--line-strong: #c0cadb;--accent: var(--dn-blue);--accent-hover: var(--dn-blue-deep);--accent-soft: rgba(30, 84, 224, .1);--accent-ink: #1438a8;--accent-grad: linear-gradient(105deg, var(--dn-cyan) 0%, var(--dn-blue) 55%, var(--dn-blue-deep) 100%);--danger: #b42318;--danger-soft: rgba(180, 35, 24, .1);--warn: #b54708;--warn-soft: rgba(181, 71, 8, .12);--ok: #067647;--ok-soft: rgba(6, 118, 71, .1);--shadow-sm: 0 1px 2px rgba(11, 11, 16, .05);--shadow-md: 0 10px 28px rgba(30, 84, 224, .08);--radius: 10px;--radius-sm: 6px;--font-body: "Sora", "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--nav-h: 64px;--top-h: 56px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:var(--font-body);background-color:var(--bg);background-image:radial-gradient(ellipse 80% 40% at 0% 0%,rgba(45,184,245,.12),transparent 55%),radial-gradient(ellipse 60% 35% at 100% 0%,rgba(30,84,224,.08),transparent 50%),radial-gradient(circle at 1px 1px,rgba(30,84,224,.045) 1px,transparent 0);background-size:auto,auto,20px 20px;color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit}:focus-visible{outline:2px solid var(--dn-cyan);outline-offset:2px}input,select,textarea{width:100%;min-height:44px;padding:.55rem .75rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);transition:border-color .15s ease,box-shadow .15s ease}input:hover,select:hover,textarea:hover{border-color:var(--line-strong)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--dn-blue);box-shadow:0 0 0 3px #2db8f538}textarea{min-height:88px;resize:vertical}.page{animation:page-in .28s ease both}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.page__header{margin-bottom:1.1rem}.page__header h1{margin:0;font-size:1.45rem;font-weight:650;letter-spacing:-.03em;line-height:1.15}.page__header p{margin:.35rem 0 0;color:var(--text-muted);font-size:.9rem;line-height:1.4;max-width:36rem}.page__header--row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.field{display:grid;gap:.35rem}.field span{font-size:.72rem;font-weight:600;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase}.form{display:grid;gap:.85rem}.panel{margin:.9rem 0;padding:1rem 1.05rem;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.actions{display:flex;gap:.5rem;justify-content:flex-end;flex-wrap:wrap}.actions--wrap{justify-content:flex-start}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:42px;padding:0 .95rem;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;font-weight:550;font-size:.9rem;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .12s ease,box-shadow .15s ease}.btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--line-strong)}.btn:active:not(:disabled){transform:translateY(1px)}.btn--primary{background:var(--accent-grad);border-color:transparent;color:#fff;font-weight:600;box-shadow:0 6px 16px #1e54e038}.btn--primary:hover:not(:disabled){filter:brightness(1.04);color:#fff;border-color:transparent}.btn--ghost{background:transparent;border-color:transparent;min-height:36px;padding:0 .55rem;color:var(--text-muted)}.btn--ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text);border-color:transparent}.btn:disabled{opacity:.5;cursor:not-allowed}.muted{color:var(--text-muted)}.alert{padding:.75rem .9rem;border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);border:1px solid rgba(180,35,24,.18);font-size:.9rem}.link{color:var(--accent);text-decoration:none;font-weight:600;font-size:.9rem}.link:hover{text-decoration:underline;text-underline-offset:2px}.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:.75rem 0 1rem}.chip{min-height:34px;padding:0 .75rem;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--text-muted);font-size:.78rem;font-weight:600;cursor:pointer}.chip.is-on{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 40%,var(--line));color:var(--accent-ink)}.list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.list__item{display:flex;justify-content:space-between;gap:.75rem;align-items:center;padding:.85rem .95rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}.list__item strong{font-weight:600;letter-spacing:-.01em}.list__item span{display:block;color:var(--text-muted);font-size:.82rem;margin-top:.2rem;line-height:1.35}.list__item.is-done{opacity:.62}.list__item.is-done strong{text-decoration:line-through}.badge{display:inline-flex;align-items:center;min-height:22px;padding:0 .45rem;border-radius:4px;font-size:.68rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;background:var(--surface-2);color:var(--text-muted);border:1px solid var(--line)}.badge--ok{background:var(--ok-soft);color:var(--ok);border-color:transparent}.badge--warn{background:var(--warn-soft);color:var(--warn);border-color:transparent}.money{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.search{width:100%;min-height:44px;margin:.15rem 0 1rem;background:var(--surface)}.section-title{margin:1.35rem 0 .65rem;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.filter-bar{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin:0 0 .85rem;padding:.65rem .85rem;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent-ink);font-size:.88rem}.empty-cta{display:grid;gap:.75rem;justify-items:start;padding:1rem .2rem}@media(max-width:520px){.grid-2{grid-template-columns:1fr}.list__item{flex-direction:column;align-items:stretch}.list__item .actions{width:100%}}
