:root{--bg: #f3f5f7;--surface: #ffffff;--surface-2: #f8fafb;--border: #e1e6ea;--border-strong: #c9d2d9;--text: #1b2a35;--muted: #5f7383;--faint: #8a9aa7;--primary: #1f6f5b;--primary-600: #175a49;--primary-50: #e8f3ef;--accent: #2c7be5;--accent-50: #e9f1fc;--danger: #d1434b;--danger-50: #fdeceb;--warning: #d9930d;--warning-50: #fff5df;--success: #2e9e6b;--success-50: #e6f6ee;--sidebar-bg: #14302a;--sidebar-bg-2: #0f2621;--sidebar-text: #c4d9d1;--sidebar-active: #1f6f5b;--radius: 8px;--radius-sm: 6px;--shadow: 0 1px 2px rgba(16, 32, 40, .06), 0 2px 8px rgba(16, 32, 40, .06);--shadow-lg: 0 8px 30px rgba(16, 32, 40, .18);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--sidebar-w: 236px;--topbar-h: 56px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);font-size:14px;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{margin:0;font-weight:600}h1{font-size:22px}h2{font-size:18px}h3{font-size:15px}h4{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}p{margin:0 0 8px}code{font-family:var(--mono);font-size:12px;background:var(--surface-2);padding:1px 4px;border-radius:4px}table{border-collapse:collapse;width:100%}button,input,select,textarea{font:inherit;color:inherit}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:12px}.tiny{font-size:11px}.right{text-align:right}.center{text-align:center}.nowrap{white-space:nowrap}.bold{font-weight:600}.mono{font-family:var(--mono)}.neg{color:var(--danger)}.pos{color:var(--success)}.flex{display:flex;align-items:center;gap:8px}.flex-wrap{flex-wrap:wrap}.grow{flex:1}.col{display:flex;flex-direction:column;gap:8px}.gap-4{gap:4px}.gap-16{gap:16px}.gap-24{gap:24px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.ml-auto{margin-left:auto}.w-full{width:100%}.hidden{display:none!important}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh}.app.collapsed{grid-template-columns:0 1fr}.sidebar{background:linear-gradient(180deg,var(--sidebar-bg),var(--sidebar-bg-2));color:var(--sidebar-text);position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;transition:width .15s}.app.collapsed .sidebar{width:0;overflow:hidden}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.brand{display:flex;align-items:center;gap:10px;padding:14px 16px;color:#fff;font-weight:700;font-size:16px;letter-spacing:.01em}.brand .logo{width:30px;height:30px;border-radius:8px;background:var(--primary);display:grid;place-items:center;font-weight:800}.sidebar .company-pill{margin:4px 12px 8px;padding:10px 12px;background:#ffffff0f;border-radius:var(--radius);color:#fff}.sidebar .company-pill .name{font-weight:600;font-size:14px}.sidebar .company-pill .sub{font-size:11px;color:var(--sidebar-text);opacity:.8}.nav{padding:4px 8px 20px}.nav-section{margin-top:10px}.nav-section>.nav-title{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#ffffff8c;cursor:pointer;-webkit-user-select:none;user-select:none}.nav-section>.nav-title:hover{color:#fff}.nav a{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:6px;color:var(--sidebar-text);font-size:13.5px}.nav a:hover{background:#ffffff12;color:#fff;text-decoration:none}.nav a.active{background:var(--sidebar-active);color:#fff}.nav a .badge{margin-left:auto}.nav .icon{width:18px;text-align:center;opacity:.85;font-size:14px}.main{min-width:0;display:flex;flex-direction:column}.topbar{height:var(--topbar-h);background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;padding:0 20px;position:sticky;top:0;z-index:30}.topbar .search{flex:1;max-width:480px;position:relative}.topbar .search input{width:100%;padding:8px 12px 8px 34px;border-radius:20px;border:1px solid var(--border);background:var(--surface-2)}.topbar .search .icon{position:absolute;left:12px;top:8px;color:var(--faint)}.content{padding:20px 24px 60px;max-width:1500px;width:100%}.content.narrow{max-width:1000px}.content.wide{max-width:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 14px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-weight:500;cursor:pointer;white-space:nowrap;line-height:1.2;transition:background .1s,border-color .1s}.btn:hover{background:var(--surface-2);border-color:#b4c0c9}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-600)}.btn.accent{background:var(--accent);border-color:var(--accent);color:#fff}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn.danger-outline{color:var(--danger);border-color:var(--danger)}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:var(--surface-2)}.btn.link{border:none;background:none;color:var(--accent);padding:2px 4px}.btn.sm{padding:4px 10px;font-size:12.5px}.btn.xs{padding:2px 8px;font-size:12px}.btn.lg{padding:10px 20px;font-size:15px}.btn.icon{padding:6px 8px}.btn-group{display:inline-flex}.btn-group .btn{border-radius:0;margin-left:-1px}.btn-group .btn:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm);margin-left:0}.btn-group .btn:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.btn-group .btn.on{background:var(--primary-50);border-color:var(--primary);color:var(--primary);position:relative;z-index:1}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field>label{font-size:12px;font-weight:600;color:var(--muted)}.field>label .req{color:var(--danger);margin-left:2px}.field .hint{font-size:11.5px;color:var(--faint)}.field .error{font-size:11.5px;color:var(--danger)}.input,.select,.textarea{width:100%;padding:7px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);min-height:34px;outline:none;transition:border-color .1s,box-shadow .1s}.input:focus,.select:focus,.textarea:focus,.combobox:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-50)}.input.money,.input.number{text-align:right;font-variant-numeric:tabular-nums}.input:disabled,.select:disabled{background:var(--surface-2);color:var(--muted)}.input.invalid,.select.invalid,.combobox.invalid{border-color:var(--danger)}.textarea{min-height:70px;resize:vertical}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235f7383' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px}.checkbox{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox input{width:16px;height:16px;accent-color:var(--primary);margin:0}.form-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px 16px}.form-grid>*{grid-column:span 12}.span-2{grid-column:span 2!important}.span-3{grid-column:span 3!important}.span-4{grid-column:span 4!important}.span-5{grid-column:span 5!important}.span-6{grid-column:span 6!important}.span-8{grid-column:span 8!important}.span-9{grid-column:span 9!important}.span-12{grid-column:span 12!important}@media(max-width:800px){.form-grid>*{grid-column:span 12!important}}.form-section{margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}.form-section>h3{margin-bottom:12px}.combobox{position:relative}.combobox .input{padding-right:28px}.combobox .caret{position:absolute;right:8px;top:9px;color:var(--faint);pointer-events:none;font-size:11px}.combobox .clear{position:absolute;right:24px;top:6px;background:none;border:none;color:var(--faint);cursor:pointer;font-size:14px}.combobox .menu{position:absolute;z-index:60;top:100%;left:0;min-width:100%;max-height:280px;overflow-y:auto;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);margin-top:3px}.combobox .menu.up{top:auto;bottom:100%;margin-bottom:3px}.combobox .opt{padding:7px 10px;cursor:pointer;display:flex;justify-content:space-between;gap:10px;align-items:baseline}.combobox .opt.hl,.combobox .opt:hover{background:var(--accent-50)}.combobox .opt .sub{font-size:11px;color:var(--faint)}.combobox .group{padding:6px 10px 2px;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);background:var(--surface-2);position:sticky;top:0}.combobox .opt.create{color:var(--primary);font-weight:600;border-top:1px solid var(--border)}.combobox .empty{padding:10px;color:var(--faint);font-size:12.5px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card .card-head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border)}.card .card-head h3{flex:1}.card .card-body{padding:16px}.card .card-body.flush{padding:0}.card .card-foot{padding:10px 16px;border-top:1px solid var(--border);background:var(--surface-2);border-radius:0 0 var(--radius) var(--radius)}.grid{display:grid;gap:16px}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-4{grid-template-columns:repeat(4,1fr)}.grid.cols-5{grid-template-columns:repeat(5,1fr)}.grid.cols-6{grid-template-columns:repeat(6,1fr)}@media(max-width:1100px){.grid.cols-5,.grid.cols-6{grid-template-columns:repeat(3,1fr)}.grid.cols-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.grid.cols-2,.grid.cols-3,.grid.cols-4,.grid.cols-5,.grid.cols-6{grid-template-columns:1fr}}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow);min-width:0}.kpi .label{font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.kpi .value{font-size:24px;font-weight:700;margin-top:6px;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.kpi .sub{font-size:12px;color:var(--faint);margin-top:4px}.kpi.tone-good .value{color:var(--success)}.kpi.tone-bad .value{color:var(--danger)}.kpi.tone-warn .value{color:var(--warning)}.kpi.tone-accent .value{color:var(--accent)}.kpi.clickable{cursor:pointer}.kpi.clickable:hover{border-color:var(--accent)}.page-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:18px;flex-wrap:wrap}.page-header .titles{flex:1;min-width:200px}.page-header .crumbs{font-size:12px;color:var(--muted);margin-bottom:4px}.page-header .crumbs a{color:var(--muted)}.page-header .subtitle{color:var(--muted);margin-top:4px}.page-header .actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.toolbar .input,.toolbar .select{width:auto;min-width:140px}.toolbar .spacer{flex:1}.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.table-wrap.plain{background:none;border:none;box-shadow:none}table.table{width:100%;font-size:13.5px}table.table th{text-align:left;padding:9px 12px;background:var(--surface-2);border-bottom:1px solid var(--border);font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600;white-space:nowrap;-webkit-user-select:none;user-select:none}table.table th.sortable{cursor:pointer}table.table th.sortable:hover{color:var(--text)}table.table th .arrow{margin-left:4px;font-size:10px}table.table td{padding:8px 12px;border-bottom:1px solid var(--border);vertical-align:middle}table.table tr:last-child td{border-bottom:none}table.table tbody tr.clickable{cursor:pointer}table.table tbody tr.clickable:hover{background:var(--accent-50)}table.table tbody tr.selected{background:var(--primary-50)}table.table td.money,table.table th.money,.money{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}table.table tfoot td{font-weight:600;background:var(--surface-2);border-top:2px solid var(--border-strong)}table.table.compact td{padding:5px 10px}table.table.compact th{padding:6px 10px}table.table .cell-actions{white-space:nowrap;text-align:right}table.table .cell-actions .btn{visibility:hidden}table.table tr:hover .cell-actions .btn{visibility:visible}.table-empty{padding:36px;text-align:center;color:var(--muted)}.pager{display:flex;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid var(--border);font-size:12.5px;color:var(--muted)}.badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;background:var(--surface-2);color:var(--muted);border:1px solid var(--border);white-space:nowrap}.badge.green{background:var(--success-50);color:var(--success);border-color:transparent}.badge.red{background:var(--danger-50);color:var(--danger);border-color:transparent}.badge.yellow{background:var(--warning-50);color:var(--warning);border-color:transparent}.badge.blue{background:var(--accent-50);color:var(--accent);border-color:transparent}.badge.gray{background:#eef1f4;color:var(--muted);border-color:transparent}.badge.purple{background:#efe9fb;color:#6b45c9;border-color:transparent}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a192373;z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto}.modal{background:var(--surface);border-radius:12px;box-shadow:var(--shadow-lg);width:100%;max-width:560px;display:flex;flex-direction:column;max-height:calc(100vh - 80px)}.modal.lg{max-width:820px}.modal.xl{max-width:1100px}.modal.sm{max-width:420px}.modal-head{display:flex;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-head h2{flex:1;font-size:17px}.modal-body{padding:20px;overflow-y:auto}.modal-foot{display:flex;gap:8px;justify-content:flex-end;padding:14px 20px;border-top:1px solid var(--border);background:var(--surface-2);border-radius:0 0 12px 12px}.close-x{background:none;border:none;font-size:20px;color:var(--faint);cursor:pointer;padding:0 4px}.close-x:hover{color:var(--text)}.dropdown{position:relative;display:inline-block}.dropdown .dd-menu{position:absolute;right:0;top:100%;margin-top:4px;min-width:200px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);z-index:70;padding:4px}.dropdown .dd-menu.left{right:auto;left:0}.dropdown .dd-menu.cols{display:grid;grid-template-columns:repeat(3,1fr);min-width:560px}.dropdown .dd-item{display:block;width:100%;text-align:left;padding:7px 10px;border:none;background:none;border-radius:4px;cursor:pointer;font-size:13.5px;color:var(--text)}.dropdown .dd-item:hover{background:var(--accent-50);text-decoration:none}.dropdown .dd-item.danger{color:var(--danger)}.dropdown .dd-item:disabled{opacity:.5;cursor:default}.dropdown .dd-title{padding:8px 10px 4px;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--faint);font-weight:600}.dropdown .dd-sep{height:1px;background:var(--border);margin:4px 0}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:16px;overflow-x:auto}.tabs button{background:none;border:none;padding:10px 14px;cursor:pointer;color:var(--muted);font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.tabs button:hover{color:var(--text)}.tabs button.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.tabs button .count{margin-left:6px}.toasts{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:8px;z-index:200}.toast{padding:10px 16px;border-radius:var(--radius-sm);background:#1b2a35;color:#fff;box-shadow:var(--shadow-lg);font-size:13.5px;max-width:420px;animation:slidein .2s ease-out}.toast.error{background:var(--danger)}.toast.success{background:var(--success)}.toast.info{background:var(--accent)}.toast.warning{background:var(--warning)}@keyframes slidein{0%{transform:translateY(10px);opacity:0}to{transform:none;opacity:1}}.spinner{display:inline-block;width:18px;height:18px;border:2px solid var(--border-strong);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}.spinner.lg{width:32px;height:32px;border-width:3px}@keyframes spin{to{transform:rotate(360deg)}}.loading-block{display:flex;align-items:center;justify-content:center;gap:10px;padding:40px;color:var(--muted)}.empty{text-align:center;padding:40px 20px;color:var(--muted)}.empty h3{color:var(--text);margin-bottom:6px}.alert{padding:10px 14px;border-radius:var(--radius-sm);border:1px solid;font-size:13px;margin-bottom:12px}.alert.info{background:var(--accent-50);border-color:#b9d2f3;color:#1e4e8c}.alert.warning{background:var(--warning-50);border-color:#f0d79a;color:#7a5305}.alert.error{background:var(--danger-50);border-color:#f1b5b8;color:#8c2228}.alert.success{background:var(--success-50);border-color:#b5e2cb;color:#1d6b47}.divider{height:1px;background:var(--border);margin:16px 0}.pill-row{display:flex;gap:6px;flex-wrap:wrap}.pill{padding:4px 10px;border-radius:14px;border:1px solid var(--border-strong);background:var(--surface);font-size:12.5px;cursor:pointer}.pill.on{background:var(--primary);color:#fff;border-color:var(--primary)}.avatar{width:32px;height:32px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:700;font-size:12px;flex-shrink:0}.avatar.sm{width:24px;height:24px;font-size:10px}.kbd{font-family:var(--mono);font-size:11px;border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:4px;padding:1px 5px;background:var(--surface-2)}.progress{height:6px;background:var(--border);border-radius:3px;overflow:hidden}.progress>div{height:100%;background:var(--primary)}.desc-list{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;font-size:13px}.desc-list dt{color:var(--muted)}.desc-list dd{margin:0}.two-col{display:grid;grid-template-columns:2fr 1fr;gap:16px}@media(max-width:1000px){.two-col{grid-template-columns:1fr}}.sticky-foot{position:sticky;bottom:0;background:var(--surface);border-top:1px solid var(--border);padding:12px 20px;display:flex;gap:8px;align-items:center;z-index:20;margin:0 -24px -60px;box-shadow:0 -4px 12px #0000000d}.lines-table th{font-size:11px}.lines-table td{padding:4px 6px;vertical-align:top}.lines-table .input,.lines-table .select,.lines-table .combobox .input{min-height:32px;padding:5px 8px}.lines-table .row-num{color:var(--faint);font-size:12px;padding-top:11px;width:24px}.lines-table .drag{cursor:grab;color:var(--faint)}.lines-table .remove{background:none;border:none;color:var(--faint);cursor:pointer;font-size:16px;padding:6px}.lines-table .remove:hover{color:var(--danger)}.totals{display:grid;grid-template-columns:max-content 160px;gap:6px 20px;justify-content:end;font-size:14px;margin-top:14px}.totals .label{color:var(--muted);text-align:right}.totals .val{text-align:right;font-variant-numeric:tabular-nums}.totals .grand{font-size:18px;font-weight:700;border-top:2px solid var(--border-strong);padding-top:6px}.totals .input{width:100%;min-height:30px;padding:4px 8px}.report{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px 28px;box-shadow:var(--shadow)}.report-title{text-align:center;margin-bottom:20px}.report-title .co{font-size:18px;font-weight:700}.report-title .name{font-size:22px;font-weight:700;margin:4px 0}.report-title .sub{color:var(--muted)}table.report-table{width:100%;font-size:13.5px}table.report-table th{text-align:right;padding:8px 10px;border-bottom:2px solid var(--text);font-weight:600;white-space:nowrap}table.report-table th:first-child{text-align:left}table.report-table td{padding:5px 10px;border-bottom:1px solid #f0f2f4}table.report-table td.money{text-align:right;font-variant-numeric:tabular-nums}table.report-table tr.header td{font-weight:700;padding-top:10px}table.report-table tr.subtotal td{font-weight:600;border-top:1px solid var(--border-strong)}table.report-table tr.total td{font-weight:700;border-top:1px solid var(--border-strong);border-bottom:1px solid var(--border-strong)}table.report-table tr.grand td{font-weight:800;border-top:2px solid var(--text);border-bottom:3px double var(--text);font-size:14px}table.report-table tr.spacer td{height:14px;border:none}table.report-table tr.data td.label a{color:var(--text)}table.report-table tr.data td.label a:hover{color:var(--accent)}table.report-table tr.data:hover td{background:var(--surface-2)}.print-doc{background:#fff;padding:40px 48px;max-width:850px;margin:0 auto;border:1px solid var(--border);border-radius:var(--radius);font-size:13px}.print-doc .doc-head{display:flex;justify-content:space-between;gap:20px;margin-bottom:28px}.print-doc .doc-title{font-size:28px;font-weight:800;letter-spacing:.02em;color:var(--primary);text-transform:uppercase}.print-doc .meta-table td{padding:2px 10px 2px 0}.print-doc .meta-table td:first-child{color:var(--muted)}.print-doc table.items{width:100%;margin-top:10px}.print-doc table.items th{text-align:left;border-bottom:2px solid var(--text);padding:6px 8px;font-size:11.5px;text-transform:uppercase}.print-doc table.items td{padding:7px 8px;border-bottom:1px solid var(--border);vertical-align:top}.print-doc table.items .money{text-align:right}.print-doc .doc-totals{margin-left:auto;width:280px;margin-top:14px}.print-doc .doc-totals div{display:flex;justify-content:space-between;padding:4px 8px}.print-doc .doc-totals .grand{border-top:2px solid var(--text);font-weight:800;font-size:16px;margin-top:4px}.print-doc .doc-totals .due{background:var(--primary-50);border-radius:6px;font-weight:700}.print-doc .doc-note{margin-top:28px;color:var(--muted);white-space:pre-wrap}.check-layout{border:1px solid var(--border-strong);padding:24px;width:100%;max-width:760px;font-family:var(--mono);background:#fff}@media print{.sidebar,.topbar,.no-print,.toasts,.page-header .actions,.toolbar{display:none!important}.app{grid-template-columns:1fr}.content{padding:0;max-width:none}.print-doc,.report,.card,.table-wrap{border:none;box-shadow:none}body{background:#fff}}.auth-wrap{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#0f2621,#1f6f5b 60%,#2c7be5);padding:20px}.auth-card{background:#fff;padding:36px;border-radius:14px;width:100%;max-width:420px;box-shadow:var(--shadow-lg)}.auth-card .brand{padding:0;color:var(--text);margin-bottom:20px;font-size:20px}.company-row .name-cell{display:flex;align-items:center;gap:10px}.company-row .swatch{width:10px;height:28px;border-radius:3px;background:var(--primary);flex-shrink:0}.heatbar{height:6px;background:var(--border);border-radius:3px;overflow:hidden;min-width:60px}.heatbar>div{height:100%}@media(max-width:900px){.app{grid-template-columns:1fr}.sidebar{position:fixed;z-index:50;width:var(--sidebar-w);transform:translate(-100%);transition:transform .2s}.app.sidebar-open .sidebar{transform:none}.content{padding:14px}.sticky-foot{margin:0 -14px -60px}}.contact-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 28px}@media(max-width:900px){.contact-info{grid-template-columns:1fr}}.contact-info .info-row{padding:6px 0;border-bottom:1px dashed var(--border)}.contact-info .info-row:last-child{border-bottom:none}.contact-info .lbl{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--faint);font-weight:600;margin-bottom:2px}.contact-info .val{white-space:pre-wrap;word-break:break-word}.statement-doc table.items th.money,.statement-doc table.items td.money{text-align:right}.statement-doc table.aging{margin-top:0}.statement-doc table.aging th,.statement-doc table.aging td{text-align:right}@media print{.contact-detail.print-statement>*:not(.statement-wrap){display:none!important}.statement-wrap .toolbar{display:none!important}.statement-doc{padding:0;max-width:none}}.items-page tr.group-row td{background:var(--surface-2);font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none;border-top:1px solid var(--border)}.items-page tr.group-row:hover td{background:var(--primary-50)}.items-page tr.group-row .caret{display:inline-block;width:14px;color:var(--muted);font-size:11px}.paybills-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:14px;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);position:sticky;bottom:12px;z-index:5}.paybills-foot .total{font-size:16px;font-weight:600;display:flex;align-items:baseline;gap:10px}.paybills-foot .total .money{font-size:20px;font-weight:700}table.table tr.overdue-row td:first-child{box-shadow:inset 3px 0 0 var(--danger)}.report-params{align-items:center;row-gap:10px}.report-params .combobox .input{min-height:34px}.report-group{margin-bottom:22px}.report-group>h4{margin-bottom:10px}.report-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.report-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);transition:border-color .1s,transform .1s}.report-card:hover{border-color:var(--accent)}.report-card.fav{border-color:#e8c25a}.report-card .report-card-link{display:block;padding:14px 40px 14px 16px;color:var(--text);text-decoration:none}.report-card .title{font-weight:600;margin-bottom:4px}.report-card .desc{font-size:12.5px;color:var(--muted);line-height:1.4}.report-card .star{position:absolute;top:8px;right:8px;background:none;border:none;font-size:18px;line-height:1;color:var(--faint);cursor:pointer;padding:4px;border-radius:4px}.report-card .star:hover{color:#d9a400;background:var(--surface-2)}.report-card .star.on{color:#d9a400}.report-title .basis{font-size:12.5px}.report .report-foot{margin-top:12px;font-size:11.5px;color:var(--faint);text-align:right}.report.compact{padding:14px 16px}table.report-table th.label{width:1%;min-width:220px}table.report-table td.label{position:relative;white-space:nowrap}table.report-table td{white-space:nowrap}.report{overflow-x:auto}table.report-table th.total-col,table.report-table td.total-col{background:var(--surface-2);font-weight:600}table.report-table tr.header td.label a,table.report-table tr.subtotal td.label a{color:var(--text)}table.report-table tr.header td.label a:hover{color:var(--accent)}table.report-table td.money a{color:inherit;text-decoration:none;border-bottom:1px dotted var(--border-strong)}table.report-table td.money a:hover{color:var(--accent);border-bottom-color:var(--accent)}table.report-table td.money.neg,table.report-table tr.grand td.money.neg,table.report-table tr.total td.money.neg{color:var(--danger)}.report-toggle{position:absolute;left:-2px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--faint);cursor:pointer;font-size:11px;padding:2px 4px}.report-toggle:hover{color:var(--text)}.report-toggle-label{cursor:pointer}.report-toggle-label:hover{color:var(--accent)}table.report-table tr.collapsed td{font-style:italic}.company-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px 24px}.company-picker-group h4{margin-bottom:6px}.company-picker-group .checkbox{display:flex;padding:3px 0}.report-summary-head{margin-bottom:12px}.tax-cols>*{min-width:0}@media print{.tabs,.report-toggle,.kpi,.grid.cols-5{display:none!important}.report{padding:0}table.report-table tr.data:hover td{background:none}.two-col{grid-template-columns:1fr}}.audit-row.expandable td{cursor:pointer}.audit-details td{background:var(--surface-2);padding:8px 12px 12px 40px}.audit-details pre{margin:0;font-family:var(--mono);font-size:11.5px;line-height:1.45;white-space:pre-wrap;word-break:break-word;max-height:360px;overflow:auto;background:var(--surface);border:1px solid var(--border);padding:10px 12px;border-radius:var(--radius-sm)}.task-group{margin-bottom:18px}.task-group .group-head{display:flex;align-items:center;gap:8px;padding:6px 4px;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none}.task-group .group-head:hover{color:var(--text)}.task-row{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:6px;box-shadow:var(--shadow)}.task-row:hover{border-color:var(--border-strong)}.task-row.done .title{text-decoration:line-through;color:var(--muted)}.task-row .title{flex:1;min-width:0}.task-row .meta{display:flex;align-items:center;gap:12px;font-size:12.5px;color:var(--muted);white-space:nowrap}.task-row .actions{display:flex;gap:4px;visibility:hidden}.task-row:hover .actions{visibility:visible}.company-chip{display:inline-flex;align-items:center;gap:6px;padding:1px 9px;border-radius:10px;background:var(--surface-2);border:1px solid var(--border);font-size:11.5px;color:var(--text);max-width:200px;overflow:hidden;text-overflow:ellipsis}.company-chip:hover{text-decoration:none;border-color:var(--border-strong)}.company-chip .dot{margin-right:0;flex-shrink:0}.user-access-list{display:grid;grid-template-columns:1fr 160px;gap:6px 12px;align-items:center;max-height:300px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;background:var(--surface-2)}.user-access-list .select{min-height:30px;padding:4px 28px 4px 8px;font-size:12.5px}.settings-tab{max-width:1000px}.settings-tab .hint-text{font-size:12px;color:var(--muted);margin:2px 0 0 24px}.danger-zone{border-color:var(--danger)}.danger-zone .card-head{background:var(--danger-50);border-bottom-color:#f1b5b8}.danger-zone .card-head h3{color:var(--danger)}.search-section{margin-bottom:16px}@media(max-width:900px){.task-row{flex-wrap:wrap}.task-row .meta{width:100%;padding-left:28px;flex-wrap:wrap;gap:8px}}.coa-table tr.coa-section td,.budget-grid tr.coa-section td{background:var(--surface-2);font-weight:700;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:8px 12px}.coa-table tr.coa-subtotal td{font-weight:600;background:var(--surface-2);border-top:1px solid var(--border-strong)}.coa-table tr.muted td{color:var(--faint)}.budget-wrap{overflow:auto;max-height:calc(100vh - 250px)}.budget-grid th,.budget-grid td{padding:3px 6px;white-space:nowrap}.budget-grid th:first-child,.budget-grid td:first-child{position:sticky;left:0;background:var(--surface);z-index:2;min-width:250px;box-shadow:1px 0 0 var(--border)}.budget-grid thead th{position:sticky;top:0;z-index:3}.budget-grid thead th:first-child{z-index:4}.budget-grid tr.coa-section td:first-child,.budget-grid tr.budget-totals td:first-child{background:var(--surface-2)}.budget-grid .budget-cell{width:96px;min-height:28px;padding:3px 6px;font-size:12.5px}.budget-grid tr.budget-totals td{font-weight:600;background:var(--surface-2);border-top:1px solid var(--border-strong)}.budget-grid tr.grand td{font-weight:700;border-top:2px solid var(--border-strong)}.budget-grid tr.dirty td:first-child{box-shadow:inset 3px 0 0 var(--warning),1px 0 0 var(--border)}.budget-grid .dropdown .btn{visibility:hidden;padding:0 6px}.budget-grid tr:hover .dropdown .btn,.budget-grid .dropdown:focus-within .btn{visibility:visible}.upload-zone{border:2px dashed var(--border-strong);border-radius:var(--radius);padding:22px;text-align:center;color:var(--muted);background:var(--surface);margin-bottom:14px;cursor:pointer}.upload-zone:hover,.upload-zone.over{border-color:var(--accent);background:var(--accent-50)}.att-thumb{width:36px;height:36px;object-fit:cover;border-radius:4px;border:1px solid var(--border);flex-shrink:0}.att-icon{width:36px;height:36px;border-radius:4px;background:var(--surface-2);display:grid;place-items:center;font-size:10px;font-weight:700;color:var(--muted);border:1px solid var(--border);flex-shrink:0}.checklist{list-style:none;margin:0;padding:0}.checklist li{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--border)}.checklist li:last-child{border-bottom:none}.checklist .num{width:24px;height:24px;border-radius:50%;background:var(--primary-50);color:var(--primary);font-weight:700;font-size:12px;display:grid;place-items:center;flex-shrink:0;margin-top:2px}.pick-list{max-height:320px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-sm)}.pick-list .row{display:grid;grid-template-columns:90px 130px 1fr 110px;gap:8px;padding:7px 10px;cursor:pointer;border-bottom:1px solid var(--border);font-size:13px;align-items:center}.pick-list .row:last-child{border-bottom:none}.pick-list .row:hover,.pick-list .row.on{background:var(--accent-50)}.bank-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.bank-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:16px;border:1px solid var(--border-strong);background:var(--surface);font-size:12.5px;cursor:pointer;color:var(--text)}.bank-chip:hover{border-color:var(--accent)}.bank-chip.on{background:var(--primary);border-color:var(--primary);color:#fff}.bank-chip .cnt{font-size:11px;font-weight:600;padding:0 6px;border-radius:9px;background:var(--surface-2);color:var(--muted);min-width:18px;text-align:center}.bank-chip.on .cnt{background:#ffffff38;color:#fff}.review-table{min-width:1120px}.review-table td{vertical-align:top;padding-top:9px;padding-bottom:9px}.review-table .payee-cell{min-width:190px}.review-table .combobox .input,.review-table .select{min-height:32px;padding:5px 8px;font-size:13px}.review-table .combobox .caret{top:8px}.review-table .combobox .clear{top:5px}.review-match{background:var(--success-50);border:1px solid #b5e2cb;border-radius:var(--radius-sm);padding:6px 10px;font-size:12.5px}.review-match .select{background-color:var(--surface)}.kind-toggle{width:30px;min-height:32px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-2);font-size:11px;font-weight:700;color:var(--muted);cursor:pointer;flex-shrink:0}.kind-toggle:hover{color:var(--primary);border-color:var(--primary)}.reg-check{width:26px;height:26px;border-radius:50%;border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;font-size:12px;font-weight:700;display:inline-grid;place-items:center;color:var(--faint);padding:0}.reg-check:hover{border-color:var(--primary)}.reg-check.cleared{background:var(--primary-50);border-color:var(--primary);color:var(--primary)}.reg-check.reconciled{background:var(--success-50);border-color:var(--success);color:var(--success);cursor:default}.cond-row{display:grid;grid-template-columns:140px 160px 1fr 32px;gap:8px;align-items:center;margin-bottom:8px}.cond-remove{background:none;border:none;color:var(--faint);cursor:pointer;font-size:18px;padding:4px}.cond-remove:hover{color:var(--danger)}.cond-remove:disabled{opacity:.3;cursor:default}@media(max-width:800px){.cond-row{grid-template-columns:1fr 1fr}}.wizard-steps{display:flex;gap:8px;margin-bottom:18px}.wizard-steps .step{flex:1;padding:8px 12px;border-bottom:3px solid var(--border);color:var(--muted);font-size:13px;font-weight:600}.wizard-steps .step.active{border-color:var(--primary);color:var(--primary)}.wizard-steps .step.done{border-color:var(--success);color:var(--success)}.drop-zone{border:2px dashed var(--border-strong);border-radius:var(--radius);padding:28px;text-align:center;color:var(--muted);cursor:pointer;background:var(--surface-2);transition:border-color .1s,background .1s}.drop-zone:hover,.drop-zone.over{border-color:var(--primary);background:var(--primary-50)}.recon-tables{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}@media(max-width:1100px){.recon-tables{grid-template-columns:1fr}}.recon-table td.chk,.recon-table th.chk{width:34px;text-align:center}.recon-table td.chk input{width:16px;height:16px;accent-color:var(--primary);margin:0;cursor:pointer}.recon-table tbody tr.cleared td{background:var(--primary-50)}.recon-table tbody tr.after-date td{opacity:.45}.recon-table thead th{position:sticky;top:0;z-index:1}.recon-account-card .card-body{display:flex;flex-direction:column;gap:10px}.recon-account-card:hover{border-color:var(--accent)}.recon-account-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.recon-account-stats .label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600}.recon-account-stats .val{font-weight:600;margin-top:2px;font-variant-numeric:tabular-nums}@media print{.bank-chips,.wizard-steps{display:none!important}}.import-steps{display:flex;margin-bottom:18px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden;box-shadow:var(--shadow)}.import-steps .step{flex:1;display:flex;align-items:center;gap:10px;padding:10px 16px;color:var(--muted);font-size:13px;border-right:1px solid var(--border);min-width:0}.import-steps .step:last-child{border-right:none}.import-steps .step .n{width:24px;height:24px;border-radius:50%;border:1px solid var(--border-strong);display:grid;place-items:center;font-size:12px;font-weight:600;flex-shrink:0}.import-steps .step.active{color:var(--text);font-weight:600;background:var(--primary-50)}.import-steps .step.active .n{background:var(--primary);color:#fff;border-color:var(--primary)}.import-steps .step.done .n{background:var(--success);color:#fff;border-color:var(--success)}.import-kinds{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}@media(max-width:1100px){.import-kinds{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.import-kinds{grid-template-columns:1fr}}.import-kind{display:flex;flex-direction:column;gap:10px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.import-kind .ik-head{display:flex;align-items:center;gap:12px}.import-kind .ik-icon{width:38px;height:38px;border-radius:9px;background:var(--primary-50);color:var(--primary);display:grid;place-items:center;font-size:19px;flex-shrink:0}.import-kind .ik-order{font-size:10.5px;color:var(--faint);font-weight:700;text-transform:uppercase;letter-spacing:.05em}.import-kind h3{font-size:15px}.import-kind p{color:var(--muted);font-size:13px;margin:0}.import-kind .ik-actions{display:flex;gap:8px;margin-top:auto;padding-top:6px;flex-wrap:wrap;align-items:center}.import-howto{font-size:12.5px;color:var(--muted)}.import-howto summary{cursor:pointer;color:var(--accent);font-weight:600;list-style:none}.import-howto summary:before{content:"▸ "}.import-howto[open] summary:before{content:"▾ "}.import-howto ol{margin:6px 0 0;padding-left:20px}.import-howto li{margin-bottom:3px}.dropzone{border:2px dashed var(--border-strong);border-radius:var(--radius);padding:36px 20px;text-align:center;color:var(--muted);cursor:pointer;background:var(--surface-2);transition:border-color .1s,background .1s}.dropzone:hover,.dropzone.over{border-color:var(--primary);background:var(--primary-50)}.dropzone .dz-icon{font-size:30px;margin-bottom:6px;color:var(--primary)}.dropzone strong{color:var(--text)}.import-file{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.import-file .loading-block{padding:0}.import-two{display:grid;grid-template-columns:3fr 2fr;gap:16px;align-items:start}@media(max-width:1000px){.import-two{grid-template-columns:1fr}}.import-map td{vertical-align:middle}.import-map .select{min-width:170px}.import-map .sample{font-family:var(--mono);font-size:11.5px;color:var(--muted);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-cell{display:inline-block;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.import-warnlist{margin:0;padding-left:18px}.import-warnlist li{margin:2px 0}.import-wizard-foot{display:flex;gap:8px;align-items:center;margin-top:16px;flex-wrap:wrap}.import-wizard-foot .spacer{flex:1}.import-running{display:flex;flex-direction:column;gap:12px;padding:20px 0}.progress.indeterminate>div{width:40%;animation:import-slide 1.2s ease-in-out infinite}@keyframes import-slide{0%{margin-left:-40%}to{margin-left:100%}}.import-results .kpi .value{font-size:22px}.import-warnings>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px}.import-warnings>summary h3{flex:1}.import-warnings:not([open])>summary{border-bottom:none}.portal{min-height:100vh;background:var(--bg);display:flex;flex-direction:column}.portal-wrap{width:100%;max-width:960px;margin:0 auto;padding:0 20px}.portal-head{background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:30}.portal-head .flex{min-height:60px;gap:14px}.portal-brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:16px;color:var(--text)}.portal-brand .logo{width:32px;height:32px;border-radius:8px;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800}.portal-nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.portal-nav a{padding:8px 10px;border-radius:6px;color:var(--muted);font-weight:500}.portal-nav a:hover{background:var(--surface-2);text-decoration:none;color:var(--text)}.portal-nav a.active{color:var(--primary);background:var(--primary-50)}.portal-nav a.pay{color:#fff;background:var(--primary)}.portal-nav a.pay.active,.portal-nav a.pay:hover{background:var(--primary-600);color:#fff}.portal-menu-btn{display:none}.portal-main{padding-top:24px;padding-bottom:60px;flex:1}.portal-foot{padding:20px;border-top:1px solid var(--border);color:var(--muted);font-size:12.5px;display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between}.portal-hero{display:flex;gap:24px;align-items:flex-start;justify-content:space-between;margin-bottom:18px;flex-wrap:wrap}.portal-hero h1{font-size:26px;margin-bottom:6px}.portal-balance{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px 22px;min-width:260px;box-shadow:var(--shadow);text-align:right}.portal-balance .label{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600}.portal-balance .amount{font-size:34px;font-weight:800;letter-spacing:-.01em;margin:4px 0;font-variant-numeric:tabular-nums}.portal-balance .sub{color:var(--muted);font-size:13px}@media(max-width:760px){.portal-menu-btn{display:inline-flex}.portal-nav{display:none;position:absolute;top:60px;left:0;right:0;background:var(--surface);border-bottom:1px solid var(--border);padding:10px 16px;flex-direction:column;align-items:stretch}.portal-nav.open{display:flex}.portal-balance{width:100%;text-align:left}}@media print{.portal-head,.portal-foot{display:none!important}.portal-main{padding:0}}.tenant-statement{font-size:13px}.tenant-statement .ts-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;margin-bottom:36px}.tenant-statement .ts-prepared{font-size:12px;line-height:1.4}.tenant-statement .ts-title{text-align:center}.tenant-statement .ts-title .title{font-size:24px;font-weight:500;letter-spacing:.01em}.tenant-statement .ts-title .range{font-size:12.5px;margin-top:4px}.tenant-statement .ts-parties{display:flex;justify-content:space-between;gap:20px;margin-bottom:28px;line-height:1.5}.tenant-statement .ts-property{font-size:12.5px;margin-bottom:10px}.tenant-statement .ts-section{font-weight:700;font-size:15px;margin-bottom:8px}.tenant-statement .ts-table{width:100%;border-collapse:collapse}.tenant-statement .ts-table th{background:#e4e6e9;font-weight:500;padding:6px 8px;font-size:12.5px;text-align:left}.tenant-statement .ts-table td{padding:6px 8px;border-bottom:1px solid #f0f2f4;vertical-align:top;font-variant-numeric:tabular-nums}.tenant-statement .ts-table tr.clickable:hover td{background:var(--accent-50);cursor:pointer}.tenant-statement .ts-footer{display:flex;justify-content:space-between;font-weight:700;font-size:14px;border-top:2px solid var(--border-strong);border-bottom:1px solid var(--border);padding:10px 8px;margin-top:10px}.tenant-statement .ts-generated{margin-top:28px;font-size:11px;color:var(--muted)}@media print{.tenant-statement{padding:0}.tenant-statement .ts-table th{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.pt{--pt-accent: #5f9a67;--pt-accent-600: #4f8757;--pt-accent-50: #eef5ef;--pt-text: #2b312e;--pt-muted: #6b7370;--pt-line: #e6e9e6;--pt-bg: #f3f4f3;display:flex;min-height:100vh;background:var(--pt-bg);color:var(--pt-text);font-size:14.5px}.pt-icon{display:inline-flex;width:20px;height:20px;flex:none}.pt-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.pt-side{width:222px;flex:none;background:#fff;border-right:1px solid var(--pt-line);position:sticky;top:0;height:100vh;display:flex;flex-direction:column;z-index:40}.pt-brand{display:block;margin:0 20px;padding:22px 6px 14px;font-size:20px;font-weight:600;color:var(--pt-accent);text-decoration:none;border-bottom:1px solid var(--pt-line)}.pt-brand:hover{text-decoration:none;color:var(--pt-accent-600)}.pt-nav{display:flex;flex-direction:column;padding:14px 0;overflow-y:auto;flex:1}.pt-nav a,.pt-nav .group{display:flex;align-items:center;gap:14px;padding:13px 24px;color:var(--pt-text);font-weight:600;font-size:14px;text-decoration:none;border-left:3px solid transparent}.pt-nav a:hover{background:#f7f8f7;text-decoration:none}.pt-nav a.active{color:var(--pt-accent);background:var(--pt-accent-50);border-left-color:var(--pt-accent)}.pt-nav a.sub{padding:9px 24px 9px 58px;font-weight:400;font-size:13.5px}.pt-nav .group{padding-bottom:4px;cursor:default}.pt-side-foot{padding:16px 24px;font-size:11px;color:var(--pt-muted);border-top:1px solid var(--pt-line)}.pt-main{flex:1;min-width:0;display:flex;flex-direction:column}.pt-top{height:60px;background:#fff;border-bottom:1px solid var(--pt-line);display:flex;align-items:center;gap:12px;padding:0 28px;position:sticky;top:0;z-index:30}.pt-menu-btn{display:none;border:0;background:transparent;padding:6px;cursor:pointer;color:var(--pt-text)}.pt-user{position:relative}.pt-user>button{display:flex;align-items:center;gap:10px;border:0;background:transparent;cursor:pointer;font:inherit;color:var(--pt-text);font-weight:600}.pt-avatar{width:32px;height:32px;border-radius:50%;background:var(--pt-accent-50);color:var(--pt-accent);border:1px solid var(--pt-accent);display:grid;place-items:center;font-size:12px;font-weight:700}.pt-user-menu{position:absolute;right:0;top:42px;background:#fff;border:1px solid var(--pt-line);border-radius:6px;box-shadow:var(--shadow-lg);min-width:200px;padding:6px;display:flex;flex-direction:column}.pt-user-menu a,.pt-user-menu button{text-align:left;padding:9px 12px;border-radius:4px;color:var(--pt-text);background:transparent;border:0;font:inherit;cursor:pointer;text-decoration:none}.pt-user-menu a:hover,.pt-user-menu button:hover{background:#f3f4f3;text-decoration:none}.pt-content{padding:30px 36px 70px;width:100%;max-width:1260px;margin:0 auto}.pt-page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;flex-wrap:wrap}.pt-page-head h1{font-size:24px;font-weight:400;color:var(--pt-text);letter-spacing:-.01em}.pt-address{display:flex;align-items:center;gap:8px;text-align:right;color:#4a524e;font-size:14px;line-height:1.35}.pt-address .pt-icon{color:var(--pt-accent);width:24px;height:24px}.pt-card{background:#fff;border-radius:4px;box-shadow:0 1px 3px #00000017;padding:22px 26px;margin-bottom:24px}.pt-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.pt-card-head.divider{padding-bottom:12px;border-bottom:1px solid var(--pt-line)}.pt-card-head h3{font-size:17px;font-weight:500;margin:0}.pt-hero{border-left:5px solid var(--pt-accent);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:46px 56px;flex-wrap:wrap}.pt-hero .label{font-size:30px;font-weight:300;line-height:1.2}.pt-hero .amount{font-size:40px;font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums;margin-top:2px}.pt-hero .sub{margin-top:8px;color:var(--pt-muted);font-size:14px}.pt-hero .sub .neg{color:var(--danger);font-weight:600}.pt-actions{display:flex;flex-direction:column;gap:10px;min-width:250px}.pt-actions.center{align-items:stretch;margin-top:16px}.pt-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 26px;border-radius:24px;font-weight:600;font-size:14px;border:1px solid transparent;cursor:pointer;text-decoration:none;font-family:inherit;line-height:1.2}.pt-btn:hover{text-decoration:none}.pt-btn.primary{background:var(--pt-accent);color:#fff}.pt-btn.primary:hover{background:var(--pt-accent-600)}.pt-btn.outline{background:#fff;color:var(--pt-text);border-color:#d6dbd7}.pt-btn.outline:hover{background:#f7f8f7}.pt-btn.danger{background:#fff;color:var(--danger);border-color:var(--danger)}.pt-btn.sm{padding:7px 18px;font-size:13px}.pt-btn.lg{padding:13px 30px;font-size:15px}.pt-btn:disabled{opacity:.55;cursor:not-allowed}.pt-link{color:var(--pt-accent);font-weight:500;background:none;border:0;padding:0;cursor:pointer;font:inherit}.pt-link.upper{text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:700}.pt-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.pt-grid-main-side{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:24px;align-items:start}.pt-empty{text-align:center;padding:18px 0 10px}.pt-empty .icon{width:60px;height:60px;border-radius:50%;background:var(--pt-accent-50);border:1px solid var(--pt-accent);color:var(--pt-accent);display:grid;place-items:center;margin:0 auto 14px}.pt-empty .icon .pt-icon{width:26px;height:26px}.pt-empty h4{font-size:22px;font-weight:400;margin:0 0 4px}.pt-empty p{color:var(--pt-muted);margin:0}.pt-row{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid #f0f2f0;color:inherit}.pt-row:last-child{border-bottom:0}.pt-row.link:hover{text-decoration:none;background:#fafbfa}.pt-row.past{opacity:.55}.pt-row .title{font-weight:600}.pt-row .sub{color:var(--pt-muted);font-size:13px;margin-top:2px}.pt-row-icon{width:36px;height:36px;display:grid;place-items:center;color:var(--pt-text)}.pt-date{width:46px;flex:none;text-align:center;border:1px solid var(--pt-line);border-radius:6px;overflow:hidden}.pt-date .m{background:var(--pt-accent);color:#fff;font-size:10px;text-transform:uppercase;letter-spacing:.06em;padding:2px 0}.pt-date .d{font-size:18px;font-weight:700;padding:3px 0}.pt-table{width:100%;border-collapse:collapse}.pt-table th{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--pt-muted);background:#f6f7f6;padding:10px 12px;text-align:left;font-weight:600}.pt-table td{padding:14px 12px;border-bottom:1px solid #eceeec;vertical-align:top}.pt-table.compact td{padding:8px 10px}.pt-table td.memo .k{font-weight:600}.pt-table td.memo .d,.pt-table td .d{font-size:13px;color:var(--pt-muted);margin-top:2px}.pt-table th.money,.pt-table td.money{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.pt-table tr.clickable{cursor:pointer}.pt-table tr.clickable:hover td{background:#fafbfa}.pt-table td.pos{color:var(--success)}.pt-dl{margin:0}.pt-dl.two{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.pt-dl .full{grid-column:1 / -1}.pt-dl dt{font-size:13px;color:var(--pt-muted);margin-top:14px}.pt-dl dd{margin:3px 0 0;font-size:15px;line-height:1.4}.pt-balance-side{text-align:center}.pt-balance-side .label{font-size:17px;font-weight:500}.pt-balance-side .amount{font-size:36px;font-weight:700;margin:6px 0 4px;font-variant-numeric:tabular-nums}.pt-pill-toggle{display:inline-flex;border:1px solid #d6dbd7;border-radius:20px;overflow:hidden;background:#fff}.pt-pill-toggle button{padding:7px 18px;border:0;background:#fff;cursor:pointer;font:inherit;font-size:13.5px;color:var(--pt-text)}.pt-pill-toggle button.on{background:var(--pt-accent);color:#fff}.pt-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.pt-search{display:flex;align-items:center;gap:8px;border:1px solid #d6dbd7;border-radius:20px;padding:6px 14px;min-width:220px;background:#fff}.pt-search input{border:0;outline:0;font:inherit;width:100%;background:transparent}.pt-msg{padding:12px 14px;border-radius:8px;background:var(--pt-accent-50);margin-bottom:10px;max-width:85%;margin-left:auto}.pt-msg.them{background:#f3f4f3;margin-left:0;margin-right:auto}.pt-msg .who{font-size:12px;color:var(--pt-muted);margin-bottom:4px}.pt-msg .body{white-space:pre-wrap}.pt-list{padding-left:18px}.pt-list li{margin-bottom:8px}.pt-auth .auth-card{border-top:5px solid #5f9a67}.pt-auth-brand{font-size:20px;font-weight:600;color:#5f9a67;margin-bottom:10px}.pt-backdrop{display:none}.ml-8{margin-left:8px}@media(max-width:1000px){.pt-grid-2,.pt-grid-main-side{grid-template-columns:1fr}.pt-hero{padding:30px 28px}.pt-content{padding:20px 18px 60px}}@media(max-width:860px){.pt-side{position:fixed;left:-240px;transition:left .2s;box-shadow:none}.pt-side.open{left:0;box-shadow:var(--shadow-lg)}.pt-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:35}.pt-menu-btn{display:inline-flex}.pt-user-name{display:none}.pt-actions{min-width:0;width:100%}}@media print{.pt-side,.pt-top,.pt-page-head{display:none!important}.pt{background:#fff}.pt-content{padding:0;max-width:none}.pt-card{box-shadow:none;padding:0}}.pt-preview{background:#fff4d6;border-bottom:1px solid #f0d58a;color:#5a4300;padding:9px 28px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13.5px;position:sticky;top:0;z-index:31}.pt-preview button{border:1px solid #c9a24a;background:#fff;color:#5a4300;border-radius:16px;padding:5px 14px;font:inherit;font-weight:600;cursor:pointer}.pt-options{display:flex;flex-direction:column;gap:10px}.pt-option{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid #d6dbd7;border-radius:8px;cursor:pointer;background:#fff}.pt-option.on{border-color:var(--pt-accent);background:var(--pt-accent-50);box-shadow:inset 0 0 0 1px var(--pt-accent)}.pt-option.off{opacity:.55;cursor:not-allowed}.pt-option input{accent-color:var(--pt-accent);width:18px;height:18px;margin:0}.pt-option .title{display:block;font-weight:600}.pt-option .sub{display:block;color:var(--pt-muted);font-size:13px;margin-top:2px}.pt-summary td{padding:8px 4px;border-bottom:1px solid #eceeec}.pt-summary tr.total td{font-weight:700;font-size:16px;border-bottom:0}
