:root{--color-bg:#150a2e;--color-bg-subtle:#1a0e38;--color-surface:#1f1044;--color-text:#f5f3fa;--color-text-secondary:#b0a6c7;--color-text-disabled:#f5f3fa59;--color-border:#f5f3fa29;--color-border-strong:#f5f3fa;--color-accent:#c7fb5a;--color-accent-hover:#b3ef3a;--color-accent-bright:#c7fb5a;--color-accent-tint:#2b3a12;--color-accent-ink:#12210a;--color-violet:#5e10a0;--color-violet-bright:#9b4de0;--color-neon:#c7fb5a;--color-neon-ink:#12210a;--color-neon-glow:#c7fb5a73;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--color-safe:#c7fb5a;--color-safe-bg:#2b3a12;--color-warn:#ffd166;--color-warn-bg:#3a2c0c;--color-danger:#ff6b9a;--color-danger-bg:#3a1030;--color-cat-transport:#6fb8ff;--color-cat-lodging:#9b4de0;--color-cat-food:#ffd166;--color-cat-activity:#c7fb5a;--color-cat-shopping:#ff8fc7;--color-cat-other:#b7aed1;--font-sans:"Helvetica Neue", Helvetica, Arial, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-numeric:"Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:20px;--space-5:32px;--space-6:48px;--space-7:64px;--radius-sm:0px;--radius-md:2px;--radius-lg:2px;--radius-pill:2px;--shadow-card:none;--shadow-hover:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}.num{font-family:var(--font-numeric);font-variant-numeric:tabular-nums;font-weight:700}button,input,select,textarea{font-family:inherit}button,[role=button],input[type=checkbox],input[type=radio]{min-width:44px;min-height:44px}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.app-shell{background:var(--color-bg-subtle);flex-direction:column;min-height:100vh;display:flex}.app-header{padding:var(--space-3) var(--space-4);background:var(--color-surface);border-bottom:2px solid var(--color-border-strong);z-index:10;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.app-brand{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text);font-size:1.1rem;font-weight:800;text-decoration:none}.app-main{padding:var(--space-5) var(--space-4);flex:1;width:100%;max-width:720px;margin:0 auto}.btn-ghost{border:2px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);color:var(--color-text);cursor:pointer;text-transform:uppercase;letter-spacing:.03em;transition:background .16s var(--ease-out), color .16s var(--ease-out), border-color .16s var(--ease-out), transform .12s var(--ease-out);background:0 0;font-size:.8rem;font-weight:700}.btn-ghost:hover{background:var(--color-text);color:var(--color-bg);border-color:var(--color-text)}.btn-ghost:active{transform:scale(.97)}.btn-primary{background:var(--color-accent);border:2px solid var(--color-accent);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-5);color:var(--color-accent-ink);cursor:pointer;text-transform:uppercase;letter-spacing:.03em;transition:background .16s var(--ease-out), border-color .16s var(--ease-out), transform .12s var(--ease-out);font-size:.85rem;font-weight:800}.btn-primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn-primary:active{transform:scale(.97)}.card{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);box-shadow:none;padding:var(--space-5);margin-bottom:var(--space-4)}.card:hover{box-shadow:none}.card-title{margin:0 0 var(--space-1) 0;font-size:1rem;font-weight:800}.card-subtitle{color:var(--color-text-secondary);margin:0;font-size:.85rem}.empty-state{text-align:center;padding:var(--space-7) var(--space-4);color:var(--color-text-secondary);border:1px dashed var(--color-border-strong)}.page-header{margin-bottom:var(--space-6);justify-content:space-between;align-items:center;display:flex}.page-title{text-transform:uppercase;letter-spacing:.02em;margin:0;font-size:1.4rem;font-weight:800}.budget-figure{font-size:2.2rem;font-weight:800}.budget-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;font-weight:700}.budget-bar-track{border-radius:var(--radius-sm);background:var(--color-bg-subtle);border:1px solid var(--color-border-strong);height:10px;margin:var(--space-2) 0;overflow:hidden}.budget-bar-fill{background:var(--color-safe-bg);height:100%;transition:width .32s var(--ease-out), background .2s var(--ease-out)}.budget-bar-fill.warn{background:var(--color-warn-bg)}.budget-bar-fill.danger{background:var(--color-danger)}.badge{align-items:center;gap:var(--space-1);padding:3px var(--space-3);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.03em;animation:badge-in .2s var(--ease-out) both;border:1px solid;font-size:.72rem;font-weight:700;display:inline-flex}@keyframes row-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes badge-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.badge-safe{background:var(--color-safe-bg);color:var(--color-safe)}.badge-warn{background:var(--color-warn-bg);color:var(--color-warn)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger)}.tabs{border-bottom:2px solid var(--color-border-strong);margin-bottom:var(--space-6);gap:0;display:flex}.tab{padding:var(--space-3) var(--space-5);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em;transition:color .16s var(--ease-out), border-color .2s var(--ease-in-out);border-bottom:3px solid #0000;margin-bottom:-2px;font-size:.8rem;font-weight:700;text-decoration:none}.tab.active{color:var(--color-text);border-bottom-color:var(--color-accent)}.field{margin-bottom:var(--space-4);text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-secondary);flex:1;font-size:.78rem;font-weight:700;display:block}.field input,.field select,.field textarea{width:100%;padding:var(--space-2) var(--space-3);border:2px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);text-transform:none;letter-spacing:normal;margin-top:4px;font-family:inherit;font-size:.95rem;font-weight:400;display:block}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--color-accent-bright);outline-offset:1px;border-color:var(--color-accent)}.field input,.field select,.field textarea{transition:border-color .16s var(--ease-out), outline-color .16s var(--ease-out)}.field-row{gap:var(--space-4);display:flex}.list-row{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--color-border);animation:row-in .22s var(--ease-out) both;display:flex}.list-row:last-child{border-bottom:none}.day-heading{color:var(--color-text);margin:var(--space-6) 0 var(--space-3) 0;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--color-border-strong);padding-bottom:var(--space-2);font-size:.85rem;font-weight:800}.day-heading:first-child{margin-top:0}.icon-btn{cursor:pointer;color:var(--color-text-secondary);padding:var(--space-1) var(--space-2);background:0 0;border:none;font-size:.85rem}.icon-btn:hover{color:var(--color-danger)}.status-select{border-radius:var(--radius-sm);border:2px solid var(--color-border-strong);padding:2px var(--space-2);text-transform:uppercase;letter-spacing:.03em;background:var(--color-surface);font-size:.72rem;font-weight:700}.checkbox-row{align-items:center;gap:var(--space-3);display:flex}.checkbox-row input[type=checkbox]{appearance:none;border:2px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;width:22px;min-width:22px;height:22px;min-height:22px;transition:border-color .16s var(--ease-out), background .16s var(--ease-out), box-shadow .2s var(--ease-out), transform .12s var(--ease-out);justify-content:center;align-items:center;display:inline-flex;position:relative}.checkbox-row input[type=checkbox]:active{transform:scale(.9)}.checkbox-row input[type=checkbox]:checked{background:var(--color-neon);border-color:var(--color-neon);box-shadow:0 0 0 4px var(--color-neon-glow)}.checkbox-row input[type=checkbox]:after{content:"";border-left:3px solid var(--color-neon-ink);border-bottom:3px solid var(--color-neon-ink);transform-origin:50%;width:12px;height:7px;transition:transform .22s var(--ease-out);margin-top:-2px;transform:rotate(-45deg)scale(0)}.checkbox-row input[type=checkbox]:checked:after{transform:rotate(-45deg)scale(1)}
