:root{--font-display:"Outfit", system-ui, sans-serif;--font-body:"Plus Jakarta Sans", system-ui, sans-serif;--bg:#f3f6f8;--bg-elevated:#ffffffd1;--surface:#fff;--surface-2:#f8fafb;--border:#0f172a14;--border-strong:#0f172a24;--text:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--teal-500:#0f766e;--teal-600:#0d9488;--teal-100:#ccfbf1;--teal-50:#f0fdfa;--coral-500:#e11d48;--coral-600:#f43f5e;--coral-100:#ffe4e6;--coral-50:#fff1f2;--amber-500:#ea580c;--blue-500:#0284c7;--slate-800:#1e293b;--shadow-sm:0 1px 2px #0f172a0a;--shadow-md:0 8px 24px #0f172a0f;--shadow-lg:0 18px 40px #0f172a1a;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--control-h:42px;--btn-h:42px;--transition:.18s cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{min-height:100vh;font-family:var(--font-body);color:var(--text);background:radial-gradient(1200px 600px at 10% -10%, #0d94881f, transparent 55%), radial-gradient(900px 500px at 95% 0%, #ea580c14, transparent 50%), linear-gradient(180deg, #eef3f6 0%, var(--bg) 40%, #eef2f5 100%);background-attachment:fixed;margin:0;line-height:1.5;overflow-x:hidden}#root{max-width:100%;min-height:100vh;overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%}.app-frame{min-height:100vh}.app-shell{max-width:1280px;margin:0 auto;padding:1.25rem 1rem 5.5rem}@media (width>=768px){.app-shell{padding:1.75rem 1.5rem 3rem}}.app-main{min-height:50vh}.page{animation:.32s cubic-bezier(.22,1,.36,1) rise-in}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.page-title{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:clamp(1.25rem,2.4vw,1.55rem);font-weight:700}.page-subtitle{color:var(--text-secondary);margin:.25rem 0 0;font-size:.875rem}.brand-link{text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.app-sidebar{display:none}.mobile-header{display:flex}.mobile-nav{z-index:40;padding:.4rem .35rem calc(.4rem + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--border);background:#fffffff0;grid-template-columns:repeat(5,1fr);gap:0;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #0f172a0f}.mobile-nav-link{min-height:52px;color:var(--text-muted);transition:all var(--transition);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;padding:.35rem .25rem;font-size:.65rem;font-weight:650;text-decoration:none;display:flex}.mobile-nav-link.active{color:var(--teal-500);background:var(--teal-50)}@media (width>=1024px){.app-frame{min-height:100vh;display:block}.app-sidebar{overscroll-behavior:contain;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-right:1px solid var(--border);z-index:30;background:#ffffffeb;flex-direction:column;width:248px;height:100vh;max-height:100vh;padding:1.25rem .9rem;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;box-shadow:4px 0 24px #0f172a08}.sidebar-brand{border-bottom:1px solid var(--border);align-items:center;gap:.75rem;width:100%;margin-bottom:.35rem;padding:.35rem .55rem 1.1rem;display:flex}.sidebar-brand .brand-title{font-size:1.2rem!important}.sidebar-brand .brand-subtitle{font-size:.75rem}.sidebar-nav{flex-direction:column;flex:1;gap:.25rem;padding:.75rem .25rem;display:flex;overflow-y:auto}.sidebar-section-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .45rem .55rem;font-size:.68rem;font-weight:700}.sidebar-link{min-height:42px;color:var(--text-secondary);transition:all var(--transition);border-radius:12px;align-items:center;gap:.65rem;padding:.55rem .75rem;font-size:.875rem;font-weight:600;text-decoration:none;display:flex}.sidebar-link:hover{color:var(--text);background:#0f172a0a}.sidebar-link.active{color:var(--teal-500);background:linear-gradient(145deg,#0f766e1f,#0d948814);box-shadow:inset 0 0 0 1px #0f766e1f}.sidebar-footer{border-top:1px solid var(--border);padding:.85rem .75rem .35rem}.sidebar-footer p{color:var(--text-muted);margin:0;font-size:.72rem;line-height:1.4}.app-shell{width:auto;max-width:none;min-height:100vh;margin:0 0 0 248px;padding:1.75rem 1.75rem 2rem}.mobile-header,.mobile-nav{display:none!important}}@media (width>=1400px){.app-sidebar{width:268px}.app-shell{margin-left:268px;padding:2rem 2.25rem 2.5rem}}a.btn{text-decoration:none}.form-page{padding:1.1rem}@media (width>=768px){.form-page{padding:1.35rem}}.form-type-banner{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;align-items:center;gap:.75rem;margin-bottom:1.1rem;padding:.75rem .9rem;display:flex}.form-type-banner p{color:var(--text-secondary);margin:0;font-size:.875rem}.form-actions{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:1.25rem;padding-top:1rem;display:flex}.details-page{max-width:720px}.view-hint{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:.2rem 0 0;font-size:.72rem;font-weight:600}.view-hint-desktop{display:none}@media (width>=900px){.view-hint-mobile{display:none}.view-hint-desktop{display:inline}}.app-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.brand-block{align-items:center;gap:.85rem;display:flex}.brand-mark{background:linear-gradient(145deg, var(--teal-500), #115e59);color:#ecfdf5;border-radius:14px;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 10px 24px #0f766e47}.brand-title{font-family:var(--font-display);letter-spacing:-.03em;color:var(--text);margin:0;font-size:clamp(1.35rem,2.5vw,1.75rem);font-weight:700}.brand-subtitle{color:var(--text-secondary);margin:.15rem 0 0;font-size:.875rem}.header-actions{flex-shrink:0;gap:.5rem;display:flex}.btn{height:var(--btn-h);transition:transform var(--transition), background var(--transition), box-shadow var(--transition), border-color var(--transition), color var(--transition);white-space:nowrap;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:.4rem;padding:0 1rem;font-size:.875rem;font-weight:600;display:inline-flex}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(145deg, var(--teal-600), var(--teal-500));color:#fff;box-shadow:0 8px 18px #0f766e38}.btn-primary:hover:not(:disabled){box-shadow:0 10px 22px #0f766e4d}.btn-secondary{background:var(--surface);border-color:var(--border-strong);color:var(--text);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background:var(--surface-2)}.btn-danger{color:#fff;background:linear-gradient(145deg,#e11d48,#be123c);box-shadow:0 8px 18px #e11d4838}.btn-ghost{color:var(--text-secondary);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){color:var(--text);background:#0f172a0a}.btn-icon{width:var(--btn-h);padding:0}.btn-sm{height:36px;padding:0 .75rem;font-size:.8125rem}.btn-xs{border-radius:8px;height:30px;padding:0 .55rem;font-size:.75rem}.btn-icon.btn-xs{width:30px;padding:0}.control-sm{border-radius:10px;height:36px;font-size:.8125rem}.panel-tight{padding:.75rem!important}.page-header-sm,.app-header-sm{margin-bottom:.85rem}.brand-mark-sm{border-radius:11px;width:36px;height:36px}.brand-title{font-size:clamp(1.15rem,2.2vw,1.4rem)!important}.list-header-sm{margin-bottom:.55rem}.list-header-sm h2{font-size:.95rem}.filters-compact{margin-bottom:.75rem;gap:.55rem!important;padding:.65rem!important}.filters-compact .control{height:36px}.filter-search-wrap{width:100%;position:relative}.filter-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.filter-search-wrap .control{width:100%;padding-left:2rem}.filters-mobile-bar{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.filters-mobile-bar .filter-search-wrap{flex:1;min-width:0}.filter-sheet-trigger{flex-shrink:0;position:relative}.filter-sheet-trigger.has-filters{color:var(--teal-500);border-color:#0f766e59}.filter-count{background:var(--teal-500);color:#fff;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.68rem;font-weight:700;line-height:1;display:inline-grid}.filters-desktop{display:none}@media (width>=900px){.filters-mobile-bar{display:none}.filters-desktop{display:flex}}.filter-sheet-overlay{z-index:70;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a73;animation:.16s fade-in;position:fixed;inset:0}.filter-sheet{z-index:80;background:var(--surface);max-height:min(88vh,720px);padding-bottom:env(safe-area-inset-bottom);border-radius:22px 22px 0 0;flex-direction:column;animation:.26s cubic-bezier(.22,1,.36,1) sheet-up;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -12px 40px #0f172a2e}.filter-sheet-handle{background:#d1d9e0;border-radius:999px;flex-shrink:0;width:40px;height:4px;margin:.55rem auto 0}.filter-sheet-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem 1rem .55rem;display:flex}.filter-sheet-header h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.05rem}.filter-sheet-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;flex:auto;align-content:start;gap:.85rem;min-height:0;padding:.9rem 1rem;display:grid;overflow:hidden auto}.filter-sheet-body .filter-row{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.filter-sheet-body .type-pills{width:100%;display:flex}.filter-sheet-body .type-pill{flex:1}.filter-sheet-footer{border-top:1px solid var(--border);background:var(--surface-2);flex-shrink:0;grid-template-columns:1fr 1.4fr;gap:.5rem;padding:.75rem 1rem 1rem;display:grid}.sheet-dropdown{position:relative}.sheet-dropdown-trigger{text-align:left;cursor:pointer;background:var(--surface);justify-content:space-between;align-items:center;gap:.5rem;width:100%;display:flex!important}.sheet-dropdown-trigger .truncate{flex:1;min-width:0}.sheet-dropdown-chevron{color:var(--text-muted);transition:transform var(--transition);flex-shrink:0}.sheet-dropdown-chevron.up{transform:rotate(180deg)}.sheet-dropdown.is-open .sheet-dropdown-trigger{border-color:var(--teal-600);box-shadow:0 0 0 3px #0d948826}.sheet-dropdown-menu{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;border:1px solid var(--border-strong);background:var(--surface);max-height:200px;box-shadow:var(--shadow-md);border-radius:12px;margin-top:.35rem;overflow:hidden auto}.sheet-option{border:0;border-bottom:1px solid var(--border);width:100%;min-height:42px;color:var(--text);text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem .75rem;font-size:.875rem;font-weight:500;display:flex}.sheet-option:last-child{border-bottom:0}.sheet-option:active,.sheet-option:hover{background:#0f172a08}.sheet-option.selected{background:var(--teal-50);color:var(--teal-500);font-weight:650}.sheet-option .truncate{flex:1;min-width:0}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (width>=900px){.filter-sheet-overlay,.filter-sheet{display:none!important}}.type-pill{height:32px!important;padding:0 .7rem!important;font-size:.75rem!important}.tx-cards{gap:.5rem;width:100%;min-width:0;max-width:100%;display:grid}.tx-card-compact{box-sizing:border-box;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.35rem .4rem;width:100%;min-width:0;max-width:100%;display:grid;overflow:hidden;border-radius:12px!important;padding:.55rem .6rem!important}.tx-card-main{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.45rem;min-width:0;max-width:100%;display:grid}.tx-card-left{align-items:center;gap:.4rem;min-width:0;display:flex;overflow:hidden}.tx-card-left .badge{flex-shrink:0}.tx-card-info{flex-direction:column;flex:1;gap:.08rem;min-width:0;display:flex;overflow:hidden}.tx-card-title,.tx-card-sub{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;display:block;overflow:hidden}.tx-card-title{color:var(--text);font-size:.82rem;font-weight:650}.tx-card-customer-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;color:var(--text);letter-spacing:-.01em;font-size:.9rem;font-weight:700;display:block;overflow:hidden}.tx-card-title-line{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;color:var(--text-secondary);font-size:.75rem;font-weight:600;display:block;overflow:hidden}.tx-card-dot{color:var(--text-muted);margin:0 .25rem}.details-customer{color:var(--text);margin:-.35rem 0 .75rem;font-size:.95rem;font-weight:650}.share-actions{flex-wrap:wrap}.login-page{place-items:center;min-height:100vh;padding:1.25rem;display:grid}.login-card{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-elevated);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);width:min(420px,100%);box-shadow:var(--shadow-lg);gap:.9rem;padding:1.35rem;display:grid}.login-brand{align-items:center;gap:.75rem;margin-bottom:.35rem;display:flex}.login-brand h1{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:1.35rem}.login-brand p{color:var(--text-secondary);margin:.15rem 0 0;font-size:.85rem}.login-input-wrap{position:relative}.login-input-wrap>svg{color:var(--text-muted);pointer-events:none;z-index:1;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.login-input-wrap .control{color:var(--text);-webkit-text-security:none;padding-left:2.2rem;padding-right:2.6rem}.login-eye{z-index:2;color:var(--text-secondary);position:absolute;top:50%;right:6px;transform:translateY(-50%)}.login-eye:hover,.login-eye:focus-visible{color:var(--text);background:#0f172a0f}.login-eye:active{transform:translateY(-50%)}.login-submit{width:100%;margin-top:.25rem}.login-hint{text-align:center;color:var(--text-muted);margin:0;font-size:.75rem}.login-alert{background:var(--coral-50);color:var(--coral-500);border-radius:10px;padding:.65rem .75rem;font-size:.85rem;font-weight:600}.settings-logo-row{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.settings-logo-preview{border:1px solid var(--border);background:var(--surface-2);border-radius:16px;flex-shrink:0;place-items:center;width:88px;height:88px;display:grid;overflow:hidden}.settings-logo-preview img{object-fit:cover;width:100%;height:100%}.settings-logo-empty{color:var(--text-muted);place-items:center;gap:.25rem;font-size:.72rem;font-weight:600;display:grid}.settings-logo-actions{flex-direction:column;align-items:flex-start;gap:.4rem;display:flex}.report-filter-summary{color:var(--text-secondary);cursor:default;align-items:center;font-size:.8rem;font-weight:600;background:var(--surface)!important;display:flex!important}@media (width>=900px){.report-filters.filters-desktop{display:flex!important}}.report-rows{gap:.75rem;display:grid}.report-row{border-bottom:1px solid var(--border);padding:.7rem .15rem}.report-row:last-child{border-bottom:0}.report-row-top{justify-content:space-between;gap:.5rem;margin-bottom:.4rem;font-size:.85rem;display:flex}.report-bar-track{background:#eef2f5;border-radius:999px;height:8px;margin-bottom:.4rem;display:flex;overflow:hidden}.report-bar{min-width:0;height:100%;display:block}.report-bar.in{background:var(--teal-500)}.report-bar.out{background:var(--coral-500)}.report-row-stats{flex-wrap:wrap;gap:.75rem;font-size:.8rem;display:flex}.sidebar-user{color:var(--text);margin:0 0 .45rem;font-size:.8rem;font-weight:650}.sidebar-logout{justify-content:flex-start;width:100%}.mobile-nav{grid-template-columns:repeat(5,1fr)}.tx-card-sub{font-size:.68rem}.tx-card-right{text-align:right;white-space:nowrap;flex-shrink:0}.tx-card-actions.compact{flex-shrink:0;align-items:center;gap:0;display:inline-flex}.amount-sm{white-space:nowrap;font-size:.82rem!important}.app-shell,.app-main,.page,.panel,.panel-body{min-width:0;max-width:100%}.panel{overflow:hidden}.badge-sm{height:22px!important;padding:0 .45rem!important;font-size:.68rem!important}.tx-table-compact th{padding:.5rem .65rem!important;font-size:.68rem!important}.tx-table-compact td{padding:.55rem .65rem!important;font-size:.8rem!important}.detail-amount{margin:.15rem 0 .65rem!important;font-size:1.35rem!important}.detail-grid-compact .detail-row{grid-template-columns:100px 1fr!important;gap:.35rem!important;padding-bottom:.5rem!important}.detail-grid-compact .detail-row dt{font-size:.7rem!important}.detail-grid-compact .detail-row dd{font-size:.85rem!important}.state-box-sm{padding:1.5rem 1rem!important}.icon-wrap-sm{border-radius:12px!important;width:42px!important;height:42px!important}.quick-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-bottom:.85rem;display:grid}@media (width>=700px){.quick-links{grid-template-columns:repeat(4,minmax(0,1fr))}}.quick-link{border:1px solid var(--border);background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm);transition:transform var(--transition), box-shadow var(--transition);border-radius:12px;align-items:center;gap:.45rem;padding:.65rem .75rem;font-size:.8rem;font-weight:650;text-decoration:none;display:flex}.quick-link:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.quick-link.in{color:var(--teal-500)}.quick-link.out{color:var(--coral-500)}.customer-list{gap:.5rem;display:grid}@media (width>=900px){.customer-list{display:none}.customer-table-wrap{display:block!important}}.customer-table-wrap{display:none}.customer-row{border:1px solid var(--border);background:var(--surface);color:inherit;box-shadow:var(--shadow-sm);border-radius:12px;align-items:center;gap:.55rem;padding:.7rem .75rem;text-decoration:none;display:flex}.customer-row-actions{cursor:default}.customer-row-actions .customer-row-main{min-width:0;color:inherit;flex:1;text-decoration:none}.table-row-actions{flex-wrap:wrap;justify-content:flex-end;gap:.25rem;display:flex}.form-modal{z-index:60;background:var(--surface);max-height:min(92vh,640px);box-shadow:var(--shadow-lg);border-radius:22px 22px 0 0;flex-direction:column;animation:.26s cubic-bezier(.22,1,.36,1) sheet-up;display:flex;position:fixed;inset:auto 0 0;overflow:hidden}@media (width>=768px){.form-modal{border-radius:16px;width:min(440px,100vw - 2rem);max-height:min(88vh,620px);animation:.2s cubic-bezier(.22,1,.36,1) pop-in;inset:50% auto auto 50%;transform:translate(-50%,-50%)}}.form-modal-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.form-modal-header h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.05rem}.form-modal-body{flex:auto;align-content:start;gap:.85rem;min-height:0;padding:.9rem 1rem;display:grid;overflow-y:auto}.form-modal-footer{border-top:1px solid var(--border);background:var(--surface-2);flex-shrink:0;grid-template-columns:1fr 1.4fr;gap:.5rem;padding:.75rem 1rem 1rem;display:grid}.customer-row-main{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.customer-row-main strong{font-size:.88rem}.customer-row-main .muted{font-size:.7rem}.customer-row-stats{flex-direction:column;align-items:flex-end;gap:.05rem;font-size:.72rem;font-weight:650;display:flex}.customer-row-stats .stat.in{color:var(--teal-500)}.customer-row-stats .stat.out{color:var(--coral-500)}.customer-row-stats .stat.balance{color:var(--text)}.customer-chevron{color:var(--text-muted);flex-shrink:0}.customer-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-bottom:.75rem;display:grid}@media (width>=700px){.customer-summary-strip{grid-template-columns:repeat(4,minmax(0,1fr))}}.mini-stat{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:.65rem .75rem}.mini-stat span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.68rem;font-weight:650;display:block}.mini-stat strong{font-family:var(--font-display);letter-spacing:-.02em;font-size:.95rem}.mini-stat.in strong{color:var(--teal-500)}.mini-stat.out strong{color:var(--coral-500)}.back-link{color:var(--text-muted);align-items:center;gap:.3rem;margin-bottom:.25rem;font-size:.75rem;font-weight:650;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--teal-500)}.summary-card{padding:.75rem!important}.summary-icon{border-radius:8px!important;width:28px!important;height:28px!important;margin-bottom:.45rem!important}.summary-icon svg{width:14px;height:14px}.summary-label{font-size:.65rem!important}.summary-value{font-size:clamp(.9rem,2vw,1.05rem)!important}.summary-hint{display:none}.skeleton{height:88px}.fab{z-index:40;border-radius:999px;height:52px;padding:0 1.2rem;position:fixed;bottom:1.25rem;right:1rem;box-shadow:0 14px 30px #0f766e59}@media (width>=768px){.fab{display:none}}.panel{background:var(--bg-elevated);-webkit-backdrop-filter:blur(14px);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.panel-body{padding:1rem}@media (width>=768px){.panel-body{padding:1.25rem}}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:1.25rem;display:grid}@media (width>=640px){.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=1024px){.summary-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:.85rem}}.summary-card{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);transition:transform var(--transition), box-shadow var(--transition);padding:1rem;animation:.42s cubic-bezier(.22,1,.36,1) both rise-in;position:relative;overflow:hidden}.summary-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.summary-card:after{content:"";opacity:.12;pointer-events:none;border-radius:50%;width:90px;height:90px;position:absolute;inset:auto -20% -40% auto}.summary-card.in:after{background:var(--teal-500)}.summary-card.out:after{background:var(--coral-500)}.summary-card.balance:after{background:var(--blue-500)}.summary-card.neutral:after{background:var(--slate-800)}.summary-icon{border-radius:10px;place-items:center;width:34px;height:34px;margin-bottom:.7rem;display:grid}.summary-card.in .summary-icon{background:var(--teal-50);color:var(--teal-500)}.summary-card.out .summary-icon{background:var(--coral-50);color:var(--coral-500)}.summary-card.balance .summary-icon{color:var(--blue-500);background:#e0f2fe}.summary-card.neutral .summary-icon{color:var(--slate-800);background:#f1f5f9}.summary-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .25rem;font-size:.75rem;font-weight:600}.summary-value{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);margin:0;font-size:clamp(1rem,2.2vw,1.2rem);font-weight:700}.summary-card.in .summary-value{color:var(--teal-500)}.summary-card.out .summary-value{color:var(--coral-500)}.summary-hint{color:var(--text-muted);margin:.35rem 0 0;font-size:.72rem}.filters-bar{flex-direction:column;gap:.75rem;margin-bottom:1rem;padding:.9rem}@media (width>=900px){.filters-bar{flex-flow:wrap;align-items:end}}.filters-bar.filters-desktop{display:none}@media (width>=900px){.filters-mobile-bar{display:none!important}.filters-bar.filters-desktop{display:flex}}.filter-group{flex-direction:column;flex:140px;gap:.3rem;min-width:0;display:flex}.filter-group label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:600}.filter-row{grid-template-columns:1fr 1fr;gap:.6rem;width:100%;display:grid}@media (width>=900px){.filter-row{display:contents}}.type-pills{background:#e8eef2;border-radius:12px;gap:2px;padding:3px;display:inline-flex}.type-pill{height:36px;color:var(--text-secondary);transition:all var(--transition);background:0 0;border:0;border-radius:10px;padding:0 .85rem;font-size:.8125rem;font-weight:600}.type-pill.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.type-pill.active.in{color:var(--teal-500)}.type-pill.active.out{color:var(--coral-500)}.field{flex-direction:column;gap:.35rem;display:flex}.field label{color:var(--text-secondary);font-size:.8rem;font-weight:600}.field .hint{color:var(--text-muted);font-size:.75rem}.field .error{color:var(--coral-500);font-size:.75rem}.control{height:var(--control-h);border:1px solid var(--border-strong);background:var(--surface);width:100%;color:var(--text);transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);border-radius:12px;outline:none;padding:0 .85rem}.control:hover{border-color:#0f766e59}.control:focus{border-color:var(--teal-600);box-shadow:0 0 0 3px #0d948826}.control.is-invalid{border-color:var(--coral-500);box-shadow:0 0 0 3px #e11d481f}textarea.control{resize:vertical;height:auto;min-height:88px;padding:.7rem .85rem}.amount-wrap{position:relative}.amount-wrap .currency{color:var(--text-muted);pointer-events:none;font-weight:600;position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}.amount-wrap .control{font-family:var(--font-display);letter-spacing:-.02em;padding-left:1.85rem;font-weight:600}.segmented{background:#e8eef2;border-radius:14px;grid-template-columns:1fr 1fr;gap:.35rem;padding:.3rem;display:grid}.segment{height:40px;color:var(--text-secondary);transition:all var(--transition);background:0 0;border:0;border-radius:11px;justify-content:center;align-items:center;gap:.4rem;font-size:.875rem;font-weight:650;display:inline-flex}.segment.active.in{background:var(--teal-500);color:#fff;box-shadow:0 8px 16px #0f766e40}.segment.active.out{background:var(--coral-500);color:#fff;box-shadow:0 8px 16px #e11d4840}.dropzone{background:var(--surface-2);text-align:center;color:var(--text-secondary);transition:all var(--transition);cursor:pointer;border:1.5px dashed #0f172a2e;border-radius:14px;padding:1rem}.dropzone:hover,.dropzone.dragover{border-color:var(--teal-600);background:var(--teal-50);color:var(--teal-500)}.dropzone strong{color:var(--text);margin-bottom:.2rem;display:block}.dropzone span{font-size:.8rem}.file-chip{background:var(--surface);border:1px solid var(--border);border-radius:999px;align-items:center;gap:.4rem;margin-top:.6rem;padding:.35rem .65rem;font-size:.8rem;display:inline-flex}.list-header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.85rem;display:flex}.list-header h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.1rem}.list-meta{color:var(--text-muted);font-size:.8rem}.tx-table-wrap{border-radius:var(--radius-md);border:1px solid var(--border);display:none;overflow:hidden}@media (width>=900px){.tx-cards:not(.tx-cards-always){display:none}.tx-table-wrap{display:block}}.tx-cards-always{display:grid!important}.tx-table{border-collapse:collapse;background:var(--surface);width:100%}.tx-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:var(--surface-2);border-bottom:1px solid var(--border);padding:.8rem .9rem;font-size:.72rem;font-weight:650}.tx-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:.85rem .9rem;font-size:.875rem}.tx-table tr:last-child td{border-bottom:0}.tx-table tbody tr{transition:background var(--transition)}.tx-table tbody tr:hover{background:#0d948808}.tx-card{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);padding:1rem;animation:.36s both rise-in}.tx-card-top{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.65rem;display:flex}.tx-card-meta{grid-template-columns:1fr 1fr;gap:.55rem .75rem;margin-bottom:.85rem;display:grid}.meta-item span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.7rem;font-weight:600;display:block}.meta-item strong{color:var(--text);font-size:.85rem;font-weight:600}.tx-card-actions{gap:.4rem;display:flex}.badge{letter-spacing:.02em;border-radius:999px;align-items:center;gap:.25rem;height:26px;padding:0 .55rem;font-size:.72rem;font-weight:700;display:inline-flex}.badge.in{background:var(--teal-50);color:var(--teal-500)}.badge.out{background:var(--coral-50);color:var(--coral-500)}.badge.status{color:var(--text-secondary);text-transform:capitalize;background:#f1f5f9}.badge.status.completed{color:#047857;background:#ecfdf5}.badge.status.pending{color:#c2410c;background:#fff7ed}.badge.status.cancelled{color:#64748b;background:#f1f5f9}.amount-cell{font-family:var(--font-display);letter-spacing:-.02em;font-weight:700}.amount-cell.in{color:var(--teal-500)}.amount-cell.out{color:var(--coral-500)}.actions-cell{gap:.25rem;display:flex}.state-box{text-align:center;color:var(--text-secondary);padding:2.5rem 1.25rem}.state-box .icon-wrap{background:var(--surface-2);width:56px;height:56px;color:var(--text-muted);border-radius:16px;place-items:center;margin:0 auto .85rem;display:grid}.state-box h3{font-family:var(--font-display);color:var(--text);margin:0 0 .35rem}.state-box p{max-width:320px;margin:0 auto 1rem;font-size:.9rem}.skeleton-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1.25rem;display:grid}@media (width>=1024px){.skeleton-grid{grid-template-columns:repeat(6,1fr)}}.skeleton{border-radius:var(--radius-md);background:linear-gradient(90deg,#e8eef2 25%,#f4f7f9 50%,#e8eef2 75%) 0 0/200% 100%;height:108px;animation:1.2s linear infinite shimmer}.spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}.btn-secondary .spinner,.btn-ghost .spinner{border-color:#0f172a26;border-top-color:var(--text)}.overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;background:#0f172a73;animation:.16s fade-in;position:fixed;inset:0}.drawer,.modal{z-index:60;background:var(--surface);box-shadow:var(--shadow-lg);animation:.24s cubic-bezier(.22,1,.36,1) slide-up;position:fixed}.drawer{border-radius:22px 22px 0 0;flex-direction:column;max-height:min(92vh,900px);display:flex;inset:auto 0 0}@media (width>=768px){.drawer{border-radius:0;width:min(480px,100vw);max-height:100vh;animation:.24s cubic-bezier(.22,1,.36,1) slide-left;inset:0 0 0 auto}}.modal{border-radius:var(--radius-lg);width:min(420px,100vw - 2rem);padding:1.25rem;animation:.2s cubic-bezier(.22,1,.36,1) pop-in;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.drawer-header,.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.1rem;display:flex}.drawer-header h2,.modal-header h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.1rem}.drawer-body{flex:1;padding:1.1rem;overflow-y:auto}.drawer-footer,.modal-footer{border-top:1px solid var(--border);background:var(--surface-2);justify-content:flex-end;gap:.5rem;padding:.9rem 1.1rem;display:flex}.form-grid{gap:.9rem;display:grid}@media (width>=520px){.form-grid.two{grid-template-columns:1fr 1fr}.form-grid .span-2{grid-column:span 2}}.detail-grid{gap:.85rem;display:grid}.detail-row{border-bottom:1px solid var(--border);grid-template-columns:120px 1fr;gap:.5rem;padding-bottom:.75rem;display:grid}.detail-row:last-child{border-bottom:0;padding-bottom:0}.detail-row dt{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;margin:0;font-size:.78rem;font-weight:650}.detail-row dd{color:var(--text);word-break:break-word;margin:0;font-size:.92rem}.detail-amount{font-family:var(--font-display);letter-spacing:-.03em;margin:.25rem 0 .75rem;font-size:1.6rem;font-weight:700}.attachment-preview{color:var(--teal-500);align-items:center;gap:.4rem;font-weight:600;text-decoration:none;display:inline-flex}.attachment-preview:hover{text-decoration:underline}.toast-viewport{z-index:100;pointer-events:none;flex-direction:column;gap:.5rem;width:min(360px,100vw - 2rem);display:flex;position:fixed;top:1rem;right:1rem}.toast{pointer-events:auto;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:14px;align-items:flex-start;gap:.65rem;padding:.85rem .95rem;animation:.22s cubic-bezier(.22,1,.36,1) slide-down;display:flex}.toast.success{border-color:#0f766e40}.toast.error{border-color:#e11d4840}.toast-icon{border-radius:8px;flex-shrink:0;place-items:center;width:28px;height:28px;display:grid}.toast.success .toast-icon{background:var(--teal-50);color:var(--teal-500)}.toast.error .toast-icon{background:var(--coral-50);color:var(--coral-500)}.toast-body{flex:1;min-width:0}.toast-body strong{margin-bottom:.1rem;font-size:.85rem;display:block}.toast-body p{color:var(--text-secondary);margin:0;font-size:.8rem}.pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem;display:flex}.pagination-bar{border-top:1px solid var(--border);flex-direction:column;gap:.75rem;margin-top:1rem;padding-top:.75rem;display:flex}.pagination-meta{color:var(--text-secondary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;font-size:.8rem;display:flex}.pagination-limit{align-items:center;gap:.4rem;display:inline-flex}.pagination-limit select{width:auto;min-width:4.5rem}.mobile-nav-more{appearance:none;font:inherit;cursor:pointer;background:0 0;border:none}.more-sheet-body{flex-direction:column;gap:.35rem;padding-top:.25rem;display:flex}.more-sheet-link{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:none;border-radius:10px;align-items:center;gap:.75rem;padding:.75rem .65rem;display:flex}.more-sheet-link:active,.more-sheet-link:hover{background:var(--surface-2,#0000000a)}.more-sheet-link.active{background:color-mix(in srgb, var(--primary) 12%, transparent)}.more-sheet-icon{background:var(--surface-2,#0000000d);width:2.25rem;height:2.25rem;color:var(--text-secondary);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.more-sheet-link.active .more-sheet-icon{color:var(--primary)}.more-sheet-text{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.more-sheet-text strong{font-size:.92rem;font-weight:600}.more-sheet-text .muted{font-size:.75rem}.more-sheet-chevron{color:var(--text-muted);flex-shrink:0}@media (width>=640px){.pagination-bar{flex-direction:row;justify-content:space-between;align-items:center}}.muted{color:var(--text-muted)}.truncate{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;overflow:hidden}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:.6;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-left{0%{opacity:.6;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes pop-in{0%{opacity:0;transform:translate(-50%,-46%)scale(.96)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.page-loader{z-index:100;pointer-events:none;position:fixed;inset:0 0 auto}.page-loader-bar{background:linear-gradient(90deg, transparent, var(--teal-500), transparent);background-size:40% 100%;width:100%;height:3px;animation:1s ease-in-out infinite loader-slide}.page-loader-pill{border:1px solid var(--border);box-shadow:var(--shadow-md);color:var(--text-secondary);background:#fffffff0;border-radius:999px;align-items:center;gap:.45rem;padding:.4rem .75rem;font-size:.75rem;font-weight:650;display:inline-flex;position:fixed;top:.85rem;left:50%;transform:translate(-50%)}@keyframes loader-slide{0%{background-position:-40% 0}to{background-position:140% 0}}.confirm-modal{z-index:60;background:var(--surface);width:min(340px,100vw - 2rem);box-shadow:var(--shadow-lg);text-align:center;border-radius:16px;padding:1.15rem 1.1rem 1rem;animation:.2s cubic-bezier(.22,1,.36,1) pop-in;position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.confirm-icon{border-radius:12px;place-items:center;width:42px;height:42px;margin:0 auto .75rem;display:grid}.confirm-icon.danger{color:#e11d48;background:#fff1f2}.confirm-icon.warning{color:#d97706;background:#fffbeb}.confirm-title{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.05rem}.confirm-message{color:var(--text-secondary);margin:.45rem 0 0;font-size:.84rem;line-height:1.45}.confirm-actions{justify-content:center;gap:.5rem;margin-top:1rem;display:flex}.list-header-actions{align-items:center;gap:.5rem;display:flex}.bulk-bar{background:var(--teal-50);border:1px solid color-mix(in srgb, var(--teal-500) 22%, transparent);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin:0 0 .75rem;padding:.55rem .65rem;display:flex}.bulk-bar-left,.bulk-bar-actions{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.bulk-count{color:var(--teal-700,#0f766e);margin-left:.25rem;font-size:.78rem;font-weight:650}.tx-select{flex-shrink:0;place-items:center;padding:0 .15rem 0 .35rem;display:grid}.tx-card.is-selected,.tx-table tr.is-selected{background:color-mix(in srgb, var(--teal-500) 8%, transparent)}.tx-card-compact{align-items:stretch;display:flex}.tx-check-col{text-align:center;width:2rem}.tx-check-col input,.tx-select input{width:1rem;height:1rem;accent-color:var(--teal-500);cursor:pointer}.brand-mark-logo{border:1px solid var(--border);background:#fff;padding:0;overflow:hidden}.brand-mark-logo img{object-fit:contain;width:100%;height:100%;display:block}.export-btns{flex-wrap:wrap;align-items:center;gap:.4rem;display:inline-flex}.wa-modal{text-align:left;width:min(400px,100vw - 2rem)}.wa-modal .confirm-title,.wa-modal .confirm-message{text-align:center}.wa-form{flex-direction:column;gap:.65rem;margin-top:.85rem;display:flex}.wa-form .confirm-actions{margin-top:.35rem}.password-wrap{position:relative}.password-wrap .control{padding-right:2.5rem}.password-wrap .password-toggle{position:absolute;top:50%;right:.25rem;transform:translateY(-50%)}.checkbox-row{cursor:pointer;align-items:center;gap:.5rem;font-size:.9rem;display:inline-flex}.checkbox-row input{width:1rem;height:1rem;accent-color:var(--teal-500)}.wa-log-detail{background:var(--surface-2);border:1px solid var(--border);white-space:pre-wrap;word-break:break-word;border-radius:10px;max-height:180px;margin:0 .65rem .65rem;padding:.65rem;font-size:.72rem;overflow:auto}.report-export-mobile{gap:.5rem;margin-bottom:.75rem;display:flex}.report-table-wrap{margin-top:.75rem}@media (width>=900px){.report-export-mobile{display:none}}@media (width<=899px){.report-table-wrap{display:none}}
