:root{--c-bg:#faf7f2;--c-surface:#fff;--c-surface-2:#f4efe8;--c-border:#e7ded2;--c-ink:#211c16;--c-ink-soft:#5f574c;--c-ink-faint:#938a7d;--c-accent:#5b4bd8;--c-accent-ink:#fff;--c-accent-soft:#ece9fb;--c-zgloszone:#8a8177;--c-w_trakcie:#2f6db0;--c-testowane:#b6802a;--c-gotowe:#2f8f5b;--c-odrzucone:#b0524a;--c-danger:#b0524a;--c-danger-soft:#f8e9e7;--r-sm:8px;--r-md:12px;--r-lg:18px;--shadow:0 1px 2px #211c160a, 0 6px 20px #211c160f;--shadow-lg:0 8px 40px #211c161f;--font:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--step-0:1.0625rem;--step--1:.9375rem;--step-1:1.25rem;--step-2:1.625rem;--step-3:2.125rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--c-bg:#17130d;--c-surface:#201b14;--c-surface-2:#29231b;--c-border:#37301f;--c-ink:#f3ede3;--c-ink-soft:#c3b8a7;--c-ink-faint:#8c8272;--c-accent:#9a8cff;--c-accent-ink:#17130d;--c-accent-soft:#26214a;--c-zgloszone:#a49a8d;--c-w_trakcie:#6fa8e0;--c-testowane:#d6a552;--c-gotowe:#63bd88;--c-odrzucone:#e08078;--c-danger:#e08078;--c-danger-soft:#33211f;--shadow:0 1px 2px #0000004d, 0 6px 20px #00000059;--shadow-lg:0 8px 40px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--c-bg);color:var(--c-ink);font-family:var(--font);font-size:var(--step-0);-webkit-font-smoothing:antialiased;line-height:1.55}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:680;line-height:1.2}h1{font-size:var(--step-3)}h2{font-size:var(--step-2)}h3{font-size:var(--step-1)}a{color:var(--c-accent)}.app-shell{flex-direction:column;min-height:100vh;display:flex}.container{width:100%;max-width:860px;margin:0 auto;padding:0 1.25rem}.topbar{border-bottom:1px solid var(--c-border);background:color-mix(in srgb, var(--c-surface) 80%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10;position:sticky;top:0}.topbar__inner{align-items:center;gap:1rem;height:68px;display:flex}.topbar__brand{font-weight:660;font-size:var(--step-1);cursor:pointer;color:inherit;background:0 0;border:none;align-items:center;gap:.6rem;padding:0;display:flex}.topbar__logo{border-radius:var(--r-sm);object-fit:contain;background:var(--c-surface-2);width:34px;height:34px}.topbar__logo--placeholder{color:var(--c-accent);background:var(--c-accent-soft);place-items:center;font-weight:800;display:grid}.topbar__spacer{flex:1}.main{flex:1;padding:2.5rem 0 4rem}.page-head{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.75rem;display:flex}.page-head p{color:var(--c-ink-soft);margin:.35rem 0 0}.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);box-shadow:var(--shadow)}.card--pad{padding:1.5rem}.btn{font:inherit;border-radius:var(--r-md);cursor:pointer;border:1px solid #0000;align-items:center;gap:.5rem;padding:.7rem 1.15rem;font-weight:580;transition:transform 40ms,background .15s,border-color .15s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--c-accent);color:var(--c-accent-ink)}.btn--primary:hover:not(:disabled){background:color-mix(in srgb, var(--c-accent) 88%, black)}.btn--ghost{color:var(--c-ink);border-color:var(--c-border);background:0 0}.btn--ghost:hover:not(:disabled){background:var(--c-surface-2)}.btn--subtle{background:var(--c-surface-2);color:var(--c-ink)}.btn--block{justify-content:center;width:100%}.btn--lg{font-size:var(--step-1);padding:.85rem 1.4rem}.icon-btn{border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-ink);border-radius:var(--r-md);cursor:pointer;place-items:center;width:40px;height:40px;font-size:1.15rem;display:grid}.icon-btn:hover{background:var(--c-surface-2)}.field{margin-bottom:1.1rem;display:block}.field__label{margin-bottom:.4rem;font-weight:580;display:block}.field__hint{color:var(--c-ink-faint);font-size:var(--step--1);margin-top:.35rem}.input,.textarea,.select{font:inherit;border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface);width:100%;color:var(--c-ink);padding:.7rem .85rem}.input:focus,.textarea:focus,.select:focus,.composer:focus-within{border-color:var(--c-accent);box-shadow:0 0 0 3px var(--c-accent-soft);outline:none}.textarea{resize:vertical;min-height:120px}.choice{flex-wrap:wrap;gap:.6rem;display:flex}.choice__opt{border:1px solid var(--c-border);background:var(--c-surface);min-width:120px;color:var(--c-ink);border-radius:var(--r-md);cursor:pointer;font:inherit;text-align:left;flex:auto;padding:.75rem 1rem}.choice__opt[aria-pressed=true]{border-color:var(--c-accent);background:var(--c-accent-soft);color:var(--c-ink);font-weight:580}.badge{font-size:var(--step--1);border:1px solid color-mix(in srgb, var(--badge-c) 35%, transparent);color:var(--badge-c);background:color-mix(in srgb, var(--badge-c) 12%, transparent);white-space:nowrap;border-radius:999px;align-items:center;gap:.4rem;padding:.28rem .65rem;font-weight:580;display:inline-flex}.badge:before{content:"";background:var(--badge-c);border-radius:50%;width:7px;height:7px}.filters{flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;display:flex}.chip{border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-ink-soft);cursor:pointer;font:inherit;font-size:var(--step--1);border-radius:999px;padding:.4rem .9rem}.chip[aria-pressed=true]{background:var(--c-ink);color:var(--c-bg);border-color:var(--c-ink)}.ticket-row{border-bottom:1px solid var(--c-border);cursor:pointer;color:inherit;align-items:center;gap:1rem;padding:1.1rem 1.25rem;text-decoration:none;display:flex}.ticket-row:last-child{border-bottom:none}.ticket-row:hover{background:var(--c-surface-2)}.ticket-row__main{flex:1;min-width:0}.ticket-row__id{font-size:var(--step--1);color:var(--c-ink-faint);font-variant-numeric:tabular-nums}.ticket-row__title{text-overflow:ellipsis;white-space:nowrap;margin-top:.1rem;font-weight:560;overflow:hidden}.ticket-row__meta{color:var(--c-ink-faint);font-size:var(--step--1);align-items:center;gap:.75rem;display:flex}.stack{flex-direction:column;gap:1.25rem;display:flex}.prose{white-space:pre-wrap;word-break:break-word}.kv{color:var(--c-ink-soft);font-size:var(--step--1);gap:.5rem;display:flex}.kv strong{color:var(--c-ink);font-weight:580}.comment{border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface);padding:.9rem 1.1rem}.comment__who{font-size:var(--step--1);color:var(--c-ink-faint);margin-bottom:.3rem}.attachments{flex-wrap:wrap;gap:.75rem;display:flex}.attachment{border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface-2);overflow:hidden}.attachment img{object-fit:cover;max-width:160px;max-height:160px;display:block}.attachment--file{font-size:var(--step--1);color:var(--c-ink-soft);padding:.75rem 1rem}.composer{border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface);min-height:180px;padding:.85rem 1rem;overflow-y:auto}.composer[data-drag=true]{border-color:var(--c-accent);background:var(--c-accent-soft)}.composer:empty:before{content:attr(data-placeholder);color:var(--c-ink-faint)}.composer img{border-radius:var(--r-sm);max-width:100%;margin:.4rem 0}.composer__toolbar{flex-wrap:wrap;gap:.3rem;margin-bottom:.5rem;display:flex}.composer__tool{border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-ink);border-radius:var(--r-sm);cursor:pointer;min-width:34px;height:34px;font:inherit;padding:0 .5rem}.composer__tool:hover{background:var(--c-surface-2)}.center-screen{place-items:center;min-height:100vh;padding:1.25rem;display:grid}.auth-card{text-align:center;width:100%;max-width:420px;padding:2.25rem}.auth-card h1{font-size:var(--step-2)}.muted{color:var(--c-ink-soft)}.empty{text-align:center;color:var(--c-ink-soft);padding:3.5rem 1rem}.empty__emoji{font-size:2.5rem}.spinner{border:2.5px solid var(--c-border);border-top-color:var(--c-accent);border-radius:50%;width:22px;height:22px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.banner{border-radius:var(--r-md);font-size:var(--step--1);padding:.85rem 1.1rem}.banner--error{background:var(--c-danger-soft);color:var(--c-danger);border:1px solid color-mix(in srgb, var(--c-danger) 30%, transparent)}.banner--ok{background:color-mix(in srgb, var(--c-gotowe) 12%, transparent);color:var(--c-gotowe);border:1px solid color-mix(in srgb, var(--c-gotowe) 30%, transparent)}@media (width<=560px){.page-head{flex-direction:column;align-items:flex-start}.main{padding:1.5rem 0 3rem}}
