@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap);*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px;height:100%;scroll-behavior:smooth}body{color:var(--text-primary);font-family:var(--font);font-size:var(--fs-base);font-weight:var(--fw-normal)}#root{height:100%}a{color:var(--primary);text-decoration:none;transition:color var(--tr-base)}a:hover{color:var(--primary-hover)}ol,ul{list-style:none}img,svg{display:block;max-width:100%}button,input,select,textarea{background:none;border:none;color:inherit;font-family:inherit;font-size:inherit;outline:none}button{cursor:pointer}table{border-collapse:collapse}::-webkit-scrollbar{height:5px;width:5px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}:root{--primary:#2563eb;--primary-hover:#1d4ed8;--primary-light:#dbeafe;--primary-dark:#1e40af;--success:#16a34a;--success-light:#dcfce7;--warning:#d97706;--warning-light:#fef3c7;--danger:#dc2626;--danger-light:#fee2e2;--info:#0891b2;--info-light:#cffafe;--bg:#f8fafc;--bg-card:#fff;--bg-input:#f8fafc;--bg-hover:#f1f5f9;--bg-selected:#eff6ff;--bg-overlay:#0f172a8c;--sidebar-bg:#0f172a;--sidebar-text:#94a3b8;--sidebar-hover:#ffffff0f;--sidebar-active-bg:#2563eb26;--sidebar-active-text:#93c5fd;--sidebar-active-indicator:#3b82f6;--sidebar-section-title:#475569;--sidebar-width:248px;--font:"Inter",system-ui,-apple-system,sans-serif;--fs-xs:0.72rem;--fs-sm:0.8125rem;--fs-base:0.875rem;--fs-md:1rem;--fs-lg:1.125rem;--fs-xl:1.375rem;--fs-2xl:1.75rem;--fs-3xl:2.25rem;--fw-normal:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-extrabold:800;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--text-disabled:#cbd5e1;--text-on-primary:#fff;--border:#e2e8f0;--border-focus:#2563eb;--border-strong:#cbd5e1;--sp-1:0.25rem;--sp-2:0.5rem;--sp-3:0.75rem;--sp-4:1rem;--sp-5:1.25rem;--sp-6:1.5rem;--sp-8:2rem;--sp-10:2.5rem;--sp-12:3rem;--radius-sm:4px;--radius-md:6px;--radius-lg:9px;--radius-xl:12px;--radius-full:9999px;--shadow-xs:0 1px 2px #0f172a0a;--shadow-sm:0 1px 3px #0f172a14,0 1px 2px #0f172a0a;--shadow-md:0 4px 6px -1px #0f172a14,0 2px 4px -1px #0f172a0a;--shadow-lg:0 10px 15px -3px #0f172a14,0 4px 6px -2px #0f172a0a;--shadow-xl:0 20px 25px -5px #0f172a1a,0 10px 10px -5px #0f172a0a;--tr-fast:150ms cubic-bezier(0.4,0,0.2,1);--tr-base:200ms cubic-bezier(0.4,0,0.2,1);--tr-slow:300ms cubic-bezier(0.4,0,0.2,1);--z-dropdown:100;--z-sidebar:200;--z-overlay:300;--z-modal:400;--z-toast:500;--topbar-height:60px;--bottomnav-height:64px;--chart-sale:#2563eb;--chart-purchase:#0891b2;--chart-profit:#16a34a}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.gap-1{gap:var(--sp-1)}.gap-2{gap:var(--sp-2)}.gap-3{gap:var(--sp-3)}.gap-4{gap:var(--sp-4)}.gap-6{gap:var(--sp-6)}.flex-1{flex:1 1}.min-w-0{min-width:0}.w-full{width:100%}.grid-2{grid-gap:var(--sp-4);grid-template-columns:1fr 1fr}.grid-2,.grid-3{display:grid;gap:var(--sp-4)}.grid-3{grid-gap:var(--sp-4);grid-template-columns:1fr 1fr 1fr}.grid-4{grid-gap:var(--sp-4);display:grid;gap:var(--sp-4);grid-template-columns:repeat(4,1fr)}.mt-2{margin-top:var(--sp-2)}.mt-4{margin-top:var(--sp-4)}.mt-6{margin-top:var(--sp-6)}.mb-2{margin-bottom:var(--sp-2)}.mb-4{margin-bottom:var(--sp-4)}.mb-6{margin-bottom:var(--sp-6)}.p-4{padding:var(--sp-4)}.p-5{padding:var(--sp-5)}.p-6{padding:var(--sp-6)}.px-4{padding-left:var(--sp-4);padding-right:var(--sp-4)}.py-3{padding-bottom:var(--sp-3);padding-top:var(--sp-3)}.text-xs{font-size:var(--fs-xs)}.text-sm{font-size:var(--fs-sm)}.text-base{font-size:var(--fs-base)}.text-md{font-size:var(--fs-md)}.text-lg{font-size:var(--fs-lg)}.text-xl{font-size:var(--fs-xl)}.font-medium{font-weight:var(--fw-medium)}.font-semibold{font-weight:var(--fw-semibold)}.font-bold{font-weight:var(--fw-bold)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.text-warning{color:var(--warning)}.text-blue{color:var(--primary)}.text-right{text-align:right}.text-center{text-align:center}.truncate{text-overflow:ellipsis}.sr-only,.truncate{overflow:hidden;white-space:nowrap}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;padding:0;position:absolute;width:1px}.divider{background:var(--border);height:1px;margin:var(--sp-5) 0}@media (max-width:767px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.hide-mobile{display:none!important}}@media (min-width:768px){.hide-desktop{display:none!important}}.app-shell{display:flex;flex-direction:column;height:100dvh;overflow:hidden}.topbar{background:var(--bg-card);border-bottom:1px solid var(--border);box-shadow:var(--shadow-xs);flex-shrink:0;height:var(--topbar-height);justify-content:space-between;min-height:var(--topbar-height);padding:0 var(--sp-5);position:sticky;top:0;z-index:var(--z-sidebar)}.topbar,.topbar__brand{align-items:center;display:flex}.topbar__brand{gap:var(--sp-3)}.topbar__logo{align-items:center;background:var(--primary);border-radius:var(--radius-md);color:#fff;display:flex;flex-shrink:0;font-size:16px;height:32px;justify-content:center;width:32px}.topbar__app-name{color:var(--text-primary);font-size:var(--fs-lg);font-weight:var(--fw-extrabold);letter-spacing:-.4px}.topbar__actions{align-items:center;display:flex;gap:var(--sp-2)}.topbar__icon-btn{align-items:center;background:#0000;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;font-size:18px;height:36px;justify-content:center;transition:all var(--tr-fast);width:36px}.topbar__icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.topbar__avatar{background:var(--primary);border-radius:var(--radius-full);color:#fff;display:flex;font-size:var(--fs-sm);font-weight:var(--fw-bold);height:34px;width:34px}.topbar__avatar,.topbar__hamburger{align-items:center;cursor:pointer;justify-content:center}.topbar__hamburger{background:#0000;border-radius:var(--radius-md);color:var(--text-secondary);display:none;flex-shrink:0;font-size:20px;height:36px;transition:all var(--tr-fast);width:36px}.topbar__hamburger:hover{background:var(--bg-hover)}.app-body{display:flex;flex:1 1;overflow:hidden}.sidebar{background:var(--sidebar-bg);display:flex;flex-direction:column;flex-shrink:0;gap:0;height:100%;min-width:var(--sidebar-width);overflow-x:hidden;overflow-y:auto;padding:var(--sp-4) var(--sp-3);transition:transform var(--tr-slow),width var(--tr-slow),min-width var(--tr-slow);width:var(--sidebar-width);z-index:var(--z-sidebar)}.sidebar__section-label{color:var(--sidebar-section-title);font-size:10px;font-weight:var(--fw-bold);letter-spacing:.8px;padding:var(--sp-4) var(--sp-3) var(--sp-2);text-transform:uppercase}.sidebar__item{align-items:center;background:#0000;border:none;border-radius:var(--radius-md);color:var(--sidebar-text);cursor:pointer;display:flex;font-size:var(--fs-base);font-weight:var(--fw-medium);gap:var(--sp-3);margin:1px 0;padding:10px var(--sp-3);position:relative;text-align:left;transition:all var(--tr-fast);width:100%}.sidebar__item:hover{background:var(--sidebar-hover);color:#e2e8f0}.sidebar__item.active{background:var(--sidebar-active-bg);color:var(--sidebar-active-text);font-weight:var(--fw-semibold)}.sidebar__item.active:before{background:var(--sidebar-active-indicator);border-radius:0 3px 3px 0;bottom:6px;content:"";left:-12px;position:absolute;top:6px;width:3px}.sidebar__icon{align-items:center;display:flex;flex-shrink:0;font-size:17px;justify-content:center;width:20px}.sidebar__label{flex:1 1}.sidebar__chevron{flex-shrink:0;font-size:10px;margin-left:auto;transition:transform var(--tr-fast)}.sidebar__chevron.open{transform:rotate(180deg)}.sidebar__submenu{animation:slideDown .18s ease;display:flex;flex-direction:column;gap:1px;margin-bottom:var(--sp-1);padding-left:var(--sp-8)}.sidebar__submenu .sidebar__item{font-size:var(--fs-sm);padding:8px var(--sp-3)}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media (min-width:768px){.sidebar.collapsed{align-items:center;min-width:72px;padding:var(--sp-4) var(--sp-2);width:72px}.sidebar.collapsed .sidebar__chevron,.sidebar.collapsed .sidebar__label,.sidebar.collapsed .sidebar__section-label,.sidebar.collapsed .sidebar__submenu{display:none!important}.sidebar.collapsed .sidebar__item{border-radius:var(--radius-md);height:44px;justify-content:center;margin:4px 0;padding:10px 0;width:44px}.sidebar.collapsed .sidebar__icon{font-size:20px;margin:0}.sidebar.collapsed .sidebar__item.active:before{left:-8px}}.sidebar-overlay{animation:fadeOverlay .2s ease;background:var(--bg-overlay);display:none;inset:0;position:fixed;z-index:calc(var(--z-sidebar) - 1)}.sidebar-overlay.visible{display:block}@keyframes fadeOverlay{0%{opacity:0}to{opacity:1}}.page-content{background:var(--bg);flex:1 1;overflow-x:hidden;overflow-y:auto}.page-inner{animation:pageFadeIn .18s ease;max-width:100%;padding:var(--sp-6)}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--sp-4);justify-content:space-between;margin-bottom:var(--sp-4)}.page-header__left{display:flex;flex-direction:column;gap:var(--sp-1)}.page-header h1,.page-header h2{color:var(--text-primary);font-size:var(--fs-xl);font-weight:var(--fw-bold);letter-spacing:-.3px;margin:0}.page-header__sub{color:var(--text-muted);font-size:var(--fs-sm);margin:0}.page-header__actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--sp-3)}.bottom-nav{align-items:center;background:var(--bg-card);border-top:1px solid var(--border);bottom:0;box-shadow:0 -2px 12px #0f172a0f;display:none;height:var(--bottomnav-height);justify-content:space-around;left:0;padding:0 var(--sp-2);position:fixed;right:0;z-index:var(--z-sidebar)}.bottom-nav__item{align-items:center;background:none;border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;display:flex;flex-direction:column;font-size:10px;font-weight:var(--fw-semibold);gap:3px;min-width:56px;padding:var(--sp-2) var(--sp-3);transition:color var(--tr-fast)}.bottom-nav__item .nav-icon{font-size:20px;transition:transform var(--tr-fast)}.bottom-nav__item.active{color:var(--primary)}.bottom-nav__item.active .nav-icon{transform:translateY(-2px)}@media (max-width:767px){.sidebar{height:calc(100dvh - 122px);left:0;position:fixed;top:var(--topbar-height);transform:translateX(-100%);z-index:var(--z-sidebar)}.sidebar.open{transform:translateX(0)}.bottom-nav,.topbar__hamburger{display:flex}.page-content{padding-bottom:var(--bottomnav-height)}.page-inner{padding:var(--sp-4)}}.sidebar__desktop-toggle-container{display:flex;justify-content:flex-end;padding:0 var(--sp-3) var(--sp-2)}.sidebar.collapsed .sidebar__desktop-toggle-container{justify-content:center;padding:0 0 var(--sp-2)}.sidebar__collapse-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius-md);color:var(--sidebar-text);cursor:pointer;display:flex;font-size:18px;height:32px;justify-content:center;transition:all var(--tr-fast);width:32px}.sidebar__collapse-btn:hover{background:var(--sidebar-hover);color:#e2e8f0}@media (max-width:767px){.sidebar__desktop-toggle-container{display:none!important}}@media (min-width:768px){.sidebar{position:relative;transform:none!important}.sidebar-overlay{display:none!important}}.btn{align-items:center;border:1px solid #0000;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:var(--fs-sm);font-weight:var(--fw-semibold);gap:var(--sp-2);height:36px;justify-content:center;padding:0 var(--sp-4);text-decoration:none;transition:all var(--tr-fast);white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.btn--sm{font-size:var(--fs-xs);height:30px;padding:0 var(--sp-3)}.btn--lg{font-size:var(--fs-md);height:42px;padding:0 var(--sp-6)}.btn--icon{padding:0;width:36px}.btn--primary{background:var(--primary);border-color:var(--primary);box-shadow:0 1px 3px #2563eb40;color:#fff}.btn--primary:hover{background:var(--primary-hover);box-shadow:0 4px 8px #2563eb4d;transform:translateY(-1px)}.btn--primary:active{transform:translateY(0)}.btn--secondary{background:var(--bg-card);border-color:var(--border);box-shadow:var(--shadow-xs);color:var(--text-primary)}.btn--secondary:hover{background:var(--bg-hover);border-color:var(--border-strong)}.btn--outline{background:#0000;border-color:var(--primary);color:var(--primary)}.btn--outline:hover{background:var(--primary-light)}.btn--danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn--danger:hover{background:#b91c1c}.btn--danger-outline{background:#0000;border-color:var(--danger);color:var(--danger)}.btn--danger-outline:hover{background:var(--danger-light)}.btn--ghost{background:#0000;color:var(--text-secondary)}.btn--ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.btn--success{background:var(--success);border-color:var(--success);color:#fff}.btn--success:hover{background:#15803d}.badge{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:var(--fs-xs);font-weight:var(--fw-semibold);gap:4px;padding:2px 8px;white-space:nowrap}.badge--success{background:var(--success-light);color:var(--success)}.badge--danger{background:var(--danger-light);color:var(--danger)}.badge--warning{background:var(--warning-light);color:var(--warning)}.badge--info{background:var(--info-light);color:var(--info)}.badge--neutral{background:var(--bg-hover);color:var(--text-secondary)}.badge--primary{background:var(--primary-light);color:var(--primary)}.badge--paid{background:var(--success-light);color:var(--success)}.badge--unpaid{background:var(--danger-light);color:var(--danger)}.badge--partial{background:var(--warning-light);color:var(--warning)}.badge--sale{background:#dbeafe;color:#1d4ed8}.badge--purchase{background:#fef3c7;color:#b45309}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card__header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:var(--sp-4) var(--sp-5)}.card__title{color:var(--text-primary);font-size:var(--fs-md);font-weight:var(--fw-semibold)}.card__body,.stat-card{padding:var(--sp-5)}.stat-card{align-items:flex-start;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;gap:var(--sp-4);transition:box-shadow var(--tr-fast)}.stat-card:hover{box-shadow:var(--shadow-md)}.stat-card__icon{align-items:center;border-radius:var(--radius-lg);display:flex;flex-shrink:0;font-size:20px;height:44px;justify-content:center;width:44px}.stat-card__icon--blue{background:var(--primary-light);color:var(--primary)}.stat-card__icon--green{background:var(--success-light);color:var(--success)}.stat-card__icon--amber{background:var(--warning-light);color:var(--warning)}.stat-card__icon--red{background:var(--danger-light);color:var(--danger)}.stat-card__icon--cyan{background:var(--info-light);color:var(--info)}.stat-card__body{flex:1 1;min-width:0}.stat-card__label{color:var(--text-muted);font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.5px;margin-bottom:var(--sp-1);text-transform:uppercase}.stat-card__value{color:var(--text-primary);font-size:var(--fs-2xl);font-weight:var(--fw-bold);letter-spacing:-.5px;line-height:1.1}.stat-card__sub{color:var(--text-muted);font-size:var(--fs-xs);margin-top:var(--sp-1)}.stat-grid{grid-gap:var(--sp-4);display:grid;gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.com-pro-form-img{display:flex;grid-row:span 2/span 2;justify-content:center;position:relative}.company-logo{border:3px solid #eee;border-radius:50%;display:block;height:120px;object-fit:cover;width:120px}.logo-edit-btn{align-items:center;border:1px solid #2563eb;border-radius:50%;bottom:-3px;color:#000;cursor:pointer;display:flex;font-size:15px;height:36px;justify-content:center;position:absolute;right:-3px;transition:all .2s ease;width:36px}.logo-edit-btn:hover{background:#1d4ed8;color:#fff;transform:scale(1.08)}.form-group{display:flex;flex-direction:column;gap:var(--sp-2)}.form-label{color:var(--text-secondary);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.4px;text-transform:uppercase}.form-input,.form-select,.form-textarea{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--fs-sm);height:38px;padding:0 var(--sp-3);transition:border-color var(--tr-fast),box-shadow var(--tr-fast);width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #2563eb1a}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted)}.form-textarea{height:auto;min-height:80px;padding:var(--sp-3);resize:vertical}.form-select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:32px}.form-grid-2{grid-gap:var(--sp-4);grid-template-columns:1fr 1fr}.form-grid-2,.form-grid-3{display:grid;gap:var(--sp-4)}.form-grid-3{grid-gap:var(--sp-4);grid-template-columns:1fr 1fr 1fr 1fr}.form-grid-4{grid-gap:var(--sp-4);display:grid;gap:var(--sp-4);grid-template-columns:1fr 1fr 1fr}.form-para{color:var(--text-primary);display:inline-flex;font-size:1.2rem;font-weight:700;padding:30px 0}.form-flex-2-1{display:flex;flex-direction:column;gap:var(--sp-4)}.form-col-full{grid-column:2/-1}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.form-col-fulls{grid-column:2/-2}.fieldset-input{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:0;transition:border-color var(--tr-fast)}.fieldset-input:focus-within{border-color:var(--border-focus)}.fieldset-input legend{color:var(--text-muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.4px;margin-left:var(--sp-2);padding:0 var(--sp-2);text-transform:uppercase}.fieldset-input input,.fieldset-input select{background:#0000;color:var(--text-primary);font-size:var(--fs-sm);height:34px;padding:0 var(--sp-3) var(--sp-2);width:100%}.bills-table-wrap,.table-wrapper{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow-x:auto}.bills-table,.data-table{border-collapse:collapse;font-size:var(--fs-sm);width:100%}.bills-table thead,.data-table thead{background:var(--bg);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:2}.bills-table th,.data-table th{color:var(--text-muted);font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.5px;padding:11px var(--sp-4);text-align:left;text-transform:uppercase;white-space:nowrap}.bills-table td,.data-table td{border-bottom:1px solid var(--border);color:var(--text-primary);padding:13px var(--sp-4)}.bills-table tbody tr:last-child td,.data-table tbody tr:last-child td{border-bottom:none}.bills-table tbody tr,.data-table tbody tr{transition:background var(--tr-fast)}.bills-table tbody tr:hover,.data-table tbody tr:hover{background:var(--bg-hover)}.bills-table .text-right,.data-table .text-right{text-align:right}.bills-table .text-center,.data-table .text-center{text-align:center}.bill-card-mobile{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4)}.bill-card-mobile__row{align-items:center;display:flex;justify-content:space-between}.bill-card-mobile__label{color:var(--text-muted);font-size:var(--fs-xs);font-weight:var(--fw-medium)}.bill-card-mobile__value{color:var(--text-primary);font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.bill-cards-list{display:flex;flex-direction:column;gap:var(--sp-3)}.pagination{align-items:center;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:var(--sp-3);justify-content:space-between;padding:var(--sp-3) var(--sp-5)}.pagination__info{color:var(--text-muted);font-size:var(--fs-xs)}.pagination__controls{align-items:center;display:flex;gap:var(--sp-1)}.page-btn{background:#0000;border:1px solid #0000;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;font-size:var(--fs-sm);font-weight:var(--fw-medium);height:32px;min-width:32px;padding:0 var(--sp-2);transition:all var(--tr-fast)}.page-btn:hover{background:var(--bg-hover);border-color:var(--border)}.page-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.page-btn:disabled{cursor:not-allowed;opacity:.4}.modal-overlay{align-items:center;animation:fadeIn .18s ease;background:var(--bg-overlay);display:flex;inset:0;justify-content:center;padding:var(--sp-4);position:fixed;z-index:var(--z-overlay)}.modal{animation:modalIn .2s ease;background:var(--bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-height:calc(100dvh - 48px);max-width:520px;overflow-y:auto;width:100%}.modal--sm{max-width:400px}.modal--lg{max-width:680px}.modal--xlg{max-width:960px}.modal__header{align-items:center;background:var(--bg-card);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:var(--sp-5) var(--sp-6);position:sticky;top:0;z-index:1}.modal__title{color:var(--text-primary);font-size:var(--fs-lg);font-weight:var(--fw-bold)}.modal__close{align-items:center;border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;display:flex;font-size:20px;height:32px;justify-content:center;transition:all var(--tr-fast);width:32px}.modal__close:hover{background:var(--bg-hover);color:var(--text-primary)}.modal__body{padding:var(--sp-6)}.modal__footer{align-items:center;border-top:1px solid var(--border);display:flex;gap:var(--sp-3);justify-content:flex-end;padding:var(--sp-4) var(--sp-6)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.empty-state{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;justify-content:center;padding:var(--sp-12) var(--sp-4);text-align:center}.empty-state__icon{font-size:3rem;line-height:1;margin-bottom:var(--sp-4)}.empty-state h3{color:var(--text-primary);font-size:var(--fs-lg);font-weight:var(--fw-semibold);margin-bottom:var(--sp-2)}.empty-state p{color:var(--text-muted);font-size:var(--fs-sm);line-height:1.6;margin-bottom:var(--sp-5);max-width:280px}.toast-container{display:flex;flex-direction:column;gap:var(--sp-2);pointer-events:none;position:fixed;right:var(--sp-5);top:var(--sp-5);z-index:var(--z-toast)}.toast{align-items:center;animation:toastIn .25s ease;background:#1e293b;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);color:#fff;display:flex;font-size:var(--fs-sm);font-weight:var(--fw-medium);gap:var(--sp-3);max-width:380px;min-width:260px;padding:var(--sp-3) var(--sp-4);pointer-events:all}.toast--success{background:var(--success)}.toast--error{background:var(--danger)}.toast--warning{background:var(--warning)}@keyframes toastIn{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.search-bar{align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);display:flex;gap:var(--sp-2);height:38px;padding:0 var(--sp-3);transition:border-color var(--tr-fast),box-shadow var(--tr-fast)}.search-bar:focus-within{border-color:var(--border-focus);box-shadow:0 0 0 3px #2563eb1a}.search-bar__icon{color:var(--text-muted);flex-shrink:0;font-size:16px}.search-bar input{background:#0000;color:var(--text-primary);flex:1 1;font-size:var(--fs-sm)}.search-bar input::placeholder{color:var(--text-muted)}.filter-bar{align-items:flex-end;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;flex-wrap:wrap;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5)}.filter-group{display:flex;flex-direction:column;gap:var(--sp-2);min-width:140px}.filter-label{color:var(--text-muted);font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.4px;text-transform:uppercase}.filter-actions{align-self:flex-end;display:flex;gap:var(--sp-2);margin-left:auto}.toggle-group{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);display:flex;overflow:hidden}.toggle-btn{background:#0000;border:none;color:var(--text-secondary);cursor:pointer;font-size:var(--fs-xs);font-weight:var(--fw-semibold);height:34px;padding:0 var(--sp-3);transition:all var(--tr-fast);width:100%}.toggle-btn.active{background:var(--primary);color:#fff}.toggle-btn:hover:not(.active){background:var(--bg-hover)}.action-menu-wrapper{display:inline-flex;position:relative}.action-menu{animation:menuIn .15s ease;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:160px;padding:var(--sp-2);position:absolute;right:0;top:calc(100% + 4px);z-index:var(--z-dropdown)}@keyframes menuIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.action-menu-item{align-items:center;border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;display:flex;font-size:var(--fs-sm);gap:var(--sp-3);padding:8px var(--sp-3);transition:background var(--tr-fast);width:100%}.action-menu-item:hover{background:var(--bg-hover)}.action-menu-item--danger{color:var(--danger)}.action-menu-item--danger:hover{background:var(--danger-light)}.table-desktop-only{min-height:300px}.batch-table-wrapper{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow-x:auto}.batch-table{border-collapse:collapse;font-size:var(--fs-sm);width:100%}.batch-table thead{background:var(--bg);border-bottom:1px solid var(--border)}.batch-table th{color:var(--text-muted);font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.5px;padding:11px var(--sp-4);text-align:left;text-transform:uppercase;white-space:nowrap}.batch-table td{border-bottom:1px solid var(--border);color:var(--text-primary);padding:13px var(--sp-4);vertical-align:middle}.batch-table tbody tr:last-child td{border-bottom:none}.batch-table tbody tr{transition:background .15s ease}.batch-table tbody tr:hover{background:var(--bg-hover)}.batch-table td:first-child{color:var(--text-primary);font-family:DM Sans,sans-serif;font-weight:var(--fw-bold);letter-spacing:.3px}.batch-table td:nth-child(2){font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.batch-table td:nth-child(3),.batch-table td:nth-child(4){color:var(--text-muted);font-size:var(--fs-sm);white-space:nowrap}.batch-table td:nth-child(5){text-align:left}.batch-table td:last-child{text-align:right;white-space:nowrap}@media (max-width:640px){.batch-table td,.batch-table th{font-size:var(--fs-xs);padding:8px var(--sp-3)}}@media (max-width:767px){.table-desktop-only{display:none!important}.filter-bar{gap:var(--sp-3);padding:var(--sp-3) var(--sp-4)}.filter-group{min-width:100%}.filter-actions{width:100%}.form-grid-2,.form-grid-3,.form-grid-4{grid-template-columns:1fr}.stat-grid{grid-template-columns:1fr 1fr}.modal{max-height:90dvh}}@media (max-width:480px){.stat-grid{gap:var(--sp-2);grid-template-columns:1fr 1fr;overflow:scroll}.stat-card__icon{height:30px;width:30px}.stat-card{flex-direction:column;gap:var(--sp-3);padding:var(--sp-3)}.stat-card__value{font-size:var(--fs-md)}.stat-card__label{font-size:.5rem}}
/*# sourceMappingURL=main.b48e084c.css.map*/