:root{--fliq-green:#29aa6d;--fliq-forest:#0f3d2e;--fliq-black:#0a0a0a;--fliq-ink:#1a1a1a;--fliq-line:#e6e6e6;--fliq-cream:#f5f4f0;--fliq-blue:#0a4fbd;--ink-900:var(--fliq-black);--ink-800:var(--fliq-ink);--ink-700:#2e2e2c;--ink-500:#6f6f6a;--ink-400:#9a9a94;--ink-200:var(--fliq-line);--ink-100:#efeeea;--paper:var(--fliq-cream);--surface:#fff;--accent:var(--fliq-green);--accent-weak:#e4f3ec;--ok:var(--fliq-forest);--ok-weak:#e4f3ec;--warn:#8a5a00;--warn-weak:#f6eeda;--danger:#a32c26;--danger-weak:#f8e9e7;--info:var(--fliq-blue);--info-weak:#e8eef9;--radius-s:8px;--radius-m:12px;--radius-l:20px;--radius-pill:999px;--shadow-card:0 1px 2px #0a0a0a0a, 0 10px 30px -18px #0a0a0a2e;--shadow-pop:0 12px 30px -16px var(--fliq-black);--font:"Helvetica Neue", Helvetica, Arial, system-ui, sans-serif}*{box-sizing:border-box;margin:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);background:var(--paper);color:var(--ink-800);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.55}h1,h2,h3{color:var(--ink-900);letter-spacing:-.02em;font-weight:600;line-height:1.15}a{color:var(--ink-900);border-bottom:1px solid var(--fliq-green);text-decoration:none}a:hover{color:var(--fliq-green)}.muted{color:var(--ink-500)}.small{font-size:.8rem}.num{text-align:right;font-variant-numeric:tabular-nums}.eyebrow{text-transform:uppercase;letter-spacing:.22em;color:var(--ink-500);align-items:center;gap:10px;font-size:.7rem;font-weight:500;display:inline-flex}.eyebrow:before{content:"";background:var(--ink-400);width:22px;height:1px;display:inline-block}.eyebrow:after{content:"";background:var(--fliq-green);border-radius:50%;width:6px;height:6px;display:inline-block}.wordmark{letter-spacing:-.03em;color:var(--ink-900);font-weight:700}.wordmark .dot{color:var(--fliq-green)}.card{background:var(--surface);border:1px solid var(--fliq-line);border-radius:var(--radius-l);box-shadow:var(--shadow-card);padding:1.6rem}.stats{grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.75rem;display:grid}.stat{background:var(--surface);border:1px solid var(--fliq-line);border-radius:var(--radius-l);padding:1rem 1.2rem}.stat .value{letter-spacing:-.03em;color:var(--ink-900);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:650}.stat .label{text-transform:uppercase;letter-spacing:.14em;color:var(--ink-500);margin-top:.25rem;font-size:.68rem}.btn{border-radius:var(--radius-pill);border:1px solid var(--fliq-line);background:var(--surface);color:var(--ink-900);font:inherit;letter-spacing:.01em;cursor:pointer;justify-content:center;align-items:center;gap:.55rem;padding:.7rem 1.4rem;font-size:.9rem;font-weight:550;transition:transform .25s,background .3s,color .3s,border-color .3s;display:inline-flex}.btn:hover:not(:disabled){background:var(--ink-100);transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--fliq-black);border-color:var(--fliq-black);color:#fff;box-shadow:var(--shadow-pop)}.btn-primary:hover:not(:disabled){background:var(--fliq-green);border-color:var(--fliq-green)}.btn-danger{background:var(--danger-weak);color:var(--danger);border-color:#ecc9c5}.btn-danger:hover:not(:disabled){background:var(--danger);border-color:var(--danger);color:#fff}.btn-sm{padding:.35rem .85rem;font-size:.76rem}.btn .arrow{transition:transform .3s;display:inline-block}.btn:hover .arrow{transform:translate(4px)}.field{text-transform:uppercase;letter-spacing:.12em;color:var(--ink-500);flex-direction:column;gap:.4rem;font-size:.7rem;font-weight:550;display:flex}.input{border:1px solid var(--fliq-line);border-radius:var(--radius-m);font:inherit;letter-spacing:normal;text-transform:none;color:var(--ink-900);background:var(--surface);padding:.65rem .85rem;font-size:.92rem;transition:border-color .2s,box-shadow .2s}.input::placeholder{color:var(--ink-400)}.input:focus{border-color:var(--fliq-green);box-shadow:0 0 0 3px var(--accent-weak);outline:none}.badge{border-radius:var(--radius-pill);letter-spacing:.06em;text-transform:uppercase;background:var(--surface);border:1px solid var(--fliq-line);color:var(--ink-500);white-space:nowrap;padding:.2rem .7rem;font-size:.68rem;font-weight:550;display:inline-block}.badge-ok,.badge-state-PAID,.badge-state-RECONCILED{background:var(--ok-weak);color:var(--fliq-forest);border-color:#c8e6d7}.badge-state-DISTRIBUTED{background:var(--info-weak);color:var(--info);border-color:#c9d8f0}.badge-state-REMINDED{background:var(--warn-weak);color:var(--warn);border-color:#e8d9b5}.badge-state-COLLECTION,.badge-overdue{background:var(--danger-weak);color:var(--danger);border-color:#ecc9c5}.badge-state-ON_HOLD,.badge-state-CANCELLED,.badge-state-INGESTED{background:var(--ink-100);border-color:var(--fliq-line);color:var(--ink-500)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.87rem}th,td{text-align:left;border-bottom:1px solid var(--ink-100);padding:.7rem .65rem}th{color:var(--ink-400);text-transform:uppercase;letter-spacing:.14em;font-size:.66rem;font-weight:550}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}tbody tr{transition:background .15s}tbody tr:hover{background:var(--paper)}tbody tr:last-child td{border-bottom:none}td a{color:var(--fliq-green);border-bottom-color:#0000}td a:hover{border-bottom-color:var(--fliq-green)}@media (width<=760px){.card{border-radius:16px;padding:1.15rem}.stats{grid-template-columns:repeat(2,1fr);gap:.55rem}.stat{border-radius:14px;padding:.75rem .9rem}.stat .value{font-size:1.2rem}.table-wrap th,.table-wrap td{white-space:nowrap}}.flash{border-radius:var(--radius-m);border:1px solid #0000;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1.1rem;font-size:.9rem;font-weight:500;display:flex}.flash-ok{background:var(--ok-weak);color:var(--fliq-forest);border-color:#c8e6d7}.flash-error{background:var(--danger-weak);color:var(--danger);border-color:#ecc9c5}.flash[role=status]{cursor:pointer}.flash-x{opacity:.55;flex:none;font-size:.8rem;line-height:1}.flash[role=status]:hover .flash-x{opacity:.9}.fade-enter-active,.fade-leave-active{transition:opacity .25s}.fade-enter-from,.fade-leave-to{opacity:0}
