.container[data-v-185a4776]{max-width:880px;margin:0 auto;padding:1.5rem 1rem 3rem}.fullscreen[data-v-185a4776]{min-height:100vh}:root{--falti-green: #1F5A3D;--falti-green-deep: #164430;--falti-green-soft: #E8F0EA;--falti-coral: #F08068;--falti-coral-deep: #E0654A;--falti-coral-soft: #FBD9CF;--falti-cream: #FAF3E8;--falti-cream-warm: #F4E9D6;--falti-ink: #1A2A22;--falti-ink-muted: #5A6B62;--falti-line: #D9E2DC;--falti-white: #FFFFFF;--green-950: var(--falti-green-deep);--green-900: var(--falti-green);--green-800: #225f43;--green-700: #2a6b4d;--green-600: #357a5b;--green-500: #498e6f;--green-400: #6da58a;--green-300: #9bc1ad;--green-200: #c4d9cd;--green-100: var(--falti-green-soft);--green-50: #f3f8f4;--coral-fill: var(--falti-coral);--coral-soft: var(--falti-coral-soft);--coral-soft-2: #f7c5b3;--coral-border: var(--falti-coral-deep);--coral-on: #ffffff;--coral-star: var(--falti-coral-deep);--coral-star-fill: #f4a795;--coral-shadow: rgba(240, 128, 104, .4);--mustard-600: var(--coral-border);--mustard-500: var(--coral-star);--mustard-400: var(--coral-fill);--mustard-300: var(--coral-star-fill);--mustard-100: var(--coral-soft-2);--mustard-50: var(--coral-soft);--paper: #ffffff;--paper-off: #fafaf7;--ink: var(--falti-ink);--ink-2: #2d3d35;--ink-3: var(--falti-ink-muted);--ink-4: #8a9a92;--line: var(--falti-line);--line-2: #c8d3cb;--cream: var(--falti-cream);--cream-2: var(--falti-cream-warm);--font-sans: "Nunito", "Inter", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-display: "Nunito", "Inter", -apple-system, system-ui, sans-serif;--font-mono: "Nunito", "JetBrains Mono", ui-monospace, monospace;--r-xs: 6px;--r-sm: 10px;--r-md: 14px;--r-lg: 20px;--r-xl: 28px;--r-2xl: 36px;--r-pill: 999px;--color-bg: var(--paper-off);--color-surface: var(--paper);--color-text: var(--ink);--color-muted: var(--ink-3);--color-primary: var(--green-700);--color-primary-dark: var(--green-800);--color-danger: #c53030;--color-border: var(--line);--radius: 10px;--shadow: 0 1px 3px rgba(13, 31, 23, .08);font-family:var(--font-sans);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;background:var(--color-bg);min-height:100vh}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}.topbar{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:.75rem 1rem;display:flex;align-items:center;gap:1rem;box-shadow:var(--shadow)}.brand{font-weight:700;font-size:1.25rem;color:var(--color-primary)}.nav{display:flex;align-items:center;gap:1rem;flex:1}.nav .spacer{flex:1}.nav .user{color:var(--color-muted);font-size:.9rem}.container{max-width:880px;margin:0 auto;padding:1.5rem 1rem 3rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1rem;box-shadow:var(--shadow)}h1{margin-top:0;font-size:1.5rem}h2{font-size:1.15rem;margin:0 0 .75rem}label{display:block;font-size:.875rem;color:var(--color-muted);margin-bottom:.25rem}input[type=text],input[type=email],input[type=password],input[type=number],input[type=file],select{width:100%;padding:.55rem .7rem;border:1px solid var(--color-border);border-radius:var(--radius);font-size:.95rem;background:var(--color-surface)}input:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2b7a7826}.field{margin-bottom:.85rem}button,.btn{background:var(--color-primary);color:#fff;border:none;padding:.55rem 1rem;border-radius:var(--radius);font-size:.95rem;cursor:pointer;font-weight:500}button:hover:not(:disabled),.btn:hover{background:var(--color-primary-dark)}button:disabled{opacity:.6;cursor:not-allowed}button.link{background:transparent;color:var(--color-primary);padding:0;font-weight:500}button.link:hover{background:transparent;text-decoration:underline}button.danger{background:var(--color-danger)}button.danger:hover:not(:disabled){background:#9b2323}button.ghost{background:transparent;color:var(--color-primary);border:1px solid var(--color-border)}button.ghost:hover{background:var(--color-bg)}.row{display:flex;gap:.5rem;align-items:center}.row>*{flex-shrink:0}.row .grow{flex:1}.list-item{display:flex;align-items:center;gap:.75rem;padding:.55rem 0;border-bottom:1px solid var(--color-border)}.list-item:last-child{border-bottom:none}.list-item.checked .name{text-decoration:line-through;color:var(--color-muted)}.muted{color:var(--color-muted);font-size:.875rem}.error{background:#fff5f5;border:1px solid #feb2b2;color:var(--color-danger);padding:.6rem .8rem;border-radius:var(--radius);margin-bottom:1rem;font-size:.9rem}.badge{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--color-border);color:var(--color-text)}.badge.pending{background:#fef3c7;color:#92400e}.badge.processing{background:#dbeafe;color:#1e40af}.badge.done{background:#d1fae5;color:#065f46}.badge.failed{background:#fee2e2;color:#991b1b}.auth-card{max-width:380px;margin:3rem auto 0}.centered{text-align:center}.suggestions{display:flex;flex-wrap:wrap;gap:.5rem}.suggestion{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.9rem}.suggestion .muted{font-size:.8rem}.suggestion.due{border-color:#f59e0b;background:#fffbeb}.suggestion .badge{display:inline-block;min-width:1.1rem;padding:0 .3rem;border-radius:999px;background:#f59e0b;color:#fff;font-size:.75rem;font-weight:700;text-align:center}.badge.error{background:#fee2e2;color:#991b1b}.blob{border-radius:52% 48% 45% 55%/55% 45%}.grain{position:relative}.grain:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.035;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}.check{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--green-300);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .18s ease;background:transparent;cursor:pointer;padding:0}.check.on{background:var(--green-800);border-color:var(--green-800)}.check svg{opacity:0;transform:scale(.5);transition:all .18s ease}.check.on svg{opacity:1;transform:scale(1)}
