@charset "UTF-8";@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:Outfit;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/outfit/v15/QGYvz_MVcBeNP4NJuktqQ4E.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:Outfit;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/outfit/v15/QGYvz_MVcBeNP4NJtEtq.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:Outfit;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/outfit/v15/QGYvz_MVcBeNP4NJuktqQ4E.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:Outfit;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/outfit/v15/QGYvz_MVcBeNP4NJtEtq.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:Outfit;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/outfit/v15/QGYvz_MVcBeNP4NJuktqQ4E.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:Outfit;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/outfit/v15/QGYvz_MVcBeNP4NJtEtq.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:Outfit;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/outfit/v15/QGYvz_MVcBeNP4NJuktqQ4E.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:Outfit;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/outfit/v15/QGYvz_MVcBeNP4NJtEtq.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: #0c1222;--bg: #eef2f8;--bg-elevated: #f7f9fc;--surface: #ffffff;--surface-2: #eef3fa;--text: var(--dn-ink);--text-muted: #4a5870;--line: #d4deec;--line-strong: #b4c2d6;--accent: var(--dn-blue);--accent-hover: var(--dn-blue-deep);--accent-soft: rgba(30, 84, 224, .1);--accent-ink: #12359c;--accent-grad: linear-gradient(115deg, #1f8fd4 0%, var(--dn-blue) 48%, var(--dn-blue-deep) 100%);--accent-grad-hover: linear-gradient(115deg, #1879b8 0%, var(--dn-blue-deep) 55%, #1233a0 100%);--danger: #b42318;--danger-soft: rgba(180, 35, 24, .1);--warn: #a04a00;--warn-soft: rgba(160, 74, 0, .1);--ok: #0a6b44;--ok-soft: rgba(10, 107, 68, .1);--info-soft: rgba(30, 84, 224, .1);--shadow-sm: 0 1px 2px rgba(12, 18, 34, .05);--shadow-md: 0 10px 28px rgba(22, 40, 90, .1);--shadow-lg: 0 20px 44px rgba(12, 18, 34, .12);--radius: 14px;--radius-sm: 10px;--radius-xs: 6px;--font-body: "Outfit", "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--nav-h: 68px;--top-h: 58px;--ease: cubic-bezier(.22, 1, .36, 1)}*,*: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 90% 50% at 0% -10%,rgba(45,184,245,.16),transparent 55%),radial-gradient(ellipse 70% 45% at 100% 0%,rgba(30,84,224,.1),transparent 50%),radial-gradient(circle at 1px 1px,rgba(30,84,224,.04) 1px,transparent 0);background-size:auto,auto,22px 22px;background-attachment:fixed;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:46px;padding:.6rem .85rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);transition:border-color .18s var(--ease),box-shadow .18s var(--ease),background .18s ease}input::placeholder,textarea::placeholder{color:#6b7a92;opacity:1}input:hover,select:hover,textarea:hover{border-color:var(--line-strong);background:var(--bg-elevated)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--dn-blue);background:var(--surface);box-shadow:0 0 0 3px #1e54e033}textarea{min-height:92px;resize:vertical}.page{animation:page-in .34s var(--ease) both}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.page__header{margin-bottom:1.25rem}.page__header h1{margin:0;font-size:clamp(1.45rem,3.5vw,1.7rem);font-weight:700;letter-spacing:-.035em;line-height:1.15}.page__header p{margin:.4rem 0 0;color:var(--text-muted);font-size:.95rem;line-height:1.45;max-width:38rem;font-weight:450}.page__header--row{display:flex;align-items:flex-start;justify-content:space-between;gap:.85rem;flex-wrap:wrap}.field{display:grid;gap:.4rem}.field span{font-size:.74rem;font-weight:650;color:#3f4d66;letter-spacing:.05em;text-transform:uppercase}.form{display:grid;gap:.9rem}.form__title{margin:0;font-size:1.05rem;font-weight:650;letter-spacing:-.02em}.panel{margin:.9rem 0;padding:1.15rem;border-radius:var(--radius);border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:var(--shadow-sm);backdrop-filter:blur(8px)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.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:.4rem;min-height:44px;padding:0 1rem;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;font-weight:600;font-size:.9rem;letter-spacing:-.01em;text-decoration:none;transition:background-color .16s var(--ease),border-color .16s var(--ease),color .16s var(--ease),transform .12s var(--ease),box-shadow .16s var(--ease)}.btn:hover:not(:disabled):not(.btn--primary){background-color:var(--surface-2);border-color:var(--line-strong);color:var(--text)}.btn:active:not(:disabled){transform:translateY(1px)}.btn--primary{background-color:var(--dn-blue);background-image:var(--accent-grad);border-color:transparent;color:#fff;font-weight:650;box-shadow:0 8px 20px #1e54e03d}.btn--primary:hover:not(:disabled){background-color:var(--dn-blue-deep);background-image:var(--accent-grad-hover);color:#fff;border-color:transparent;box-shadow:0 10px 24px #163fc052}.btn--primary:active:not(:disabled){background-color:#1233a0;background-image:linear-gradient(115deg,#156ba3,#1233a0)}.btn--ghost{background:transparent;border-color:transparent;min-height:40px;padding:0 .65rem;color:var(--text-muted)}.btn--ghost:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-ink);border-color:transparent}.btn:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.muted{color:var(--text-muted)}.alert{padding:.85rem 1rem;border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);border:1px solid rgba(180,35,24,.2);font-size:.9rem;line-height:1.4;animation:page-in .25s var(--ease) both}.alert--ok{background:var(--ok-soft);color:var(--ok);border-color:#0a6b4438}.alert--info{background:var(--info-soft);color:var(--accent-ink);border-color:#1e54e038}.alert--warn{background:var(--warn-soft);color:var(--warn);border-color:#a04a0038}.link{color:var(--accent-ink);text-decoration:none;font-weight:600;font-size:.9rem;transition:color .15s ease}.link:hover{color:var(--accent-hover);text-decoration:underline;text-underline-offset:3px}.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:.75rem 0 1rem}.chip{min-height:36px;padding:0 .85rem;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--text-muted);font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.chip:hover{border-color:var(--line-strong);color:var(--text);background:var(--bg-elevated)}.chip.is-on{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 40%,var(--line));color:var(--accent-ink)}.chip.is-on:hover{background:color-mix(in srgb,var(--accent-soft) 70%,var(--surface));border-color:color-mix(in srgb,var(--accent) 55%,var(--line));color:var(--accent-ink)}.list{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.list__item{display:flex;justify-content:space-between;gap:.85rem;align-items:center;padding:1rem 1.05rem;border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:var(--shadow-sm);transition:border-color .16s var(--ease),box-shadow .16s var(--ease),transform .16s var(--ease)}.list__item:hover{border-color:color-mix(in srgb,var(--accent) 28%,var(--line));box-shadow:var(--shadow-md);background:var(--surface)}.list__item strong{font-weight:650;letter-spacing:-.015em}.list__item span{display:block;color:var(--text-muted);font-size:.84rem;margin-top:.25rem;line-height:1.4}.list__item .money{margin-top:.35rem;font-size:1rem;color:var(--text);font-weight:600}.list__item.is-done{opacity:.58}.list__item.is-done strong{text-decoration:line-through}.list__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.45rem}.badge{display:inline-flex;align-items:center;min-height:24px;padding:0 .55rem;border-radius:var(--radius-xs);font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:var(--surface-2);color:#3f4d66;border:1px solid var(--line);white-space:nowrap}.badge--ok{background:var(--ok-soft);color:var(--ok);border-color:#0a6b442e}.badge--warn{background:var(--warn-soft);color:var(--warn);border-color:#a04a002e}.badge--info{background:var(--accent-soft);color:var(--accent-ink);border-color:#1e54e02e}.badge--draft{background:#e8edf5;color:#3f4d66;border-color:var(--line-strong)}.money{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.search{width:100%;min-height:48px;margin:.15rem 0 1.1rem;background:var(--surface);padding-left:1rem;border-radius:var(--radius);box-shadow:var(--shadow-sm)}.section-title{margin:1.5rem 0 .7rem;font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#3f4d66}.filter-bar{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin:0 0 .95rem;padding:.7rem .95rem;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent-ink);font-size:.9rem}.empty-cta{display:grid;gap:.85rem;justify-items:start;padding:1.5rem 1.15rem!important;text-align:left;border-style:dashed!important;background:color-mix(in srgb,var(--surface) 70%,transparent)!important;box-shadow:none!important}.empty-cta:hover{transform:none!important;box-shadow:none!important}.empty-state{display:grid;gap:.5rem;justify-items:start;padding:1.75rem 1.25rem;border:1px dashed var(--line-strong);border-radius:var(--radius);background:color-mix(in srgb,var(--surface) 65%,transparent)}.empty-state strong{font-size:1.05rem;letter-spacing:-.02em}.empty-state p{margin:0;color:var(--text-muted);font-size:.9rem;line-height:1.45;max-width:28rem}@media(max-width:520px){.grid-2{grid-template-columns:1fr}.list__item{flex-direction:column;align-items:stretch}.list__item .actions,.page__header--row .btn--primary{width:100%}}@media(prefers-reduced-motion:reduce){.page,.alert,.list__item,.btn{animation:none!important;transition:none!important}}
