:root{color-scheme:light;--bg: #efe7da;--bg-deep: #e4d9c8;--ink: #1b2420;--muted: #5d675f;--pine: #16382c;--pine-2: #1f4f3c;--cream: #fbf7f0;--card: #fffdf9;--line: #ddd2c2;--brass: #8d5a32;--danger: #8c3428;--danger-bg: #f8ebe7;--shadow: 0 18px 40px rgba(40, 32, 20, .08);font-family:Outfit,sans-serif;color:var(--ink);background:radial-gradient(circle at top left,rgba(196,162,122,.35),transparent 28rem),var(--bg)}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3,h4,h5{font-family:Fraunces,serif;font-weight:560;letter-spacing:-.03em;margin:0}p{margin:0}.login{min-height:100vh;display:grid;grid-template-columns:1.2fr .8fr}.login-hero,.login-panel{padding:clamp(2rem,5vh,4.5rem)}.login-hero{background:var(--pine);color:#f6f1e7;display:flex;flex-direction:column;justify-content:flex-end;gap:1rem;min-height:100vh;padding:clamp(2rem,5vh,4.5rem);overflow:auto}.login-hero h1{font-size:clamp(2.7rem,5vw,4.8rem);line-height:.95;max-width:10ch}.login-hero p:last-child,.login-panel p{color:inherit;max-width:36rem;line-height:1.5}.login-hero p:last-child{color:#d7e3db}.login-panel{display:flex;flex-direction:column;justify-content:center;gap:1rem;background:var(--cream)}.login-panel h2{font-size:2.2rem}.brand-kicker{margin:0;text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:600}.button{border:0;border-radius:999px;background:var(--pine);color:#f7f3ea;min-height:46px;padding:.7rem 1.15rem;display:inline-flex;align-items:center;justify-content:center;gap:.7rem;font-weight:600}.button:hover{background:var(--pine-2)}.button:disabled{opacity:.6;cursor:wait}.button-quiet{background:transparent;color:var(--ink);border:1px solid var(--line)}.button-quiet:hover{background:#f3ece2}.button-danger{background:var(--danger)}.button-danger:hover{background:#732920}.button-google{background:#fff;color:var(--ink);border:1px solid var(--line);justify-content:flex-start;width:fit-content;padding-right:1.3rem}.button-google svg{width:18px;height:18px}.app{min-height:100vh}.topbar{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.1rem 1.5rem .7rem}.chrome{position:sticky;top:0;z-index:2;background:#fbf7f0f0;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.module-nav{display:flex;flex-wrap:wrap;gap:.4rem;padding:0 1.5rem .8rem}.module-nav button{border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:999px;padding:.45rem .9rem;font-weight:600}.module-nav button.is-active{background:var(--pine);color:#f4efe4;border-color:var(--pine)}.brand,.account{display:flex;align-items:center;gap:.8rem}.brand strong{font-family:Fraunces,serif;font-size:1.35rem}.brand-mark{width:2.4rem;height:2.4rem;border-radius:.7rem;display:grid;place-items:center;background:var(--pine);color:#f4efe4;font-family:Fraunces,serif}.account img{width:2.2rem;height:2.2rem;border-radius:50%}.account div{display:flex;flex-direction:column;line-height:1.2}.account span,.lede,.footnote,.field small,.meta,.address{color:var(--muted)}main{width:min(1080px,calc(100% - 2rem));margin:1.5rem auto 3rem}.panel{background:var(--card);border:1px solid var(--line);border-radius:1.4rem;box-shadow:var(--shadow);padding:1.4rem}.panel-head,.form-actions,.card-top{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.panel-head h2{font-size:2.4rem;margin-top:.15rem}.eyebrow{color:var(--brass);font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:.75rem}.lede{margin-top:.4rem}.filters{display:flex;gap:.5rem;margin:1.2rem 0}.chip{border:1px solid var(--line);background:transparent;border-radius:999px;padding:.4rem .8rem}.chip.is-active{background:var(--pine);color:#f7f3ea;border-color:var(--pine)}.cards{list-style:none;padding:0;margin:1rem 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.card{border:1px solid var(--line);border-radius:1.1rem;padding:1rem 1rem .9rem;background:linear-gradient(180deg,#fff,#fbf7f1);display:flex;flex-direction:column;gap:.45rem;min-height:100%}.card.status-wynajete{box-shadow:inset 3px 0 0 var(--brass)}.card.status-wolne{box-shadow:inset 3px 0 0 var(--pine)}.card h3{font-size:1.45rem}.pill{border-radius:999px;padding:.2rem .6rem;font-size:.8rem;font-weight:600;white-space:nowrap}.pill-wolne{background:#e7f2eb;color:var(--pine)}.pill-wynajete{background:#f4eadc;color:var(--brass)}.rent{font-size:1.25rem;font-weight:600;margin-top:auto}.rent span{font-weight:400;color:var(--muted);font-size:.9rem}.card-photo{width:100%;height:8.5rem;object-fit:cover;border-radius:.8rem}.card-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:auto}.card-actions .button{margin-top:0}.empty{margin-top:1.2rem;padding:2rem 1rem;text-align:center;display:grid;justify-items:center;gap:.6rem}.empty-mark{width:3.2rem;height:3.2rem;border-radius:1rem;background:var(--pine);position:relative}.empty-mark:before{content:"";position:absolute;inset:.7rem .75rem .85rem;border:2px solid #f4efe4;border-bottom:0;clip-path:polygon(50% 0,100% 42%,100% 100%,0 100%,0 42%)}.form{display:grid;gap:1rem;margin-top:1.2rem}.generated-name{display:grid;gap:.2rem;margin:0;padding:.85rem 1rem;border-radius:.9rem;background:#f6f1e8}.generated-name span{color:var(--brass);font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.generated-name strong{font-family:Fraunces,serif;font-size:1.45rem;font-weight:560}.fees{display:grid;gap:.8rem}.fees-head h3{font-size:1.45rem}.fees-head p{color:var(--muted);margin-top:.25rem}.fee-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:1rem;background:#fff}.fee-table{width:100%;border-collapse:collapse;min-width:50rem}.fee-table th{text-align:left;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:.7rem .75rem;background:#f6f1e8;border-bottom:1px solid var(--line);white-space:nowrap}.fee-table td{padding:.55rem .75rem;border-bottom:1px solid var(--line);vertical-align:middle}.fee-table tbody tr:last-child td{border-bottom:0}.fee-table tfoot th,.fee-table tfoot td{background:#f6f1e8;border-bottom:0;border-top:1px solid var(--line)}.fee-table tfoot th{text-align:right;text-transform:none;letter-spacing:0;font-size:.95rem;color:var(--ink)}.fee-table input:not([type=checkbox]),.fee-table select{width:100%;min-width:0;border:1px solid var(--line);background:#fff;border-radius:.65rem;padding:.55rem .65rem;font-weight:400}.fee-table input:read-only{background:#f6f1e8}.fee-meters label{display:inline-flex;align-items:center;gap:.4rem;font-weight:500;white-space:nowrap}.fee-table input[type=checkbox]{width:1.05rem;height:1.05rem;margin:0;accent-color:var(--pine)}.fee-table input:focus,.fee-table select:focus{outline:2px solid #c4a27a;border-color:transparent}.fee-table .field-error{display:block;margin-top:.3rem}.fee-table td:nth-child(2){width:7rem}.fee-unit{display:inline-block;margin-left:.35rem;color:var(--muted);font-weight:650}.fee-table td:nth-child(3){width:1%}.fee-table td:nth-child(4){width:8rem}.fee-table td:nth-child(5){width:6.5rem}.fee-table td:nth-child(7){width:1%;white-space:nowrap}.fee-gross{white-space:nowrap}.fee-gross strong{font-size:1.05rem;font-variant-numeric:tabular-nums}.field select{width:100%;border:1px solid var(--line);background:#fff;border-radius:.8rem;padding:.75rem .85rem;font-weight:400}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 1rem}.span-2{grid-column:span 2}.field{display:grid;gap:.35rem;font-weight:500}.field-label{display:inline-flex;align-items:center;gap:.35rem}.info-tip{position:relative;display:inline-flex;align-items:center;justify-content:center;width:1.15rem;height:1.15rem;padding:0;border:0;background:transparent;color:var(--muted)}.info-tip:hover,.info-tip:focus-visible{color:var(--pine)}.info-tip-bubble{position:absolute;left:calc(100% + .45rem);top:50%;z-index:5;width:max-content;max-width:14rem;padding:.35rem .55rem;border-radius:.55rem;background:var(--pine);color:#f6f1e7;font-size:.78rem;font-weight:400;line-height:1.35;white-space:normal;box-shadow:var(--shadow);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-50%)}.info-tip:hover .info-tip-bubble,.info-tip:focus-visible .info-tip-bubble,.info-tip:focus .info-tip-bubble{opacity:1;visibility:visible}.field input,.field textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:.8rem;padding:.75rem .85rem;font-weight:400}.field input:focus,.field textarea:focus{outline:2px solid #c4a27a;border-color:transparent}.field small{font-weight:400}.field-error,.form-error{color:var(--danger)}.form-error{background:var(--danger-bg);border-radius:.8rem;padding:.7rem .85rem}.status-field{border:0;padding:0;margin:0;display:flex;gap:.6rem;flex-wrap:wrap}.status-field legend{font-weight:600;margin-bottom:.45rem;width:100%}.choice{border:1px solid var(--line);border-radius:999px;padding:.55rem .9rem;display:inline-flex;gap:.45rem;align-items:center}.choice.is-selected{border-color:var(--pine);background:#e7f2eb}.form-actions{align-items:center;margin-top:.4rem}.form-actions-main,.confirm-delete{display:flex;gap:.5rem;align-items:center}.text-button{border:0;background:transparent;padding:0;color:var(--pine);font-weight:600}.text-button.danger{color:var(--danger)}.notice{background:#e7f2eb;color:var(--pine);border-radius:.8rem;padding:.7rem .85rem;margin-bottom:.8rem}.footnote{margin-top:.8rem;font-size:.9rem}.splash{min-height:40vh;display:grid;place-items:center;color:var(--muted)}.missing{margin:0;padding-left:1.1rem;display:grid;gap:.35rem}@media(max-width:860px){.login{grid-template-columns:1fr}.login-hero,.login-panel{padding:2rem 1.2rem;min-height:auto}.login-hero{min-height:46vh}.topbar,.panel-head,.form-actions,.account{flex-direction:column;align-items:stretch}.cards,.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}main{width:min(100% - 1.2rem,1080px)}.inline-line{grid-template-columns:1fr}}.fee-history{display:grid;gap:.7rem}.fee-history ul{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.fee-history li{display:grid;gap:.15rem;padding:.75rem .85rem;border:1px solid var(--line);border-radius:.9rem;background:#fff}.fee-history li.is-current{background:#f6f1e8}.fee-history li span,.fee-history li small{color:var(--muted)}.fee-history li b{font-size:1.05rem}.photos,.lease{display:grid;gap:.8rem}.lease h4,.lease h5{font-size:1.2rem;margin-top:.4rem}.photo-grid,.plain-list,.attachment-list{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.photo-card{display:grid;gap:.35rem;align-content:start}.photo-card img{width:100%;height:120px;object-fit:cover;border-radius:.8rem}.photo-card span,.attachment-list span{color:var(--muted);font-size:.9rem}.landlord-apartments{margin:.35rem 0 0;padding-left:1.1rem;display:grid;gap:.2rem}.due-list,.due-payments{margin:.6rem 0 0;padding:0;list-style:none;display:grid;gap:.75rem}.due-line{display:grid;gap:.15rem}.due-line span,.due-payments span{color:var(--muted)}.due-payments li,.due-pay{display:flex;flex-wrap:wrap;gap:.5rem .8rem;align-items:end}.due-pay .field{min-width:8rem}.dues-toolbar{display:flex;flex-wrap:wrap;gap:.8rem 1.2rem;align-items:end;justify-content:space-between;margin-top:1.2rem}.dues-toolbar .filters{margin:0}.dues-landlord{min-width:min(100%,16rem)}.dues-table-wrap{overflow-x:auto;margin-top:.9rem;border:1px solid var(--line);border-radius:1rem;background:#fff}.dues-table{width:100%;border-collapse:collapse;min-width:58rem}.dues-table th{text-align:left;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:.7rem .75rem;background:#f6f1e8;border-bottom:1px solid var(--line);white-space:nowrap}.dues-table td{padding:.7rem .75rem;border-bottom:1px solid var(--line);vertical-align:top}.dues-table tbody tr:last-child td{border-bottom:0}.dues-table td strong,.dues-invoice{display:block}.dues-invoice{color:var(--pine);font-weight:600;margin-top:.2rem}.dues-money{font-variant-numeric:tabular-nums;white-space:nowrap}.photo-add{position:relative;width:fit-content}.photo-file{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.lease-duration,.valorization,.meter-real{display:flex;flex-wrap:wrap;gap:.8rem 1.4rem;margin:0;padding:.85rem 1rem;border-radius:.9rem;background:#f6f1e8}.lease-duration,.valorization p,.meter-real{display:grid;gap:.15rem}.valorization{display:flex}.valorization p{margin:0;background:transparent;padding:0}.lease-duration span,.valorization span,.meter-real span,.meter-real small{color:var(--muted)}.attachment-list li,.inline-line{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center}.inline-line input{border:1px solid var(--line);border-radius:.7rem;padding:.55rem .65rem;background:#fff;min-width:0}.inline-line input:not([type=date]){flex:1}.meter-card,.meter-period{display:grid;gap:.7rem;padding:.9rem;border:1px solid var(--line);border-radius:1rem;background:#fff}.meters{display:grid;gap:.8rem}.party-card,.invoice-sheet{display:grid;gap:.35rem;padding:1rem;border:1px solid var(--line);border-radius:1rem;background:#fff}.party-card span,.invoice-words span,.invoice-pay dt,.invoice-head dt,.invoice-parties h4{color:var(--muted);font-size:.85rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.lease-choices{border:0;margin:0;padding:0;display:grid;gap:.6rem}.lease-choices legend{font-weight:600;margin-bottom:.2rem}.lease-choice{display:flex;gap:.75rem;align-items:flex-start;padding:.8rem .9rem;border:1px solid var(--line);border-radius:.9rem;background:#fff}.lease-choice.is-selected{border-color:var(--pine);background:#f6f1e8}.lease-choice span{display:grid;gap:.15rem}.lease-choice small{color:var(--muted)}.invoice-sheet{gap:1rem;margin-top:.4rem}.invoice-head,.invoice-parties,.invoice-pay{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.invoice-head dl,.invoice-pay{display:grid;gap:.45rem;margin:0}.invoice-head h3{margin:0;font-family:Fraunces,serif}.invoice-parties{display:grid;grid-template-columns:1fr 1fr}.invoice-parties section,.invoice-pay div,.invoice-head dl div{display:grid;gap:.15rem}.invoice-parties p,.invoice-head dd,.invoice-pay dd{margin:0}.invoice-table,.invoice-edit{width:100%;border-collapse:collapse;font-size:.92rem}.invoice-table th,.invoice-table td,.invoice-edit th,.invoice-edit td{border-bottom:1px solid var(--line);padding:.45rem .35rem;text-align:left;vertical-align:middle}.invoice-edit input,.invoice-edit select{width:100%;border:1px solid var(--line);border-radius:.55rem;padding:.4rem .45rem;background:#fff}.invoice-words{margin:0;display:grid;gap:.2rem}.invoice-foot{margin:0;padding-top:.75rem;border-top:1px solid var(--line);font-size:.9rem}.invoice-foot a{color:var(--pine)}.check-line{display:flex;align-items:center;gap:.45rem}.tenant-person{display:grid;gap:.45rem;margin-bottom:.85rem}.lease-card,.card.is-clickable{cursor:pointer}.file-frame{margin:1rem 0 1.4rem;display:grid;gap:.45rem}.file-frame iframe,.file-frame img{width:100%;min-height:28rem;border:1px solid var(--line);background:#fff}.preview-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.6rem;margin:0 0 1rem}.preview-photos img{width:100%;height:8rem;object-fit:cover}.preview-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.8rem 1.2rem;margin:0 0 1rem}.preview-facts div{display:grid;gap:.15rem}.preview-facts dt{color:var(--muted);font-size:.78rem}.preview-facts dd{margin:0}.task-groups{display:grid;gap:1.5rem;margin-top:1.2rem}.task-group-head{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem}.task-group-head h3{font-size:1.35rem}.task-count{color:var(--brass);font-weight:600;font-size:.95rem}.task-list{list-style:none;margin:.45rem 0 0;padding:0;border-top:1px solid var(--line)}.task-row{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1.35fr) 10.5rem auto;gap:.75rem 1rem;align-items:center;padding:.8rem 0;border-bottom:1px solid var(--line)}.task-what,.task-where{display:grid;gap:.12rem;min-width:0}.task-what strong{font-size:1rem}.task-what span,.task-where span{color:var(--muted);font-size:.92rem}.task-date{font-size:.95rem}.task-row .button{margin:0;min-height:40px;white-space:nowrap}@media(max-width:860px){.invoice-parties{grid-template-columns:1fr}.module-nav{padding-inline:1rem}.task-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"what action" "where date"}.task-what{grid-area:what}.task-where{grid-area:where}.task-date{grid-area:date;justify-self:end;align-self:end}.task-row .button{grid-area:action;align-self:start}}
