.invoice{box-sizing:border-box;max-width:210mm;margin:0 auto;padding:9mm;border:1px solid #d8ddd3;color:#000;background:#fff;font-family:Arial,Helvetica Neue,sans-serif;font-size:9.5px;line-height:1.3}.invoice-head{display:grid;grid-template-columns:1fr 40mm;gap:6mm;padding-bottom:3mm;border-bottom:1.5px solid #000}.invoice-head h2{margin:0 0 3mm;font-size:13px;font-weight:700}.invoice-requisites{display:grid;grid-template-columns:26mm 1fr;gap:1.2mm 3mm;margin:0}.invoice-requisites dt{font-weight:400}.invoice-requisites dd{margin:0}.invoice-gap{margin-left:8mm}.invoice-pay{display:flex;justify-content:space-between;gap:6mm;margin-top:3mm;padding:1.5mm 3mm;border:1.5px solid #000;font-size:11px}.invoice-side{display:flex;flex-direction:column;align-items:center;gap:2mm;text-align:center}.invoice-account{width:100%;border:1px solid #000;padding:1mm}.invoice-account small{display:block}.invoice-account strong{font-size:12px;letter-spacing:.04em}.invoice-qr{width:34mm;height:34mm}.invoice-qr-missing{display:flex;align-items:center;padding:2mm;border:1px dashed #777;font-size:8px}.invoice-body{display:grid;grid-template-columns:1fr 44mm;gap:3mm;margin-top:3mm}.invoice-table{width:100%;border-collapse:collapse}.invoice-table{align-self:start;height:auto}.invoice .invoice-table th,.invoice .invoice-table td{height:auto;padding:.8mm 1.2mm;border:1px solid #000;text-align:left;vertical-align:top;font-size:9px;font-weight:400;letter-spacing:normal;text-transform:none;white-space:normal;color:#000;background:none}.invoice .invoice-table tr:hover,.invoice .invoice-table tr:hover td{background:none}.invoice .invoice-table th{font-weight:700}.invoice .invoice-table .num{text-align:right;white-space:nowrap}.invoice .invoice-section td{padding-top:1.6mm;font-weight:700;text-transform:uppercase}.invoice .invoice-table tfoot td{font-weight:700}.invoice-info{padding:1.5mm;border:1px solid #000;font-size:8px}.invoice-info p{margin:.6mm 0 1.4mm}.invoice-tear{margin-top:4mm}.invoice-tear-line{margin-bottom:2mm;border-top:1px dashed #000;padding-top:.6mm;text-align:center;font-size:8px}.invoice-tear p{margin:0 0 1.5mm}.invoice-blank{min-width:25mm}.invoice-sign{display:flex;justify-content:space-between;margin-top:4mm}@media print{@page{size:A4;margin:8mm}.invoice{max-width:none;padding:0;border:0;break-after:page}.invoice-wrap:last-child .invoice{break-after:auto}}:root{--bg: #f3f4ef;--surface: #ffffff;--surface-muted: #f7f8f4;--border: #e1e4dc;--border-strong: #cfd4ca;--text: #172118;--text-muted: #6b756c;--text-soft: #8b948b;--primary: #28512e;--primary-hover: #1f4124;--primary-soft: #e6efe4;--accent: #4d7c52;--success: #2f6b36;--success-soft: #e2f0e0;--warning: #8a6418;--warning-soft: #f6edd4;--danger: #a3403a;--danger-soft: #f9e5e2;--info: #2f5f86;--info-soft: #e3edf6;--radius: 16px;--shadow: 0 1px 2px #1721180d, 0 4px 16px #17211808;color:var(--text);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent)}h1,h2,h3{letter-spacing:-.02em}.icon{flex:none}.muted{color:var(--text-muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 18px;border:1px solid transparent;border-radius:11px;font-weight:700;text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s}.button:disabled{cursor:default;opacity:.6}.button-primary{color:#fff;background:var(--primary)}.button-primary:hover:not(:disabled){background:var(--primary-hover)}.button-secondary{color:var(--primary);background:var(--surface);border-color:var(--border-strong)}.button-secondary:hover:not(:disabled){border-color:var(--accent)}.button-ghost{color:var(--accent);background:transparent;padding:0 10px}.button-light{color:var(--primary);background:#fff}.button-block{width:100%;height:48px}.icon-button{display:grid;width:36px;height:36px;place-items:center;border:0;border-radius:10px;color:var(--text-muted);background:transparent}.icon-button:hover{color:var(--text);background:var(--surface-muted)}input,textarea,select{width:100%;padding:0 13px;border:1px solid var(--border-strong);border-radius:10px;outline:none;background:#fff}input,select{height:44px}textarea{padding:11px 13px;resize:vertical;min-height:140px}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4d7c5222}.form{display:grid;gap:14px;padding:20px 22px 22px}.form label{display:flex;flex-direction:column;gap:6px;color:var(--text-muted);font-size:12px;font-weight:700}.form label small{color:var(--text-soft);font-weight:400}.form>.button{justify-self:start}.alert{padding:12px 14px;border:1px solid;border-radius:11px;font-size:13px}.alert-error{color:var(--danger);background:var(--danger-soft);border-color:#eec9c4}.alert-success{color:var(--success);background:var(--success-soft);border-color:#c4dcc1}.alert-row{display:flex;align-items:center;gap:12px;margin-bottom:18px}.alert-row a{margin-left:auto;color:inherit;font-weight:700;white-space:nowrap}.badge{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap;vertical-align:middle}.badge-success{color:var(--success);background:var(--success-soft)}.badge-warning{color:var(--warning);background:var(--warning-soft)}.badge-danger{color:var(--danger);background:var(--danger-soft)}.badge-info{color:var(--info);background:var(--info-soft)}.badge-neutral{color:var(--text-muted);background:#eceee8}.boot{display:grid;min-height:100vh;place-items:center}.state{display:flex;align-items:center;justify-content:center;gap:12px;padding:48px 20px;color:var(--text-muted)}.state-error{flex-wrap:wrap;color:var(--danger)}.spinner{width:18px;height:18px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:34px 20px;color:var(--text-muted);text-align:center}.empty-icon{display:grid;width:52px;height:52px;margin-bottom:6px;place-items:center;border-radius:16px;color:var(--accent);background:var(--primary-soft)}.empty strong{color:var(--text)}.empty p{max-width:360px;margin:0;font-size:13px}.login-page{display:grid;min-height:100vh;grid-template-columns:1.1fr 1fr;background:var(--bg)}.login-intro{display:flex;flex-direction:column;justify-content:center;gap:28px;padding:64px max(48px,8vw);color:#eef4ec;background:radial-gradient(circle at 20% 10%,#3f7245 0,transparent 55%),#1d3822}.login-intro .brand{color:#fff}.login-intro .brand-mark{color:#1d3822;background:#cfe3c9}.login-intro h1{max-width:520px;margin:0;font-size:clamp(32px,4vw,48px);line-height:1.1}.login-intro ul{display:grid;gap:14px;margin:0;padding:0;list-style:none;color:#c9d9c5}.login-intro li{display:flex;align-items:center;gap:12px}.login-card{align-self:center;justify-self:center;width:min(420px,calc(100% - 32px));padding:40px 0}.login-card h2{margin:0;font-size:28px}.login-card>p{margin:8px 0 26px;color:var(--text-muted)}.login-card form{display:grid;gap:16px}.login-card label{display:flex;flex-direction:column;gap:6px;color:var(--text-muted);font-size:12px;font-weight:700}.portal{display:grid;min-height:100vh;grid-template-columns:264px 1fr}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--primary);font-weight:900;letter-spacing:.12em;text-decoration:none}.brand-mark{display:grid;width:32px;height:32px;place-items:center;border-radius:10px;color:#fff;background:var(--primary);letter-spacing:0}.sidebar{position:sticky;top:0;display:flex;height:100vh;flex-direction:column;gap:22px;padding:22px 16px;border-right:1px solid var(--border);background:var(--surface)}.sidebar-top{display:flex;align-items:center;justify-content:space-between;padding:0 8px}.menu-toggle{display:none;border:0;background:transparent;color:var(--text-muted)}.sidebar nav{display:grid;gap:2px}.sidebar nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:11px;color:var(--text-muted);font-weight:600;text-decoration:none}.sidebar nav a:hover{color:var(--text);background:var(--surface-muted)}.sidebar nav a.active{color:var(--primary);background:var(--primary-soft)}.nav-count{margin-left:auto;padding:1px 7px;border-radius:999px;color:#fff;background:var(--danger);font-size:11px}.sidebar-account{display:flex;align-items:center;gap:10px;margin-top:auto;padding:12px 8px 0;border-top:1px solid var(--border)}.sidebar-account>div{min-width:0;flex:1}.sidebar-account strong,.sidebar-account small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-account small{color:var(--text-soft);font-size:11px}.avatar{display:grid;width:36px;height:36px;flex:none;place-items:center;border-radius:50%;color:var(--primary);background:var(--primary-soft);font-weight:800}.content{width:100%;max-width:1180px;padding:34px 40px 60px}.content>*+*{margin-top:18px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.page-header h1{margin:0;font-size:30px}.page-header p{display:flex;flex-wrap:wrap;align-items:center;gap:8px;max-width:760px;margin:8px 0 0;color:var(--text-muted)}.page-actions{display:flex;gap:10px}.back-link{display:inline-flex;align-items:center;gap:4px;margin-bottom:10px;color:var(--text-muted);font-size:13px;font-weight:600;text-decoration:none}.back-link:hover{color:var(--primary)}.hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 30px;border-radius:20px;color:#eef4ec;background:radial-gradient(circle at 85% 0%,#4d7c52 0,transparent 60%),#1d3822}.hero-greeting{color:#b9cfb4;font-size:13px;font-weight:600}.hero h1{margin:4px 0 6px;font-size:30px}.hero p{margin:0;color:#b9cfb4;font-size:13px}.card{overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.card-narrow{max-width:560px}.card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid var(--border)}.card-header h2{margin:0;font-size:17px}.card-header a{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:700;text-decoration:none}.card-header-inner{border-top:1px solid var(--border)}.card-body{padding:20px 22px}.card-note{display:flex;align-items:center;gap:8px;padding:12px 22px;border-top:1px solid var(--border);color:var(--text-muted);background:var(--surface-muted);font-size:12px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.grid-feedback{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stats-3{grid-template-columns:repeat(3,minmax(0,1fr))}.stat{display:flex;flex-direction:column;padding:18px 20px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.stat-icon{display:grid;width:38px;height:38px;margin-bottom:14px;place-items:center;border-radius:12px;color:var(--accent);background:var(--primary-soft)}.stat small{color:var(--text-muted);font-size:12px;font-weight:600}.stat strong{margin:4px 0 2px;font-size:24px;letter-spacing:-.03em}.stat p{margin:0;color:var(--text-soft);font-size:12px}.stat-accent{border-color:#ecd9ae;background:#fffaf0}.stat-accent .stat-icon{color:var(--warning);background:var(--warning-soft)}.list{margin:0;padding:0;list-style:none}.list>li+li{border-top:1px solid var(--border)}.list-link,.list-static{display:flex;align-items:center;gap:14px;padding:14px 22px;color:inherit;text-decoration:none}.list-link:hover{background:var(--surface-muted)}.list-icon{display:grid;width:38px;height:38px;flex:none;place-items:center;border-radius:12px;color:var(--accent);background:var(--primary-soft)}.list-icon-utilities{color:var(--info);background:var(--info-soft)}.list-main{display:flex;min-width:0;flex:1;flex-direction:column;gap:2px}.list-main small{overflow:hidden;color:var(--text-muted);font-size:12px;text-overflow:ellipsis}.list-side{display:flex;flex:none;flex-direction:column;align-items:flex-end;gap:4px}.list-side small{color:var(--text-soft);font-size:11px}.list-arrow{color:var(--text-soft)}.list-date{display:flex;width:46px;flex:none;flex-direction:column;align-items:center;padding:5px 0;border-radius:11px;color:var(--text-muted);background:var(--surface-muted);font-size:10px}.list-date b{color:var(--text);font-size:17px;line-height:1.1}.place-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;padding:18px}.place{display:flex;flex-direction:column;gap:4px;padding:18px;border:1px solid var(--border);border-radius:14px;color:inherit;text-decoration:none;transition:border-color .15s,box-shadow .15s}.place:hover{border-color:var(--accent);box-shadow:var(--shadow)}.place-address{color:var(--text-muted);font-size:12px}.place>strong{font-size:18px}.place-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border);font-size:13px;font-weight:600}.place-facts small,.lease-row-facts small{display:block;color:var(--text-soft);font-size:11px;font-weight:500}.lease-list{display:grid;gap:10px}.lease-row{display:flex;align-items:center;gap:16px;padding:16px 20px;border:1px solid var(--border);border-radius:var(--radius);color:inherit;background:var(--surface);box-shadow:var(--shadow);text-decoration:none}.lease-row:hover{border-color:var(--accent)}.lease-row-icon{display:grid;width:44px;height:44px;flex:none;place-items:center;border-radius:13px;color:var(--accent);background:var(--primary-soft)}.lease-row-main{display:flex;min-width:0;flex:1;flex-direction:column;gap:3px}.lease-row-title{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:16px}.lease-row-main small{color:var(--text-muted)}.lease-row-facts{display:grid;grid-template-columns:100px 140px 190px;gap:12px;font-size:13px;font-weight:600}.fields{margin:0;padding:6px 22px 10px}.field-row{display:grid;grid-template-columns:180px 1fr;gap:12px;padding:10px 0}.field-row+.field-row{border-top:1px dashed var(--border)}.field-row dt{color:var(--text-muted)}.field-row dd{margin:0;font-weight:600;overflow-wrap:anywhere}.timeline{margin:0;padding:18px 22px 18px 44px;list-style:none}.timeline li{position:relative;padding:0 0 20px 6px}.timeline li:before{content:"";position:absolute;top:5px;left:-17px;width:12px;height:12px;border:3px solid var(--accent);border-radius:50%;background:#fff}.timeline li:after{content:"";position:absolute;top:20px;bottom:0;left:-12px;width:2px;background:var(--border)}.timeline li:last-child{padding-bottom:0}.timeline li:last-child:after{display:none}.timeline-pending:before{border-color:var(--info)!important;border-style:dashed!important}.timeline-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.timeline li>small{color:var(--text-muted);font-size:12px}.changes{display:grid;gap:6px;margin:10px 0 0;padding:12px 14px;border-radius:12px;background:var(--surface-muted);list-style:none;font-size:13px}.changes li{display:flex;flex-wrap:wrap;gap:8px;padding:0}.changes li:before,.changes li:after{display:none}.changes span{min-width:130px;color:var(--text-muted)}.changes s{color:var(--text-soft)}.footnote{color:var(--text-soft);font-size:12px}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.toolbar-total{margin-left:auto;color:var(--text-muted)}.toolbar-total strong{color:var(--text);font-size:16px}.segmented{display:inline-flex;padding:3px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.segmented button{height:34px;padding:0 14px;border:0;border-radius:9px;color:var(--text-muted);background:transparent;font-weight:700}.segmented button.active{color:#fff;background:var(--primary)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{height:34px;padding:0 14px;border:1px solid var(--border-strong);border-radius:999px;color:var(--text-muted);background:var(--surface);font-weight:600}.chip.active{color:var(--primary);border-color:var(--accent);background:var(--primary-soft)}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px 18px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.table th{color:var(--text-soft);background:var(--surface-muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.table td small{display:block;margin-top:2px;color:var(--text-muted);font-size:12px}.table tbody tr:last-child td{border-bottom:0}.table .num{text-align:right;white-space:nowrap;font-weight:700}.pay-summary{display:grid;grid-template-columns:260px 1fr;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.pay-amount{display:flex;flex-direction:column;gap:4px;padding:22px;color:#fff;background:var(--primary)}.pay-amount small{color:#c9dcc4;font-weight:600}.pay-amount strong{font-size:30px;letter-spacing:-.03em}.pay-amount span{color:#d8e6d4;font-size:13px}.pay-amount-done{background:var(--success)}.pay-ways{display:grid;gap:14px;padding:20px 22px}.pay-ways>div{display:flex;gap:12px}.pay-ways p{margin:0;color:var(--text-muted);font-size:13px}.pay-ways strong{color:var(--text)}.pay-step{display:grid;width:26px;height:26px;flex:none;place-items:center;border-radius:50%;color:var(--primary);background:var(--primary-soft);font-size:12px;font-weight:800}.invoice-sheet{overflow-x:auto;padding:20px;border:1px solid var(--border);border-radius:var(--radius);background:#e9ebe5}.invoice-sheet .invoice{min-width:720px;box-shadow:0 6px 24px #17211814}.messages{display:grid;gap:12px}.message{padding:18px 22px}.message-unread{border-left:4px solid var(--accent)}.message header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.message header small{color:var(--text-soft);font-size:12px}.message h2{margin:4px 0 0;font-size:17px}.message p{margin:12px 0 0;color:#3d473e;white-space:pre-wrap}.message footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.ticket .list-main{gap:4px}.ticket-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.ticket-head small{color:var(--text-soft)}.ticket p{display:-webkit-box;overflow:hidden;margin:0;color:var(--text-muted);font-size:13px;-webkit-box-orient:vertical;-webkit-line-clamp:3}.development{display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px 24px;text-align:center}.development-icon{display:grid;width:68px;height:68px;place-items:center;border-radius:20px;color:var(--info);background:var(--info-soft)}.development h2{margin:4px 0 0;font-size:22px}.development p{max-width:560px;margin:0;color:var(--text-muted)}.development .button{margin-top:8px}@media(max-width:1100px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.lease-row-facts{grid-template-columns:repeat(3,auto)}}@media(max-width:900px){.portal{display:block}.sidebar{position:sticky;z-index:10;height:auto;gap:0;padding:12px 16px;border-right:0;border-bottom:1px solid var(--border)}.menu-toggle{display:grid}.sidebar nav,.sidebar-account{display:none}.menu-open .sidebar nav{display:grid;margin-top:12px}.menu-open .sidebar-account{display:flex;margin-top:12px}.content{padding:22px 16px 48px}.grid-2,.grid-feedback,.stats-3,.pay-summary{grid-template-columns:1fr}.lease-row{flex-wrap:wrap}.lease-row-facts{width:100%;grid-template-columns:repeat(3,1fr);padding-top:10px;border-top:1px solid var(--border)}.lease-row .list-arrow{display:none}.login-page{grid-template-columns:1fr}.login-intro{padding:36px 24px;gap:18px}}@media(max-width:560px){.stats{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:stretch}.page-header h1,.hero h1{font-size:24px}.hero{flex-direction:column;align-items:flex-start;padding:22px}.field-row{grid-template-columns:1fr;gap:2px}.place-facts,.lease-row-facts{grid-template-columns:1fr 1fr}.list-link,.list-static{padding:12px 16px}.toolbar-total{margin-left:0}.alert-row{flex-wrap:wrap}.alert-row a{margin-left:0}.invoice-sheet{padding:8px}.invoice-sheet .invoice{zoom:.47}}@media print{body,.portal{background:#fff!important}.portal{display:block}.sidebar,.page-header,.no-print,.footnote{display:none!important}.content{max-width:none;padding:0}.content>*+*{margin-top:0}.invoice-sheet{overflow:visible;padding:0;border:0;background:none}.invoice-sheet .invoice{min-width:0;box-shadow:none}}
