.vis-app,.vis-app *{font-family:'Montserrat',Arial,sans-serif!important}.vis-app input,.vis-app textarea,.vis-app select,.vis-app button{font-family:'Montserrat',Arial,sans-serif!important}
.vis-app{--violet:#4f46ff;--violet2:#6d63ff;--ink:#0f172a;--muted:#667085;--line:#dfe7f2;--bg:#f3f7fc;--card:#fff;max-width:1680px}.vis-app h1,.vis-app h2,.vis-app h3{color:#020617}.vis-topbar{display:flex;align-items:center;justify-content:space-between;margin:18px 0 16px}.vis-topbar h1{margin:0;font-size:28px;font-weight:800}.vis-topbar p{margin:5px 0 0;color:var(--muted)}.vis-nav{display:flex;gap:8px;margin:0 0 20px;flex-wrap:wrap}.vis-nav a{text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 14px;color:#344054;font-weight:700}.vis-nav a.active{background:var(--violet);border-color:var(--violet);color:#fff;box-shadow:0 8px 18px rgba(79,70,255,.2)}.vis-primary{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--violet),#3419e8);color:#fff!important;border:0;border-radius:10px;padding:12px 18px;text-decoration:none;font-weight:800;box-shadow:0 10px 20px rgba(79,70,255,.22);cursor:pointer}.vis-primary.small{padding:9px 13px}.vis-secondary{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-top:1px solid var(--line);color:var(--violet);font-weight:800;padding:14px;margin:14px -18px -18px;background:#f8fbff;border-radius:0 0 14px 14px}.vis-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin:0 0 28px}.vis-stat{position:relative;background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 22px;box-shadow:0 2px 5px rgba(15,23,42,.04)}.vis-stat strong{display:block;font-size:30px;line-height:1;font-weight:900;color:#020617}.vis-stat em{display:block;margin-top:9px;font-style:normal;color:#475467;font-size:17px}.vis-stat-icon{position:absolute;right:18px;top:19px;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eef2ff;color:var(--violet);font-weight:900}.vis-card,.vis-panel{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 2px 6px rgba(15,23,42,.04);padding:20px}.vis-card.no-pad{padding:0;overflow:hidden}.vis-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.vis-card-head h2{margin:0}.vis-narrow{max-width:760px}.vis-table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden}.vis-table th{text-align:left;color:#667085;font-size:12px;text-transform:uppercase;letter-spacing:.04em;background:#f8fbff;border-bottom:1px solid var(--line);padding:13px 14px}.vis-table td{padding:14px;border-bottom:1px solid #edf2f7;color:#334155;vertical-align:middle}.vis-table tr:hover td{background:#f8fbff}.vis-link{color:var(--violet);text-decoration:none;font-weight:800}.vis-badge{display:inline-flex;padding:5px 10px;border-radius:7px;font-size:12px;text-transform:uppercase;font-weight:900}.status-draft{background:#fff2cc;color:#8a5a00}.status-sent{background:#dbeafe;color:#1d4ed8}.status-due{background:#fee2e2;color:#b91c1c}.status-paid{background:#dcfce7;color:#166534}.status-cancelled{background:#e5e7eb;color:#374151}.vis-empty{padding:34px;text-align:center;color:#667085;background:#f8fbff;border-radius:12px}.vis-field{margin-bottom:16px}.vis-field label,.vis-label{display:block;font-weight:800;color:#172033;margin-bottom:7px}.vis-field label span{color:#ef4444;margin-left:3px}.vis-field input,.vis-field textarea,.vis-field select,.vis-panel select,.vis-panel textarea{width:100%;border:1px solid #d8e1ef;border-radius:10px;background:#fff;min-height:42px;padding:8px 11px;box-shadow:none}.vis-field input:focus,.vis-field textarea:focus,.vis-field select:focus,.vis-panel select:focus{border-color:var(--violet);box-shadow:0 0 0 3px rgba(79,70,255,.12);outline:0}.vis-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.vis-submit{border-radius:10px!important;background:var(--violet)!important;border-color:var(--violet)!important;padding:7px 20px!important}.vis-form-head{display:flex;align-items:center;justify-content:space-between;margin:8px 0 18px}.vis-form-head h2{margin:0;font-size:26px}.vis-form-head p{margin:5px 0 0;color:#667085}.vis-invoice-grid{display:grid;grid-template-columns:1fr 1.45fr;gap:28px;margin-bottom:22px}.vis-customer-preview{margin-top:14px;padding:14px;background:#f7fbff;border:1px dashed #c9d6e8;border-radius:12px;line-height:1.55;color:#475467;min-height:110px}.vis-lines{width:100%;border-collapse:separate;border-spacing:0}.vis-lines th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#667085;background:#f8fbff;border-bottom:1px solid var(--line);padding:13px 12px;text-align:left}.vis-lines td{border-bottom:1px solid #edf2f7;padding:12px;vertical-align:top}.vis-lines select,.vis-lines input,.vis-lines textarea{width:100%;border:1px solid #d8e1ef;border-radius:9px;padding:8px;min-height:39px}.vis-lines textarea{height:39px;resize:vertical}.vis-line-amount{white-space:nowrap;display:block;margin-top:10px;text-align:right}.vis-remove-line{border:0;background:#fee2e2;color:#991b1b;border-radius:8px;width:34px;height:34px;font-size:20px;line-height:1;cursor:pointer}.vis-add-line{width:100%;border:0;background:#f8fbff;color:var(--violet);font-weight:900;padding:15px;cursor:pointer}.vis-bottom-grid{display:grid;grid-template-columns:1.4fr 380px;gap:28px;margin-top:22px}.vis-rich{min-height:185px!important}.vis-total-box{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;height:max-content}.vis-total-box>div{display:flex;align-items:center;justify-content:space-between;padding:11px 0;color:#667085;text-transform:uppercase;font-size:13px;font-weight:800}.vis-total-box strong{font-size:18px;color:#020617}.vis-total-box .total{border-top:1px solid var(--line);margin-top:8px;padding-top:18px}.vis-total-box .total strong{font-size:22px;color:var(--violet)}.vis-discount{width:80px!important;min-height:38px!important;border-radius:9px!important;border:1px solid #d8e1ef!important}.vis-discount-type{width:65px!important;min-height:38px!important;border-radius:9px!important;border:1px solid #d8e1ef!important}@media(max-width:1100px){.vis-stats,.vis-invoice-grid,.vis-bottom-grid{grid-template-columns:1fr}.vis-two{grid-template-columns:1fr}.vis-lines{display:block;overflow-x:auto}.vis-topbar{align-items:flex-start;gap:12px;flex-direction:column}}
.vis-sort-summary{display:flex;align-items:center;justify-content:flex-start;margin:0 0 12px;padding:10px 12px;background:#f8fbff;border:1px solid var(--line);border-radius:10px;color:#667085;font-size:13px}.vis-sort-summary strong{color:#0f172a}.vis-sort-link{display:inline-flex;align-items:center;gap:4px;color:#667085;text-decoration:none;font-weight:900}.vis-sort-link:hover,.vis-sort-link.active{color:var(--violet)}.vis-type{display:inline-flex;padding:5px 10px;border-radius:7px;font-size:12px;text-transform:uppercase;font-weight:900}.vis-type-income{background:#eef2ff;color:#4338ca}.vis-type-expense{background:#fee2e2;color:#991b1b}

.vis-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.vis-secondary-btn{display:inline-flex;align-items:center;justify-content:center;background:#fff;color:var(--violet)!important;border:1px solid var(--line);border-radius:10px;padding:9px 13px;text-decoration:none;font-weight:800;box-shadow:0 2px 6px rgba(15,23,42,.04)}.vis-secondary-btn:hover{border-color:var(--violet);box-shadow:0 8px 18px rgba(79,70,255,.12)}.vis-export-card .description{color:var(--muted);line-height:1.55}.vis-export-periods{margin-top:8px}.vis-export-field{display:none}.vis-export-field.active{display:block}.vis-export-field.vis-two.active{display:grid}.vis-export-card .vis-primary{margin-top:4px}

.vis-card-subtitle{margin:4px 0 0;color:var(--muted);font-size:13px;font-weight:500}.vis-dashboard-grid{display:grid;grid-template-columns:1.25fr .85fr;gap:22px;margin:0 0 28px}.vis-span-2{grid-column:1/-1}.vis-chart-card{overflow:hidden}.vis-card-head.compact{margin-bottom:18px}.vis-year-filter label{display:flex;align-items:center;gap:9px;color:var(--muted);font-weight:700}.vis-year-filter select{border:1px solid var(--line);border-radius:10px;min-height:38px;padding:7px 34px 7px 10px;background:#fff}.vis-chart-legend{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:0 0 12px}.vis-chart-legend span{display:inline-flex;align-items:center;gap:7px;color:#475467;font-size:13px;font-weight:700}.vis-chart-legend i{width:10px;height:10px;border-radius:999px;display:inline-block}.vis-chart-legend i.income{background:#4f46ff}.vis-chart-legend i.expense{background:#ef4444}.vis-chart-legend i.due{background:#f59e0b}.vis-svg-wrap{width:100%;overflow:hidden;background:#fbfdff;border:1px solid #edf2f7;border-radius:14px;padding:10px}.vis-line-chart{width:100%;height:auto;display:block}.vis-line-chart .grid{stroke:#e5edf7;stroke-width:1}.vis-line-chart text{fill:#667085;font-size:12px;font-weight:600}.vis-line-chart .line{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.vis-line-chart .line.income{stroke:#4f46ff}.vis-line-chart .line.expense{stroke:#ef4444}.vis-line-chart .line.due{stroke:#f59e0b}.vis-line-chart .dot{stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke}.vis-line-chart .dot.income{fill:#4f46ff}.vis-line-chart .dot.expense{fill:#ef4444}.vis-line-chart .dot.due{fill:#f59e0b}.vis-bar-list{display:flex;flex-direction:column;gap:14px}.vis-bar-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(130px,1.1fr) auto;gap:12px;align-items:center;text-decoration:none;color:inherit;padding:10px;border-radius:12px;background:#fbfdff;border:1px solid #edf2f7}.vis-bar-row:hover{border-color:#cbd5ff;background:#f8faff}.vis-bar-title{min-width:0}.vis-bar-title strong{display:block;color:#172033;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vis-bar-title em{display:block;color:var(--muted);font-style:normal;font-size:12px;margin-top:2px}.vis-bar-track{height:9px;border-radius:999px;background:#eef2ff;overflow:hidden}.vis-bar-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#6d63ff,#4f46ff)}.vis-bar-value{font-weight:800;color:#0f172a;white-space:nowrap}.vis-status-stack{display:flex;flex-direction:column;gap:12px}.vis-status-row{position:relative;display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:12px;border:1px solid #edf2f7;border-radius:12px;overflow:hidden;background:#fbfdff}.vis-status-row>i{position:absolute;left:0;bottom:0;height:3px;background:#4f46ff;border-radius:0 999px 999px 0}.vis-status-row strong{font-size:18px;color:#0f172a}.vis-status-row em{font-style:normal;color:var(--muted);font-weight:700}.vis-review-pill{display:flex;align-items:center;gap:10px;margin-top:6px;background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:13px;color:#9a3412}.vis-review-pill strong{font-size:20px}.vis-year-bars{display:flex;flex-direction:column;gap:14px}.vis-year-row{display:grid;grid-template-columns:80px minmax(180px,1fr) auto auto auto;gap:12px;align-items:center;padding:12px;border-radius:12px;border:1px solid #edf2f7;background:#fbfdff}.vis-year-row strong{font-size:16px;color:#0f172a}.vis-year-row em{font-style:normal;color:#475467;font-weight:700;font-size:13px;white-space:nowrap}.vis-year-track{height:16px;border-radius:999px;background:#eef2ff;position:relative;overflow:hidden}.vis-year-track span{position:absolute;top:0;bottom:0;left:0;border-radius:999px}.vis-year-track .income{background:#4f46ff}.vis-year-track .expense{background:#ef4444;opacity:.82;top:7px;height:9px}.vis-year-track .due{background:#f59e0b;opacity:.9;top:3px;height:10px}.vis-client-type{display:inline-flex;align-items:center;border-radius:999px;background:#eef2ff;color:#4338ca;padding:4px 9px;font-size:12px;font-weight:900;text-transform:uppercase}.vis-client-type.large{font-size:12px;margin-bottom:8px}.vis-client-hero{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 2px 6px rgba(15,23,42,.04);padding:24px;margin-bottom:22px}.vis-client-hero h2{font-size:30px;margin:0;color:#020617}.vis-client-hero p{margin:5px 0 0;color:var(--muted)}.vis-client-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.vis-client-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.vis-client-meta span{background:#f8fbff;border:1px solid #edf2f7;border-radius:10px;padding:8px 10px;color:#667085}.vis-client-meta strong{color:#0f172a}.vis-client-address{margin-top:14px;color:#334155;line-height:1.55}.vis-client-stats{margin-bottom:22px}.vis-client-summary-list{display:grid;gap:12px}.vis-client-summary-list div{display:flex;align-items:center;justify-content:space-between;background:#fbfdff;border:1px solid #edf2f7;border-radius:12px;padding:14px}.vis-client-summary-list span{color:#667085;font-weight:700}.vis-client-summary-list strong{color:#0f172a;font-size:17px}.vis-empty.compact{padding:22px}@media(max-width:1200px){.vis-dashboard-grid,.vis-client-hero{grid-template-columns:1fr}.vis-client-actions{justify-content:flex-start}.vis-year-row{grid-template-columns:70px 1fr}.vis-year-row em{white-space:normal}.vis-bar-row{grid-template-columns:1fr}.vis-bar-value{text-align:left}}

.vis-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-bottom:18px}.vis-settings-grid .vis-card{min-width:0}.vis-settings-grid code{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;padding:2px 5px}.vis-check{display:inline-flex!important;align-items:center;gap:8px;margin:0!important;font-weight:800!important;color:#172033}.vis-check input{width:18px!important;height:18px!important;min-height:0!important;padding:0!important}.vis-client-doc-export{margin-top:12px}.vis-client-export-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 10px;padding:14px;background:#f8fbff;border:1px solid #edf2f7;border-radius:12px}.vis-client-export-controls label{display:inline-flex;align-items:center;gap:7px;font-weight:800;color:#172033}.vis-client-export-controls select,.vis-client-export-controls input{border:1px solid #d8e1ef;border-radius:9px;min-height:38px;padding:7px 10px;background:#fff}.vis-client-period-fields{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.vis-client-range{gap:8px}.vis-check-col{width:40px;text-align:center!important}.vis-check-col input{width:18px;height:18px}.vis-client-doc-table td:last-child,.vis-table td:last-child{white-space:nowrap}.vis-client-doc-table{margin-top:12px}@media(max-width:1200px){.vis-settings-grid{grid-template-columns:1fr}.vis-client-export-controls{align-items:flex-start;flex-direction:column}.vis-client-period-fields{width:100%}.vis-client-export-controls label,.vis-client-export-controls select,.vis-client-export-controls input{width:100%}.vis-client-range{display:grid!important;grid-template-columns:1fr;gap:8px}.vis-table{display:block;overflow-x:auto}}

/* Compact interface mode */
.vis-density-compact{max-width:none}.vis-density-compact .vis-topbar{margin:12px 0 10px}.vis-density-compact .vis-topbar h1{font-size:24px;line-height:1.12}.vis-density-compact .vis-topbar p{font-size:12px;margin-top:4px}.vis-density-compact .vis-nav{gap:7px;margin-bottom:14px}.vis-density-compact .vis-nav a{border-radius:8px;padding:8px 12px;font-size:13px}.vis-density-compact .vis-primary{border-radius:8px;padding:9px 14px;font-size:13px;box-shadow:0 7px 16px rgba(79,70,255,.18)}.vis-density-compact .vis-primary.small{padding:7px 11px}.vis-density-compact .vis-secondary-btn{border-radius:8px;padding:7px 11px;font-size:12.5px}.vis-density-compact .vis-card,.vis-density-compact .vis-panel{border-radius:12px;padding:14px}.vis-density-compact .vis-card-head{margin-bottom:10px}.vis-density-compact .vis-card-head h2{font-size:18px;line-height:1.2}.vis-density-compact .vis-card-subtitle{font-size:12px}.vis-density-compact .vis-stats{gap:14px;margin-bottom:18px}.vis-density-compact .vis-stat{border-radius:10px;padding:16px 18px}.vis-density-compact .vis-stat strong{font-size:25px}.vis-density-compact .vis-stat em{font-size:14px;margin-top:6px}.vis-density-compact .vis-stat-icon{width:36px;height:36px;right:14px;top:14px}.vis-density-compact .vis-dashboard-grid{gap:15px;margin-bottom:18px}.vis-density-compact .vis-table-wrap{width:100%;overflow-x:auto}.vis-density-compact .vis-document-table{min-width:1180px}.vis-density-compact .vis-table th{font-size:11px;padding:10px 11px;white-space:nowrap}.vis-density-compact .vis-table td{font-size:12px;padding:10px 11px;white-space:nowrap}.vis-density-compact .vis-type,.vis-density-compact .vis-badge{font-size:11px;padding:4px 8px;border-radius:6px}.vis-density-compact .vis-link{font-weight:800}.vis-density-compact .vis-sort-summary{font-size:12px;padding:8px 10px;border-radius:8px;margin-bottom:9px}.vis-density-compact .vis-list-export-controls,.vis-density-compact .vis-client-export-controls{padding:10px;border-radius:10px;gap:8px;margin-bottom:9px}.vis-density-compact .vis-check{font-size:12.5px}.vis-density-compact .vis-check input,.vis-density-compact .vis-check-col input{width:16px!important;height:16px!important}.vis-density-compact .vis-check-col{width:34px;min-width:34px;text-align:center!important}.vis-density-compact .vis-field{margin-bottom:12px}.vis-density-compact .vis-field label,.vis-density-compact .vis-label{font-size:12.5px;margin-bottom:5px}.vis-density-compact .vis-field input,.vis-density-compact .vis-field textarea,.vis-density-compact .vis-field select,.vis-density-compact .vis-panel select,.vis-density-compact .vis-panel textarea{min-height:36px;border-radius:8px;padding:6px 9px;font-size:13px}.vis-density-compact .vis-invoice-grid{gap:18px;margin-bottom:16px}.vis-density-compact .vis-customer-preview{min-height:84px;padding:11px}.vis-density-compact .vis-lines th{font-size:11px;padding:10px}.vis-density-compact .vis-lines td{padding:9px}.vis-density-compact .vis-lines select,.vis-density-compact .vis-lines input,.vis-density-compact .vis-lines textarea{min-height:34px;border-radius:7px;padding:6px 8px;font-size:12.5px}.vis-density-compact .vis-line-amount{margin-top:8px}.vis-density-compact .vis-remove-line{width:30px;height:30px;border-radius:7px}.vis-density-compact .vis-add-line{padding:11px;font-size:12.5px}.vis-density-compact .vis-bottom-grid{gap:18px;margin-top:16px;grid-template-columns:1.4fr 320px}.vis-density-compact .vis-rich{min-height:140px!important}.vis-density-compact .vis-total-box{border-radius:12px;padding:15px}.vis-density-compact .vis-total-box>div{font-size:12px;padding:8px 0}.vis-density-compact .vis-total-box strong{font-size:16px}.vis-density-compact .vis-total-box .total strong{font-size:19px}.vis-density-compact .vis-client-hero{border-radius:12px;padding:17px;margin-bottom:16px}.vis-density-compact .vis-client-hero h2{font-size:24px}.vis-density-compact .vis-client-meta{gap:7px;margin-top:10px}.vis-density-compact .vis-client-meta span{border-radius:8px;padding:6px 8px;font-size:12px}.vis-density-compact .vis-year-row,.vis-density-compact .vis-bar-row,.vis-density-compact .vis-status-row,.vis-density-compact .vis-client-summary-list div{border-radius:10px;padding:9px}.vis-list-export-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 10px;padding:14px;background:#f8fbff;border:1px solid #edf2f7;border-radius:12px}.vis-list-export-controls .vis-check{margin-right:auto}.vis-bulk-doc-export{margin-top:0}.vis-document-table td:last-child{white-space:nowrap}.vis-document-table td:nth-child(2){white-space:nowrap}.vis-table-wrap{width:100%;overflow-x:auto}


/* Balanced dashboard sizing: between full-size and ultra-compact. */
.vis-density-compact .vis-dashboard-grid { gap: 18px; }
.vis-density-compact .vis-chart-card { min-width: 0; }
.vis-density-compact .vis-chart-card.vis-span-2 { padding: 16px 16px 14px; }
.vis-density-compact .vis-chart-card.vis-span-2 .vis-card-head { margin-bottom: 10px; }
.vis-density-compact .vis-chart-card.vis-span-2 .vis-chart-legend { margin-bottom: 8px; }
.vis-density-compact .vis-svg-wrap { max-width: 1020px; margin-left: auto; margin-right: auto; padding: 8px; border-radius: 12px; }
.vis-density-compact .vis-line-chart { width: 100%; height: auto; display: block; }
.vis-density-compact .vis-line-chart text { font-size: 11.5px; }
.vis-density-compact .vis-line-chart .line { stroke-width: 2.6; }
.vis-density-compact .vis-line-chart .dot { stroke-width: 1.8; }
@media (min-width: 1500px) {
  .vis-density-compact .vis-svg-wrap { max-width: 1080px; }
}
@media (max-width: 900px) {
  .vis-density-compact .vis-svg-wrap { max-width: 100%; }
}

/* Import status and original PDF replacement */
.vis-import-status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;white-space:nowrap;text-transform:none;background:#eef2ff;color:#4338ca}
.vis-import-needs_review{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}
.vis-import-parsed{background:#ecfdf5;color:#047857;border:1px solid #bbf7d0}
.vis-import-reviewed{background:#e0f2fe;color:#0369a1;border:1px solid #bae6fd}
.vis-import-manual{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}
.vis-archive-box{margin-top:18px}
.vis-archive-current{background:#f8fbff;border:1px solid #edf2f7;border-radius:10px;padding:10px 12px;margin-bottom:12px;color:#334155}
.vis-archive-current span{font-weight:800;color:#172033}.vis-archive-current.muted{color:#667085}.vis-archive-box small{display:block;margin-top:5px;color:#667085}.vis-density-compact .vis-archive-box{margin-top:14px}.vis-density-compact .vis-archive-current{padding:8px 10px;border-radius:8px;font-size:12px}

/* Planning and Nexus import */
.vis-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.vis-filter-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 12px}.vis-filter-row a{display:inline-flex;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;text-decoration:none;color:#334155;font-weight:800;font-size:12px}.vis-filter-row a.active{background:var(--violet);border-color:var(--violet);color:#fff}.vis-plans-table td:last-child{white-space:nowrap}.vis-badge.plan-planned{background:#eef2ff;color:#4338ca}.vis-badge.plan-ready{background:#dcfce7;color:#166534}.vis-badge.plan-needs_rate{background:#fff7ed;color:#c2410c}.vis-badge.plan-invoiced{background:#e0f2fe;color:#0369a1}.vis-badge.plan-cancelled{background:#e5e7eb;color:#374151}.vis-plan-total{position:sticky;top:32px}.vis-import-help{margin-top:16px;padding:12px;border:1px solid #edf2f7;border-radius:10px;background:#f8fbff;color:#475467;line-height:1.65}.vis-density-compact .vis-filter-row a{padding:6px 9px;font-size:11.5px}.vis-density-compact .vis-import-help{font-size:12px;padding:10px}.vis-density-compact .vis-plan-total{padding:13px}

/* Month grouping for document lists */
.vis-month-group td{
  padding:0!important;
  border-bottom:1px solid #dbe6f3!important;
  background:#eef4ff!important;
}
.vis-month-group:hover td{background:#eef4ff!important}
.vis-month-group-inner{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  min-height:38px;
  padding:9px 14px;
  color:#475467;
  font-size:12.5px;
}
.vis-month-group-inner strong{
  color:#0f172a;
  font-size:14px;
  font-weight:900;
  margin-right:4px;
}
.vis-month-group-inner span{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:4px 8px;
  border:1px solid #dbe6f3;
  background:#fff;
  border-radius:999px;
  white-space:nowrap;
}
.vis-month-group-inner b{color:#0f172a;font-weight:900}
.vis-density-compact .vis-month-group-inner{min-height:31px;padding:7px 11px;font-size:11.5px;gap:8px}
.vis-density-compact .vis-month-group-inner strong{font-size:12.5px}
.vis-density-compact .vis-month-group-inner span{padding:3px 7px}

/* 1.5.4 search and monthly VAT summary */
.vis-search-bar{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin:0 0 10px;
  padding:10px;
  background:#f8fbff;
  border:1px solid var(--line);
  border-radius:10px;
}
.vis-search-bar input[type="search"]{
  flex:1 1 360px;
  min-width:220px;
  min-height:38px;
  border:1px solid #d8e1ef;
  border-radius:9px;
  background:#fff;
  padding:7px 11px;
  color:#172033;
  box-shadow:none;
}
.vis-search-bar input[type="search"]:focus{
  border-color:var(--violet);
  box-shadow:0 0 0 3px rgba(79,70,255,.12);
  outline:0;
}
.vis-month-group-inner .vis-vat-payable{
  border-color:#bfdbfe;
  background:#eff6ff;
  color:#1e3a8a;
}
.vis-month-group-inner .vis-vat-payable b{color:#1d4ed8}
.vis-density-compact .vis-search-bar{padding:8px;gap:7px;margin-bottom:8px;border-radius:8px}
.vis-density-compact .vis-search-bar input[type="search"]{min-height:34px;font-size:12.5px;border-radius:8px;padding:6px 9px}

/* 1.5.5 tax / payroll payments */
.vis-tax-info{
  margin:0 0 12px;
  padding:10px 12px;
  border:1px solid #dbe6f3;
  border-radius:10px;
  background:#f8fbff;
  color:#475467;
  font-size:13px;
}
.vis-tax-form{
  padding-top:4px;
}
.vis-tax-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  align-items:end;
}
.vis-tax-grid .vis-field{margin:0;}
.vis-tax-grid input,
.vis-tax-grid select{
  min-height:38px;
}
.vis-density-compact .vis-tax-info{font-size:12px;padding:8px 10px;border-radius:8px;margin-bottom:10px;}
.vis-density-compact .vis-tax-grid{gap:8px;}
.vis-density-compact .vis-tax-grid input,
.vis-density-compact .vis-tax-grid select{min-height:34px;font-size:12.5px;}
@media (max-width:1100px){
  .vis-tax-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:640px){
  .vis-tax-grid{grid-template-columns:1fr;}
}

.vis-tax-actions-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 14px;
}

.vis-card.inner {
    box-shadow: none;
    border-color: rgba(15, 23, 42, 0.08);
    margin-top: 12px;
}

.vis-tax-info.small {
    font-size: 12px;
    padding: 8px 10px;
    margin-top: 8px;
}

.vis-type-neutral {
    background: #f3f4f6;
    color: #374151;
}

@media (max-width: 960px) {
    .vis-tax-actions-grid {
        grid-template-columns: 1fr;
    }
}

/* 1.5.8 clickable VAT payments + structured payroll */
.vis-vat-schedule .vis-status-action{
  border:1px solid transparent;
  cursor:pointer;
  font-family:inherit!important;
}
.vis-vat-schedule .vis-status-action:hover{
  filter:brightness(.98);
  box-shadow:0 2px 8px rgba(15,23,42,.08);
}
.vis-quick-payment-row td{
  background:#fbfdff!important;
  padding:10px 12px!important;
}
.vis-quick-payment-form{
  display:grid;
  grid-template-columns:1.3fr 180px 180px 220px auto auto;
  gap:10px;
  align-items:end;
}
.vis-quick-payment-title{
  color:#334155;
  font-weight:700;
  align-self:center;
}
.vis-quick-payment-form label{
  display:flex;
  flex-direction:column;
  gap:5px;
  color:#667085;
  font-size:12px;
  font-weight:800;
}
.vis-quick-payment-form input{
  min-height:34px;
  border:1px solid #d8e1ef;
  border-radius:8px;
  padding:6px 9px;
  background:#fff;
}
.vis-secondary-btn.small{
  padding:8px 12px;
}
.vis-tax-grid.compact{
  grid-template-columns:repeat(2,minmax(0,240px));
  align-items:end;
}
.vis-payroll-card .description{
  margin-top:-3px;
  color:#667085;
}
.vis-payroll-rates{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:8px 0 12px;
}
.vis-payroll-rates span{
  display:inline-flex;
  gap:5px;
  align-items:center;
  padding:5px 8px;
  border-radius:999px;
  background:#f8fbff;
  border:1px solid #dbe6f3;
  color:#475467;
  font-size:12px;
  font-weight:700;
}
.vis-payroll-rates b{color:#0f172a;font-weight:900}
.vis-payroll-table th,
.vis-payroll-table td{
  white-space:nowrap;
}
.vis-payroll-table input{
  width:100%;
  min-height:34px;
  border:1px solid #d8e1ef;
  border-radius:8px;
  padding:6px 9px;
  background:#fff;
}
.vis-payroll-table td:first-child{min-width:190px}
.vis-payroll-table td:nth-child(2){min-width:150px}
.vis-remove-payroll-row{
  border:0;
  background:#fee2e2;
  color:#991b1b;
  border-radius:8px;
  width:30px;
  height:30px;
  font-size:18px;
  line-height:1;
  cursor:pointer;
}
.vis-payroll-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
  margin-top:12px;
}
.vis-density-compact .vis-quick-payment-form{
  grid-template-columns:1.3fr 160px 160px 190px auto auto;
  gap:8px;
}
.vis-density-compact .vis-payroll-rates span{font-size:11.5px;padding:4px 7px}
.vis-density-compact .vis-payroll-table th{padding:8px 9px}
.vis-density-compact .vis-payroll-table td{padding:8px 9px}
@media (max-width:1200px){
  .vis-quick-payment-form{grid-template-columns:repeat(2,minmax(0,1fr));}
  .vis-quick-payment-title{grid-column:1/-1;}
}
@media (max-width:680px){
  .vis-quick-payment-form{grid-template-columns:1fr;}
  .vis-tax-grid.compact{grid-template-columns:1fr;}
}
.vis-plan-lines-card{margin-top:18px}.vis-add-line-row{display:flex;gap:10px;align-items:center;justify-content:center;padding:12px;background:#f8fbff;border-top:1px solid #edf2f7}.vis-add-line-row .vis-secondary{border:1px solid var(--line);border-radius:9px;margin:0;padding:9px 13px;background:#fff}.vis-remove-plan-line{border:0;background:#fee2e2;color:#991b1b;border-radius:8px;width:34px;height:34px;font-size:20px;line-height:1;cursor:pointer}.vis-plan-line-amount{white-space:nowrap;display:block;margin-top:10px;text-align:right}.vis-density-compact .vis-plan-lines-card{margin-top:14px}.vis-density-compact .vis-add-line-row{padding:9px}.vis-density-compact .vis-remove-plan-line{width:30px;height:30px;border-radius:7px}.vis-density-compact .vis-plan-line-amount{margin-top:8px}
.vis-payment-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin:10px 0 14px;
}
.vis-payment-grid span,
.vis-payment-help,
.vis-payroll-live-summary span{
  display:block;
  border:1px solid #dbe6f3;
  background:#f8fbff;
  border-radius:10px;
  padding:8px 10px;
  color:#475467;
  font-size:12px;
  line-height:1.35;
}
.vis-payment-grid b,
.vis-payment-help strong,
.vis-payroll-live-summary b{color:#0f172a;font-weight:800}
.vis-payroll-live-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin:10px 0 12px;
}
.vis-payment-help{margin-top:10px;}
.vis-payroll-table td:nth-child(3),
.vis-payroll-table td:nth-child(4),
.vis-payroll-table td:nth-child(5),
.vis-payroll-table td:nth-child(6),
.vis-payroll-table td:nth-child(7),
.vis-payroll-table td:nth-child(8){min-width:120px;}
@media (max-width:1100px){
  .vis-payment-grid,.vis-payroll-live-summary{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:680px){
  .vis-payment-grid,.vis-payroll-live-summary{grid-template-columns:1fr;}
}

/* 1.6.1 recurring expenses */
.vis-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.vis-recurring-box{margin-top:18px}
.vis-recurring-form{margin:0 0 18px;padding:14px;border:1px solid #edf2f7;background:#fbfdff;border-radius:12px}
.vis-recurring-editor{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end;margin-bottom:12px}
.vis-recurring-editor .vis-span-2{grid-column:span 2}
.vis-recurring-table small{color:#667085}.vis-recurring-table td:last-child{white-space:nowrap}.vis-density-compact .vis-recurring-form{padding:11px;border-radius:10px}.vis-density-compact .vis-recurring-editor{gap:9px}.vis-density-compact .vis-recurring-box{margin-top:14px}
@media(max-width:1100px){.vis-three,.vis-recurring-editor{grid-template-columns:1fr 1fr}.vis-recurring-editor .vis-span-2{grid-column:1/-1}}
@media(max-width:640px){.vis-three,.vis-recurring-editor{grid-template-columns:1fr}}

/* 1.6.2 frontend clean app view */
.vis-standalone-body{
  margin:0;
  background:#eef3f8;
  color:#0f172a;
}
.vis-standalone-shell{
  width:100%;
  max-width:var(--vis-frontend-width,1680px);
  margin:0 auto;
  padding:18px 22px 42px;
  box-sizing:border-box;
}
.vis-standalone-shell .vis-app,
.vis-shortcode-shell .vis-app{
  max-width:none;
  margin:0;
}
.vis-standalone-shell .vis-topbar{margin-top:6px}
.vis-front-message,
.vis-front-url-box{
  background:#f8fbff;
  border:1px solid #dfe7f2;
  border-radius:10px;
  padding:10px 12px;
  color:#334155;
  line-height:1.6;
}
.vis-front-url-box code{
  background:#eef2ff;
  color:#4338ca;
  border-radius:6px;
  padding:2px 6px;
  font-weight:800;
}
@media(max-width:782px){
  .vis-standalone-shell{padding:12px 10px 30px}
}


/* 1.6.5 searchable selects */
.vis-native-select-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.vis-search-select{
  position:relative;
  width:100%;
  min-width:0;
}
.vis-search-select .vis-search-input{
  width:100%;
  min-height:38px;
  border:1px solid #d8e1ef;
  border-radius:10px;
  background:#fff;
  color:#172033;
  padding:8px 38px 8px 11px;
  box-shadow:none;
  font-size:13px;
}
.vis-search-select .vis-search-input:focus{
  border-color:var(--violet);
  box-shadow:0 0 0 3px rgba(79,70,255,.12);
  outline:0;
}
.vis-search-select .vis-search-toggle{
  position:absolute;
  right:5px;
  top:5px;
  width:28px;
  height:28px;
  border:0;
  border-radius:7px;
  background:#f3f6fb;
  color:#475467;
  line-height:1;
  cursor:pointer;
  padding:0;
  font-weight:900;
}
.vis-search-select.is-open .vis-search-toggle{
  color:#fff;
  background:var(--violet);
}
.vis-search-select .vis-search-options{
  position:absolute;
  z-index:9999;
  top:calc(100% + 5px);
  left:0;
  right:0;
  max-height:260px;
  overflow:auto;
  border:1px solid #d8e1ef;
  border-radius:10px;
  background:#fff;
  box-shadow:0 14px 34px rgba(15,23,42,.14);
  padding:5px;
}
.vis-search-select .vis-search-option{
  display:block;
  width:100%;
  min-height:34px;
  border:0;
  border-radius:7px;
  background:#fff;
  color:#172033;
  text-align:left;
  padding:7px 9px;
  font-size:13px;
  cursor:pointer;
  white-space:normal;
  line-height:1.25;
}
.vis-search-select .vis-search-option:hover,
.vis-search-select .vis-search-option:focus{
  background:#f5f7ff;
  outline:0;
}
.vis-search-select .vis-search-option.is-selected{
  background:#eef2ff;
  color:#4338ca;
  font-weight:800;
}
.vis-search-select .vis-search-empty{
  color:#667085;
  font-size:12px;
  padding:10px;
}
.vis-lines .vis-search-select .vis-search-input,
.vis-plan-lines .vis-search-select .vis-search-input{
  min-height:34px;
  border-radius:8px;
  padding:6px 34px 6px 9px;
  font-size:12.5px;
}
.vis-lines .vis-search-select .vis-search-toggle,
.vis-plan-lines .vis-search-select .vis-search-toggle{
  width:24px;
  height:24px;
  top:5px;
}
.vis-lines .vis-search-select .vis-search-options,
.vis-plan-lines .vis-search-select .vis-search-options{
  min-width:240px;
}
.vis-density-compact .vis-search-select .vis-search-input{
  min-height:34px;
  border-radius:8px;
  padding-top:6px;
  padding-bottom:6px;
  font-size:12.5px;
}
.vis-density-compact .vis-search-select .vis-search-toggle{
  width:24px;
  height:24px;
}
.vis-density-compact .vis-search-select .vis-search-options{
  max-height:230px;
  border-radius:9px;
}
.vis-density-compact .vis-search-select .vis-search-option{
  min-height:30px;
  padding:6px 8px;
  font-size:12.5px;
}

/* 1.6.6 cleaner searchable selects */
.vis-search-select.is-open{
  z-index:10020;
}
.vis-search-select .vis-search-input::placeholder{
  color:#667085;
  opacity:1;
}
.vis-search-select .vis-search-toggle{
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  transition:background .14s ease,color .14s ease,box-shadow .14s ease;
}
.vis-search-select .vis-search-options{
  overscroll-behavior:contain;
  scrollbar-width:thin;
}
.vis-search-select .vis-search-option{
  transition:background .12s ease,color .12s ease;
}
.vis-search-select .vis-search-option.is-placeholder{
  color:#667085;
  font-weight:700;
  background:#f8fbff;
}
.vis-search-select .vis-search-option.is-placeholder.is-selected{
  background:#f1f5f9;
  color:#475467;
}
.vis-search-select .vis-search-option + .vis-search-option{
  margin-top:2px;
}
.vis-lines .vis-search-select,
.vis-plan-lines .vis-search-select{
  min-width:180px;
}
.vis-lines .vis-search-select .vis-search-options,
.vis-plan-lines .vis-search-select .vis-search-options{
  width:max-content;
  min-width:100%;
  max-width:420px;
}

/* 1.6.7: cleaner top navigation and dashboard period selector */
.vis-topbar{gap:18px}.vis-topbar .vis-brand{min-width:0;flex:1}.vis-topbar .vis-top-actions{flex:0 0 auto;display:flex;gap:8px;align-items:center;justify-content:flex-end}.vis-nav{align-items:center}.vis-tools-menu{position:relative}.vis-tools-menu>summary{list-style:none;cursor:pointer;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 14px;color:#344054;font-weight:800;min-height:38px;display:inline-flex;align-items:center;gap:6px}.vis-tools-menu>summary::-webkit-details-marker{display:none}.vis-tools-menu>summary:after{content:'⌄';font-size:12px;color:#667085}.vis-tools-menu>summary.active{background:var(--violet);border-color:var(--violet);color:#fff;box-shadow:0 8px 18px rgba(79,70,255,.2)}.vis-tools-menu>summary.active:after{color:#fff}.vis-tools-list{position:absolute;z-index:80;top:calc(100% + 8px);right:0;min-width:180px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px rgba(15,23,42,.14);padding:7px}.vis-tools-list a{display:block;box-shadow:none!important;border:0!important;border-radius:8px!important;padding:9px 10px!important;white-space:nowrap}.vis-tools-list a.active{background:#eef2ff!important;color:var(--violet)!important}.vis-period-filter{display:flex;align-items:end;gap:8px;flex-wrap:wrap;justify-content:flex-end}.vis-period-filter label{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-weight:800;font-size:12px}.vis-period-filter select,.vis-period-filter input{border:1px solid var(--line);border-radius:10px;min-height:38px;padding:7px 10px;background:#fff;min-width:116px}.vis-period-filter .vis-period-field{display:none}.vis-period-filter[data-period="day"] .vis-period-day,.vis-period-filter[data-period="month"] .vis-period-month,.vis-period-filter[data-period="year"] .vis-period-year,.vis-period-filter[data-period="two_years"] .vis-period-year{display:flex}.vis-density-compact .vis-tools-menu>summary{border-radius:8px;padding:8px 12px;font-size:13px}.vis-density-compact .vis-tools-list a{font-size:13px!important;padding:8px 10px!important}.vis-density-compact .vis-period-filter select,.vis-density-compact .vis-period-filter input{min-height:34px;border-radius:8px;font-size:12.5px}.vis-density-compact .vis-period-filter label{font-size:11.5px}.vis-density-compact .vis-period-filter .vis-secondary-btn{min-height:34px}.vis-density-compact .vis-chart-card.vis-span-2{padding:14px}.vis-density-compact .vis-svg-wrap{max-width:1120px;margin:0 auto}.vis-density-compact .vis-line-chart{max-height:300px}@media(max-width:1100px){.vis-tools-list{left:0;right:auto}.vis-period-filter{justify-content:flex-start}.vis-topbar .vis-top-actions{justify-content:flex-start}}


/* 1.6.8 ValovIT brand polish: calmer black / gold palette and cleaner icon states */
.vis-app{
  --violet:#111111;
  --violet2:#d8a24b;
  --gold:#e8bd70;
  --gold-soft:#fff6e6;
  --ink:#111111;
  --muted:#667085;
  --line:#e7ddcf;
  --bg:#f5f1eb;
  --card:#ffffff;
}
.vis-app h1,.vis-app h2,.vis-app h3{color:#111111;letter-spacing:-.02em}
.vis-topbar{margin-top:16px;margin-bottom:14px}
.vis-nav a,
.vis-tools-menu>summary{
  border-color:#e7ddcf!important;
  background:#ffffff!important;
  color:#171717!important;
  box-shadow:0 1px 2px rgba(17,17,17,.025);
}
.vis-nav a:hover,
.vis-tools-menu>summary:hover,
.vis-secondary-btn:hover{
  border-color:#e8bd70!important;
  background:#fffaf1!important;
  color:#111111!important;
}
.vis-nav a.active,
.vis-tools-menu>summary.active{
  background:#111111!important;
  border-color:#111111!important;
  color:#ffffff!important;
  box-shadow:0 10px 22px rgba(17,17,17,.16), inset 0 -3px 0 #e8bd70!important;
}
.vis-primary,
.vis-submit{
  background:linear-gradient(135deg,#111111,#2a2620)!important;
  border:1px solid rgba(232,189,112,.55)!important;
  color:#ffffff!important;
  box-shadow:0 10px 22px rgba(17,17,17,.18)!important;
}
.vis-primary:hover,
.vis-submit:hover{
  background:linear-gradient(135deg,#000000,#1b1712)!important;
  border-color:#e8bd70!important;
  transform:translateY(-1px);
}
.vis-primary:disabled,
.vis-primary[disabled],
button.vis-primary:disabled,
button.vis-primary[disabled],
.vis-submit:disabled,
.vis-submit[disabled],
button.vis-submit:disabled,
button.vis-submit[disabled],
.vis-bulk-doc-export:disabled,
.vis-bulk-doc-export[disabled]{
  background:#edf0f3!important;
  border-color:#d7dde5!important;
  color:#98a2b3!important;
  box-shadow:none!important;
  cursor:not-allowed!important;
  transform:none!important;
  opacity:1!important;
}
.vis-secondary-btn{
  color:#111111!important;
  border-color:#e7ddcf!important;
  background:#fff!important;
}
.vis-link,.vis-sort-link:hover,.vis-sort-link.active,.vis-add-line,.vis-secondary{color:#111111!important}
.vis-link:hover,.vis-document-table a:hover,.vis-table a:hover{color:#b7791f!important;text-decoration:underline;text-underline-offset:2px}
.vis-field input:focus,.vis-field textarea:focus,.vis-field select:focus,.vis-panel select:focus,.vis-search-bar input[type="search"]:focus,.vis-lines select:focus,.vis-lines input:focus,.vis-lines textarea:focus{
  border-color:#d8a24b!important;
  box-shadow:0 0 0 3px rgba(232,189,112,.22)!important;
}
.vis-stat-icon{background:#fff6e6!important;color:#9a6a1f!important}
.vis-stat{border-color:#e7ddcf!important}
.vis-card,.vis-panel,.vis-total-box{border-color:#e7ddcf!important}
.vis-svg-wrap,.vis-search-bar,.vis-list-export-controls,.vis-sort-summary{border-color:#eadfce!important;background:#fffdf9!important}
.vis-chart-legend i.income{background:#111111!important}
.vis-line-chart .line.income{stroke:#111111!important}.vis-line-chart .dot.income{fill:#111111!important}
.vis-chart-legend i.expense{background:#c56b3f!important}.vis-line-chart .line.expense{stroke:#c56b3f!important}.vis-line-chart .dot.expense{fill:#c56b3f!important}
.vis-chart-legend i.due{background:#d8a24b!important}.vis-line-chart .line.due{stroke:#d8a24b!important}.vis-line-chart .dot.due{fill:#d8a24b!important}
.vis-type-income{background:#fff2d8!important;color:#7a4e12!important}
.vis-type-expense{background:#fee7df!important;color:#943b20!important}
.vis-month-group td{background:#fff7ea!important;border-bottom-color:#eadfce!important}.vis-month-group:hover td{background:#fff7ea!important}
.vis-month-group-inner span{border-color:#eadfce!important}.vis-month-group-inner .vis-vat-payable{border-color:#e8bd70!important;background:#fff6e6!important;color:#6b4b16!important}.vis-month-group-inner .vis-vat-payable b{color:#8a5a00!important}
.vis-tools-menu{position:relative;display:inline-flex;align-items:center}
.vis-tools-menu>summary{
  min-height:38px;
  padding-right:34px!important;
  position:relative;
  gap:8px;
}
.vis-tools-menu>summary:after{
  content:''!important;
  position:absolute;
  right:13px;
  top:50%;
  width:7px;
  height:7px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:translateY(-65%) rotate(45deg);
  color:currentColor!important;
  opacity:.9;
  transition:transform .16s ease;
}
.vis-tools-menu[open]>summary:after{transform:translateY(-35%) rotate(225deg)}
.vis-tools-list{
  border-color:#e7ddcf!important;
  box-shadow:0 16px 34px rgba(17,17,17,.15)!important;
}
.vis-tools-list a.active{background:#fff6e6!important;color:#111111!important}
.vis-tools-list a:hover{background:#fffaf1!important;color:#111111!important}
.vis-app input[type="checkbox"]{accent-color:#111111}
.vis-app .button-link-delete,.vis-document-table a[href*="delete"]{color:#a33a2a!important}
.vis-top-actions .vis-secondary-btn{box-shadow:0 8px 18px rgba(17,17,17,.06)}
.vis-density-compact .vis-nav a,
.vis-density-compact .vis-tools-menu>summary{padding:8px 12px!important;min-height:36px}
.vis-density-compact .vis-tools-menu>summary{padding-right:32px!important}


/* 1.7.0 frontend modernization + responsive polish
   Scope: clean frontend app, with safe admin improvements where useful. */
.vis-app{
  color:#111827;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.vis-app h1,.vis-app h2,.vis-app h3{font-weight:750;letter-spacing:-.025em}
.vis-app p,.vis-app td,.vis-app input,.vis-app textarea,.vis-app select{font-weight:500}
.vis-app a,.vis-app button{transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease,opacity .16s ease}
.vis-card,.vis-panel,.vis-stat,.vis-total-box{transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.vis-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px}
.vis-table-wrap .vis-table{min-width:980px}
.vis-table td,.vis-table th{white-space:nowrap}.vis-table td:nth-child(4),.vis-table th:nth-child(4){white-space:normal;min-width:190px}.vis-document-table td:last-child{white-space:nowrap}
.vis-nav a,.vis-tools-menu>summary{position:relative;overflow:hidden}
.vis-nav a:focus-visible,.vis-tools-menu>summary:focus-visible,.vis-primary:focus-visible,.vis-secondary-btn:focus-visible{outline:2px solid rgba(216,162,75,.7);outline-offset:2px}
.vis-primary,.vis-secondary-btn,.vis-nav a,.vis-tools-menu>summary{will-change:transform}.vis-primary:hover,.vis-secondary-btn:hover,.vis-nav a:hover,.vis-tools-menu>summary:hover{transform:translateY(-1px)}
.vis-primary:active,.vis-secondary-btn:active,.vis-nav a:active,.vis-tools-menu>summary:active{transform:translateY(0)}
.vis-search-select .vis-search-options{box-shadow:0 18px 42px rgba(17,17,17,.14);backdrop-filter:saturate(1.1)}
.vis-search-select .vis-search-option:hover{transform:translateX(2px)}
.vis-month-group-inner{align-items:center}.vis-month-group-inner span{white-space:nowrap}

/* Standalone frontend surface */
.vis-standalone-body{
  background:
    radial-gradient(circle at top left, rgba(232,189,112,.16), transparent 34rem),
    linear-gradient(180deg,#f8f6f1 0%,#f3f5f7 54%,#f7f8fa 100%);
  min-height:100%;
}
.vis-standalone-shell{
  padding:28px 28px 52px;
}
.vis-standalone-shell .vis-app{
  --violet:#111111;
  --violet2:#d8a24b;
  --line:#e4ded5;
  max-width:none;
}
.vis-standalone-shell .vis-topbar,
.vis-shortcode-shell .vis-topbar{
  margin:0 0 14px;
  padding:0 2px;
  align-items:flex-start;
}
.vis-standalone-shell .vis-topbar h1,
.vis-shortcode-shell .vis-topbar h1{
  font-size:27px;
  line-height:1.08;
  font-weight:780;
}
.vis-standalone-shell .vis-topbar p,
.vis-shortcode-shell .vis-topbar p{
  margin-top:6px;
  max-width:760px;
  color:#687284;
  font-size:13px;
}
.vis-standalone-shell .vis-top-actions,
.vis-shortcode-shell .vis-top-actions{
  gap:9px;
}
.vis-standalone-shell .vis-primary,
.vis-shortcode-shell .vis-primary{
  background:#111!important;
  border-color:#111!important;
  border-radius:12px!important;
  padding:10px 15px;
  box-shadow:0 12px 26px rgba(17,17,17,.16)!important;
}
.vis-standalone-shell .vis-secondary-btn,
.vis-shortcode-shell .vis-secondary-btn{
  border-radius:12px;
  padding:9px 14px;
  background:rgba(255,255,255,.88)!important;
  box-shadow:0 6px 18px rgba(17,17,17,.045)!important;
}
.vis-standalone-shell .vis-nav,
.vis-shortcode-shell .vis-nav{
  gap:7px;
  margin-bottom:18px;
  padding:8px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(228,222,213,.9);
  border-radius:16px;
  box-shadow:0 10px 28px rgba(17,17,17,.045);
}
.vis-standalone-shell .vis-nav a,
.vis-shortcode-shell .vis-nav a,
.vis-standalone-shell .vis-tools-menu>summary,
.vis-shortcode-shell .vis-tools-menu>summary{
  border-radius:11px!important;
  border-color:transparent!important;
  background:transparent!important;
  padding:9px 12px!important;
  min-height:36px;
  font-weight:720;
  color:#303744!important;
  box-shadow:none!important;
}
.vis-standalone-shell .vis-nav a:hover,
.vis-shortcode-shell .vis-nav a:hover,
.vis-standalone-shell .vis-tools-menu>summary:hover,
.vis-shortcode-shell .vis-tools-menu>summary:hover{
  background:#fffaf1!important;
  border-color:#eadcc6!important;
}
.vis-standalone-shell .vis-nav a.active,
.vis-shortcode-shell .vis-nav a.active,
.vis-standalone-shell .vis-tools-menu>summary.active,
.vis-shortcode-shell .vis-tools-menu>summary.active{
  background:#111!important;
  color:#fff!important;
  border-color:#111!important;
  box-shadow:inset 0 -2px 0 #e8bd70!important;
}
.vis-standalone-shell .vis-tools-list,
.vis-shortcode-shell .vis-tools-list{
  border-radius:14px;
  padding:8px;
  box-shadow:0 18px 44px rgba(17,17,17,.15)!important;
}
.vis-standalone-shell .vis-card,
.vis-standalone-shell .vis-panel,
.vis-standalone-shell .vis-stat,
.vis-standalone-shell .vis-total-box,
.vis-shortcode-shell .vis-card,
.vis-shortcode-shell .vis-panel,
.vis-shortcode-shell .vis-stat,
.vis-shortcode-shell .vis-total-box{
  border-radius:16px;
  border-color:rgba(228,222,213,.9)!important;
  background:rgba(255,255,255,.9);
  box-shadow:0 10px 30px rgba(17,17,17,.055);
}
.vis-standalone-shell .vis-card:hover,
.vis-standalone-shell .vis-panel:hover,
.vis-standalone-shell .vis-stat:hover,
.vis-shortcode-shell .vis-card:hover,
.vis-shortcode-shell .vis-panel:hover,
.vis-shortcode-shell .vis-stat:hover{
  border-color:rgba(216,162,75,.45)!important;
  box-shadow:0 14px 34px rgba(17,17,17,.075);
}
.vis-standalone-shell .vis-stat,
.vis-shortcode-shell .vis-stat{
  padding:18px 18px;
}
.vis-standalone-shell .vis-stat strong,
.vis-shortcode-shell .vis-stat strong{
  font-size:27px;
  letter-spacing:-.04em;
  font-weight:760;
}
.vis-standalone-shell .vis-stat em,
.vis-shortcode-shell .vis-stat em{
  font-size:14px;
  margin-top:7px;
}
.vis-standalone-shell .vis-stat-icon,
.vis-shortcode-shell .vis-stat-icon{
  width:38px;height:38px;right:16px;top:16px;
  background:#fff5e3!important;color:#9a6a1f!important;
}
.vis-standalone-shell .vis-card-head h2,
.vis-shortcode-shell .vis-card-head h2{font-size:19px}
.vis-standalone-shell .vis-table th,
.vis-shortcode-shell .vis-table th{
  background:#fbfaf7;
  color:#636b78;
  font-size:11.5px;
  font-weight:760;
  padding:11px 12px;
}
.vis-standalone-shell .vis-table td,
.vis-shortcode-shell .vis-table td{
  padding:12px;
}
.vis-standalone-shell .vis-table tr:hover td,
.vis-shortcode-shell .vis-table tr:hover td{
  background:#fffaf2!important;
}
.vis-standalone-shell .vis-search-bar,
.vis-standalone-shell .vis-list-export-controls,
.vis-standalone-shell .vis-sort-summary,
.vis-shortcode-shell .vis-search-bar,
.vis-shortcode-shell .vis-list-export-controls,
.vis-shortcode-shell .vis-sort-summary{
  border-radius:13px;
  background:rgba(255,255,255,.72)!important;
}
.vis-standalone-shell .vis-svg-wrap,
.vis-shortcode-shell .vis-svg-wrap{
  border-radius:15px;
  background:linear-gradient(180deg,#fff 0%,#fffaf3 100%)!important;
}

@media (prefers-reduced-motion:no-preference){
  .vis-standalone-shell .vis-card,
  .vis-standalone-shell .vis-panel,
  .vis-standalone-shell .vis-stat,
  .vis-shortcode-shell .vis-card,
  .vis-shortcode-shell .vis-panel,
  .vis-shortcode-shell .vis-stat{
    animation:visFadeUp .26s ease both;
  }
  .vis-standalone-shell .vis-stat:nth-child(2),.vis-shortcode-shell .vis-stat:nth-child(2){animation-delay:.035s}
  .vis-standalone-shell .vis-stat:nth-child(3),.vis-shortcode-shell .vis-stat:nth-child(3){animation-delay:.07s}
  .vis-standalone-shell .vis-stat:nth-child(4),.vis-shortcode-shell .vis-stat:nth-child(4){animation-delay:.105s}
  @keyframes visFadeUp{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
}

/* Responsive cleanup */
@media (max-width:1320px){
  .vis-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .vis-dashboard-grid{grid-template-columns:1fr;gap:16px}
  .vis-bottom-grid{grid-template-columns:1fr;gap:16px}
}
@media (max-width:1180px){
  .vis-invoice-grid,.vis-two,.vis-three{grid-template-columns:1fr!important;gap:14px}
  .vis-tax-actions-grid{grid-template-columns:1fr!important}
  .vis-card,.vis-panel{padding:16px}
  .vis-topbar{align-items:flex-start;flex-direction:column}.vis-topbar .vis-top-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}
}
@media (max-width:782px){
  .vis-standalone-shell{padding:16px 12px 34px}
  .vis-shortcode-shell{padding:0}
  .vis-app.wrap{margin:0}
  .vis-topbar h1{font-size:24px!important}.vis-form-head h2{font-size:22px}
  .vis-top-actions a{flex:1 1 auto;min-width:142px;text-align:center}
  .vis-nav{
    flex-wrap:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    padding-bottom:9px;
    scrollbar-width:thin;
  }
  .vis-nav a,.vis-tools-menu>summary{white-space:nowrap;flex:0 0 auto}
  .vis-tools-list{left:0;right:auto;position:absolute}
  .vis-stats{grid-template-columns:1fr;gap:12px}
  .vis-search-bar{display:grid;grid-template-columns:1fr;align-items:stretch}
  .vis-search-bar input[type="search"]{min-width:0!important;width:100%}
  .vis-list-export-controls{align-items:flex-start;gap:9px}.vis-list-export-controls .vis-primary,.vis-list-export-controls .vis-secondary-btn{width:100%;justify-content:center}
  .vis-table-wrap .vis-table{min-width:880px}
  .vis-table th,.vis-table td{padding:10px 11px!important;font-size:12.5px}
  .vis-month-group-inner{gap:6px}.vis-month-group-inner span{font-size:11.5px;white-space:normal}
  .vis-period-filter{justify-content:flex-start}.vis-period-filter label,.vis-period-filter select,.vis-period-filter input{width:100%;min-width:0}.vis-period-filter .vis-secondary-btn{width:100%;justify-content:center}
  .vis-chart-legend{gap:10px}.vis-line-chart text{font-size:10px}.vis-svg-wrap{padding:7px}
  .vis-quick-payment-form{grid-template-columns:1fr!important}.vis-quick-payment-title{align-self:auto}
  .vis-tax-grid,.vis-payment-grid,.vis-payroll-live-summary,.vis-recurring-editor{grid-template-columns:1fr!important}
  .vis-lines,.vis-plan-lines{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.vis-lines table,.vis-plan-lines table{min-width:920px}
}
@media (max-width:480px){
  .vis-standalone-shell{padding:12px 8px 28px}
  .vis-topbar p{font-size:12px!important}.vis-top-actions{gap:7px}.vis-top-actions a{min-width:0;width:100%}
  .vis-nav{border-radius:13px;padding:6px}.vis-nav a,.vis-tools-menu>summary{padding:8px 10px!important;font-size:12.5px!important}
  .vis-card,.vis-panel,.vis-total-box{padding:13px!important;border-radius:13px!important}.vis-card.no-pad{padding:0!important}
  .vis-stat strong{font-size:24px!important}.vis-stat em{font-size:13px!important}
  .vis-form-head{flex-direction:column;align-items:flex-start;gap:10px}.vis-head-actions{width:100%}.vis-head-actions a,.vis-head-actions button{width:100%;justify-content:center}
  .vis-table-wrap .vis-table{min-width:800px}
  .vis-search-select .vis-search-options{max-height:220px}
}

/* 1.7.1 frontend design presets */
.vis-standalone-shell .vis-design-classic,
.vis-shortcode-shell .vis-design-classic{
  --violet:#111111;
  --violet2:#d8a24b;
  --line:#e2e8f0;
}
.vis-standalone-shell .vis-design-classic .vis-nav,
.vis-shortcode-shell .vis-design-classic .vis-nav{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
  padding:0!important;
}
.vis-standalone-shell .vis-design-classic .vis-card,
.vis-standalone-shell .vis-design-classic .vis-panel,
.vis-standalone-shell .vis-design-classic .vis-stat,
.vis-standalone-shell .vis-design-classic .vis-total-box,
.vis-shortcode-shell .vis-design-classic .vis-card,
.vis-shortcode-shell .vis-design-classic .vis-panel,
.vis-shortcode-shell .vis-design-classic .vis-stat,
.vis-shortcode-shell .vis-design-classic .vis-total-box{
  background:#fff!important;
  border-color:#e2e8f0!important;
  box-shadow:0 2px 8px rgba(15,23,42,.045)!important;
  transform:none!important;
}
.vis-standalone-shell .vis-design-classic a,
.vis-standalone-shell .vis-design-classic button,
.vis-standalone-shell .vis-design-classic .vis-card,
.vis-standalone-shell .vis-design-classic .vis-panel,
.vis-standalone-shell .vis-design-classic .vis-stat,
.vis-shortcode-shell .vis-design-classic a,
.vis-shortcode-shell .vis-design-classic button,
.vis-shortcode-shell .vis-design-classic .vis-card,
.vis-shortcode-shell .vis-design-classic .vis-panel,
.vis-shortcode-shell .vis-design-classic .vis-stat{
  transition:none!important;
  animation:none!important;
}
.vis-standalone-shell .vis-design-classic .vis-primary,
.vis-shortcode-shell .vis-design-classic .vis-primary{
  background:#111!important;
  box-shadow:none!important;
}
.vis-standalone-shell .vis-design-classic .vis-svg-wrap,
.vis-shortcode-shell .vis-design-classic .vis-svg-wrap{
  background:#fff!important;
}

.vis-standalone-shell .vis-design-modern .vis-card,
.vis-standalone-shell .vis-design-modern .vis-panel,
.vis-standalone-shell .vis-design-modern .vis-stat,
.vis-shortcode-shell .vis-design-modern .vis-card,
.vis-shortcode-shell .vis-design-modern .vis-panel,
.vis-shortcode-shell .vis-design-modern .vis-stat{
  animation:none!important;
}
.vis-standalone-shell .vis-design-modern .vis-line-chart .line,
.vis-shortcode-shell .vis-design-modern .vis-line-chart .line{
  stroke-dasharray:none!important;
  animation:none!important;
}

.vis-standalone-shell .vis-design-animated .vis-stat strong,
.vis-shortcode-shell .vis-design-animated .vis-stat strong{
  font-variant-numeric:tabular-nums;
}
.vis-standalone-shell .vis-design-animated .vis-card,
.vis-standalone-shell .vis-design-animated .vis-panel,
.vis-standalone-shell .vis-design-animated .vis-stat,
.vis-shortcode-shell .vis-design-animated .vis-card,
.vis-shortcode-shell .vis-design-animated .vis-panel,
.vis-shortcode-shell .vis-design-animated .vis-stat{
  animation:visFadeUp .28s ease both;
}
.vis-standalone-shell .vis-design-animated .vis-line-chart .line,
.vis-shortcode-shell .vis-design-animated .vis-line-chart .line{
  stroke-dasharray:900;
  stroke-dashoffset:900;
  animation:visLineDraw .82s cubic-bezier(.22,.61,.36,1) forwards;
}
.vis-standalone-shell .vis-design-animated .vis-line-chart .line.expense,
.vis-shortcode-shell .vis-design-animated .vis-line-chart .line.expense{animation-delay:.08s}
.vis-standalone-shell .vis-design-animated .vis-line-chart .line.due,
.vis-shortcode-shell .vis-design-animated .vis-line-chart .line.due{animation-delay:.14s}
.vis-standalone-shell .vis-design-animated .vis-line-chart .dot,
.vis-shortcode-shell .vis-design-animated .vis-line-chart .dot{
  transform-origin:center;
  animation:visDotIn .22s ease both;
}
@keyframes visLineDraw{to{stroke-dashoffset:0}}
@keyframes visDotIn{from{opacity:0;transform:scale(.35)}to{opacity:1;transform:scale(1)}}
@media (prefers-reduced-motion:reduce){
  .vis-standalone-shell .vis-design-animated .vis-card,
  .vis-standalone-shell .vis-design-animated .vis-panel,
  .vis-standalone-shell .vis-design-animated .vis-stat,
  .vis-shortcode-shell .vis-design-animated .vis-card,
  .vis-shortcode-shell .vis-design-animated .vis-panel,
  .vis-shortcode-shell .vis-design-animated .vis-stat,
  .vis-standalone-shell .vis-design-animated .vis-line-chart .line,
  .vis-shortcode-shell .vis-design-animated .vis-line-chart .line,
  .vis-standalone-shell .vis-design-animated .vis-line-chart .dot,
  .vis-shortcode-shell .vis-design-animated .vis-line-chart .dot{
    animation:none!important;
    stroke-dasharray:none!important;
    stroke-dashoffset:0!important;
  }
}

/* 1.7.2 layout + scrolling fixes */
.vis-app,
.vis-app *{
  box-sizing:border-box;
}
.vis-app{
  max-width:100%;
  overflow-x:hidden;
}
.vis-card,
.vis-panel,
.vis-bulk-doc-export{
  min-width:0;
  max-width:100%;
}
.vis-card{
  overflow:visible;
}
.vis-search-bar{
  margin-bottom:10px!important;
}
.vis-sort-summary{
  margin:0 0 10px!important;
}
.vis-list-export-controls{
  margin:0 0 12px!important;
}
.vis-table-wrap{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  -webkit-overflow-scrolling:touch;
  padding-bottom:10px;
  border-radius:10px;
  scrollbar-width:thin;
}
.vis-table-wrap::-webkit-scrollbar{
  height:10px;
}
.vis-table-wrap::-webkit-scrollbar-track{
  background:#f4f1eb;
  border-radius:999px;
}
.vis-table-wrap::-webkit-scrollbar-thumb{
  background:#d8a24b;
  border-radius:999px;
}
.vis-table-wrap .vis-document-table{
  width:100%;
  min-width:1240px!important;
  table-layout:fixed;
}
.vis-document-table th,
.vis-document-table td{
  overflow:hidden;
  text-overflow:ellipsis;
}
.vis-document-table th:nth-child(1),
.vis-document-table td:nth-child(1){width:42px;min-width:42px;text-align:center}
.vis-document-table th:nth-child(2),
.vis-document-table td:nth-child(2){width:100px;min-width:100px;white-space:nowrap}
.vis-document-table th:nth-child(3),
.vis-document-table td:nth-child(3){width:92px;min-width:92px;white-space:nowrap}
.vis-document-table th:nth-child(4),
.vis-document-table td:nth-child(4){width:110px;min-width:110px;white-space:nowrap}
.vis-document-table th:nth-child(5),
.vis-document-table td:nth-child(5){width:270px;min-width:220px;white-space:normal}
.vis-document-table th:nth-child(6),
.vis-document-table td:nth-child(6){width:105px;min-width:105px;white-space:nowrap}
.vis-document-table th:nth-child(7),
.vis-document-table td:nth-child(7){width:130px;min-width:130px;white-space:nowrap}
.vis-document-table th:nth-child(8),
.vis-document-table td:nth-child(8){width:120px;min-width:120px;white-space:nowrap;text-align:right}
.vis-document-table th:nth-child(9),
.vis-document-table td:nth-child(9){width:120px;min-width:120px;white-space:nowrap;text-align:right}
.vis-document-table th:nth-child(10),
.vis-document-table td:nth-child(10){width:230px;min-width:230px;white-space:nowrap}
.vis-month-group td{
  overflow:visible!important;
  text-overflow:clip!important;
}
.vis-month-group-inner{
  min-width:0!important;
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:7px!important;
  row-gap:6px!important;
}
.vis-month-group-inner strong{
  margin-right:6px;
}
.vis-month-group-inner span{
  white-space:nowrap;
  max-width:100%;
}
.vis-head-actions,
.vis-top-actions{
  gap:8px;
  flex-wrap:wrap;
}
.vis-tools-menu>summary{
  display:inline-flex;
  align-items:center;
  gap:5px;
}
.vis-tools-menu>summary::-webkit-details-marker{display:none}
.vis-tools-menu>summary:after{
  content:'⌄';
  font-size:12px;
  line-height:1;
  opacity:.7;
  transform:translateY(-1px);
}
.vis-tools-menu[open]>summary:after{
  transform:translateY(-1px) rotate(180deg);
}
.vis-secondary-btn[disabled],
.vis-primary[disabled],
button[disabled].vis-secondary-btn,
button[disabled].vis-primary{
  opacity:.45!important;
  cursor:not-allowed!important;
  box-shadow:none!important;
  filter:grayscale(.15);
}
.vis-standalone-shell .vis-card,
.vis-shortcode-shell .vis-card{
  margin-bottom:16px;
}
@media(max-width:1200px){
  .vis-table-wrap .vis-document-table{min-width:1180px!important}
  .vis-document-table th:nth-child(5),.vis-document-table td:nth-child(5){width:230px;min-width:200px}
  .vis-document-table th:nth-child(10),.vis-document-table td:nth-child(10){width:220px;min-width:220px}
}
@media(max-width:782px){
  .vis-table-wrap{margin-left:-2px;margin-right:-2px;width:calc(100% + 4px)!important}
  .vis-table-wrap .vis-document-table{min-width:1040px!important}
  .vis-month-group-inner span{font-size:11px!important}
}
/* 1.7.2 document table column widths, with and without checkbox column */
.vis-table-wrap .vis-document-table.vis-no-checks{min-width:1120px!important}
.vis-document-table.vis-no-checks th:nth-child(1),.vis-document-table.vis-no-checks td:nth-child(1){width:100px;min-width:100px;text-align:left;white-space:nowrap}
.vis-document-table.vis-no-checks th:nth-child(2),.vis-document-table.vis-no-checks td:nth-child(2){width:92px;min-width:92px;white-space:nowrap}
.vis-document-table.vis-no-checks th:nth-child(3),.vis-document-table.vis-no-checks td:nth-child(3){width:110px;min-width:110px;white-space:nowrap}
.vis-document-table.vis-no-checks th:nth-child(4),.vis-document-table.vis-no-checks td:nth-child(4){width:270px;min-width:220px;white-space:normal}
.vis-document-table.vis-no-checks th:nth-child(5),.vis-document-table.vis-no-checks td:nth-child(5){width:105px;min-width:105px;white-space:nowrap}
.vis-document-table.vis-no-checks th:nth-child(6),.vis-document-table.vis-no-checks td:nth-child(6){width:130px;min-width:130px;white-space:nowrap}
.vis-document-table.vis-no-checks th:nth-child(7),.vis-document-table.vis-no-checks td:nth-child(7){width:120px;min-width:120px;white-space:nowrap;text-align:right}
.vis-document-table.vis-no-checks th:nth-child(8),.vis-document-table.vis-no-checks td:nth-child(8){width:120px;min-width:120px;white-space:nowrap;text-align:right}
.vis-document-table.vis-no-checks th:nth-child(9),.vis-document-table.vis-no-checks td:nth-child(9){width:230px;min-width:230px;white-space:nowrap}
.vis-document-table.vis-has-checks th:nth-child(1),.vis-document-table.vis-has-checks td:nth-child(1){width:42px;min-width:42px;text-align:center}
.vis-document-table.vis-has-checks th:nth-child(2),.vis-document-table.vis-has-checks td:nth-child(2){width:100px;min-width:100px;white-space:nowrap;text-align:left}
.vis-document-table.vis-has-checks th:nth-child(3),.vis-document-table.vis-has-checks td:nth-child(3){width:92px;min-width:92px;white-space:nowrap;text-align:left}
.vis-document-table.vis-has-checks th:nth-child(4),.vis-document-table.vis-has-checks td:nth-child(4){width:110px;min-width:110px;white-space:nowrap;text-align:left}
.vis-document-table.vis-has-checks th:nth-child(5),.vis-document-table.vis-has-checks td:nth-child(5){width:270px;min-width:220px;white-space:normal;text-align:left}
.vis-document-table.vis-has-checks th:nth-child(6),.vis-document-table.vis-has-checks td:nth-child(6){width:105px;min-width:105px;white-space:nowrap;text-align:left}
.vis-document-table.vis-has-checks th:nth-child(7),.vis-document-table.vis-has-checks td:nth-child(7){width:130px;min-width:130px;white-space:nowrap;text-align:left}
.vis-document-table.vis-has-checks th:nth-child(8),.vis-document-table.vis-has-checks td:nth-child(8){width:120px;min-width:120px;white-space:nowrap;text-align:right}
.vis-document-table.vis-has-checks th:nth-child(9),.vis-document-table.vis-has-checks td:nth-child(9){width:120px;min-width:120px;white-space:nowrap;text-align:right}
.vis-document-table.vis-has-checks th:nth-child(10),.vis-document-table.vis-has-checks td:nth-child(10){width:230px;min-width:230px;white-space:nowrap;text-align:left}


/* 1.7.4 counted documents + 2060 cyberpunk preset */
.vis-month-group-inner span em{
  opacity:.7;
  font-style:normal;
  font-weight:700;
}

/* Wider document lists: fewer forced cuts, smoother horizontal scroll. */
.vis-table-wrap{
  position:relative;
  overscroll-behavior-x:contain;
}
.vis-table-wrap .vis-document-table{
  min-width:1120px!important;
}
.vis-document-table.vis-has-checks th:nth-child(10),
.vis-document-table.vis-has-checks td:nth-child(10){
  width:250px;min-width:250px;
}
.vis-document-table .vis-badge,
.vis-document-table .vis-type{
  white-space:nowrap;
}

/* 2060 / cyberpunk: frontend only, selectable as Design 4. */
.vis-standalone-shell .vis-design-cyberpunk,
.vis-shortcode-shell .vis-design-cyberpunk{
  --violet:#00e5ff;
  --violet2:#f2c15b;
  --ink:#e8f7ff;
  --muted:#8ea8b8;
  --line:rgba(0,229,255,.22);
  --bg:#071014;
  --card:rgba(7,16,20,.78);
  color:#e8f7ff;
  position:relative;
  padding:22px;
  border-radius:22px;
  background:
    radial-gradient(circle at 8% 0%, rgba(0,229,255,.16), transparent 31%),
    radial-gradient(circle at 88% 2%, rgba(242,193,91,.14), transparent 28%),
    linear-gradient(135deg, #061014 0%, #0b1118 54%, #070b10 100%);
  box-shadow:0 24px 80px rgba(0,0,0,.22) inset;
}
.vis-standalone-shell .vis-design-cyberpunk:before,
.vis-shortcode-shell .vis-design-cyberpunk:before{
  content:'';
  position:absolute;
  pointer-events:none;
}
.vis-standalone-shell .vis-design-cyberpunk .vis-topbar h1,
.vis-standalone-shell .vis-design-cyberpunk h1,
.vis-standalone-shell .vis-design-cyberpunk h2,
.vis-standalone-shell .vis-design-cyberpunk h3,
.vis-shortcode-shell .vis-design-cyberpunk .vis-topbar h1,
.vis-shortcode-shell .vis-design-cyberpunk h1,
.vis-shortcode-shell .vis-design-cyberpunk h2,
.vis-shortcode-shell .vis-design-cyberpunk h3{
  color:#f7fbff;
  letter-spacing:-.03em;
  text-shadow:0 0 22px rgba(0,229,255,.20);
}
.vis-standalone-shell .vis-design-cyberpunk .vis-topbar p,
.vis-shortcode-shell .vis-design-cyberpunk .vis-topbar p,
.vis-standalone-shell .vis-design-cyberpunk .vis-card-subtitle,
.vis-shortcode-shell .vis-design-cyberpunk .vis-card-subtitle{
  color:#9fb8c8;
}
.vis-standalone-shell .vis-design-cyberpunk .vis-nav,
.vis-shortcode-shell .vis-design-cyberpunk .vis-nav{
  background:rgba(2,8,12,.72);
  border:1px solid rgba(0,229,255,.18);
  box-shadow:0 12px 44px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter:blur(14px);
}
.vis-standalone-shell .vis-design-cyberpunk .vis-nav a,
.vis-standalone-shell .vis-design-cyberpunk .vis-tools-menu>summary,
.vis-shortcode-shell .vis-design-cyberpunk .vis-nav a,
.vis-shortcode-shell .vis-design-cyberpunk .vis-tools-menu>summary{
  color:#cdebf7;
  background:transparent;
  border-color:transparent;
  border-radius:14px;
  position:relative;
  overflow:hidden;
}
.vis-standalone-shell .vis-design-cyberpunk .vis-nav a:hover,
.vis-standalone-shell .vis-design-cyberpunk .vis-tools-menu>summary:hover,
.vis-shortcode-shell .vis-design-cyberpunk .vis-nav a:hover,
.vis-shortcode-shell .vis-design-cyberpunk .vis-tools-menu>summary:hover{
  color:#fff;
  background:rgba(0,229,255,.08);
  border-color:rgba(0,229,255,.24);
}
.vis-standalone-shell .vis-design-cyberpunk .vis-nav a.active,
.vis-shortcode-shell .vis-design-cyberpunk .vis-nav a.active{
  background:linear-gradient(135deg,#071014,#12100a);
  color:#fff;
  border-color:rgba(242,193,91,.8);
  box-shadow:0 0 0 1px rgba(0,229,255,.32),0 0 22px rgba(0,229,255,.17), inset 0 -2px 0 rgba(242,193,91,.95);
}
.vis-standalone-shell .vis-design-cyberpunk .vis-card,
.vis-standalone-shell .vis-design-cyberpunk .vis-panel,
.vis-standalone-shell .vis-design-cyberpunk .vis-stat,
.vis-standalone-shell .vis-design-cyberpunk .vis-total-box,
.vis-shortcode-shell .vis-design-cyberpunk .vis-card,
.vis-shortcode-shell .vis-design-cyberpunk .vis-panel,
.vis-shortcode-shell .vis-design-cyberpunk .vis-stat,
.vis-shortcode-shell .vis-design-cyberpunk .vis-total-box{
  background:linear-gradient(180deg,rgba(11,23,29,.88),rgba(5,12,16,.88));
  border-color:rgba(0,229,255,.22);
  box-shadow:0 18px 48px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.05);
  color:#d8edf7;
  animation:visCyberFade .34s ease both;
}
.vis-standalone-shell .vis-design-cyberpunk .vis-card:hover,
.vis-standalone-shell .vis-design-cyberpunk .vis-panel:hover,
.vis-shortcode-shell .vis-design-cyberpunk .vis-card:hover,
.vis-shortcode-shell .vis-design-cyberpunk .vis-panel:hover{
  border-color:rgba(0,229,255,.42);
  box-shadow:0 20px 60px rgba(0,0,0,.25), 0 0 36px rgba(0,229,255,.08);
}
.vis-standalone-shell .vis-design-cyberpunk .vis-primary,
.vis-shortcode-shell .vis-design-cyberpunk .vis-primary,
.vis-standalone-shell .vis-design-cyberpunk .vis-submit,
.vis-shortcode-shell .vis-design-cyberpunk .vis-submit{
  color:#031015!important;
  background:linear-gradient(135deg,#00e5ff,#f2c15b)!important;
  border:0!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.12),0 12px 36px rgba(0,229,255,.18)!important;
  text-shadow:none!important;
}
.vis-standalone-shell .vis-design-cyberpunk .vis-secondary-btn,
.vis-shortcode-shell .vis-design-cyberpunk .vis-secondary-btn{
  color:#d9f7ff!important;
  background:rgba(0,229,255,.06);
  border-color:rgba(0,229,255,.22);
  box-shadow:none;
}
.vis-standalone-shell .vis-design-cyberpunk .vis-table th,
.vis-shortcode-shell .vis-design-cyberpunk .vis-table th{
  background:rgba(0,229,255,.08);
  color:#a9f3ff;
  border-color:rgba(0,229,255,.18);
}
.vis-standalone-shell .vis-design-cyberpunk .vis-table td,
.vis-shortcode-shell .vis-design-cyberpunk .vis-table td{
  color:#d8edf7;
  border-color:rgba(0,229,255,.12);
  background:rgba(2,8,12,.30);
}
.vis-standalone-shell .vis-design-cyberpunk .vis-table tr:hover td,
.vis-shortcode-shell .vis-design-cyberpunk .vis-table tr:hover td{
  background:rgba(0,229,255,.07);
}
.vis-standalone-shell .vis-design-cyberpunk .vis-month-group td,
.vis-shortcode-shell .vis-design-cyberpunk .vis-month-group td{
  background:linear-gradient(90deg,rgba(242,193,91,.12),rgba(0,229,255,.06))!important;
}
.vis-standalone-shell .vis-design-cyberpunk .vis-month-group-inner span,
.vis-shortcode-shell .vis-design-cyberpunk .vis-month-group-inner span{
  background:rgba(4,16,21,.72);
  color:#d8edf7;
  border-color:rgba(0,229,255,.22);
}
.vis-standalone-shell .vis-design-cyberpunk .vis-month-group-inner .vis-vat-payable,
.vis-shortcode-shell .vis-design-cyberpunk .vis-month-group-inner .vis-vat-payable{
  border-color:rgba(242,193,91,.62);
  color:#ffe3a5;
}
.vis-standalone-shell .vis-design-cyberpunk input,
.vis-standalone-shell .vis-design-cyberpunk select,
.vis-standalone-shell .vis-design-cyberpunk textarea,
.vis-shortcode-shell .vis-design-cyberpunk input,
.vis-shortcode-shell .vis-design-cyberpunk select,
.vis-shortcode-shell .vis-design-cyberpunk textarea{
  background:rgba(2,8,12,.64)!important;
  border-color:rgba(0,229,255,.22)!important;
  color:#e8f7ff!important;
}
.vis-standalone-shell .vis-design-cyberpunk input::placeholder,
.vis-shortcode-shell .vis-design-cyberpunk input::placeholder{
  color:#7692a2!important;
}
.vis-standalone-shell .vis-design-cyberpunk input:focus,
.vis-standalone-shell .vis-design-cyberpunk select:focus,
.vis-standalone-shell .vis-design-cyberpunk textarea:focus,
.vis-shortcode-shell .vis-design-cyberpunk input:focus,
.vis-shortcode-shell .vis-design-cyberpunk select:focus,
.vis-shortcode-shell .vis-design-cyberpunk textarea:focus{
  border-color:#00e5ff!important;
  box-shadow:0 0 0 3px rgba(0,229,255,.16)!important;
}
.vis-standalone-shell .vis-design-cyberpunk .vis-line-chart .grid,
.vis-shortcode-shell .vis-design-cyberpunk .vis-line-chart .grid{stroke:rgba(0,229,255,.15)}
.vis-standalone-shell .vis-design-cyberpunk .vis-line-chart text,
.vis-shortcode-shell .vis-design-cyberpunk .vis-line-chart text{fill:#9fb8c8}
.vis-standalone-shell .vis-design-cyberpunk .vis-line-chart .line,
.vis-shortcode-shell .vis-design-cyberpunk .vis-line-chart .line{
  stroke-dasharray:900;
  stroke-dashoffset:900;
  animation:visLineDraw 1s cubic-bezier(.22,.61,.36,1) forwards;
  filter:drop-shadow(0 0 5px rgba(0,229,255,.28));
}
.vis-standalone-shell .vis-design-cyberpunk .vis-line-chart .line.income,
.vis-shortcode-shell .vis-design-cyberpunk .vis-line-chart .line.income{stroke:#00e5ff}
.vis-standalone-shell .vis-design-cyberpunk .vis-line-chart .line.expense,
.vis-shortcode-shell .vis-design-cyberpunk .vis-line-chart .line.expense{stroke:#ff5470;animation-delay:.08s}
.vis-standalone-shell .vis-design-cyberpunk .vis-line-chart .line.due,
.vis-shortcode-shell .vis-design-cyberpunk .vis-line-chart .line.due{stroke:#f2c15b;animation-delay:.14s}
.vis-standalone-shell .vis-design-cyberpunk .vis-line-chart .dot,
.vis-shortcode-shell .vis-design-cyberpunk .vis-line-chart .dot{
  animation:visDotIn .22s ease both;
}
.vis-standalone-shell .vis-design-cyberpunk .vis-line-chart .dot.income,
.vis-shortcode-shell .vis-design-cyberpunk .vis-line-chart .dot.income{fill:#00e5ff}
.vis-standalone-shell .vis-design-cyberpunk .vis-line-chart .dot.expense,
.vis-shortcode-shell .vis-design-cyberpunk .vis-line-chart .dot.expense{fill:#ff5470}
.vis-standalone-shell .vis-design-cyberpunk .vis-line-chart .dot.due,
.vis-shortcode-shell .vis-design-cyberpunk .vis-line-chart .dot.due{fill:#f2c15b}
@keyframes visCyberFade{from{opacity:.001;transform:translateY(8px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}
@media (prefers-reduced-motion:reduce){
  .vis-standalone-shell .vis-design-cyberpunk *,
  .vis-shortcode-shell .vis-design-cyberpunk *{
    animation:none!important;
    transition:none!important;
  }
  .vis-standalone-shell .vis-design-cyberpunk .vis-line-chart .line,
  .vis-shortcode-shell .vis-design-cyberpunk .vis-line-chart .line{
    stroke-dasharray:none!important;
    stroke-dashoffset:0!important;
  }
}
@media(max-width:782px){
  .vis-standalone-shell .vis-design-cyberpunk,
  .vis-shortcode-shell .vis-design-cyberpunk{padding:14px;border-radius:16px}
}

/* 1.7.5: clear dashboard period controls */
.vis-dashboard-period-panel{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin:0 0 18px;
  padding:16px 18px!important;
  border-color:#eadfce!important;
  background:linear-gradient(135deg,#fffdf8,#ffffff)!important;
}
.vis-dashboard-period-panel h2{margin:0;font-size:18px!important;font-weight:850}
.vis-dashboard-period-panel .vis-card-subtitle{margin-top:3px!important}
.vis-dashboard-period-panel .vis-period-filter{justify-content:flex-end;gap:9px;align-items:end}
.vis-dashboard-period-panel .vis-period-filter label span{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#7a6b59}
.vis-dashboard-period-panel .vis-period-filter select,
.vis-dashboard-period-panel .vis-period-filter input{min-height:38px;border-radius:11px;border-color:#e4d7c5;background:#fffdf8;color:#111827;font-weight:700}
.vis-dashboard-period-panel .vis-period-filter > label:first-child select{min-width:190px}
.vis-period-filter .vis-period-field{display:none!important}
.vis-period-filter[data-period="year"] .vis-period-year,
.vis-period-filter[data-period="two_years"] .vis-period-year,
.vis-period-filter[data-period="custom"] .vis-period-custom{display:flex!important}
.vis-dashboard-period-panel .vis-secondary-btn{min-height:38px;background:#111!important;color:#fff!important;border-color:#111!important;box-shadow:0 8px 18px rgba(17,17,17,.10)!important}
.vis-dashboard-period-panel .vis-secondary-btn:hover{background:#2a2118!important;border-color:#2a2118!important}
.vis-stats{margin-top:0!important}
.vis-stat em{line-height:1.25!important}
.vis-chart-card .vis-card-head.compact{margin-bottom:10px!important}
@media(max-width:900px){
  .vis-dashboard-period-panel{align-items:flex-start;flex-direction:column;padding:14px!important}
  .vis-dashboard-period-panel .vis-period-filter{width:100%;justify-content:flex-start;display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .vis-dashboard-period-panel .vis-period-filter label,
  .vis-dashboard-period-panel .vis-period-filter select,
  .vis-dashboard-period-panel .vis-period-filter input{width:100%;min-width:0}
  .vis-dashboard-period-panel .vis-period-filter .vis-secondary-btn{grid-column:1/-1;width:100%}
}
@media(max-width:520px){
  .vis-dashboard-period-panel .vis-period-filter{grid-template-columns:1fr}
}


/* 1.7.6 Design 4 revised: ValovIT 2060 motion without changing the brand colors. */
.vis-standalone-shell .vis-design-cyberpunk,
.vis-shortcode-shell .vis-design-cyberpunk{
  --violet:#111111;
  --violet2:#c99945;
  --ink:#111827;
  --muted:#6f6b63;
  --line:#eadfce;
  --bg:#f7f3eb;
  --card:#fffdf8;
  color:#111827;
  position:relative;
  padding:22px;
  border-radius:22px;
  background:
    radial-gradient(circle at 12% 0%, rgba(201,153,69,.18), transparent 30%),
    radial-gradient(circle at 88% 6%, rgba(17,17,17,.06), transparent 28%),
    linear-gradient(135deg,#fbf7ef 0%,#fffdf8 48%,#f8efe1 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}
.vis-standalone-shell .vis-design-cyberpunk:before,
.vis-shortcode-shell .vis-design-cyberpunk:before{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  background:linear-gradient(120deg,transparent 0%,rgba(201,153,69,.14) 18%,transparent 36%);
  background-size:240% 240%;
  animation:visValovitSheen 8s linear infinite;
  opacity:.55;
}
.vis-standalone-shell .vis-design-cyberpunk .vis-topbar h1,
.vis-standalone-shell .vis-design-cyberpunk h1,
.vis-standalone-shell .vis-design-cyberpunk h2,
.vis-standalone-shell .vis-design-cyberpunk h3,
.vis-shortcode-shell .vis-design-cyberpunk .vis-topbar h1,
.vis-shortcode-shell .vis-design-cyberpunk h1,
.vis-shortcode-shell .vis-design-cyberpunk h2,
.vis-shortcode-shell .vis-design-cyberpunk h3{
  color:#111111;
  letter-spacing:-.035em;
  text-shadow:none;
}
.vis-standalone-shell .vis-design-cyberpunk .vis-topbar p,
.vis-shortcode-shell .vis-design-cyberpunk .vis-topbar p,
.vis-standalone-shell .vis-design-cyberpunk .vis-card-subtitle,
.vis-shortcode-shell .vis-design-cyberpunk .vis-card-subtitle{
  color:#6f6b63;
}
.vis-standalone-shell .vis-design-cyberpunk .vis-nav,
.vis-shortcode-shell .vis-design-cyberpunk .vis-nav{
  background:rgba(255,253,248,.86);
  border:1px solid rgba(201,153,69,.28);
  box-shadow:0 10px 30px rgba(20,15,8,.06), inset 0 1px 0 rgba(255,255,255,.8);
  backdrop-filter:blur(10px);
  position:relative;
  overflow:visible;
}
.vis-standalone-shell .vis-design-cyberpunk .vis-nav:after,
.vis-shortcode-shell .vis-design-cyberpunk .vis-nav:after{
  content:'';
  position:absolute;
  left:14px;
  right:14px;
  bottom:-1px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(201,153,69,.75),rgba(17,17,17,.30),transparent);
  background-size:220% 100%;
  animation:visGoldRail 4.8s ease-in-out infinite;
}
.vis-standalone-shell .vis-design-cyberpunk .vis-nav a,
.vis-standalone-shell .vis-design-cyberpunk .vis-tools-menu>summary,
.vis-shortcode-shell .vis-design-cyberpunk .vis-nav a,
.vis-shortcode-shell .vis-design-cyberpunk .vis-tools-menu>summary{
  color:#2d2a25;
  background:transparent;
  border:1px solid transparent;
  border-radius:12px;
  position:relative;
  overflow:hidden;
}
.vis-standalone-shell .vis-design-cyberpunk .vis-nav a:before,
.vis-standalone-shell .vis-design-cyberpunk .vis-tools-menu>summary:before,
.vis-shortcode-shell .vis-design-cyberpunk .vis-nav a:before,
.vis-shortcode-shell .vis-design-cyberpunk .vis-tools-menu>summary:before{
  content:'';
  position:absolute;
  inset:0;
  transform:translateX(-110%);
  background:linear-gradient(100deg,transparent,rgba(201,153,69,.16),transparent);
  transition:transform .45s ease;
}
.vis-standalone-shell .vis-design-cyberpunk .vis-nav a:hover:before,
.vis-standalone-shell .vis-design-cyberpunk .vis-tools-menu>summary:hover:before,
.vis-shortcode-shell .vis-design-cyberpunk .vis-nav a:hover:before,
.vis-shortcode-shell .vis-design-cyberpunk .vis-tools-menu>summary:hover:before{
  transform:translateX(110%);
}
.vis-standalone-shell .vis-design-cyberpunk .vis-nav a:hover,
.vis-standalone-shell .vis-design-cyberpunk .vis-tools-menu>summary:hover,
.vis-shortcode-shell .vis-design-cyberpunk .vis-nav a:hover,
.vis-shortcode-shell .vis-design-cyberpunk .vis-tools-menu>summary:hover{
  color:#111;
  background:rgba(201,153,69,.07);
  border-color:rgba(201,153,69,.25);
  transform:translateY(-1px);
}
.vis-standalone-shell .vis-design-cyberpunk .vis-nav a.active,
.vis-shortcode-shell .vis-design-cyberpunk .vis-nav a.active,
.vis-standalone-shell .vis-design-cyberpunk .vis-tools-menu>summary.active,
.vis-shortcode-shell .vis-design-cyberpunk .vis-tools-menu>summary.active{
  color:#fff;
  background:#111111;
  border-color:#111111;
  box-shadow:0 8px 20px rgba(17,17,17,.16), inset 0 -2px 0 rgba(201,153,69,.92);
}
.vis-standalone-shell .vis-design-cyberpunk .vis-card,
.vis-standalone-shell .vis-design-cyberpunk .vis-panel,
.vis-standalone-shell .vis-design-cyberpunk .vis-stat,
.vis-standalone-shell .vis-design-cyberpunk .vis-total-box,
.vis-shortcode-shell .vis-design-cyberpunk .vis-card,
.vis-shortcode-shell .vis-design-cyberpunk .vis-panel,
.vis-shortcode-shell .vis-design-cyberpunk .vis-stat,
.vis-shortcode-shell .vis-design-cyberpunk .vis-total-box{
  color:#111827;
  position:relative;
  overflow:hidden;
  border:1px solid transparent;
  background:
    linear-gradient(#fffdf8,#fffdf8) padding-box,
    linear-gradient(120deg,rgba(17,17,17,.16),rgba(201,153,69,.72),rgba(255,240,207,.82),rgba(17,17,17,.12)) border-box;
  background-size:100% 100%,260% 260%;
  animation:visGoldBorder 6s linear infinite,visCyberFade .34s ease both;
  box-shadow:0 12px 32px rgba(20,15,8,.06), inset 0 1px 0 rgba(255,255,255,.78);
}
.vis-standalone-shell .vis-design-cyberpunk .vis-card:after,
.vis-standalone-shell .vis-design-cyberpunk .vis-panel:after,
.vis-standalone-shell .vis-design-cyberpunk .vis-stat:after,
.vis-shortcode-shell .vis-design-cyberpunk .vis-card:after,
.vis-shortcode-shell .vis-design-cyberpunk .vis-panel:after,
.vis-shortcode-shell .vis-design-cyberpunk .vis-stat:after{
  content:'';
  position:absolute;
  left:-35%;
  top:0;
  width:32%;
  height:100%;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(201,153,69,.10),transparent);
  transform:skewX(-18deg) translateX(-120%);
}
.vis-standalone-shell .vis-design-cyberpunk .vis-card:hover:after,
.vis-standalone-shell .vis-design-cyberpunk .vis-panel:hover:after,
.vis-standalone-shell .vis-design-cyberpunk .vis-stat:hover:after,
.vis-shortcode-shell .vis-design-cyberpunk .vis-card:hover:after,
.vis-shortcode-shell .vis-design-cyberpunk .vis-panel:hover:after,
.vis-shortcode-shell .vis-design-cyberpunk .vis-stat:hover:after{
  animation:visCardSweep .85s ease forwards;
}
.vis-standalone-shell .vis-design-cyberpunk .vis-card:hover,
.vis-standalone-shell .vis-design-cyberpunk .vis-panel:hover,
.vis-standalone-shell .vis-design-cyberpunk .vis-stat:hover,
.vis-shortcode-shell .vis-design-cyberpunk .vis-card:hover,
.vis-shortcode-shell .vis-design-cyberpunk .vis-panel:hover,
.vis-shortcode-shell .vis-design-cyberpunk .vis-stat:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 42px rgba(20,15,8,.10),0 0 0 1px rgba(201,153,69,.15);
}
.vis-standalone-shell .vis-design-cyberpunk .vis-primary,
.vis-shortcode-shell .vis-design-cyberpunk .vis-primary,
.vis-standalone-shell .vis-design-cyberpunk .vis-submit,
.vis-shortcode-shell .vis-design-cyberpunk .vis-submit{
  color:#fff!important;
  background:linear-gradient(135deg,#111111,#2a2118 58%,#c99945)!important;
  border:0!important;
  box-shadow:0 12px 28px rgba(17,17,17,.16)!important;
  text-shadow:none!important;
  position:relative;
  overflow:hidden;
}
.vis-standalone-shell .vis-design-cyberpunk .vis-secondary-btn,
.vis-shortcode-shell .vis-design-cyberpunk .vis-secondary-btn{
  color:#111!important;
  background:#fffdf8;
  border-color:rgba(201,153,69,.30);
  box-shadow:0 6px 16px rgba(20,15,8,.04);
}
.vis-standalone-shell .vis-design-cyberpunk .vis-table th,
.vis-shortcode-shell .vis-design-cyberpunk .vis-table th{
  background:#fffaf1;
  color:#625541;
  border-color:#eadfce;
}
.vis-standalone-shell .vis-design-cyberpunk .vis-table td,
.vis-shortcode-shell .vis-design-cyberpunk .vis-table td{
  color:#283241;
  background:#fffdf8;
  border-color:#f0e5d6;
}
.vis-standalone-shell .vis-design-cyberpunk .vis-table tr:hover td,
.vis-shortcode-shell .vis-design-cyberpunk .vis-table tr:hover td{
  background:#fff7e8;
}
.vis-standalone-shell .vis-design-cyberpunk .vis-month-group td,
.vis-shortcode-shell .vis-design-cyberpunk .vis-month-group td{
  background:linear-gradient(90deg,#fff6e3,#fffdf8)!important;
}
.vis-standalone-shell .vis-design-cyberpunk .vis-month-group-inner span,
.vis-shortcode-shell .vis-design-cyberpunk .vis-month-group-inner span{
  background:#fffdf8;
  color:#312a21;
  border-color:#eadfce;
}
.vis-standalone-shell .vis-design-cyberpunk .vis-month-group-inner .vis-vat-payable,
.vis-shortcode-shell .vis-design-cyberpunk .vis-month-group-inner .vis-vat-payable{
  border-color:rgba(201,153,69,.55);
  color:#6b4810;
}
.vis-standalone-shell .vis-design-cyberpunk input,
.vis-standalone-shell .vis-design-cyberpunk select,
.vis-standalone-shell .vis-design-cyberpunk textarea,
.vis-shortcode-shell .vis-design-cyberpunk input,
.vis-shortcode-shell .vis-design-cyberpunk select,
.vis-shortcode-shell .vis-design-cyberpunk textarea{
  background:#fff!important;
  border-color:#e4d7c5!important;
  color:#111827!important;
}
.vis-standalone-shell .vis-design-cyberpunk input::placeholder,
.vis-shortcode-shell .vis-design-cyberpunk input::placeholder{
  color:#9a9388!important;
}
.vis-standalone-shell .vis-design-cyberpunk input:focus,
.vis-standalone-shell .vis-design-cyberpunk select:focus,
.vis-standalone-shell .vis-design-cyberpunk textarea:focus,
.vis-shortcode-shell .vis-design-cyberpunk input:focus,
.vis-shortcode-shell .vis-design-cyberpunk select:focus,
.vis-shortcode-shell .vis-design-cyberpunk textarea:focus{
  border-color:#c99945!important;
  box-shadow:0 0 0 3px rgba(201,153,69,.16)!important;
}
.vis-standalone-shell .vis-design-cyberpunk .vis-line-chart .grid,
.vis-shortcode-shell .vis-design-cyberpunk .vis-line-chart .grid{stroke:#efe3d3}
.vis-standalone-shell .vis-design-cyberpunk .vis-line-chart text,
.vis-shortcode-shell .vis-design-cyberpunk .vis-line-chart text{fill:#736857}
.vis-standalone-shell .vis-design-cyberpunk .vis-line-chart .line,
.vis-shortcode-shell .vis-design-cyberpunk .vis-line-chart .line{
  stroke-dasharray:900;
  stroke-dashoffset:900;
  animation:visLineDraw 1s cubic-bezier(.22,.61,.36,1) forwards;
  filter:none;
}
.vis-standalone-shell .vis-design-cyberpunk .vis-line-chart .line.income,
.vis-shortcode-shell .vis-design-cyberpunk .vis-line-chart .line.income{stroke:#111111}
.vis-standalone-shell .vis-design-cyberpunk .vis-line-chart .line.expense,
.vis-shortcode-shell .vis-design-cyberpunk .vis-line-chart .line.expense{stroke:#b56c36;animation-delay:.08s}
.vis-standalone-shell .vis-design-cyberpunk .vis-line-chart .line.due,
.vis-shortcode-shell .vis-design-cyberpunk .vis-line-chart .line.due{stroke:#c99945;animation-delay:.14s}
.vis-standalone-shell .vis-design-cyberpunk .vis-line-chart .dot,
.vis-shortcode-shell .vis-design-cyberpunk .vis-line-chart .dot{animation:visDotIn .22s ease both;stroke:#fffdf8;stroke-width:2px}
.vis-standalone-shell .vis-design-cyberpunk .vis-line-chart .dot.income,
.vis-shortcode-shell .vis-design-cyberpunk .vis-line-chart .dot.income{fill:#111111}
.vis-standalone-shell .vis-design-cyberpunk .vis-line-chart .dot.expense,
.vis-shortcode-shell .vis-design-cyberpunk .vis-line-chart .dot.expense{fill:#b56c36}
.vis-standalone-shell .vis-design-cyberpunk .vis-line-chart .dot.due,
.vis-shortcode-shell .vis-design-cyberpunk .vis-line-chart .dot.due{fill:#c99945}
@keyframes visGoldBorder{0%{background-position:0 0,0% 50%}100%{background-position:0 0,220% 50%}}
@keyframes visGoldRail{0%,100%{background-position:0% 50%;opacity:.45}50%{background-position:100% 50%;opacity:1}}
@keyframes visValovitSheen{0%{background-position:0% 50%}100%{background-position:240% 50%}}
@keyframes visCardSweep{from{transform:skewX(-18deg) translateX(-120%)}to{transform:skewX(-18deg) translateX(520%)}}
@media (prefers-reduced-motion:reduce){
  .vis-standalone-shell .vis-design-cyberpunk *,
  .vis-shortcode-shell .vis-design-cyberpunk *{animation:none!important;transition:none!important}
  .vis-standalone-shell .vis-design-cyberpunk .vis-line-chart .line,
  .vis-shortcode-shell .vis-design-cyberpunk .vis-line-chart .line{stroke-dasharray:none!important;stroke-dashoffset:0!important}
}

/* 1.7.7: document list period controls and dropdown stacking fixes */
.vis-dashboard-period-panel,
.vis-list-period-panel{position:relative;z-index:120;overflow:visible!important;}
.vis-list-period-panel{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 0 10px;padding:12px;background:rgba(255,255,255,.78);border:1px solid rgba(214,168,85,.32);border-radius:14px;box-shadow:0 10px 30px rgba(15,23,42,.04);}
.vis-list-period-panel h3{margin:0;font-size:14px;font-weight:900;letter-spacing:.01em;}
.vis-list-period-panel p{margin:3px 0 0;color:var(--muted);font-size:12px;}
.vis-list-period-panel .vis-period-filter{justify-content:flex-end;}
.vis-list-period-panel .vis-period-filter select{min-width:180px;}
.vis-search-bar,.vis-sort-summary,.vis-list-export-controls,.vis-table-wrap{position:relative;z-index:1;}
.vis-period-filter .vis-search-select{display:none!important;}
.vis-period-filter select.vis-native-select-hidden{position:static!important;width:auto!important;height:auto!important;opacity:1!important;pointer-events:auto!important;clip:auto!important;clip-path:none!important;}
@media(max-width:900px){.vis-list-period-panel{align-items:stretch;flex-direction:column}.vis-list-period-panel .vis-period-filter{justify-content:flex-start}.vis-list-period-panel .vis-period-filter label,.vis-list-period-panel .vis-period-filter select,.vis-list-period-panel .vis-period-filter input{width:100%;min-width:0}}

/* 1.7.8 navigation/tools z-index and layout cleanup */
.vis-app,
.vis-standalone-shell,
.vis-shortcode-shell{
  overflow:visible!important;
}
.vis-topbar{
  position:relative;
  z-index:3000;
  align-items:flex-start;
}
.vis-topbar .vis-top-actions{
  position:relative;
  z-index:3002;
  padding-top:2px;
}
.vis-nav{
  position:relative;
  z-index:2990;
  overflow:visible!important;
  isolation:isolate;
}
.vis-nav a,
.vis-tools-menu>summary{
  z-index:1;
}
.vis-tools-menu{
  position:relative!important;
  z-index:3050!important;
}
.vis-tools-menu[open]{
  z-index:12000!important;
}
.vis-tools-list{
  z-index:12001!important;
  top:calc(100% + 10px)!important;
  right:0!important;
  left:auto!important;
  min-width:210px!important;
  overflow:visible!important;
}
.vis-tools-list a{
  display:flex!important;
  align-items:center!important;
  min-height:34px!important;
  line-height:1.2!important;
}
.vis-tools-menu>summary:before,
.vis-nav a:before{
  z-index:-1;
}
.vis-tools-menu>summary:after{
  pointer-events:none;
}
.vis-card,
.vis-panel,
.vis-dashboard-period-panel,
.vis-list-period-panel,
.vis-search-bar,
.vis-sort-summary,
.vis-list-export-controls,
.vis-table-wrap{
  isolation:auto;
}
.vis-dashboard-period-panel,
.vis-list-period-panel{
  z-index:80!important;
}
.vis-search-select.is-open{
  z-index:20000!important;
}
.vis-search-select .vis-search-options{
  z-index:20001!important;
}

/* Keep Design 4 motion behind real controls, not above dropdowns/buttons. */
.vis-standalone-shell .vis-design-cyberpunk .vis-nav:after,
.vis-shortcode-shell .vis-design-cyberpunk .vis-nav:after{
  z-index:0;
  pointer-events:none;
}
.vis-standalone-shell .vis-design-cyberpunk .vis-nav a,
.vis-standalone-shell .vis-design-cyberpunk .vis-tools-menu>summary,
.vis-shortcode-shell .vis-design-cyberpunk .vis-nav a,
.vis-shortcode-shell .vis-design-cyberpunk .vis-tools-menu>summary{
  z-index:1;
}
.vis-standalone-shell .vis-design-cyberpunk .vis-tools-list,
.vis-shortcode-shell .vis-design-cyberpunk .vis-tools-list{
  z-index:12001!important;
  background:#fffdf8!important;
  border:1px solid rgba(201,153,69,.35)!important;
  box-shadow:0 18px 44px rgba(20,15,8,.16)!important;
}
.vis-standalone-shell .vis-design-cyberpunk .vis-tools-list a,
.vis-shortcode-shell .vis-design-cyberpunk .vis-tools-list a{
  background:transparent!important;
  color:#2d2a25!important;
}
.vis-standalone-shell .vis-design-cyberpunk .vis-tools-list a:hover,
.vis-shortcode-shell .vis-design-cyberpunk .vis-tools-list a:hover{
  background:#fff6e6!important;
  color:#111!important;
}

/* Better frontend spacing when actions are close to the browser edge. */
.vis-standalone-shell .vis-topbar,
.vis-shortcode-shell .vis-topbar{
  gap:20px;
}
.vis-standalone-shell .vis-topbar .vis-brand,
.vis-shortcode-shell .vis-topbar .vis-brand{
  min-width:260px;
}
.vis-standalone-shell .vis-topbar .vis-top-actions,
.vis-shortcode-shell .vis-topbar .vis-top-actions{
  margin-left:auto;
  flex-wrap:wrap;
}

@media(max-width:1100px){
  .vis-tools-list{
    left:0!important;
    right:auto!important;
  }
  .vis-topbar .vis-top-actions{
    margin-left:0;
  }
}
@media(max-width:720px){
  .vis-topbar .vis-top-actions,
  .vis-head-actions,
  .vis-actions{
    width:100%;
    justify-content:flex-start!important;
  }
  .vis-primary,
  .vis-secondary-btn{
    min-height:38px;
  }
  .vis-tools-list{
    min-width:220px!important;
  }
}

/* 1.7.9 recurring form balance + inline status controls */
.vis-recurring-form,
.vis-recurring-form .vis-recurring-editor,
.vis-card,
.vis-panel{
  overflow:visible!important;
}
.vis-recurring-editor{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:12px 14px!important;
  align-items:start!important;
}
.vis-recurring-editor>.vis-field{
  grid-column:span 3!important;
  margin-bottom:0!important;
  min-width:0!important;
}
.vis-recurring-editor>.vis-span-2{
  grid-column:span 6!important;
}
.vis-recurring-editor textarea{
  min-height:94px!important;
  resize:vertical;
}
.vis-recurring-editor input,
.vis-recurring-editor select,
.vis-recurring-editor textarea{
  width:100%!important;
  max-width:100%!important;
}
.vis-recurring-form .vis-primary{
  margin-top:12px!important;
}
.vis-recurring-table th,
.vis-recurring-table td{
  white-space:nowrap;
}
.vis-recurring-table td:nth-child(2),
.vis-recurring-table td:nth-child(3){
  white-space:normal;
}

.vis-quick-status{
  display:inline-flex;
  align-items:center;
  min-width:0;
  position:relative;
  z-index:2;
}
.vis-quick-status-select{
  appearance:none!important;
  -webkit-appearance:none!important;
  border:1px solid transparent!important;
  border-radius:999px!important;
  min-height:28px!important;
  height:28px!important;
  line-height:1!important;
  padding:0 27px 0 10px!important;
  width:auto!important;
  max-width:154px!important;
  font-size:11px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  cursor:pointer;
  background-repeat:no-repeat!important;
  background-position:right 9px center!important;
  background-size:9px 9px!important;
  background-image:url("data:image/svg+xml,%3Csvg width='10' height='7' viewBox='0 0 10 7' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L5 5.5L9 1.5' stroke='%23313a4b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  transition:border-color .18s ease, transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.vis-quick-status-select:hover{
  transform:translateY(-1px);
  box-shadow:0 6px 16px rgba(15,23,42,.08);
}
.vis-quick-status-select:focus{
  outline:0!important;
  box-shadow:0 0 0 3px rgba(201,153,69,.16)!important;
  border-color:rgba(201,153,69,.55)!important;
}
.vis-quick-status-select:disabled{
  opacity:.66;
  cursor:progress;
}
.vis-quick-status-select.status-draft{background-color:#fff1c9!important;color:#8a5a00!important;border-color:#f3d785!important;}
.vis-quick-status-select.status-sent{background-color:#e6f0ff!important;color:#1d4ed8!important;border-color:#bdd4ff!important;}
.vis-quick-status-select.status-due{background-color:#ffe4e0!important;color:#a93528!important;border-color:#ffc0b8!important;}
.vis-quick-status-select.status-paid{background-color:#dff8e8!important;color:#116338!important;border-color:#b7edc9!important;}
.vis-quick-status-select.status-cancelled{background-color:#e8ebef!important;color:#3e4857!important;border-color:#d5dbe4!important;}
.vis-quick-status-select.status-sent_costs{background-color:#e6f0ff!important;color:#1d4ed8!important;border-color:#bdd4ff!important;}

.vis-document-table th,
.vis-document-table td{
  vertical-align:middle!important;
}
.vis-document-table.vis-has-checks th:nth-child(6),
.vis-document-table.vis-has-checks td:nth-child(6),
.vis-document-table.vis-no-checks th:nth-child(5),
.vis-document-table.vis-no-checks td:nth-child(5){
  width:142px!important;
  min-width:142px!important;
  max-width:142px!important;
  text-align:left!important;
}
.vis-document-table.vis-has-checks th:nth-child(7),
.vis-document-table.vis-has-checks td:nth-child(7),
.vis-document-table.vis-no-checks th:nth-child(6),
.vis-document-table.vis-no-checks td:nth-child(6){
  width:116px!important;
  min-width:116px!important;
}
.vis-document-table td:last-child{
  width:255px!important;
  min-width:255px!important;
}
.vis-month-group td{
  position:relative;
  z-index:1;
}
.vis-month-group-inner{
  align-items:center!important;
}

@media(max-width:1200px){
  .vis-recurring-editor{grid-template-columns:repeat(6,minmax(0,1fr))!important;}
  .vis-recurring-editor>.vis-field{grid-column:span 3!important;}
  .vis-recurring-editor>.vis-span-2{grid-column:1/-1!important;}
}
@media(max-width:720px){
  .vis-recurring-editor{grid-template-columns:1fr!important;}
  .vis-recurring-editor>.vis-field,
  .vis-recurring-editor>.vis-span-2{grid-column:1/-1!important;}
  .vis-quick-status-select{max-width:150px!important;}
}

/* 1.8.0 dashboard icon settings + optional no-card-hover-motion */
.vis-stat-icon{
  font-size:13px;
  line-height:1;
  text-align:center;
  white-space:nowrap;
  letter-spacing:-.02em;
}
.vis-stat-icon:not(:empty){
  overflow:hidden;
  text-overflow:ellipsis;
}
.vis-stat-icon:has(+ strong){
  pointer-events:none;
}
.vis-standalone-shell .vis-design-cyberpunk.vis-no-card-sheen .vis-card:after,
.vis-standalone-shell .vis-design-cyberpunk.vis-no-card-sheen .vis-panel:after,
.vis-standalone-shell .vis-design-cyberpunk.vis-no-card-sheen .vis-stat:after,
.vis-shortcode-shell .vis-design-cyberpunk.vis-no-card-sheen .vis-card:after,
.vis-shortcode-shell .vis-design-cyberpunk.vis-no-card-sheen .vis-panel:after,
.vis-shortcode-shell .vis-design-cyberpunk.vis-no-card-sheen .vis-stat:after{
  display:none!important;
  animation:none!important;
}
.vis-standalone-shell .vis-design-cyberpunk.vis-no-card-sheen .vis-card:hover,
.vis-standalone-shell .vis-design-cyberpunk.vis-no-card-sheen .vis-panel:hover,
.vis-standalone-shell .vis-design-cyberpunk.vis-no-card-sheen .vis-stat:hover,
.vis-shortcode-shell .vis-design-cyberpunk.vis-no-card-sheen .vis-card:hover,
.vis-shortcode-shell .vis-design-cyberpunk.vis-no-card-sheen .vis-panel:hover,
.vis-shortcode-shell .vis-design-cyberpunk.vis-no-card-sheen .vis-stat:hover{
  transform:none!important;
  box-shadow:0 12px 32px rgba(20,15,8,.06), inset 0 1px 0 rgba(255,255,255,.78)!important;
}
.vis-standalone-shell .vis-design-cyberpunk.vis-no-card-sheen .vis-card,
.vis-standalone-shell .vis-design-cyberpunk.vis-no-card-sheen .vis-panel,
.vis-standalone-shell .vis-design-cyberpunk.vis-no-card-sheen .vis-stat,
.vis-shortcode-shell .vis-design-cyberpunk.vis-no-card-sheen .vis-card,
.vis-shortcode-shell .vis-design-cyberpunk.vis-no-card-sheen .vis-panel,
.vis-shortcode-shell .vis-design-cyberpunk.vis-no-card-sheen .vis-stat{
  transition:border-color .18s ease, box-shadow .18s ease!important;
}

/* 1.8.1 form polish + safer invoice number reuse */
.vis-app .vis-reverse-charge-field{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  padding:6px 0!important;
  margin-top:2px!important;
}
.vis-app .vis-reverse-charge-field .vis-check{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:0!important;
  line-height:1.35!important;
  white-space:nowrap!important;
}
.vis-app .vis-reverse-charge-field .vis-check input{
  width:16px!important;
  height:16px!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  flex:0 0 auto!important;
}
.vis-app .vis-reverse-charge-field .vis-check span{
  color:#172033!important;
  font-size:13px!important;
  font-weight:800!important;
  margin:0!important;
}
.vis-app .vis-reverse-charge-field small{
  display:inline-flex!important;
  align-items:center!important;
  min-height:18px!important;
  margin:0!important;
  color:#667085!important;
  font-size:12px!important;
  line-height:1.35!important;
}
.vis-app .vis-add-counterparty-btn{
  display:inline-flex!important;
  width:auto!important;
  margin:12px 0 0!important;
  padding:10px 14px!important;
  border:1px solid var(--line)!important;
  border-radius:10px!important;
  background:#fff!important;
  color:var(--violet)!important;
  box-shadow:0 8px 22px rgba(15,23,42,.04)!important;
  font-size:13px!important;
  line-height:1.2!important;
}
.vis-app .vis-add-counterparty-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 26px rgba(15,23,42,.08)!important;
}
.vis-design-cyberpunk .vis-add-counterparty-btn{
  color:#0f0b05!important;
  border-color:rgba(180,126,30,.26)!important;
  background:linear-gradient(135deg,rgba(255,255,255,.86),rgba(250,246,238,.92))!important;
}
.vis-design-cyberpunk .vis-reverse-charge-field .vis-check span{
  color:#0f0b05!important;
}
.vis-app .vis-invoice-grid .vis-panel{
  min-width:0!important;
}
.vis-app .vis-invoice-grid .vis-two{
  align-items:start!important;
}
@media(max-width:780px){
  .vis-app .vis-reverse-charge-field{align-items:flex-start!important;gap:6px!important;}
  .vis-app .vis-reverse-charge-field .vis-check{white-space:normal!important;}
  .vis-app .vis-reverse-charge-field small{display:block!important;flex-basis:100%!important;padding-left:24px!important;}
}

/* 1.8.3 Nexus import planning month controls */
.vis-app .vis-nexus-target-month{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin:2px 0 14px;
  padding:14px;
  border:1px solid rgba(180,126,30,.22);
  border-radius:14px;
  background:linear-gradient(135deg,rgba(255,255,255,.74),rgba(250,246,238,.78));
}
.vis-app .vis-nexus-target-month .vis-field{margin:0;}
.vis-app .vis-nexus-target-month input[type="month"],
.vis-app .vis-nexus-target-month input[type="date"]{
  width:100%;
}
@media(max-width:760px){
  .vis-app .vis-nexus-target-month{grid-template-columns:1fr;}
}

/* 1.8.5 resizable invoice/planning columns */
.vis-col-resize-help{
  padding:10px 12px;
  border-bottom:1px solid var(--line,#dfe7f2);
  background:rgba(248,250,252,.72);
  color:var(--muted,#667085);
  font-size:12px;
  line-height:1.35;
}
.vis-density-compact .vis-col-resize-help{padding:7px 10px;font-size:11.5px}
.vis-col-resizable{
  table-layout:fixed;
  width:100%;
  min-width:1040px;
}
.vis-col-resizable th{
  position:relative;
  user-select:none;
}
.vis-col-resizable th .vis-col-resizer{
  position:absolute;
  top:0;
  right:-4px;
  width:8px;
  height:100%;
  cursor:col-resize;
  z-index:12;
  touch-action:none;
}
.vis-col-resizable th .vis-col-resizer:after{
  content:"";
  position:absolute;
  top:22%;
  bottom:22%;
  left:3px;
  width:1px;
  border-radius:999px;
  background:rgba(148,163,184,.6);
  opacity:.45;
  transition:opacity .16s ease, background .16s ease, box-shadow .16s ease;
}
.vis-col-resizable th .vis-col-resizer:hover:after,
.vis-col-resizable th.is-resizing .vis-col-resizer:after{
  opacity:1;
  background:var(--violet,#4f46ff);
  box-shadow:0 0 0 3px rgba(79,70,255,.12);
}
.vis-col-resizable.is-column-resizing,
.vis-col-resizable.is-column-resizing *{
  cursor:col-resize!important;
}
.vis-plan-lines .vis-plan-line-desc,
.vis-lines .vis-line-desc{
  min-width:0;
  line-height:1.35;
}
.vis-plan-lines td:nth-child(3),
.vis-lines td:nth-child(3),
.vis-plan-lines th:nth-child(3),
.vis-lines th:nth-child(3){
  white-space:nowrap;
}
.vis-plan-lines td:nth-child(8),
.vis-lines td:nth-child(8){
  text-align:center;
}
@media(max-width:1100px){
  .vis-col-resizable{min-width:980px}
}

/* Client categories */
.vis-client-filterbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px;padding:10px;background:#f8fbff;border:1px solid #edf2f7;border-radius:10px}.vis-client-filterbar input[type=search]{min-width:240px;flex:1 1 280px}.vis-client-filterbar input,.vis-client-filterbar select{min-height:36px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:6px 10px;box-shadow:none}.vis-client-filter-clear{font-size:12px;font-weight:800;text-decoration:none;color:#667085;padding:7px 4px}.vis-client-category-badges{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:7px}.vis-table .vis-client-category-badges{margin-top:0}.vis-client-category{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:#f3f0ff;border:1px solid #ddd6fe;color:#5b21b6;font-size:11px;font-weight:800;white-space:nowrap}.vis-muted-dash{color:#98a2b3}.vis-client-category-manager{margin:0 0 14px;padding:14px;border:1px solid #e5ddc9;border-radius:12px;background:#fffdf8}.vis-client-category-manager-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}.vis-client-category-manager-head h3{margin:0}.vis-client-category-manager-head>a{font-weight:800;text-decoration:none}.vis-client-category-add{display:flex;gap:8px;align-items:center;margin-bottom:10px}.vis-client-category-add input{flex:1;min-height:36px;border:1px solid var(--line);border-radius:8px;padding:6px 10px}.vis-client-category-list{display:grid;gap:7px}.vis-client-category-row form{display:grid;grid-template-columns:minmax(180px,1fr) auto auto auto;align-items:center;gap:8px}.vis-client-category-row input[type=text]{min-height:34px;border:1px solid var(--line);border-radius:8px;padding:6px 9px}.vis-client-category-row span{color:#667085;font-size:12px;white-space:nowrap}.vis-category-delete{color:#b42318;text-decoration:none;font-size:12px;font-weight:800}.vis-client-category-picker{display:flex;gap:7px;flex-wrap:wrap;padding:10px;border:1px solid #e4e7ec;border-radius:10px;background:#fbfcfe}.vis-client-category-picker label{display:inline-flex;align-items:center;gap:5px;margin:0!important;padding:6px 9px;border:1px solid #e4e7ec;border-radius:999px;background:#fff;font-size:12px!important;cursor:pointer}.vis-client-category-picker input{width:auto!important;min-height:auto!important;margin:0}.vis-category-picker-empty{color:#98a2b3;font-size:12px}.vis-category-quick-add{margin-top:8px}.vis-clients-table td:nth-child(3){min-width:150px}.vis-client-hero>.vis-client-category-badges{margin-top:10px}
@media(max-width:900px){.vis-client-category-row form{grid-template-columns:1fr auto}.vis-client-category-row span{grid-column:1/-1}.vis-client-category-add{align-items:stretch;flex-direction:column}.vis-client-filterbar>*{width:100%!important;min-width:0!important}}
.vis-client-hero .vis-client-category-badges{margin-top:10px}


/* 1.9.4 resizable columns on all data-list tabs */
.vis-table.vis-col-resizable{
  table-layout:fixed;
  width:100%;
  min-width:100%;
}
.vis-column-controls{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  min-height:31px;
  padding:5px 8px 6px;
  color:var(--muted,#667085);
  font-size:11.5px;
  background:#fff;
  border-bottom:1px solid var(--line,#dfe7f2);
}
.vis-column-controls span{margin-right:auto}
.vis-column-reset{
  appearance:none;
  border:1px solid var(--line,#dfe7f2);
  background:#f8fbff;
  color:#475467;
  border-radius:7px;
  padding:5px 8px;
  font:inherit;
  font-weight:800;
  line-height:1.15;
  cursor:pointer;
}
.vis-column-reset:hover{background:#eef4ff;color:#172033}
.vis-table.vis-col-resizable th,
.vis-table.vis-col-resizable td{
  overflow:hidden;
  text-overflow:ellipsis;
}
.vis-table.vis-col-resizable td:last-child{
  overflow:visible;
  text-overflow:clip;
}
html.vis-column-resizing-active,
html.vis-column-resizing-active *{
  cursor:col-resize!important;
  user-select:none!important;
}
@media(max-width:782px){
  .vis-column-controls{justify-content:space-between}
  .vis-column-controls span{display:none}
  .vis-table.vis-col-resizable{min-width:760px}
}

/* 1.9.5 client document language + agreement/protection checklist */
.vis-client-language{
  display:inline-flex;align-items:center;justify-content:center;min-width:34px;padding:4px 8px;
  border-radius:999px;background:#eef4ff;border:1px solid #d6e4ff;color:#2447a8;font-size:11px;font-weight:900;letter-spacing:.05em
}
.vis-client-doc-progress{
  display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:900;white-space:nowrap;border:1px solid transparent
}
.vis-client-doc-progress.is-complete{background:#ecfdf3;border-color:#abefc6;color:#067647}
.vis-client-doc-progress.is-missing{background:#fff6ed;border-color:#fedf89;color:#b54708}
.vis-client-compliance-card{margin-top:16px}
.vis-compliance-score{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:120px}
.vis-compliance-score strong{font-size:22px;line-height:1;color:#111827}.vis-compliance-score span{font-size:11px;color:#667085;font-weight:700}
.vis-compliance-progress{height:7px;border-radius:999px;background:#eef2f6;overflow:hidden;margin:0 0 14px}
.vis-compliance-progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#111827,#b58a2a)}
.vis-compliance-list{display:grid;gap:9px}
.vis-compliance-item{display:grid;grid-template-columns:38px minmax(0,1fr) minmax(190px,280px);gap:12px;align-items:start;padding:12px;border:1px solid #e8e0cf;border-radius:12px;background:#fffdf9;transition:.16s ease}
.vis-compliance-item.is-complete{background:#fbfffc;border-color:#ccebd6}
.vis-compliance-check{display:flex;align-items:flex-start;justify-content:center;padding-top:3px;margin:0!important;cursor:pointer}
.vis-compliance-check input{position:absolute;opacity:0;pointer-events:none}
.vis-compliance-check span{width:22px;height:22px;border-radius:6px;border:2px solid #c8c1b4;background:#fff;position:relative;display:block}
.vis-compliance-check input:checked+span{background:#111827;border-color:#111827}
.vis-compliance-check input:checked+span:after{content:"";position:absolute;left:6px;top:2px;width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.vis-compliance-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.vis-compliance-title strong{font-size:13px;color:#111827}
.vis-compliance-main p{margin:5px 0 8px;color:#667085;font-size:12px;line-height:1.45}
.vis-compliance-importance{display:inline-flex;padding:3px 7px;border-radius:999px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.vis-compliance-importance.is-required{background:#fef3f2;color:#b42318}.vis-compliance-importance.is-conditional{background:#fff6ed;color:#b54708}.vis-compliance-importance.is-recommended{background:#eef4ff;color:#3538cd}
.vis-compliance-file-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.vis-compliance-file{font-size:11px;font-weight:800;text-decoration:none}
.vis-compliance-upload{position:relative;display:inline-flex!important;align-items:center;padding:5px 8px!important;border:1px solid #d0d5dd;border-radius:7px;background:#fff;color:#344054;font-size:11px!important;font-weight:800!important;cursor:pointer;overflow:hidden;margin:0!important}
.vis-compliance-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}
.vis-compliance-notes textarea{width:100%;min-height:64px;resize:vertical;font-size:11.5px;line-height:1.35;border:1px solid #e0d8ca;border-radius:8px;background:#fff;padding:7px 8px}
.vis-compliance-add{display:grid;grid-template-columns:minmax(260px,1fr) minmax(220px,1fr) 150px;gap:10px;align-items:center;margin-top:12px;padding:12px;border:1px dashed #d4c6a8;border-radius:12px;background:#fffaf0}
.vis-compliance-add>div{display:flex;flex-direction:column;gap:2px}.vis-compliance-add>div strong{font-size:12px}.vis-compliance-add>div span{font-size:11px;color:#667085}.vis-compliance-add input,.vis-compliance-add select{min-height:36px;border:1px solid #d0d5dd;border-radius:8px;background:#fff;padding:6px 9px}
.vis-client-compliance-card>.vis-actions{margin-top:12px}
@media(max-width:1000px){.vis-compliance-item{grid-template-columns:34px 1fr}.vis-compliance-notes{grid-column:2}.vis-compliance-add{grid-template-columns:1fr}.vis-compliance-score{align-items:flex-start}}
.vis-compliance-remove{display:flex!important;align-items:center;gap:6px;margin:6px 0 0!important;color:#b42318;font-size:10.5px!important;font-weight:800!important}.vis-compliance-remove input{width:auto!important;min-height:auto!important;margin:0}


/* 1.9.6 collapsible client agreement/protection checklist */
details.vis-client-compliance-card{
  padding:0!important;
  overflow:hidden;
}
.vis-client-compliance-summary{
  display:block;
  position:relative;
  list-style:none;
  cursor:pointer;
  padding:20px;
  user-select:none;
  outline:none;
}
.vis-density-compact .vis-client-compliance-summary{
  padding:14px;
}
.vis-client-compliance-summary::-webkit-details-marker{
  display:none;
}
.vis-client-compliance-summary::marker{
  display:none;
  content:"";
}
.vis-client-compliance-summary-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.vis-client-compliance-summary-copy{
  display:flex;
  flex-direction:column;
  min-width:0;
}
.vis-client-compliance-heading{
  display:block;
  color:#020617;
  font-size:20px;
  line-height:1.2;
  font-weight:900;
}
.vis-density-compact .vis-client-compliance-heading{
  font-size:18px;
}
.vis-client-compliance-summary .vis-card-subtitle{
  display:block;
  margin-top:5px;
}
.vis-client-compliance-summary .vis-compliance-progress{
  display:block;
  margin:12px 0 0;
}
.vis-compliance-summary-toggle{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  margin-top:9px;
  color:#667085;
  font-size:11px;
  font-weight:800;
}
.vis-compliance-toggle-open{
  display:none;
}
.vis-compliance-chevron{
  width:8px;
  height:8px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
  transform-origin:center;
  transition:transform .16s ease;
}
details.vis-client-compliance-card[open] .vis-compliance-toggle-closed{
  display:none;
}
details.vis-client-compliance-card[open] .vis-compliance-toggle-open{
  display:inline;
}
details.vis-client-compliance-card[open] .vis-compliance-chevron{
  transform:rotate(225deg) translate(-1px,-1px);
}
.vis-client-compliance-body{
  border-top:1px solid #e8e0cf;
  padding:14px 20px 20px;
}
.vis-density-compact .vis-client-compliance-body{
  padding:10px 14px 14px;
}
details.vis-client-compliance-card[open] .vis-client-compliance-summary{
  background:#fffdf9;
}
.vis-client-compliance-summary:focus-visible{
  box-shadow:inset 0 0 0 3px rgba(181,138,42,.20);
}
@media(max-width:782px){
  .vis-client-compliance-summary-row{
    flex-direction:column;
    gap:10px;
  }
  .vis-client-compliance-summary .vis-compliance-score{
    align-items:flex-start;
    min-width:0;
  }
  .vis-compliance-summary-toggle{
    justify-content:flex-start;
  }
}
