@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f3eee4;--card:#fff;--bg2:#faf7f1;--line:#e4ddd0;--text:#152221;--text2:#4b5755;--muted:#8a918e;--primary:#0f6b63;--primary-dark:#0a4e48;--accent-bg:#e1f0ec;--sidebar:#0b3734;--sidebar-active:#0e4541;--sidebar-text:#cfe3df;--orange:#c9792b;--ok:#0ca30c;--warn:#fab219;--over:#ec835a;--error:#d03b3b;--revenue:#2a78d6;--cost:#eb6834;--src-airbnb:#eb6834;--src-booking:#2a78d6;--src-direct:#1baf7a;--src-agoda:#eda100;--r-card:14px;--r-field:10px;--r-btn:9px;--shadow:0 1px 2px #1522210d, 0 2px 8px #1522210a;--font:"Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--sidebar-w:236px;--safe-b:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11", "ss01";font-size:14px;line-height:1.45}.num,.tnum{font-variant-numeric:tabular-nums}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;font-weight:650}h1{letter-spacing:-.025em;font-size:24px;font-weight:700}h2{letter-spacing:-.012em;font-size:15.5px}h3{font-size:14px}button{font-family:inherit}img{max-width:100%}.app{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);background:var(--sidebar);color:var(--sidebar-text);z-index:20;flex-direction:column;padding:18px 12px;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.brand{color:#fff;align-items:center;gap:10px;padding:4px 8px 18px;display:flex}.brand-logo{border-radius:9px;flex:none;width:34px;height:34px}.brand-name{font-size:15px;font-weight:700;line-height:1.15}.brand-sub{color:var(--sidebar-text);opacity:.75;font-size:12px}.nav-section{margin-top:14px}.nav-title{opacity:.55;padding:0 10px 6px;font-size:12.5px;font-weight:500}.nav-link{color:var(--sidebar-text);border-radius:9px;align-items:center;gap:10px;margin-bottom:1px;padding:8px 10px;font-weight:500;display:flex;text-decoration:none!important}.nav-link svg{opacity:.85;flex:none;width:18px;height:18px}.nav-link:hover{color:#fff;background:#ffffff0d}.nav-link.active{background:var(--sidebar-active);color:#fff;box-shadow:inset 3px 0 #5fbfb2}.nav-link .soon{opacity:.5;margin-left:auto;font-size:10px;font-weight:500}.nav-link.disabled{opacity:.55}.sidebar-foot{opacity:.7;margin-top:auto;padding:14px 8px 0;font-size:12px}.main{margin-left:var(--sidebar-w);flex-direction:column;flex:1;min-width:0;display:flex}.topbar{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f3eee4eb;border-bottom:1px solid #0000;align-items:center;gap:14px;padding:14px 28px;display:flex;position:sticky;top:0}.topbar h1{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.topbar .sub{color:var(--muted);margin-left:8px;font-size:13px;font-weight:400}.content{width:100%;max-width:1440px;padding:8px 28px 40px}.user-menu{position:relative}.avatar{background:var(--primary);color:#fff;cursor:pointer;border:0;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:600;display:grid}.menu{background:var(--card);border:1px solid var(--line);z-index:50;border-radius:12px;min-width:200px;padding:6px;position:absolute;top:42px;right:0;box-shadow:0 8px 30px #0000001f}.menu-head{border-bottom:1px solid var(--line);margin-bottom:4px;padding:8px 10px;font-size:13px}.menu button,.menu a{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 10px;font-size:14px;text-decoration:none;display:block}.menu button:hover,.menu a:hover{background:var(--bg2)}.mobile-top,.bottom-nav{display:none}@media (width<=860px){body{font-size:15px}.sidebar{display:none}.main{padding-bottom:calc(76px + var(--safe-b));margin-left:0}.topbar{padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top,0px))}.topbar h1{font-size:19px}.topbar .sub{display:none}.content{padding:4px 14px 24px}.bottom-nav{z-index:30;border-top:1px solid var(--line);padding:6px 4px calc(6px + var(--safe-b));background:#fff;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bn-item{color:var(--muted);background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;padding:4px 0;font-size:11px;font-weight:500;display:flex;text-decoration:none!important}.bn-item svg{width:22px;height:22px}.bn-item.active{color:var(--primary)}.bn-plus{background:var(--primary);color:#fff;cursor:pointer;border:0;border-radius:16px;place-items:center;width:52px;height:52px;margin:-18px auto 0;display:grid;box-shadow:0 6px 18px #0f6b6359}.bn-plus svg{width:26px;height:26px}.hide-mobile{display:none!important}}@media (width>=861px){.show-mobile{display:none!important}}.card{background:var(--card);border-radius:var(--r-card);box-shadow:var(--shadow);min-width:0;padding:20px 22px}.card-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.card-head h2{flex:1}.card-head .hint{color:var(--muted);font-size:13px}.card.flush{padding:0}.card.flush>.card-head{padding:16px 20px 0}.grid{gap:16px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-main{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}.stack{flex-direction:column;gap:16px;display:flex}.row{align-items:center;gap:10px;display:flex}.row.wrap{flex-wrap:wrap}.spacer{flex:1}.mt{margin-top:16px}.mt-s{margin-top:8px}.muted{color:var(--muted)}.text2{color:var(--text2)}.small{font-size:12.5px}.right{text-align:right}.nowrap{white-space:nowrap}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width<=1180px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-main{grid-template-columns:minmax(0,1fr)}}@media (width<=860px){.grid-3,.grid-2{grid-template-columns:minmax(0,1fr)}.grid{gap:12px}.card{padding:14px 16px}}.tile{background:var(--card);border-radius:var(--r-card);box-shadow:inset 0 0 0 1px var(--line);flex-direction:column;min-width:0;padding:16px 18px 15px;display:flex}.tile-label{color:var(--text2);align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.tile-label svg{display:none}.tile-value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:8px;font-size:27px;font-weight:650;line-height:1.1}.tile-sub{color:var(--muted);margin-top:auto;padding-top:6px;font-size:12.5px}.tile.danger{box-shadow:inset 0 0 0 1.5px var(--error);background:snow}.tile.danger .tile-value{color:var(--error)}@media (width<=860px){.tile{padding:13px 14px}.tile-value{font-size:20px}}.money-sec{color:var(--muted);letter-spacing:0;margin-top:3px;font-size:.6em;font-weight:500;display:block}.cur{color:var(--muted);letter-spacing:0;margin-left:.08em;font-size:.72em;font-weight:500}.money-sec .cur,.li-amount .money-sec .cur{font-size:1em}.li-amount .money-sec,.cat-nums .money-sec{font-size:12px}.money-inline .money-sec{margin:0 0 0 6px;font-size:.86em;display:inline}.btn{border-radius:var(--r-btn);border:1px solid var(--line);background:var(--card);height:38px;color:var(--text);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:14px;font-weight:550;display:inline-flex;text-decoration:none!important}.btn svg{width:17px;height:17px}.btn:hover{background:var(--bg2)}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-ghost{color:var(--text2);background:0 0;border-color:#0000}.btn-ghost:hover{background:#0000000a}.btn-danger{color:var(--error)}.btn-sm{border-radius:8px;height:30px;padding:0 10px;font-size:13px}.btn-lg{height:48px;padding:0 20px;font-size:16px}.btn-block{width:100%}.icon-btn{width:34px;height:34px;color:var(--text2);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;padding:0;display:inline-grid}.icon-btn:hover{background:#0000000d}.icon-btn svg{width:18px;height:18px}.field{flex-direction:column;gap:5px;min-width:0;display:flex}.field>label,.label{color:var(--text2);font-size:12.5px;font-weight:550}.field .hint{color:var(--muted);font-size:12px}.input,select.input,textarea.input{border:1px solid var(--line);border-radius:var(--r-field);height:40px;font:inherit;color:var(--text);background:#fff;outline:none;width:100%;min-width:0;padding:0 12px}textarea.input{resize:vertical;height:auto;min-height:76px;padding:10px 12px}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0f6b631f}.input-sm{height:34px;font-size:13.5px}.input-amount{font-variant-numeric:tabular-nums;height:56px;font-size:26px;font-weight:650}.input-group{position:relative}.input-group .suffix{color:var(--muted);pointer-events:none;font-weight:500;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.input-group .input{padding-right:40px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-grid .full{grid-column:1/-1}@media (width<=860px){.input,select.input{height:44px;font-size:16px}.form-grid{grid-template-columns:1fr}}.checkbox{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:inline-flex}.checkbox input{width:18px;height:18px;accent-color:var(--primary)}.seg{background:#e9e2d4;border-radius:10px;gap:2px;padding:3px;display:inline-flex}.seg button{height:30px;color:var(--text2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;padding:0 11px;font-size:13px;font-weight:600}.seg button.on{color:var(--text);background:#fff;box-shadow:0 1px 2px #0000001a}.chips{flex-wrap:wrap;gap:7px;display:flex}.chip{border:1px solid var(--line);color:var(--text2);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:550;display:inline-flex}.chip:hover{border-color:#cfc6b5}.chip.on{background:var(--accent-bg);border-color:var(--primary);color:var(--primary-dark)}.chip .pi{border-radius:5px;width:18px;height:18px;font-size:10px}.tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:4px;margin-bottom:16px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{color:var(--text2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:7px;margin-bottom:-1px;padding:10px 12px;font-size:14px;font-weight:550;display:inline-flex;text-decoration:none!important}.tab:hover{color:var(--text)}.tab.on{color:var(--primary);border-bottom-color:var(--primary)}.tab .pi{border-radius:6px;width:20px;height:20px;font-size:11px}.pi{color:#fff;letter-spacing:0;border-radius:9px;flex:none;place-items:center;width:32px;height:32px;font-size:14px;font-weight:700;display:inline-grid}.pi-lg{border-radius:14px;width:52px;height:52px;font-size:22px}.pi-shared{background:repeating-linear-gradient(135deg,#8a918e 0 4px,#9da39f 4px 8px)}.badge{background:var(--bg2);color:var(--text2);border:1px solid var(--line);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 9px;font-size:12px;font-weight:600;display:inline-flex}.badge-dot:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.st-planowany{color:#6b7280;background:#f1f0ec;border-color:#e3e0d8}.st-w_budowie{color:#a6611d;background:#fbf0e3;border-color:#f0dcc4}.st-gotowy{color:#2a78d6;background:#e8f1fc;border-color:#cfe1f6}.st-w_wynajmie{color:#0a7a3c;background:#e5f5ea;border-color:#c8e8d3}.st-nieaktywny{color:#8a918e;background:#f2f2f0;border-color:#e5e5e2}.badge-orange{color:#a6611d;background:#fbf0e3;border-color:#f0dcc4}.badge-red{color:var(--error);background:#fdecec;border-color:#f6d2d2}.badge-green{color:#0a7a3c;background:#e5f5ea;border-color:#c8e8d3}.bar{background:#eee8dc;border-radius:99px;height:8px;position:relative;overflow:hidden}.bar>span{background:var(--primary);border-radius:99px;height:100%;display:block}.bar.thin{height:6px}.bar>span.over{background:var(--over)}.bar>span.warn{background:var(--warn)}.bar-label{color:var(--text2);justify-content:space-between;gap:8px;margin-bottom:5px;font-size:12.5px;display:flex}.bar-label b{color:var(--text);font-weight:600}.list{flex-direction:column;display:flex}.list-item{border-top:1px solid var(--line);align-items:center;gap:12px;min-width:0;padding:11px 0;display:flex}.list-item:first-child{border-top:0}.list-item.clickable{cursor:pointer;border-top-color:#0000;border-radius:10px;margin:0 -10px;padding-left:10px;padding-right:10px}.list-item.clickable+.list-item.clickable{box-shadow:0 -1px 0 var(--line)}.list-item.clickable:hover{background:var(--bg2)}.li-main{flex:1;min-width:0}.li-title{text-overflow:ellipsis;white-space:nowrap;font-weight:550;overflow:hidden}.li-sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.li-amount{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}table.tbl{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.tbl th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:8px 10px;font-size:12px;font-weight:600}.tbl td{vertical-align:middle;border-bottom:1px solid #f0ebe1;padding:10px}.tbl tr:last-child td{border-bottom:0}.tbl tr.clickable{cursor:pointer}.tbl tr.clickable:hover td{background:var(--bg2)}.tbl .r{text-align:right}.tbl tfoot td{border-top:1px solid var(--line);border-bottom:0;font-weight:650}.tbl-wrap{overflow-x:auto}.empty{text-align:center;color:var(--text2);flex-direction:column;align-items:center;gap:10px;padding:40px 20px;display:flex}.empty-icon{background:var(--accent-bg);width:56px;height:56px;color:var(--primary);border-radius:16px;place-items:center;display:grid}.empty-icon svg{width:28px;height:28px}.empty h3{color:var(--text);font-size:16px}.empty p{max-width:380px;color:var(--muted);margin:0}.empty-sm{color:var(--muted);text-align:center;padding:18px 10px;font-size:13.5px}.alert{border-radius:10px;align-items:flex-start;gap:10px;padding:10px 14px;font-size:13.5px;display:flex}.alert-error{color:#8f2424;background:#fdecec}.alert-warn{color:#7a5600;background:#fff6dd}.alert-info{background:var(--accent-bg);color:var(--primary-dark)}.overlay{z-index:60;background:#0b1e1c61;animation:.15s fade;position:fixed;inset:0}.drawer{background:var(--bg);z-index:61;flex-direction:column;width:min(520px,100vw);animation:.2s ease-out slidein;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-10px 0 40px #00000026}.drawer-head{border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:10px;padding:16px 20px;display:flex}.drawer-head h2{flex:1;font-size:17px}.drawer-body{flex:1;padding:18px 20px;overflow-y:auto}.drawer-foot{padding:12px 20px calc(12px + var(--safe-b));border-top:1px solid var(--line);background:#fff;gap:10px;display:flex}.modal{background:var(--bg);z-index:61;border-radius:16px;flex-direction:column;width:min(560px,100vw - 24px);max-height:calc(100vh - 40px);animation:.16s ease-out pop;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.modal.wide{width:min(760px,100vw - 24px)}@media (width<=860px){.drawer{width:100vw;animation:.2s ease-out slideup}.drawer-head{padding-top:calc(14px + env(safe-area-inset-top,0px))}.modal{border-radius:18px 18px 0 0;width:100vw;max-height:92vh;animation:.2s ease-out slideup;top:auto;bottom:0;left:0;transform:none}}@keyframes fade{0%{opacity:0}}@keyframes slidein{0%{opacity:0;transform:translate(40px)}}@keyframes slideup{0%{opacity:0;transform:translateY(40px)}}@keyframes pop{0%{opacity:0;transform:translate(-50%,-48%)}}.sheet-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.sheet-action{border:1px solid var(--line);color:var(--text);cursor:pointer;text-align:left;background:#fff;border-radius:14px;flex-direction:column;align-items:flex-start;gap:8px;padding:14px;font-size:15px;font-weight:600;display:flex;text-decoration:none!important}.sheet-action svg{width:24px;height:24px;color:var(--primary)}.sheet-action[aria-disabled=true]{opacity:.5;cursor:default}.sheet-action small{color:var(--muted);font-size:12px;font-weight:400}.toasts{z-index:100;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{color:#fff;background:#152221;border-radius:10px;padding:10px 16px;font-weight:550;animation:.2s slideup;box-shadow:0 8px 24px #0003}.toast-error{background:var(--error)}@media (width<=860px){.toasts{bottom:calc(90px + var(--safe-b))}}.login-page{background:var(--sidebar);place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{background:#fff;border-radius:18px;width:min(380px,100%);padding:28px;box-shadow:0 20px 60px #0000004d}.login-card .brand{color:var(--text);padding:0 0 20px}.login-card .brand-sub{color:var(--muted);opacity:1}.boot{place-items:center;min-height:100vh;display:grid}.spinner{border:3px solid var(--line);border-top-color:var(--primary);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-row{place-items:center;padding:30px;display:grid}.prop-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px;display:grid}.prop-card{border-radius:var(--r-card);box-shadow:var(--shadow);cursor:pointer;color:inherit;background:#fff;flex-direction:column;display:flex;overflow:hidden;text-decoration:none!important}.prop-card:hover{box-shadow:0 4px 18px #1522211a}.prop-photo{background:var(--bg2);place-items:center;height:150px;display:grid;position:relative}.prop-photo img{object-fit:cover;width:100%;height:100%}.prop-photo .pi{position:absolute;bottom:-16px;left:14px;box-shadow:0 0 0 3px #fff}.prop-photo.nophoto{background:linear-gradient(135deg, var(--c) 0%, color-mix(in srgb, var(--c) 65%, #000) 100%)}.prop-photo.nophoto svg{color:#ffffff59;width:48px;height:48px}.prop-body{flex-direction:column;flex:1;gap:10px;padding:24px 16px 16px;display:flex}.params{color:var(--text2);flex-wrap:wrap;gap:4px 14px;font-size:13px;display:flex}.params span{align-items:center;gap:5px;display:inline-flex}.params svg{width:15px;height:15px;color:var(--muted)}.prop-header{flex-wrap:wrap;align-items:flex-start;gap:18px;display:flex}.prop-header-photo{object-fit:cover;background:var(--bg2);border-radius:12px;flex:none;width:168px;height:112px}.prop-header-main{flex-direction:column;flex:1;gap:8px;min-width:240px;display:flex}.prop-header-bars{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:14px;display:grid}.prop-header-photo.photo-btn{width:168px;height:112px;font-size:13px}@media (width<=860px){.prop-header-photo.photo-btn{width:100%;height:120px}.prop-header-bars{grid-template-columns:minmax(0,1fr);gap:10px}.prop-header-photo{width:100%;height:170px}}.cat-row{border-top:1px solid #f0ebe1;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 12px;padding:10px 0;display:grid}.cat-row .bar{order:3;grid-column:1/-1}.cat-row:first-child{border-top:0}.cat-name{font-weight:550}.cat-nums{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}.cat-nums b{font-weight:600}.cat-nums.over b{color:var(--over)}.filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.filters .input{width:auto}.search{flex:1;min-width:180px;position:relative}.search svg{width:16px;height:16px;color:var(--muted);position:absolute;top:50%;left:11px;transform:translateY(-50%)}.search .input{width:100%;padding-left:34px}.exp-row{cursor:pointer;border-radius:10px;grid-template-columns:86px 28px minmax(0,1fr) auto;align-items:center;gap:12px;margin:0 -10px;padding:10px;display:grid}.exp-row:hover{background:var(--bg2)}.exp-row+.exp-row{box-shadow:0 -1px #f0ebe1}.exp-row .pi{border-radius:7px;width:26px;height:26px;font-size:12px}.exp-date{color:var(--text2);font-variant-numeric:tabular-nums;font-size:13px}.exp-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px;font-size:12.5px;display:flex}.exp-meta .dot:before{content:"·";margin-right:6px}@media (width<=860px){.exp-row{grid-template-columns:28px minmax(0,1fr) auto}.exp-date{display:none}}.thumbs{flex-wrap:wrap;gap:8px;display:flex}.thumb{object-fit:cover;background:var(--bg2);border:1px solid var(--line);width:72px;height:72px;color:var(--muted);border-radius:10px;place-items:center;font-size:11px;display:grid;position:relative;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%}.thumb .x{color:#fff;cursor:pointer;background:#0009;border:0;border-radius:50%;place-items:center;width:22px;height:22px;font-size:13px;line-height:1;display:grid;position:absolute;top:3px;right:3px}.photo-btn{width:72px;height:72px;color:var(--text2);cursor:pointer;background:#fff;border:1.5px dashed #cfc6b5;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:11px;font-weight:550;display:flex}.photo-btn svg{width:22px;height:22px;color:var(--primary)}.pln-preview{color:var(--text2);flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.pln-preview b{color:var(--text);font-size:15px}.section-label{color:var(--text);letter-spacing:-.005em;margin:22px 0 10px;font-size:13.5px;font-weight:650}.section-label:first-child{margin-top:0}.todo-date{color:var(--text2);min-width:64px;font-size:12px;font-weight:600}.todo-date.urgent{color:var(--error)}.todo-icon{border-radius:8px;flex:none;place-items:center;width:30px;height:30px;display:grid}.todo-icon svg{width:16px;height:16px}.todo-icon.pay{color:var(--orange);background:#fbf0e3}.todo-icon.rem{background:var(--accent-bg);color:var(--primary)}.lightbox{z-index:90;cursor:zoom-out;background:#000000e6;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.lightbox img{border-radius:6px;max-width:100%;max-height:100%}.placeholder-page{max-width:560px;margin:40px auto}.gantt-wrap{overflow-x:auto}.gantt{font-size:13px;position:relative}.gantt-row{border-top:1px solid #f0ebe1;grid-template-columns:180px 1fr;align-items:center;min-height:38px;display:grid}.gantt-row:hover .gantt-label{color:var(--primary)}.gantt-head{border-top:0;min-height:28px}.gantt-label{align-items:center;gap:7px;min-width:0;padding-right:10px;font-weight:550;display:flex}.gantt-dot{border-radius:50%;flex:none;width:8px;height:8px}.gantt-dot.st-done{background:var(--primary)}.gantt-dot.st-prog{background:var(--warn)}.gantt-dot.st-plan{border:1.5px dashed var(--muted)}.gantt-warn{color:var(--error);flex:none}.gantt-track{height:38px;position:relative}.gantt-head .gantt-track{height:28px}.gantt-month{color:var(--text2);border-left:1px solid var(--line);text-transform:capitalize;align-items:center;padding-left:6px;font-size:12px;font-weight:600;display:flex;position:absolute;top:0;bottom:0}.gantt-grid{border-left:1px solid #f3efe7;position:absolute;top:0;bottom:0}.gantt-bar{border-radius:6px;align-items:center;height:18px;display:flex;position:absolute;top:10px;overflow:hidden}.gb-done{background:var(--primary)}.gb-prog{background:#cfe6e1}.gb-prog .gb-fill{background:var(--primary);position:absolute;top:0;bottom:0;left:0}.gb-text{color:#fff;text-shadow:0 0 3px #00000040;padding-left:6px;font-size:11px;font-weight:700;position:relative}.gb-plan{background:repeating-linear-gradient(135deg,#f1ece2 0 5px,#e6dfd1 5px 10px);border:1.5px dashed #b7ad9a}.gb-late{box-shadow:0 0 0 2px var(--error)}.gantt-overrun{background:repeating-linear-gradient(90deg, var(--error) 0 4px, transparent 4px 7px);height:4px;position:absolute;top:17px}.gantt-today{background:var(--orange);z-index:2;width:2px;margin-left:-1px;position:absolute;top:-2px;bottom:-2px}.gantt-head .gantt-today{display:none}.gantt-nodate{color:var(--muted);font-size:12px;position:absolute;top:11px;left:6px}.gantt-payment{background:var(--orange);cursor:pointer;width:14px;height:14px;box-shadow:0 0 0 1px var(--orange);z-index:3;border:2px solid #fff;border-radius:3px;margin-left:-7px;padding:0;position:absolute;top:12px;transform:rotate(45deg)}.gantt-payment.paid{box-shadow:0 0 0 1.5px var(--ok);background:#fff}.gantt-payment.late{background:var(--error);box-shadow:0 0 0 1px var(--error)}.gantt-pay .gantt-label{color:var(--orange)}.gantt-legend{color:var(--text2);flex-wrap:wrap;gap:14px;margin-top:10px;font-size:12px;display:flex}.gantt-legend span{align-items:center;gap:6px;display:inline-flex}.gantt-legend i{border-radius:3px;width:18px;height:10px;display:inline-block}.gantt-legend i.lg-pay{background:var(--orange);width:10px;height:10px;transform:rotate(45deg)}.gantt-legend i.lg-today{background:var(--orange);border-radius:0;width:2px;height:14px}@media (width<=860px){.gantt-row{grid-template-columns:120px 1fr}}.gallery{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.gallery-item{background:var(--bg2);aspect-ratio:4/3;cursor:zoom-in;border-radius:10px;position:relative;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:100%;display:block}.gallery-cap{color:#fff;background:linear-gradient(#0000,#0009);padding:18px 8px 6px;font-size:11.5px;position:absolute;bottom:0;left:0;right:0}.gallery-sm{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:6px}.journal-entry{border-top:1px solid #f0ebe1;padding:12px 0}.journal-entry:first-child{border-top:0}.journal-head{color:var(--muted);align-items:center;gap:8px;margin-bottom:4px;font-size:12.5px;display:flex}.journal-text{white-space:pre-wrap}.journal-photos{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.journal-photos img{object-fit:cover;cursor:zoom-in;border-radius:8px;width:64px;height:64px}.doc-icon{background:var(--accent-bg);width:36px;height:36px;color:var(--primary);border-radius:9px;flex:none;place-items:center;display:grid;overflow:hidden}.doc-icon img{object-fit:cover;width:100%;height:100%}.doc-icon svg{width:18px;height:18px}.check-btn{color:#0000;cursor:pointer;background:#fff;border:1.5px solid #cfc6b5;border-radius:8px;flex:none;place-items:center;width:26px;height:26px;padding:0;display:grid}.check-btn svg{width:15px;height:15px}.check-btn:hover{border-color:var(--primary);color:var(--primary)}.check-btn.on{background:var(--primary);border-color:var(--primary);color:#fff}.bs-zapytanie{color:#7a5600;background:#fff6dd;border-color:#f3e2ad}.bs-potwierdzona{color:#2a78d6;background:#e8f1fc;border-color:#cfe1f6}.bs-zapłacona{color:#0a7a3c;background:#e5f5ea;border-color:#c8e8d3}.bs-w_trakcie{color:#0a4e48;background:var(--accent-bg);border-color:#bfdcd5}.bs-zakończona{color:#4b5755;background:#f1f0ec;border-color:#e3e0d8}.bs-anulowana{color:var(--error);background:#fdecec;border-color:#f6d2d2;text-decoration:line-through}.src-dot{border-radius:3px;flex:none;width:10px;height:10px;display:inline-block}.settle{font-variant-numeric:tabular-nums;grid-template-columns:1fr auto;gap:6px 12px;display:grid}.settle .lbl{color:var(--text2)}.settle .sum{border-top:1px solid var(--line);padding-top:6px;font-weight:650}.tl-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.tl{-webkit-user-select:none;user-select:none;min-width:900px}.tl-row{border-top:1px solid #f0ebe1;grid-template-columns:150px 1fr;display:grid}.tl-row.head{border-top:0}.tl-label{align-items:center;gap:8px;min-width:0;padding:0 10px 0 0;font-size:13px;font-weight:600;display:flex}.tl-track{height:46px;display:grid;position:relative}.tl-row.head .tl-track{height:38px}.tl-day{border-left:1px solid #f3efe7;position:relative}.tl-day.we{background:#faf6ee}.tl-day.today{background:#e1f0ec}.tl-dh{color:var(--muted);border-left:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;font-size:11px;line-height:1.15;display:flex}.tl-dh b{color:var(--text2);font-size:12.5px;font-weight:600}.tl-dh.we b{color:var(--orange)}.tl-dh.today{background:var(--primary);color:#e1f0ec;border-radius:8px}.tl-dh.today b{color:#fff}.tl-bar{color:#fff;white-space:nowrap;cursor:pointer;z-index:2;border-radius:8px;align-items:center;height:30px;padding:0 8px;font-size:12px;font-weight:600;display:flex;position:absolute;top:8px;overflow:hidden;box-shadow:0 0 0 2px #fff}.tl-bar:hover{filter:brightness(1.06);z-index:3}.tl-bar.zapytanie{opacity:.6;border:2px dashed #fffc}.tl-bar.cut-l{border-top-left-radius:0;border-bottom-left-radius:0}.tl-bar.cut-r{border-top-right-radius:0;border-bottom-right-radius:0}.tl-block{color:#3e4644;text-shadow:0 0 3px #fff;background:repeating-linear-gradient(135deg,#b9b5ac 0 5px,#d9d5cc 5px 10px)}.tl-constr{height:22px;color:var(--text2);white-space:nowrap;z-index:1;background:#e3ded4;border-radius:6px;align-items:center;padding:0 10px;font-size:12px;font-weight:550;display:flex;position:absolute;top:12px;overflow:hidden}.tl-sel{border:2px solid var(--primary);pointer-events:none;z-index:4;background:#0f6b632e;border-radius:8px;position:absolute;top:6px;bottom:6px}.tl-legend{color:var(--text2);flex-wrap:wrap;gap:14px;margin-top:12px;font-size:12px;display:flex}.tl-legend span{align-items:center;gap:6px;display:inline-flex}.tl-legend i{border-radius:3px;width:18px;height:10px;display:inline-block}.month-nav{align-items:center;gap:6px;display:flex}.month-nav h2{text-align:center;text-transform:capitalize;min-width:150px}.occ{font-size:12px}.occ-row{grid-template-columns:150px 1fr 56px;align-items:end;gap:8px;padding:6px 0;display:grid}.occ-label{align-self:center;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.occ-plot{border-bottom:1px solid var(--line);grid-template-columns:repeat(12,1fr);align-items:end;gap:2px;height:64px;display:grid;position:relative}.occ-band{background:#c9792b12;position:absolute;top:0;bottom:0}.occ-bar{cursor:default;border-radius:4px 4px 0 0;min-height:2px;margin:0 3px;position:relative}.occ-avg{text-align:right;font-variant-numeric:tabular-nums;align-self:center;font-weight:650}.occ-axis{color:var(--muted);grid-template-columns:150px 1fr 56px;gap:8px;display:grid}.occ-axis .m{text-align:center;text-transform:capitalize;grid-template-columns:repeat(12,1fr);display:grid}.occ-price{grid-template-columns:150px 1fr 56px;gap:8px;margin-top:4px;display:grid}.occ-price .bands{height:22px;position:relative}.occ-price .band{white-space:nowrap;border:1px solid var(--line);height:22px;color:var(--text2);background:#fff;border-radius:6px;justify-content:center;align-items:center;font-size:11.5px;display:flex;position:absolute;top:0;overflow:hidden}.occ-price .band.high{color:#8a4f17;background:#fbf0e3;border-color:#f0dcc4}.chart-tip{z-index:80;pointer-events:none;color:#fff;background:#152221;border-radius:8px;max-width:260px;padding:8px 10px;font-size:12.5px;position:fixed;box-shadow:0 6px 20px #0003}.chart-tip .t{color:#cfe3df;margin-bottom:3px;font-size:11.5px}@media (width<=860px){.occ-row,.occ-axis,.occ-price{grid-template-columns:34px minmax(0,1fr) 40px;gap:6px}.occ-label .ellipsis,.occ-price>span:first-child{display:none}.occ-axis .m,.occ-price .band{font-size:10px}.tl-row{grid-template-columns:44px 1fr}.tl-label .ellipsis{display:none}}.struct-bar{background:#fff;border-radius:6px;gap:2px;height:18px;display:flex;overflow:hidden}.struct-bar span{height:100%;display:block}.struct-legend{color:var(--text2);flex-wrap:wrap;gap:6px 16px;margin-top:10px;font-size:12.5px;display:flex}.struct-legend span{align-items:center;gap:6px;display:inline-flex}.struct-legend i{border-radius:3px;width:10px;height:10px;display:inline-block}.calc-form .section-label:first-child{margin-top:0}@media (width<=1180px){.content>.grid[style*="0.9fr"]{grid-template-columns:minmax(0,1fr)!important}.content>.grid[style*="0.9fr"]>.stack{position:static!important}}.calc-form>div+div>.section-label{margin-top:20px}@media (width<=1180px){.calc-results{order:-1}}.topbar.scrolled{border-bottom-color:var(--line)}:focus-visible{outline:2.5px solid var(--primary);outline-offset:2px;border-radius:6px}.sidebar :focus-visible{outline-color:#8fd3c8}.input:focus-visible{outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.btn,.chip,.nav-link,.tab,.icon-btn{transition:background-color .12s,border-color .12s,color .12s}.card-head{margin-bottom:16px}.card-head h2{font-size:15.5px}.nav-props{flex-direction:column;gap:1px;display:flex}.nav-prop{color:var(--sidebar-text);border-radius:9px;align-items:center;gap:10px;min-width:0;padding:6px 10px;font-size:13.5px;font-weight:500;display:flex;text-decoration:none!important}.nav-prop .pi{border-radius:6px;width:22px;height:22px;font-size:11px;box-shadow:0 0 0 1.5px #ffffff1f}.nav-prop:hover{color:#fff;background:#ffffff0d}.nav-prop.active{background:var(--sidebar-active);color:#fff}.nav-prop .ellipsis{flex:1}.nav-prop .st{border-radius:50%;flex:none;width:7px;height:7px}.prop-hero{position:relative;overflow:hidden}.prop-hero:before{content:"";background:var(--c,var(--primary));width:5px;position:absolute;top:0;bottom:0;left:0}.prop-hero .pi-lg{width:64px;height:64px;box-shadow:0 6px 18px color-mix(in srgb, var(--c,#0f6b63) 35%, transparent);border-radius:16px;font-size:30px}.login-page{background:var(--sidebar) radial-gradient(circle at 20% 15%, #e1f0ec12, transparent 45%)}.login-card .brand-name{letter-spacing:-.02em;font-size:18px}.tbl th{color:var(--text2);font-size:12.5px;font-weight:550}.list-item{padding:12px 0}.li-title{letter-spacing:-.005em}.badge{font-weight:550}.empty h3{letter-spacing:-.015em;font-size:17px}
