:root{--bg: #eef1ef;--panel: #ffffff;--panel-2: #f6f8f7;--ink: #18241f;--ink-2: #46564f;--muted: #6f7d77;--line: #d6ddd9;--line-strong: rgba(20, 20, 15, .16);--green: #0b3d2e;--green-2: #1e6a4e;--green-hover: #14523d;--tint: #e3efe8;--gold: #c9a24c;--gold-dark: #a9802f;--gold-text: #e4c77e;--ok: #1e6a4e;--ok-bg: #e3f1e9;--warn: #8a5a12;--warn-bg: #f8eedb;--bad: #a1362b;--bad-bg: #f8e5e2;--info: #2f5d8a;--info-bg: #e5eef7;--forest: #0b3d2e;--forest-mid: #14523d;--forest-lite: #1e6a4e;--forest-pale: #e3efe8;--gold-bright: #e4c77e;--cream: #eef1ef;--cream-dark: #f6f8f7;--white: #ffffff;--text: #18241f;--border: #d6ddd9;--shadow: 0 1px 3px rgba(11, 61, 46, .04);--radius: 10px;--green-brand: #1e6a4e;--red: #a1362b;--amber: #8a5a12;--blue: #2f5d8a;--f-display: "Cinzel", Georgia, serif;--f-body: "Jost", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--f-mono: "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--f-body);background:var(--bg);color:var(--ink);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{background:transparent;border:none;padding:0;margin:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none}:focus-visible{outline:2px solid var(--green-2);outline-offset:2px}.appbar{background:#0b3d2e;color:#f2eedf;border-bottom:2px solid #c9a24c;position:relative;z-index:150}.appbar-inner{max-width:1360px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.appbar .brand{display:flex;align-items:center;gap:14px;cursor:pointer}.appbar .emblem{width:44px;height:44px;border-radius:50%;object-fit:cover;border:1.5px solid #c9a24c;flex:none;background:#0b3d2e}.appbar .wordmark{font-family:var(--f-display);font-weight:700;letter-spacing:.28em;color:#e4c77e;font-size:16px;line-height:1.2}.appbar .app-sub{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#c9d6cf;margin-top:3px;font-family:var(--f-body);font-weight:500}.appbar .title{margin-left:auto;text-align:right}.appbar .title b{font-family:var(--f-display);font-size:15px;letter-spacing:.05em;font-weight:600;color:#f2eedf;display:block}.appbar .mode{display:inline-block;margin-top:3px;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;padding:2px 9px;border-radius:99px;border:1px solid #c9a24c;color:#e4c77e;font-weight:600;background:#c9a24c14}.nav{background:#0b3d2e;border-bottom:2px solid #c9a24c;position:relative;z-index:150}.nav-inner{max-width:1360px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.brand img{height:44px;width:44px;border-radius:50%;border:1.5px solid #c9a24c;object-fit:cover}.brand-text .name{font-family:var(--f-display);font-size:16px;font-weight:700;color:#e4c77e;letter-spacing:.28em}.brand-text .tag{font-family:var(--f-body);font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:#c9d6cf}.nav-module{font-family:var(--f-display);font-size:10.5px;font-weight:700;letter-spacing:2px;color:#ffffffb3;border-left:1px solid rgba(201,162,76,.35);padding-left:14px;text-transform:uppercase}.tabs{background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:120;box-shadow:0 1px 3px #0b3d2e08}.tabs-inner{display:flex;align-items:center;justify-content:space-between;max-width:1360px;margin:0 auto;padding:0 24px;overflow-x:auto}.tabs-list,.nav-tabs{display:flex;gap:2px;overflow-x:auto}.tabs button,.tab-btn,.ntab{border:0;background:none;padding:14px 16px 11px;border-bottom:3px solid transparent;cursor:pointer;color:var(--ink-2);font-family:var(--f-body);font-size:13.5px;font-weight:500;white-space:nowrap;transition:all .15s ease;outline:none;text-decoration:none}.tabs button:hover,.tab-btn:hover,.ntab:hover{color:var(--green);background:none}.tabs button[aria-selected=true],.tabs button.active,.tab-btn.active,.ntab.active{color:var(--green)!important;border-bottom:3px solid var(--green-2)!important;font-weight:600!important;background:none!important;box-shadow:none!important}.main{max-width:1360px;margin:0 auto;padding:24px}.page-head{margin-bottom:20px;display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:14px}.page-head h1,.h2{font-family:var(--f-display);font-size:clamp(20px,2.4vw,24px);font-weight:600;color:var(--green);letter-spacing:.04em;text-transform:uppercase}.page-head p{margin:4px 0 0;color:var(--ink-2);max-width:76ch;font-size:13.5px}.eyebrow{font-family:var(--f-display);font-size:10px;letter-spacing:3px;color:var(--gold-dark);margin-bottom:5px;text-transform:uppercase;font-weight:600}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px 3px #0b3d2e08;position:relative;margin-bottom:18px;overflow:hidden}.card-head{background:#fff;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:12px;flex-wrap:wrap}.card-title{font-family:var(--f-body);font-size:14.5px;font-weight:600;letter-spacing:.02em;color:var(--ink);text-transform:none;display:flex;align-items:center;gap:10px}.card-title i{font-style:normal;width:24px;height:24px;border-radius:6px;display:grid;place-items:center;background:var(--tint);color:var(--green);font-size:12.5px;font-weight:700}.card-body{padding:20px}.g2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}@media (max-width:900px){.g2,.g3,.g4{grid-template-columns:1fr}.tabs-list,.nav-tabs{overflow-x:auto}}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}@media (max-width: 1024px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.kpi-grid{grid-template-columns:1fr}}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px 20px;box-shadow:0 1px 3px #0b3d2e08;border-top:3px solid var(--green-2)}.kpi.red{border-top-color:var(--bad)}.kpi.green{border-top-color:var(--ok)}.kpi.amber{border-top-color:var(--warn)}.kpi-label{font-family:var(--f-body);font-size:11px;letter-spacing:.06em;color:var(--muted);text-transform:uppercase;margin-bottom:6px;font-weight:600}.kpi-val{font-family:var(--f-display);font-size:26px;font-weight:600;color:var(--green)}.kpi-sub{font-size:11.5px;color:var(--muted);margin-top:3px}.stepper{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-bottom:18px;list-style:none;padding:0}.stepper li{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:8px 12px;display:flex;gap:8px;align-items:center;min-width:0;font-size:13px;color:var(--muted)}.stepper li b{width:22px;height:22px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:12px;background:var(--panel-2);border:1px solid var(--line)}.stepper li.on{color:var(--green);border-color:var(--green-2);font-weight:600}.stepper li.on b{background:var(--green-2);color:#fff;border-color:var(--green-2)}.stepper li.done{color:var(--ink-2)}.stepper li.done b{background:var(--ok-bg);color:var(--ok);border-color:transparent}.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px;background:#fff}.tbl{width:100%;border-collapse:collapse;font-size:13.5px}.tbl th{font-family:var(--f-body);font-size:11px;letter-spacing:.06em;color:var(--ink-2);background:var(--panel-2);padding:10px 14px;text-align:left;white-space:nowrap;border-bottom:1.5px solid var(--line);text-transform:uppercase;font-weight:600}.tbl td{padding:10px 14px;border-bottom:1px solid var(--line);color:var(--ink);vertical-align:middle}.tbl tr:hover td{background:var(--tint)}.tbl-num{text-align:right;font-variant-numeric:tabular-nums}.clickable{cursor:pointer}.pill{font-family:var(--f-body);font-size:11px;font-weight:600;letter-spacing:.02em;padding:2px 9px;border-radius:99px;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}.pill-green,.pill.ok{background:var(--ok-bg);color:var(--ok);border:1px solid rgba(30,106,78,.2)}.pill-amber,.pill.warn{background:var(--warn-bg);color:var(--warn);border:1px solid rgba(138,90,18,.2)}.pill-red,.pill.bad{background:var(--bad-bg);color:var(--bad);border:1px solid rgba(161,54,43,.2)}.pill-blue,.pill.info{background:var(--info-bg);color:var(--info);border:1px solid rgba(47,93,138,.2)}.pill-muted,.pill.neutral{background:var(--panel-2);color:var(--ink-2);border:1px solid var(--line)}.pill-forest{background:var(--tint);color:var(--green);border:1px solid rgba(11,61,46,.2)}.fg{margin-bottom:14px}.fl,label{font-family:var(--f-body);font-size:11px;letter-spacing:.04em;color:var(--ink-2);text-transform:uppercase;font-weight:600;display:block;margin-bottom:5px}.fl sup{color:var(--bad)}.fi,.fs,.fta,input[type=text],input[type=date],input[type=number],input[type=email],select,textarea{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:7px;font-family:var(--f-body);font-size:13px;color:var(--ink);background:var(--panel);outline:none;transition:border-color .15s ease,box-shadow .15s ease;box-sizing:border-box}.fs{appearance:none;-webkit-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='%230b3d2e' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:34px;cursor:pointer}.fi:focus,.fs:focus,.fta:focus,input:focus,select:focus,textarea:focus{border-color:var(--green-2);box-shadow:0 0 0 2px #1e6a4e2e}.fta{resize:vertical;min-height:70px}.btn{font-family:var(--f-body, "Jost", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);font-size:13px;font-weight:600;letter-spacing:.01em;padding:8px 16px;border-radius:7px;border:1px solid transparent;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;white-space:nowrap;line-height:1.35;box-shadow:0 1px 2px #0b3d2e0a}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn-primary,.btn.primary{background:var(--green-2);color:#fff;border:1px solid var(--green-2)}.btn-primary:hover:not(:disabled),.btn.primary:hover:not(:disabled){background:var(--green-hover);border-color:var(--green-hover);box-shadow:0 2px 8px #0b3d2e38}.btn-outline,.btn.ghost{background:var(--panel);border:1px solid var(--line);color:var(--green)}.btn-outline:hover:not(:disabled),.btn.ghost:hover:not(:disabled){background:var(--tint);border-color:var(--green-2);color:var(--green);box-shadow:0 2px 6px #0b3d2e0f}.btn-forest,.btn.publish{background:#0b3d2e;color:#f2eedf;border:1px solid #c9a24c}.btn-forest:hover:not(:disabled),.btn.publish:hover:not(:disabled){background:#14523d;color:#fff;border-color:#d9b468}.btn-gold{background:#fdf6e6;border:1px solid #e0c57c;color:#8a5a12}.btn-gold:hover:not(:disabled){background:var(--gold);border-color:var(--gold);color:#fff}.btn-red,.btn-danger,.btn.danger{background:var(--bad);color:#fff;border:1px solid var(--bad)}.btn-red:hover:not(:disabled),.btn-danger:hover:not(:disabled),.btn.danger:hover:not(:disabled){background:#842b22;border-color:#842b22}.btn-green,.btn.ok{background:var(--ok);color:#fff;border:1px solid var(--ok)}.btn-green:hover:not(:disabled),.btn.ok:hover:not(:disabled){background:var(--green-hover);border-color:var(--green-hover)}.btn-sm,.btn.sm{padding:5px 12px;font-size:12px;border-radius:6px;line-height:1.25}.btn-xs{padding:3px 8px;font-size:11px;border-radius:5px}.tbl-actions-right,.tbl-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:nowrap}.tbl-btn,.btn-tbl,.tbl .btn,.tbl .btn-sm{font-family:var(--f-body, "Jost", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif)!important;font-size:11.5px!important;font-weight:600!important;line-height:1.25!important;letter-spacing:.01em!important;padding:4px 9px!important;border-radius:6px!important;border:1px solid var(--line, #d6ddd9);background:var(--panel, #ffffff);color:var(--ink, #18241f);cursor:pointer;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;white-space:nowrap!important;transition:all .15s ease!important;box-shadow:0 1px 2px #0b3d2e0a;text-decoration:none}.tbl-btn:disabled,.btn-tbl:disabled,.tbl .btn:disabled{opacity:.45!important;cursor:not-allowed!important;box-shadow:none!important}.tbl-btn-outline{background:#fff!important;border:1px solid var(--line, #d6ddd9)!important;color:var(--green, #0b3d2e)!important}.tbl-btn-outline:hover:not(:disabled){background:var(--tint, #e3efe8)!important;border-color:var(--green-2, #1e6a4e)!important;color:var(--green, #0b3d2e)!important;box-shadow:0 2px 5px #0b3d2e1a!important}.tbl-btn-primary{background:var(--green-2, #1e6a4e)!important;border:1px solid var(--green, #0b3d2e)!important;color:#fff!important;font-weight:600!important}.tbl-btn-primary:hover:not(:disabled){background:var(--green-hover, #14523d)!important;border-color:var(--green-hover, #14523d)!important;color:#fff!important;box-shadow:0 2px 6px #0b3d2e38!important}.tbl-btn-gold{background:#fdf6e6!important;border:1px solid #dfc378!important;color:#8a5a12!important;font-weight:600!important}.tbl-btn-gold:hover:not(:disabled){background:var(--gold, #c9a24c)!important;border-color:var(--gold, #c9a24c)!important;color:#fff!important;box-shadow:0 2px 6px #c9a24c40!important}.tbl-btn-forest{background:#0b3d2e!important;border:1px solid #0b3d2e!important;color:#f2eedf!important;font-weight:600!important}.tbl-btn-forest:hover:not(:disabled){background:#14523d!important;border-color:#14523d!important;color:#fff!important}.tbl-btn-green{background:var(--ok-bg, #e3f1e9)!important;border:1px solid #a6d7be!important;color:var(--ok, #1e6a4e)!important;font-weight:600!important}.tbl-btn-green:hover:not(:disabled){background:var(--ok, #1e6a4e)!important;border-color:var(--ok, #1e6a4e)!important;color:#fff!important;box-shadow:0 2px 6px #1e6a4e33!important}.tbl-btn-danger,.tbl-btn-red{background:var(--bad-bg, #f8e5e2)!important;border:1px solid #f2bdb7!important;color:var(--bad, #a1362b)!important;font-weight:600!important}.tbl-btn-danger:hover:not(:disabled),.tbl-btn-red:hover:not(:disabled){background:var(--bad, #a1362b)!important;border-color:var(--bad, #a1362b)!important;color:#fff!important;box-shadow:0 2px 6px #a1362b40!important}.card-head .btn,.card-head .btn-outline{color:var(--green)!important;background:var(--panel)!important;border:1px solid var(--line)!important;box-shadow:none!important;font-family:var(--f-body)!important;font-weight:600!important;letter-spacing:.01em!important}.card-head .btn:hover,.card-head .btn-outline:hover{background:var(--panel-2)!important;border-color:var(--green-2)!important;color:var(--green)!important}.card-head .btn-primary,.card-head .btn.btn-primary{color:#fff!important;background:var(--green-2)!important;border:1px solid var(--green-hover)!important}.card-head .btn-primary:hover,.card-head .btn.btn-primary:hover{background:var(--green-hover)!important;color:#fff!important}.overlay{position:fixed;inset:0;background:#00000073;z-index:300;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:var(--white);border-radius:14px;width:100%;max-width:640px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-head{padding:18px 22px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.modal-title{font-family:Cinzel,serif;font-size:14px;font-weight:700;color:var(--forest)}.modal-close{cursor:pointer;font-size:20px;color:var(--muted);background:none;border:none;line-height:1}.modal-body{padding:22px}.modal-foot{padding:14px 22px;border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.lines-table{width:100%;border-collapse:collapse}.lines-table th{font-family:Cinzel,serif;font-size:9px;letter-spacing:1.5px;color:var(--white);background:var(--forest);padding:8px 10px;text-align:left}.lines-table td{padding:7px 8px;border-bottom:1px solid var(--border);vertical-align:middle}.li{border:1px solid var(--border);border-radius:5px;padding:5px 8px;font-size:12.5px;width:100%;font-family:Jost,sans-serif;background:var(--white)}.li:focus{border-color:var(--gold);outline:none}.line-total{font-family:Cinzel,serif;font-size:12px;font-weight:700;color:var(--forest);text-align:right;white-space:nowrap}.del-btn{background:none;border:none;cursor:pointer;color:var(--red);font-size:16px;padding:0 4px;line-height:1}.totals-box{background:var(--forest);border-radius:var(--radius);padding:18px 22px;margin-top:14px}.totals-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:13px}.totals-row:last-child{border-bottom:none;margin-top:6px;padding-top:10px}.totals-label{color:#ffffffa6}.totals-val{font-family:Cinzel,serif;font-weight:700;color:var(--gold-bright)}.totals-row.grand .totals-label{color:var(--gold-bright);font-family:Cinzel,serif;font-size:14px}.totals-row.grand .totals-val{font-size:20px;color:var(--white)}.preview-wrap{background:#e8e0d4;padding:24px;border-radius:var(--radius)}.inv-preview{background:var(--white);max-width:760px;margin:0 auto;padding:0;box-shadow:0 4px 24px #00000026;font-family:Jost,sans-serif}.inv-header{background:var(--forest);padding:32px 40px;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px}.inv-meta{text-align:right}.inv-ref{font-family:Cinzel,serif;font-size:22px;font-weight:700;color:var(--white)}.inv-meta-row{font-size:11px;color:#fff9;margin-top:3px}.inv-meta-row span{color:var(--gold-bright);font-weight:600}.inv-gold-bar{height:4px;background:linear-gradient(90deg,var(--gold-dark),var(--gold-bright),var(--gold-dark))}.inv-body{padding:32px 40px}.inv-addresses{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:28px}.addr-label{font-family:Cinzel,serif;font-size:9px;letter-spacing:3px;color:var(--gold-dark);text-transform:uppercase;margin-bottom:8px}.addr-co{font-weight:600;font-size:14px;color:var(--forest);margin-bottom:3px}.addr-line{font-size:12.5px;color:var(--muted);line-height:1.7}.inv-lines-table{width:100%;border-collapse:collapse;margin-bottom:20px}.inv-lines-table th{font-family:Cinzel,serif;font-size:9px;letter-spacing:2px;color:var(--forest);border-bottom:2px solid var(--forest);padding:8px 0;text-align:left}.inv-lines-table th:last-child,.inv-lines-table td:last-child{text-align:right}.inv-lines-table td{padding:9px 0;border-bottom:1px solid rgba(13,51,33,.07);font-size:12.5px;color:var(--muted)}.inv-lines-table td:first-child{color:var(--text);font-weight:500}.inv-totals{display:flex;justify-content:flex-end;margin-bottom:24px}.inv-totals-inner{width:260px}.inv-tot-row{display:flex;justify-content:space-between;font-size:12.5px;padding:5px 0;border-bottom:1px solid var(--border)}.inv-tot-row:last-child{border-bottom:none;border-top:2px solid var(--forest);margin-top:4px;padding-top:8px}.inv-tot-row.grand{font-family:Cinzel,serif;font-size:15px;font-weight:700;color:var(--forest)}.inv-bank{background:var(--forest-pale);border:1px solid rgba(13,51,33,.1);border-radius:8px;padding:14px 18px;margin-bottom:20px}.inv-bank-title{font-family:Cinzel,serif;font-size:9px;letter-spacing:2.5px;color:var(--forest);text-transform:uppercase;margin-bottom:8px}.inv-bank-row{display:flex;gap:16px;font-size:12px;color:var(--muted);margin-bottom:3px}.inv-bank-row strong{color:var(--text);min-width:80px}.inv-footer{border-top:1px solid var(--border);padding:16px 40px;font-size:11px;color:var(--muted);text-align:center;background:var(--cream)}.alert{padding:11px 15px;border-radius:7px;margin-bottom:14px;font-size:13px}.alert-success{background:#dcfce7;color:#15803d;border:1px solid #bbf7d0}.alert-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.alert-info{background:#dbeafe;color:#1e40af;border:1px solid #bfdbfe}.aging-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr 1.2fr;gap:0;align-items:center}.aging-head{font-family:var(--f-body);font-size:11px;font-weight:600;letter-spacing:.06em;background:var(--panel-2);color:var(--ink-2);padding:10px 14px;text-align:right;text-transform:uppercase;border-bottom:1.5px solid var(--line)}.aging-head:first-child{text-align:left}.aging-cell{padding:9px 14px;border-bottom:1px solid var(--line);text-align:right;font-size:13px;color:var(--ink)}.aging-cell:first-child{text-align:left;color:var(--ink);font-weight:600}.path-display{background:var(--panel-2);border:1px solid var(--line);border-radius:7px;padding:10px 14px;font-family:var(--f-mono);font-size:12px;color:var(--green);word-break:break-all;margin-top:6px}.search-bar{display:flex;gap:10px;align-items:center;margin-bottom:18px;flex-wrap:wrap}.search-input{flex:1;min-width:200px;padding:9px 13px;border:1px solid var(--line);border-radius:7px;font-family:var(--f-body);font-size:13px;outline:none;background:var(--panel);color:var(--ink)}.search-input:focus{border-color:var(--green-2);box-shadow:0 0 0 2px #1e6a4e2e}.footer,footer.footer{background:var(--panel);border-top:1px solid var(--line);text-align:center;padding:24px 20px 32px;margin-top:48px;font-size:12.5px;color:var(--muted)}.footer .fn{font-family:var(--f-display);font-size:14px;color:var(--gold-dark);letter-spacing:2px;font-weight:700;margin-bottom:4px}.footer-emblem{width:24px;height:24px;border-radius:50%;border:1.5px solid var(--gold);object-fit:cover;flex:none}.muted-note{color:var(--muted);font-size:11.5px;padding:8px 0}.tabs-row{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}.tab-chip{background:var(--white);border:1.5px solid var(--border);color:var(--forest);padding:7px 15px;border-radius:20px;font-size:11.5px;font-weight:600;cursor:pointer}.tab-chip.active{background:linear-gradient(135deg,var(--gold-dark),var(--gold));border-color:transparent;color:var(--forest)}.nav-tabs-bar{display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:6px;margin-bottom:22px;box-shadow:0 1px 3px #0b3d2e0a;overflow-x:auto}.nav-tab-btn{font-family:var(--f-body);font-size:13px;font-weight:600;letter-spacing:.01em;padding:8px 16px;border-radius:7px;border:1px solid transparent;background:transparent;color:var(--ink-2);cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .15s ease;white-space:nowrap;outline:none}.nav-tab-btn:hover{background:var(--tint);color:var(--green)}.nav-tab-btn.active{background:var(--green);color:#fff;border-color:#c9a24c73;box-shadow:0 2px 8px #0b3d2e2e;font-weight:600}.nav-tab-btn svg{stroke:currentColor;flex-shrink:0;transition:stroke .15s ease}.nav-tab-btn.active svg{stroke:var(--gold-bright)}.nav-tab-badge{font-family:var(--f-body);font-size:11px;font-weight:700;padding:2px 7px;border-radius:10px;background:var(--tint);color:var(--green);line-height:1.2;transition:all .15s ease}.nav-tab-btn.active .nav-tab-badge{background:#c9a24c47;color:var(--gold-bright);border:1px solid rgba(201,162,76,.45)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#c9c4ae;border-radius:6px}.select2-wrap{position:relative;width:100%;user-select:none;font-family:Jost,sans-serif}.select2-control{display:flex;align-items:center;justify-content:space-between;min-height:40px;padding:8px 12px;border:1.5px solid var(--border);border-radius:7px;background:var(--white);cursor:pointer;transition:all .2s ease;width:100%;font-size:13px;color:var(--text);box-sizing:border-box}.select2-control:hover{border-color:var(--gold)}.select2-control.is-open{outline:none;border-color:var(--gold);box-shadow:0 0 0 2px #c9a84c40,0 2px 8px #0d332114}.select2-control.is-disabled{background:var(--cream-dark);cursor:not-allowed;opacity:.65}.select2-values{display:flex;align-items:center;flex:1;min-width:0;padding-right:6px}.select2-placeholder{color:var(--muted);font-style:normal;font-size:13px}.select2-single-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:var(--text);display:flex;align-items:center;gap:8px}.select2-badge{font-family:Cinzel,serif;font-size:9.5px;font-weight:700;letter-spacing:.5px;padding:2px 6px;border-radius:4px;background:var(--forest-pale);color:var(--forest);border:1px solid rgba(13,51,33,.15)}.select2-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.select2-clear-btn{background:none;border:none;cursor:pointer;color:var(--muted);font-size:14px;line-height:1;padding:2px 4px;border-radius:3px;display:inline-flex;align-items:center;justify-content:center}.select2-clear-btn:hover{color:var(--red);background:#fee2e2}.select2-arrow{width:14px;height:14px;color:var(--muted);transition:transform .2s cubic-bezier(.16,1,.3,1)}.select2-control.is-open .select2-arrow{transform:rotate(180deg);color:var(--forest)}.select2-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:99999;background:#fff;border:1.5px solid var(--gold);border-radius:8px;box-shadow:0 16px 40px -4px #0d332147,0 6px 18px #0000001a;overflow:hidden;animation:select2DropdownFade .15s ease-out;box-sizing:border-box;display:flex;flex-direction:column}.select2-dropdown.opens-up{box-shadow:0 -16px 40px -4px #0d332147,0 -6px 18px #0000001a;animation:select2DropdownFadeUp .15s ease-out}@keyframes select2DropdownFadeUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.card:has(.select2-control.is-open){z-index:50}.fg:has(.select2-control.is-open){z-index:60;position:relative}.select2-search-wrap{padding:8px 10px;background:#fff;border-bottom:1px solid var(--border);position:relative;display:flex;align-items:center}.select2-search-icon{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:var(--gold-dark);pointer-events:none;display:flex;align-items:center}.select2-search-input{width:100%!important;font-family:Jost,sans-serif!important;font-size:12.5px!important;padding:7px 28px 7px 32px!important;border:1.5px solid var(--border)!important;border-radius:6px!important;background:var(--cream)!important;color:var(--text)!important;outline:none!important;height:34px!important;transition:all .15s ease!important}.select2-search-input:focus{border-color:var(--gold)!important;background:#fff!important;box-shadow:0 0 0 2px #c9a84c33!important}.select2-search-clear{position:absolute;right:16px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--muted);font-size:14px;cursor:pointer;padding:0 2px}.select2-options-list{max-height:220px;overflow-y:auto;padding:4px 0}.select2-options-list::-webkit-scrollbar{width:6px}.select2-options-list::-webkit-scrollbar-thumb{background:#c9a84c66;border-radius:999px}.select2-option{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;font-size:13px;color:var(--text);cursor:pointer;transition:background .12s ease}.select2-option:hover{background:var(--forest-pale);color:var(--forest)}.select2-option.is-selected{background:#c9a84c26;color:var(--forest);font-weight:600}.select2-option-content{display:flex;align-items:center;gap:8px}.select2-check{color:var(--green);font-weight:700;font-size:14px}.select2-no-results{padding:16px;text-align:center;color:var(--muted);font-size:12.5px}.select2-sm .select2-control{min-height:31px;padding:4px 8px;font-size:12px;border-radius:5px}.select2-sm .select2-values{padding-right:4px}.select2-sm .select2-single-value,.select2-sm .select2-placeholder{font-size:12px}.select2-sm .select2-arrow{width:12px;height:12px}.datepicker-wrap{position:relative;width:100%;user-select:none;font-family:Jost,sans-serif}.datepicker-control{display:flex;align-items:center;justify-content:space-between;min-height:40px;padding:8px 12px;border:1.5px solid var(--border);border-radius:7px;background:var(--white);cursor:pointer;transition:all .2s ease;width:100%;font-size:13px;color:var(--text);box-sizing:border-box}.datepicker-control:hover{border-color:var(--gold)}.datepicker-control.is-open{outline:none;border-color:var(--gold);box-shadow:0 0 0 2px #c9a84c40,0 2px 8px #0d332114}.datepicker-control.is-disabled{background:var(--cream-dark);cursor:not-allowed;opacity:.65}.datepicker-sm .datepicker-control{min-height:31px;padding:4px 8px;font-size:12px;border-radius:5px}.datepicker-icon{display:flex;align-items:center;color:var(--gold-dark);margin-right:8px;flex-shrink:0}.datepicker-value-display{display:flex;align-items:center;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.datepicker-formatted-val{font-weight:600;color:var(--forest);font-size:13px}.datepicker-sm .datepicker-formatted-val{font-size:12px}.datepicker-placeholder{color:var(--muted);font-size:13px}.datepicker-sm .datepicker-placeholder{font-size:12px}.datepicker-actions{display:flex;align-items:center;gap:6px;flex-shrink:0;margin-left:6px}.datepicker-clear-btn{background:none;border:none;cursor:pointer;color:var(--muted);font-size:15px;line-height:1;padding:2px 4px;border-radius:3px;display:inline-flex;align-items:center;justify-content:center}.datepicker-clear-btn:hover{color:var(--red);background:#fee2e2}.datepicker-arrow{width:14px;height:14px;color:var(--muted);transition:transform .2s cubic-bezier(.16,1,.3,1)}.datepicker-control.is-open .datepicker-arrow{transform:rotate(180deg);color:var(--forest)}.datepicker-dropdown{position:absolute;z-index:99999;background:#fff;border:1.5px solid var(--gold);border-radius:10px;box-shadow:0 18px 45px -4px #0d33214d,0 6px 18px #0000001a;overflow:hidden;animation:datepickerDropdownFade .16s ease-out;box-sizing:border-box;display:flex;flex-direction:column;padding:12px 14px;font-family:Jost,sans-serif;user-select:none}@keyframes datepickerDropdownFade{0%{opacity:0;transform:translateY(4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.datepicker-dropdown.opens-up{animation:datepickerDropdownFadeUp .16s ease-out;box-shadow:0 -18px 45px -4px #0d33214d,0 -6px 18px #0000001a}@keyframes datepickerDropdownFadeUp{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.dp-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid rgba(201,168,76,.25)}.dp-title{display:flex;align-items:baseline;gap:6px;font-family:Cinzel,serif;font-weight:700;color:var(--forest);font-size:13.5px;letter-spacing:.5px}.dp-year-name{color:var(--gold-dark);font-size:12px;font-family:Jost,sans-serif;font-weight:600}.dp-nav-btn{background:var(--cream);border:1px solid var(--border);color:var(--forest);width:26px;height:26px;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:16px;line-height:1;cursor:pointer;transition:all .15s ease}.dp-nav-btn:hover{background:var(--forest);color:var(--gold);border-color:var(--forest)}.dp-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;margin-bottom:6px}.dp-weekday{font-size:10.5px;font-weight:700;color:var(--gold-dark);text-transform:uppercase;letter-spacing:.5px;padding:4px 0}.dp-days-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.dp-day-btn{background:none;border:1px solid transparent;border-radius:6px;height:32px;display:flex;align-items:center;justify-content:center;font-size:12px;font-family:Jost,sans-serif;font-weight:500;color:var(--text);cursor:pointer;transition:all .12s ease;padding:0}.dp-day-btn:hover{background:var(--forest-pale);color:var(--forest);border-color:#0d332126}.dp-day-btn.is-other-month{color:#b0b7b3;opacity:.5}.dp-day-btn.is-other-month:hover{opacity:.9}.dp-day-btn.is-today{border-color:var(--gold);font-weight:700;color:var(--forest);background:#c9a84c14}.dp-day-btn.is-selected{background:var(--forest)!important;color:var(--gold)!important;font-weight:700!important;border-color:var(--forest)!important;box-shadow:0 2px 6px #0d332159}.dp-footer{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding-top:8px;border-top:1px solid var(--border);gap:6px}.dp-footer-btn{padding:4px 10px;font-size:11px;font-family:Jost,sans-serif;font-weight:600;border-radius:4px;cursor:pointer;border:1px solid var(--border);transition:all .15s ease}.dp-today-btn{background:var(--cream);color:var(--forest)}.dp-today-btn:hover{background:var(--forest-pale);border-color:var(--gold)}.dp-clear-btn{background:none;border:none;color:var(--muted)}.dp-clear-btn:hover{color:var(--red)}.dp-close-btn{background:var(--forest);color:var(--gold);border-color:var(--forest)}.dp-close-btn:hover{background:var(--forest-light)}input[type=date].fi{font-family:Jost,sans-serif;color:var(--forest);font-weight:600}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert(16%) sepia(45%) saturate(840%) hue-rotate(106deg) brightness(95%) contrast(96%);opacity:.8;transition:opacity .15s ease}input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{display:inline-block;border-radius:50%;animation:spin .8s linear infinite}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media print{.nav,.footer,.no-print,.overlay,.modal,.card-head,.nav-tabs,.tabs-bar,.client-kpi-row,.client-header-card,button,.btn,input,select,textarea{display:none!important}html,body{background:#fff!important;background-color:#fff!important;color:#1a1a14!important;margin:0!important;padding:0!important;font-size:10.5pt!important;line-height:1.35!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;font-family:Jost,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important}.main{max-width:100%!important;width:100%!important;margin:0!important;padding:0!important}#printable-payment-receipt,#printable-invoice-document,#printable-statement-document{max-width:100%!important;width:100%!important;margin:0!important;padding:0!important;border:none!important;box-shadow:none!important;border-radius:0!important;background:#fff!important;page-break-after:avoid!important;page-break-inside:avoid!important;break-inside:avoid!important}.tbl tr,.kpi,.statement-document tr{page-break-inside:avoid!important}.tbl thead,.statement-document thead{display:table-header-group!important}@page{size:A4 portrait;margin:12mm 14mm}}.studio-wrap{display:flex;flex-direction:column;gap:20px}.studio-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;background:#fff;padding:16px 24px;border-radius:12px;border:1px solid rgba(13,51,33,.12);box-shadow:0 4px 18px #0d33210a}.studio-head-left{display:flex;align-items:center;gap:14px}.studio-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.seg-control{display:inline-flex;background:var(--cream-pale);padding:3px;border-radius:8px;border:1px solid rgba(13,51,33,.12)}.seg-btn{border:none;background:transparent;padding:6px 14px;font-size:11.5px;font-weight:600;color:var(--muted);border-radius:6px;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;gap:6px}.seg-btn:hover{color:var(--forest)}.seg-btn.active{background:#fff;color:var(--forest);font-weight:700;box-shadow:0 2px 8px #0d332114;border:1px solid rgba(13,51,33,.08)}.studio-ribbon{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}@media (max-width: 900px){.studio-ribbon{grid-template-columns:repeat(2,1fr)}}.studio-kpi{background:#fff;border:1px solid rgba(13,51,33,.12);border-radius:10px;padding:14px 18px;box-shadow:0 2px 10px #0d332108;position:relative;overflow:hidden}.studio-kpi:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--forest)}.studio-kpi.highlight:before{background:linear-gradient(90deg,var(--forest) 0%,var(--gold) 100%)}.studio-kpi-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--gold-dark);margin-bottom:4px}.studio-kpi-val{font-family:Cinzel,serif;font-size:18px;font-weight:800;color:var(--forest)}.studio-kpi-sub{font-size:11px;color:var(--muted);margin-top:3px}.studio-grid{display:grid;grid-template-columns:1fr 340px;gap:20px;align-items:start}@media (max-width: 1100px){.studio-grid{grid-template-columns:1fr}}.studio-card{background:#fff;border:1px solid rgba(13,51,33,.12);border-radius:12px;box-shadow:0 4px 18px #0d33210a;margin-bottom:20px;overflow:hidden}.studio-card-head{padding:14px 22px;background:#fdfcf9;border-bottom:1px solid rgba(13,51,33,.08);display:flex;justify-content:space-between;align-items:center}.studio-card-title{font-family:Cinzel,serif;font-size:13.5px;font-weight:700;color:var(--forest);letter-spacing:.8px;display:flex;align-items:center;gap:8px}.studio-card-body{padding:22px}.cust-snapshot{background:var(--forest-pale);border:1px solid rgba(13,51,33,.12);border-radius:8px;padding:14px 18px;margin-top:14px;display:grid;grid-template-columns:1.2fr 1fr;gap:16px}@media (max-width: 640px){.cust-snapshot{grid-template-columns:1fr}}.studio-lines-tbl{width:100%;border-collapse:separate;border-spacing:0;margin-top:6px;border:1px solid rgba(13,51,33,.1);border-radius:8px;overflow:hidden}.studio-lines-tbl th{background:#0d3321;color:#e8c86a;font-family:Cinzel,serif;font-size:9.5px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:10px 12px;text-align:left}.studio-lines-tbl td{padding:10px;border-bottom:1px solid rgba(13,51,33,.06);background:#fff;vertical-align:middle}.studio-lines-tbl tr:nth-child(2n) td{background:#faf8f4}.studio-lines-tbl tr:hover td{background:#f4efe4}.studio-input{width:100%;padding:7px 10px;border:1px solid rgba(13,51,33,.18);border-radius:6px;font-size:12.5px;font-family:inherit;color:#1a1a14;background:#fff;transition:all .15s ease;box-sizing:border-box}.studio-input:focus{border-color:var(--forest);outline:none;box-shadow:0 0 0 3px #0d332114}.studio-del-btn{background:transparent;border:1px solid rgba(220,38,38,.25);color:#dc2626;border-radius:6px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;font-size:13px}.studio-del-btn:hover{background:#fee2e2;border-color:#dc2626}.studio-summary-card{background:#fff;border:1px solid rgba(13,51,33,.12);border-radius:12px;box-shadow:0 6px 24px #0d33210f;position:sticky;top:80px;overflow:hidden}.studio-summary-head{padding:16px 20px;background:#fdfcf9;border-bottom:1px solid rgba(13,51,33,.08);display:flex;justify-content:space-between;align-items:center}.studio-summary-body{padding:20px}.studio-grand-box{background:linear-gradient(135deg,#0d3321,#15452d);color:#fff;border-radius:8px;padding:16px 18px;margin:16px 0;border:1px solid rgba(201,168,76,.4);box-shadow:0 4px 14px #0d332126}.studio-grand-label{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:#e8c86a}.studio-grand-val{font-family:Cinzel,serif;font-size:24px;font-weight:800;color:#fff;margin-top:4px}
