﻿/* Snap ERP v3.1 — final commercial polish, accessibility and performance. */
html{scrollbar-gutter:stable}body{overflow-x:hidden}.content{isolation:isolate}.card,.report-card,.table-wrap{content-visibility:auto;contain-intrinsic-size:1px 260px}.panel,.invoice-workspace .panel,.invoice-studio-v3>.invoice-summary,.invoice-party-card-v3,.invoice-lines-v3,.lookup-dialog,.command-dialog,.confirm-card{content-visibility:visible!important;contain:none!important}
::placeholder{color:#a3afbf;opacity:1}.btn:active,.icon-btn:active{transform:translateY(0) scale(.985)}.btn[disabled],button[disabled]{cursor:not-allowed;opacity:.58;transform:none!important;box-shadow:none!important}.field-validation,.field-validation-error{min-height:13px;color:#b91c1c;font-size:8px}.input-validation-error{border-color:#fca5a5!important;background:#fffafa!important;box-shadow:0 0 0 3px rgba(220,38,38,.07)!important}.validation-summary-errors,.validation:not(:empty){padding:10px 12px;border:1px solid #fecaca;border-radius:11px;background:#fff7f7;color:#991b1b;font-size:9px}.validation-summary-errors ul{margin:0;padding-right:16px}
[data-premium-heading="1"]{scroll-margin-top:90px}.ui-surface{transition:border-color .15s ease,box-shadow .15s ease}.ui-surface:hover{border-color:#d3dce8}.table-wrap table tbody tr:focus-within{background:#f8fbff}.table-wrap th{position:sticky;z-index:2;top:0}.table-toolbar{position:sticky;z-index:3;top:0}.table-density button[aria-pressed="true"]{border-color:#cce7d8;background:#f0f8f3;color:#09603d}.status-chip,.badge,.pill{font-variant-numeric:tabular-nums}.money,[data-money],.amount-col{font-variant-numeric:tabular-nums}
.loading-skeleton{position:relative;overflow:hidden;background:#eef2f7!important;color:transparent!important}.loading-skeleton::after{content:"";position:absolute;inset:0;transform:translateX(100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);animation:skeleton 1.25s infinite}@keyframes skeleton{to{transform:translateX(-100%)}}
.page-enter{animation:page-enter .18s ease both}@keyframes page-enter{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.page-enter,.loading-skeleton::after,.toast-progress,.ui-submit-loading::before{animation:none!important}.btn,.ui-surface,.report-card{transition:none!important}}
@media(forced-colors:active){.btn,.panel,.card,.table-wrap,input,select,textarea,.lookup-dialog,.command-dialog{border:1px solid CanvasText!important}.status-chip,.badge,.pill{border:1px solid CanvasText!important}}
@media(max-width:760px){input,select,textarea,.smart-lookup-button{font-size:16px!important}/* prevent iOS zoom */.content{padding-bottom:calc(86px + env(safe-area-inset-bottom))!important}.panel,.table-wrap,.card{box-shadow:0 5px 16px rgba(15,23,42,.045)}.page-heading{scroll-margin-top:72px}.topbar-start .user-box span{display:none}}
@media print{.command-launcher,.command-palette,.mobile-bottom-nav,.offline-ribbon,.pwa-update-banner,.toast-host{display:none!important}}
.system-state-shell{width:min(620px,100%);margin:clamp(26px,8vh,90px) auto;padding:30px;border:1px solid #e0e7f0;border-radius:22px;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 22px 60px rgba(15,23,42,.09);text-align:center}.system-state-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 13px;border-radius:18px;background:#fff1f2;color:#be123c;font-size:25px;font-weight:950;box-shadow:inset 0 0 0 1px #fecdd3}.system-state-shell h1{margin:0 0 7px;font-size:25px}.system-state-shell p{max-width:500px;margin:0 auto 19px;color:#64748b;font-size:10.5px;line-height:1.8}.system-state-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}@media(max-width:480px){.system-state-shell{padding:22px 16px;border-radius:18px}.system-state-actions{display:grid}.system-state-actions .btn{width:100%}}

/* v3.2 server paging */
.erp-pager{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:14px;margin:18px 0 4px;padding:12px 14px;background:var(--surface,#fff);border:1px solid var(--line,#e4e8ef);border-radius:14px;box-shadow:var(--shadow-sm,0 4px 18px rgba(20,30,55,.05))}.erp-pager-summary{font-size:12px;color:var(--muted,#6b7280)}.erp-pager-pages{display:flex;align-items:center;gap:5px;direction:ltr}.pager-btn{min-width:34px;height:34px;padding:0 9px;display:inline-grid;place-items:center;border:1px solid var(--line,#e4e8ef);border-radius:9px;background:#fff;color:var(--text,#182033);text-decoration:none;font-size:12px;font-weight:700}.pager-btn:hover{border-color:var(--primary,#15915e);transform:translateY(-1px)}.pager-btn.active{background:var(--primary,#15915e);border-color:var(--primary,#15915e);color:#fff}.pager-btn.disabled{opacity:.4;pointer-events:none}.pager-ellipsis{padding:0 3px;color:var(--muted,#6b7280)}.erp-page-size{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted,#6b7280)}.erp-page-size select{border:1px solid var(--line,#e4e8ef);border-radius:9px;background:#fff;padding:7px 9px}.client-pager{margin-top:12px}.client-pager[hidden]{display:none!important}@media(max-width:820px){.erp-pager{grid-template-columns:1fr;justify-items:center}.erp-pager-summary{order:2}.erp-pager-pages{order:1;max-width:100%;overflow:auto;padding-bottom:2px}.erp-page-size{order:3}}
