.ss{min-height:100vh;background-color:#e4e9eb;background-image:linear-gradient(#D5DCE0 1px,transparent 1px),linear-gradient(90deg,#D5DCE0 1px,transparent 1px);background-size:24px 24px;color:#14202a;font-family:IBM Plex Sans,system-ui,sans-serif;font-size:16px;line-height:1.55}.ss a{text-decoration:none}.ss-wrap{max-width:1200px;margin:0 auto;padding-left:24px;padding-right:24px;box-sizing:border-box}.ss-cond{font-family:Barlow Condensed,sans-serif;font-weight:700}.ss-pasek{height:6px;background:repeating-linear-gradient(-45deg,#ffc400 0 10px,#1c2830 10px 20px)}.ss-header{background:#1c2830;color:#fff}.ss-header-in{padding-top:14px;padding-bottom:14px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.ss-logo{display:flex;align-items:center;gap:10px;color:#fff}.ss-logo img{width:34px;height:34px;border-radius:4px}.ss-logo span{font-size:26px}.ss-nav{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ss-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:4px;font-weight:600;font-size:15px;transition:background .15s,transform .05s;box-sizing:border-box}.ss-btn:active{transform:scale(.98)}.ss-btn:focus-visible{outline:2px solid #FFC400;outline-offset:2px}.ss-btn-lg{min-height:52px;padding:0 26px;font-size:17px}.ss-btn-signal{background:#ffc400;color:#14202a!important;font-weight:700}.ss-btn-signal:hover{background:#ffd23f}.ss-btn-jasny{background:#f8f9f9;border:1px solid #B8C3C9;color:#14202a!important}.ss-btn-jasny:hover{background:#fff}.ss-btn-ciemny{border:1px solid #5B6B76;color:#fff!important}.ss-btn-ciemny:hover{background:#2c3b45}.ss-link-nav{color:#b9c7cf!important;padding:0 12px;min-height:44px;display:inline-flex;align-items:center;font-weight:600;font-size:15px}.ss-link-nav:hover{color:#fff!important}.ss-hero{padding-top:72px;padding-bottom:64px;display:flex;flex-wrap:wrap;align-items:center;gap:48px}.ss-hero-tekst{flex:1 1 460px;min-width:0}.ss-plakietka{margin:0 0 14px;display:inline-block;padding:4px 10px;background:#fff6d1;border:1px solid #E8C860;border-radius:3px;font-size:14px;font-weight:600;color:#6b5300}.ss-hero h1{margin:0 0 18px;font-size:clamp(38px,6vw,64px);line-height:1.02;color:#14202a}.ss-lead{margin:0 0 28px;font-size:18px;color:#3a4a55;max-width:560px}.ss-przyciski{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:14px}.ss-drobny{margin:0;font-size:14px;color:#5b6b76}.ss-podglad-box{flex:1 1 380px;min-width:0;display:flex;justify-content:center}.ss-podglad{margin:0;width:100%;max-width:400px;background:#f8f9f9;border:1px solid #C9D2D7;border-radius:4px;box-shadow:0 1px 2px #14202a14;overflow:hidden}.ss-podglad-head{background:#1c2830;color:#fff;padding:12px 16px;display:flex;align-items:center;gap:8px;font-size:20px}.ss-podglad-head img{width:22px;height:22px;border-radius:3px}.ss-podglad-lista{padding:14px;display:flex;flex-direction:column;gap:12px}.ss-karta{display:flex;background:#fff;border:1px solid #C9D2D7;border-radius:4px;overflow:hidden}.ss-karta-pasek{width:6px;flex-shrink:0}.ss-karta-in{flex:1;padding:12px 14px;min-width:0}.ss-karta-gora{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.ss-karta-gora .ss-cond{font-size:20px}.ss-status{font-size:12px;font-weight:600;padding:2px 6px;border-radius:3px;white-space:nowrap}.ss-liczby{margin-top:10px;padding-top:10px;border-top:1px dashed #C9D2D7;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.ss-liczby small{display:block;font-size:12px;color:#5b6b76}.ss-liczby strong{font-family:Barlow Condensed,sans-serif;font-weight:700;font-size:21px;font-variant-numeric:tabular-nums}.ss-podglad figcaption{padding:0 14px 12px;font-size:12px;color:#5b6b76}.ss-sekcja-jasna{background:#f8f9f9;border-top:1px solid #C9D2D7;border-bottom:1px solid #C9D2D7}.ss-sekcja{padding-top:64px;padding-bottom:64px}.ss-sekcja h2{margin:0 0 8px;font-size:clamp(30px,4vw,42px);line-height:1.1}.ss-podtytul{margin:0 0 36px;color:#5b6b76;font-size:17px;max-width:640px}.ss-funkcje{display:flex;flex-wrap:wrap;gap:20px}.ss-funkcja{flex:1 1 300px;min-width:0;background:#fff;border:1px solid #C9D2D7;border-radius:4px;padding:22px}.ss-ikona{width:44px;height:44px;border-radius:4px;background:#ffc400;color:#14202a;display:flex;align-items:center;justify-content:center;margin-bottom:14px}.ss-funkcja h3{margin:0 0 6px;font-size:23px}.ss-funkcja p{margin:0;color:#3a4a55}.ss-kroki{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:20px}.ss-krok{flex:1 1 280px;min-width:0;display:flex;gap:16px;align-items:flex-start}.ss-krok-nr{flex-shrink:0;width:48px;height:48px;border-radius:4px;background:#1c2830;color:#ffc400;display:flex;align-items:center;justify-content:center;font-size:28px}.ss-krok h3{margin:2px 0 4px;font-size:18px;font-weight:700}.ss-krok p{margin:0;color:#3a4a55}.ss-cennik{background:#fff;border:2px solid #1C2830;border-radius:4px;overflow:hidden}.ss-cennik-in{padding:28px;display:flex;flex-wrap:wrap;gap:32px 48px}.ss-cennik-lewa{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:14px;align-items:flex-start}.ss-cennik-lewa h3{margin:0;font-size:28px}.ss-cena{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.ss-cena .ss-cond{font-size:56px;line-height:1;font-variant-numeric:tabular-nums}.ss-cena span:last-child{color:#5b6b76}.ss-cennik-prawa{flex:1 1 340px;min-width:0}.ss-w-cenie{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px 20px;color:#3a4a55}.ss-check{display:flex;gap:10px;align-items:flex-start}.ss-check svg{flex-shrink:0;margin-top:2px;color:#1f7a4d}.ss-dane{display:flex;flex-wrap:wrap;gap:40px}.ss-dane-tytul{flex:1 1 320px;min-width:0}.ss-dane-tytul .ss-ikona{width:52px;height:52px;background:#1c2830;color:#ffc400;margin-bottom:16px}.ss-dane-lista{flex:2 1 480px;min-width:0;margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:14px}.ss-dane-lista li{background:#fff;border:1px solid #C9D2D7;border-radius:4px;padding:16px 18px}.ss-dane-lista a,.ss-cennik a,.ss-drobny a{color:#1c2830;text-decoration:underline}.ss-cta{background:#1c2830;color:#fff}.ss-cta-in{padding-top:56px;padding-bottom:56px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}.ss-cta-in>div:first-child{flex:1 1 420px;min-width:0}.ss-cta h2{margin:0 0 6px;font-size:clamp(30px,4vw,42px);line-height:1.1}.ss-cta p{margin:0;color:#b9c7cf;font-size:17px}.ss-stopka{background:#14202a;color:#b9c7cf;font-size:14px}.ss-stopka-in{padding-top:28px;padding-bottom:28px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px}.ss-stopka-in>div{flex:1 1 420px;min-width:0}.ss-stopka .ss-cond{color:#fff;font-size:20px;margin-bottom:4px}.ss-stopka nav{display:flex;flex-wrap:wrap;gap:4px 20px;align-items:center}.ss-stopka nav a{color:#fff;min-height:44px;display:inline-flex;align-items:center;text-decoration:underline}.ss-plany{display:flex;flex-wrap:wrap;gap:12px;width:100%;padding-top:8px}.ss-plan{flex:1 1 180px;min-width:0;position:relative;border:1px solid #C9D2D7;border-radius:4px;padding:14px;background:#f8f9f9}.ss-plan-roczny{border:2px solid #1C2830;padding:13px;background:#fff}.ss-plan-nazwa{font-weight:700;font-size:15px;margin-bottom:4px}.ss-plan .ss-cena .ss-cond{font-size:40px}.ss-plan-dopisek{font-size:13px;color:#5b6b76;margin-top:4px}.ss-oszczedzasz{position:absolute;top:-11px;right:10px;background:#ffc400;color:#14202a;font-weight:700;font-size:13px;padding:3px 10px;border-radius:3px}.ss-kontakt{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.ss-kontakt-pole{display:flex;gap:12px;align-items:flex-start;background:#f8f9f9;border:1px solid #C9D2D7;border-left:6px solid #FFC400;border-radius:4px;padding:14px 16px;min-width:0}.ss-kontakt-pole svg{flex-shrink:0;margin-top:2px;color:#1c2830}.ss-kontakt-pole>div{display:flex;flex-direction:column;gap:2px;min-width:0;overflow-wrap:anywhere}.ss-kontakt-pole small{font-size:12px;color:#5b6b76}.ss-kontakt-pole strong{font-family:Barlow Condensed,sans-serif;font-size:22px;font-weight:700;line-height:1.15;color:#14202a}.ss-kontakt-pole span{font-size:14px;color:#3a4a55}.ss-kontakt-pole a{color:inherit;text-decoration:none}.ss-kontakt-pole a strong{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.pulpit-content{padding-bottom:100px;max-width:1600px;margin:0 auto}.pulpit h2{font-family:Barlow Condensed,sans-serif;font-size:20px;margin:0;letter-spacing:.2px}.pulpit h3{font-family:Barlow Condensed,sans-serif;font-size:16px;margin:14px 0 6px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px}.pulpit small{display:block;color:var(--text-muted);font-size:12px;font-weight:400}.pulpit .r{text-align:right}.pl-banner{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--signal);color:var(--on-signal,#1C2830);padding:10px 14px;border-radius:4px;margin-bottom:12px;font-size:14px}.pl-kpi{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:4px;overflow:hidden;margin-bottom:12px}.pl-kpi>div{background:var(--bg-card);padding:10px 14px}.pl-kpi span{display:block;font-size:12px;color:var(--text-muted)}.pl-kpi b{font-family:Barlow Condensed,sans-serif;font-size:26px;font-weight:600}.pl-kpi .pl-warn b{color:var(--red)}.pl-kpi-s{grid-template-columns:repeat(4,1fr);margin:10px 0}.pl-kpi-s b{font-size:21px}.pl-grid{display:grid;grid-template-columns:minmax(380px,1.15fr) minmax(340px,1fr) minmax(300px,.8fr);gap:12px;align-items:start}.pl-col{display:flex;flex-direction:column;gap:12px;min-width:0}.pl-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:4px;padding:12px 14px}.pl-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin:-4px 0 10px}.pl-tabs button{background:none;border:0;border-bottom:3px solid transparent;padding:8px 10px;font:inherit;font-weight:600;color:var(--text-muted);cursor:pointer}.pl-tabs button.on{color:var(--text);border-bottom-color:var(--signal)}.pl-tabs i{font-style:normal;font-weight:400;margin-left:4px;font-size:12px}.pl-filtry{display:flex;gap:8px;margin-bottom:8px}.pl-filtry input{flex:1;min-width:0}.pl-filtry select{width:auto;max-width:45%}.pl-thead,.pl-row{display:grid;grid-template-columns:1.5fr 1fr .8fr;gap:8px;align-items:center;padding:0 8px}.pl-thead{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding-bottom:6px;border-bottom:1px solid var(--border)}.pl-rows{max-height:304px;overflow-y:auto}.pl-row{height:60px;box-sizing:border-box;border-bottom:1px solid var(--border);color:var(--text);text-decoration:none;font-size:14px;cursor:pointer;border-left:3px solid transparent}.pl-row:hover{background:var(--surface-2)}.pl-row.sel{background:var(--primary-tint);border-left-color:var(--signal)}.pl-row b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pl-row>span{min-width:0}.pl-foot{font-size:12px;color:var(--text-muted);margin-top:8px}.pl-pusto{padding:14px 8px;color:var(--text-muted);font-size:13px}.pl-prac{max-height:260px;overflow-y:auto;margin:8px 0}.pl-p{display:grid;grid-template-columns:20px 90px 1fr;gap:8px;align-items:center;padding:7px 8px;border-bottom:1px solid var(--border);font-size:13px;cursor:pointer}.pl-p.run{background:color-mix(in srgb,var(--signal) 18%,transparent);border-left:3px solid var(--signal)}.pl-p.done .s{color:var(--green)}.pl-p.idle .s{color:var(--text-muted)}.pl-p .n{font-weight:600}.pl-czas-zl{font-size:13px;color:var(--text-muted);margin-top:4px}.pl-akcje{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;font-size:14px}.pl-akcje input{font:inherit;padding:5px 6px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text)}.pl-hint{min-height:20px;font-size:12px;color:var(--text-muted);margin-top:8px}.pl-err{color:var(--red)}.pl-stopka{display:flex;gap:8px;justify-content:flex-end;margin-top:6px}.pl-ph{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.pl-bar{height:6px;background:var(--surface-2);border-radius:3px;overflow:hidden}.pl-bar i{display:block;height:100%;background:var(--green)}.pl-bar i.over{background:var(--red)}.pl-tab>div{display:grid;grid-template-columns:1.6fr .8fr .8fr;gap:8px;padding:7px 4px;border-bottom:1px solid var(--border);font-size:13px;align-items:center}.pl-fakt>div{grid-template-columns:1.6fr .8fr auto}.pl-cnt{font-style:normal;font-size:13px;color:var(--text-muted);margin-left:6px;font-family:IBM Plex Sans,sans-serif}.pl-wiecej{margin-top:10px;width:100%}@media(max-width:1100px){.pl-grid{grid-template-columns:1fr}.pl-kpi{grid-template-columns:repeat(2,1fr)}}.pl-rodzaj{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;margin-top:10px;font-size:14px}.pl-rodzaj label{display:flex;align-items:center;gap:6px;cursor:pointer}.pl-nocleg{width:100%;color:var(--text-muted);font-size:13px}.pl-kpi-3{grid-template-columns:repeat(3,1fr)}.pl-kpi{grid-template-columns:repeat(6,1fr)}.pl-kpi-s{grid-template-columns:repeat(4,1fr)}.pl-kpi-s b{font-size:19px}.pl-kpi b.neg,.pl-budzet .neg{color:var(--red)}.pl-budzet{margin:4px 0 6px}.pl-budzet-h{display:flex;justify-content:space-between;gap:8px;font-size:12px;margin-bottom:4px}.pl-bar i.warn{background:var(--signal)}.pl-poz>div{grid-template-columns:1.2fr 1fr .9fr}.pl-st{font-size:12px;text-align:right;font-weight:600}.pl-st.ok{color:var(--green)}.pl-st.neg{color:var(--red)}@media(max-width:1100px){.pl-kpi,.pl-kpi-s{grid-template-columns:repeat(2,1fr)}}@font-face{font-family:EmojiMono;font-weight:400;src:url(/fonts/emoji-400.ttf) format("truetype");unicode-range:U+1F300-1FAFF,U+2600-27BF,U+2B50,U+2B06,U+2705,U+274C,U+2B05,U+27A1,U+2B07,U+FE0E}@font-face{font-family:EmojiMono;font-weight:600 800;src:url(/fonts/emoji-600.ttf) format("truetype");unicode-range:U+1F300-1FAFF,U+2600-27BF,U+2B50,U+2B06,U+2705,U+274C,U+2B05,U+27A1,U+2B07,U+FE0E}*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #E4E9EB;--bg-card: #F8F9F9;--bg-input: #FFFFFF;--bg-tertiary: #E4E9EB;--border: #C9D2D7;--text: #14202A;--text-primary: #14202A;--text-muted: #5B6B76;--text-meta: #7A8A95;--primary: #1C2830;--primary-hover: #2C3B45;--primary-tint: #FFF6D1;--signal: #FFC400;--signal-hover: #FFD23F;--graphite: #1C2830;--accent: #0E7F8B;--info: #3B6EA5;--green: #1F7A4D;--red: #B4372A;--yellow: #B8860B;--orange: #B8860B;--grid: #D5DCE0;--surface-2: #D5DCE0;--border-strong: #B8C3C9;--on-signal: #14202A;color-scheme:light}html,body{overflow-x:hidden}body{font-family:EmojiMono,IBM Plex Sans,-apple-system,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}button:focus-visible,.tab:focus-visible,.filter-chip:focus-visible,.form-input:focus-visible,.form-select:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.app{min-height:100vh}.header{background:linear-gradient(100deg,#1d8fa0,#c97e3f);border-bottom:none;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap;position:sticky;top:0;z-index:100}.header h1{font-size:18px;font-weight:800;color:#fff;letter-spacing:.02em}.header h1 span{color:#fff;opacity:.9}.header .btn-ghost{color:#ffffffe6}.header .btn-ghost:hover{background:#ffffff26}.content{padding:16px;max-width:1200px;margin:0 auto}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:12px}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.card-title{font-size:16px;font-weight:700}.badge{display:inline-block;padding:2px 10px;border-radius:20px;font-size:12px;font-weight:600}.badge-nowe{background:var(--info);color:#fff}.badge-w_realizacji{background:var(--primary);color:#fff}.badge-wstrzymane{background:var(--text-muted);color:#fff}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px;margin-top:8px}.stat{text-align:center}.stat-value{font-size:16px;font-weight:700}.stat-label{font-size:11px;color:var(--text-meta);text-transform:uppercase;letter-spacing:.04em}.btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,transform .05s}.btn:active{transform:scale(.98)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-danger{background:var(--red);color:#fff}.btn-ghost{background:transparent;color:var(--text-muted);border:none}.btn-ghost:hover{background:var(--bg-tertiary);color:var(--text)}.btn-sm{padding:6px 12px;font-size:13px}.btn-block{width:100%;justify-content:center}.btn:disabled{opacity:.4;cursor:not-allowed}.form-group{margin-bottom:14px}.form-label{display:block;font-size:13px;font-weight:500;color:var(--text-muted);margin-bottom:4px}.form-input,.form-select,.form-textarea{width:100%;padding:10px 12px;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;font-family:inherit}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #f973161f}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-meta)}.form-textarea{resize:vertical;min-height:80px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-overlay{position:fixed;inset:0;background:#11182773;display:flex;align-items:flex-end;justify-content:center;z-index:200}.modal{background:var(--bg-card);border-radius:16px 16px 0 0;padding:20px;width:100%;max-width:500px;max-height:85vh;overflow-y:auto;box-shadow:0 -4px 24px #1118271f}.modal-title{font-size:18px;font-weight:700;margin-bottom:16px}.empty{text-align:center;padding:60px 20px;color:var(--text-muted)}.empty-icon{font-size:48px;margin-bottom:12px}.klient-info{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--text-muted)}.klient-info span{display:flex;align-items:center;gap:4px}.tabs{display:flex;gap:20px;margin-bottom:16px;overflow-x:auto;border-bottom:1px solid var(--border)}.tab{padding:9px 2px 8px;border-radius:0;font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap;background:transparent;color:var(--text-muted);border:none;border-bottom:2px solid transparent;margin-bottom:-1px}.tab.active{background:transparent;color:var(--primary);font-weight:600;border-bottom-color:var(--primary)}.koszt-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}.koszt-item:last-child{border-bottom:none}.koszt-info{flex:1}.koszt-nazwa{font-size:14px;font-weight:500}.koszt-meta{font-size:12px;color:var(--text-meta)}.koszt-kwota{font-size:16px;font-weight:700;color:var(--red)}@media(min-width:768px){.modal-overlay{align-items:center}.modal{border-radius:16px;box-shadow:0 8px 32px #11182729}.content{padding:24px 24px 120px}}.navbar{position:fixed;bottom:0;left:0;right:0;background:var(--bg-card);border-top:1px solid var(--border);display:flex;flex-direction:column;padding:4px 0 env(safe-area-inset-bottom,4px);z-index:100}.navbar>div{display:flex;justify-content:space-around;width:100%;border-top:1px solid var(--border)}.navbar>div:first-child{border-top:none}.navbar-item{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:5px 2px;background:none;border:none;color:var(--text-muted);font-size:10px;cursor:pointer;transition:color .15s}.navbar-item span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navbar-item.active{color:var(--primary);font-weight:600}.content{padding-bottom:180px}.confirm-overlay{position:fixed;inset:0;background:#11182773;display:flex;align-items:center;justify-content:center;z-index:300}.confirm-box{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:24px;width:90%;max-width:340px;text-align:center;box-shadow:0 8px 32px #11182729}.confirm-box p{margin-bottom:16px;font-size:15px}.confirm-actions{display:flex;gap:8px}.confirm-actions .btn{flex:1}.cat-tree{margin:0;padding:0;list-style:none}.cat-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border)}.cat-item:last-child{border-bottom:none}.cat-item-info{display:flex;align-items:center;gap:8px}.cat-item-icon{font-size:18px}.cat-item-name{font-size:14px;font-weight:500}.cat-children{margin:0;padding:0;list-style:none}.cat-children .cat-item{padding-left:36px}.cat-children .cat-item-name{font-weight:400;color:var(--text-muted)}.cat-actions{display:flex;gap:4px}.chart-bar-container{margin-bottom:8px}.chart-bar-label{display:flex;justify-content:space-between;font-size:13px;margin-bottom:4px}.chart-bar-track{height:24px;background:#edeef1;border-radius:6px;overflow:hidden}.chart-bar-fill{height:100%;border-radius:6px;transition:width .3s ease;min-width:2px}.koszt-edit-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;padding:12px 0;border-bottom:1px solid var(--border)}.filter-chips{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:12px}.filter-chip{padding:4px 2px;border-radius:0;font-size:13px;font-weight:500;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--text-muted);cursor:pointer}.filter-chip.active{background:transparent;border-bottom-color:var(--primary);color:var(--primary);font-weight:600}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinning{animation:spin 1s linear infinite}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.modal,.confirm-box{overscroll-behavior:contain}.stat-value,.koszt-kwota,.chart-bar-label{font-variant-numeric:tabular-nums}@keyframes samouczekPuls{0%,to{box-shadow:0 0 #f9731699}50%{box-shadow:0 0 0 8px #f9731600}}.samouczek-puls{animation:samouczekPuls 1.2s ease-in-out infinite;border-radius:10px;background:#f973161f}.samouczek-cel{outline:3px solid var(--primary);outline-offset:3px;border-radius:8px}body{background-color:var(--bg);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:24px 24px;background-attachment:fixed}button:focus-visible,.tab:focus-visible,.form-input:focus-visible,.form-select:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.header{background:var(--graphite);padding:12px 16px 18px}.header:after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:repeating-linear-gradient(-45deg,#ffc400 0 10px,#1c2830 10px 20px)}.header h1{font-family:Barlow Condensed,sans-serif;font-size:26px;font-weight:700;letter-spacing:.2px;line-height:1}.header .btn-ghost:hover{background:#2c3b45}.card{border-radius:4px}.card[style*="cursor: pointer"]{border-left:6px solid var(--signal)}.card-title{font-family:Barlow Condensed,sans-serif;font-size:21px;line-height:24px;font-weight:700}.badge{border-radius:3px;padding:2px 7px;font-size:11px}.badge-nowe{background:var(--surface-2);color:#14202a}.badge-w_realizacji{background:var(--graphite);color:var(--signal)}.badge-zakonczone{background:var(--green);color:#fff}.stat-value{font-family:Barlow Condensed,sans-serif;font-size:22px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.stat-label{text-transform:none;letter-spacing:0;font-size:11px;color:var(--text-muted)}.stats-row{border-top:1px dashed var(--border-strong);padding-top:8px}.btn{border-radius:4px}.btn-primary{background:var(--signal);color:#14202a}.btn-primary:hover{background:var(--signal-hover)}.btn-danger{background:var(--red)}.form-input,.form-select,.form-textarea{border-radius:4px;border-color:var(--border-strong)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--graphite);box-shadow:0 0 0 2px var(--signal)}.tab{font-family:IBM Plex Sans,sans-serif}.tab:hover{color:var(--text)}.tab.active{color:var(--text);font-weight:700;border-bottom:3px solid var(--signal)}.modal{border-radius:8px 8px 0 0;background:var(--bg-card)}.confirm-box{border-radius:6px;background:var(--bg-card)}@media(min-width:768px){.modal{border-radius:8px}}.koszt-kwota{font-family:Barlow Condensed,sans-serif;font-size:21px;font-weight:600}.koszt-item{border-bottom-color:var(--border)}.navbar{background:var(--graphite);border-top:none}.navbar>div{border-top-color:#2c3b45}.navbar-item{color:#9fb0ba;border-top:3px solid transparent}.navbar-item:hover{color:#fff}.navbar-item.active{color:var(--signal);border-top-color:var(--signal);font-weight:600}.tabs{background:var(--graphite);border:none;border-radius:4px;padding:0 14px;gap:22px;margin-bottom:14px;align-items:stretch;-webkit-overflow-scrolling:touch}.tabs .tab,.tab{padding:14px 2px 11px;font-size:15px;font-weight:600;color:#b9c7cf;border-bottom:4px solid transparent;margin-bottom:0}.tabs .tab:hover,.tab:hover{color:#fff}.tabs .tab.active,.tab.active{color:#fff;font-weight:700;border-bottom:4px solid var(--signal)}.tab:focus-visible{outline-offset:-3px}.filter-chips{background:var(--surface-2);border-radius:4px;padding:0 12px;gap:18px;overflow-x:auto;flex-wrap:nowrap}.filter-chip{padding:11px 2px 8px;font-size:14px;font-weight:600;color:var(--text-muted);border-bottom:3px solid transparent;white-space:nowrap}.filter-chip:hover{color:var(--text)}.filter-chip.active{color:var(--text);font-weight:700;border-bottom:3px solid var(--signal)}.tabs{padding:0 12px;gap:12px;justify-content:space-between}.tabs .tab,.tab{font-size:13px;padding:13px 1px 10px}@media(min-width:480px){.tabs{gap:22px;justify-content:flex-start;padding:0 16px}.tabs .tab,.tab{font-size:15px}}button,input,select,textarea{font-family:inherit}.header h1,.card-title,.stat-value,.koszt-kwota{font-family:EmojiMono,Barlow Condensed,sans-serif}.btn-edit{background:#3b6ea5;color:#fff}.btn-edit:hover{background:#2f5c8c}.btn-ok{background:var(--green);color:#fff}.btn-ok:hover{background:#186340}.btn-del{background:var(--red);color:#fff}.btn-del:hover{background:#9a2d22}.header .btn-edit,.header .btn-ok,.header .btn-del{box-shadow:none}.card.status-nowe{border-left-color:#3b6ea5!important}.card.status-w_realizacji{border-left-color:var(--signal)!important}.card.status-zakonczone{border-left-color:var(--green)!important}.card.status-wstrzymane{border-left-color:#8a99a3!important}.badge-nowe{background:#3b6ea5;color:#fff}.badge-w_realizacji{background:var(--signal);color:#14202a}.badge-wstrzymane{background:#8a99a3;color:#14202a}.koszt-kwota{color:var(--red)}.stat-positive{color:var(--green)}.stat-negative{color:var(--red)}.content .btn-ghost{border:1px solid var(--border-strong);background:var(--bg-card);color:var(--text)}.content .btn-ghost:hover{background:#fff;border-color:var(--graphite)}.empty-icon{color:var(--graphite)}.modal,.confirm-box{background:var(--bg-card);color:var(--text)}.btn-primary{color:var(--on-signal)}.card[style*="cursor: pointer"]:hover{border-color:var(--border-strong)}html[data-theme=dark]{--bg: #11181D;--bg-card: #1A242B;--bg-input: #141C22;--bg-tertiary: #222E36;--border: #2E3B44;--border-strong: #3E4D57;--text: #E6ECEF;--text-primary: #E6ECEF;--text-muted: #9AABB5;--text-meta: #7C8E99;--primary: #3A4A55;--primary-hover: #4A5C68;--primary-tint: #2E2A12;--graphite: #0B1014;--accent: #36B5C4;--info: #6FA3DC;--green: #3FBF7F;--red: #F0665A;--yellow: #E0B13A;--orange: #E0B13A;--grid: #19232A;--surface-2: #26323A;--on-signal: #14202A;color-scheme:dark}html[data-theme=dark] .badge-nowe{background:#3b6ea5;color:#fff}html[data-theme=dark] .btn-edit{background:#4f86c0}html[data-theme=dark] .btn-ok{background:#2e9b66}html[data-theme=dark] .btn-del{background:#c9483c}html[data-theme=dark] .modal-overlay,html[data-theme=dark] .confirm-overlay{background:#000000a6}html[data-theme=dark] .form-input,html[data-theme=dark] .form-select,html[data-theme=dark] .form-textarea{color:var(--text)}html[data-theme=dark] .tabs .tab,html[data-theme=dark] .tab{color:#8fa2ad}html[data-theme=dark] .tabs{border:1px solid #1E2A32}html[data-theme=dark] img[src*=icon-192]{filter:none}.navbar>.navbar-desk-only{display:none}@media(min-width:1000px){.app-root{padding-left:208px}.navbar{inset:0 auto 0 0;width:208px;height:100vh!important;padding:12px 0;border-top:none;overflow-y:auto}.navbar>div{flex-direction:column!important;justify-content:flex-start;border-top:none!important}.navbar>.navbar-desk-only{display:flex;order:-1;width:100%}.navbar-item{flex:none;flex-direction:row;justify-content:flex-start;gap:12px;padding:12px 20px;font-size:14px;border-top:none;border-left:4px solid transparent;text-align:left}.navbar-item:hover{background:#24333d}.navbar-item.active{border-top-color:transparent;border-left-color:var(--signal);background:#24333d}.navbar-item svg{width:20px;height:20px;flex:none}.content{padding-bottom:24px}}
