.marketplace-page{background:var(--content-bg);min-height:100vh}.marketplace-header{border-bottom:1px solid var(--header-border);z-index:40;background:#fff;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.25rem 2rem;display:flex;position:sticky;top:0}.marketplace-header-left{align-items:center;gap:1.25rem;display:flex}.marketplace-header h1{color:var(--text-primary);white-space:nowrap;font-size:1.375rem;font-weight:700}.marketplace-search-wrapper{flex:1;max-width:480px;position:relative}.marketplace-search-wrapper .search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.marketplace-search{border:1.5px solid var(--gray-200);width:100%;color:var(--text-primary);background:var(--gray-50);border-radius:10px;outline:none;padding:.625rem 1rem .625rem 2.75rem;font-size:.875rem;transition:all .2s}.marketplace-search:focus{border-color:var(--blue-600);background:#fff;box-shadow:0 0 0 3px #2563eb1a}.marketplace-search::placeholder{color:var(--text-muted)}.marketplace-body{gap:0;max-width:1440px;margin:0 auto;padding:1.5rem 2rem;display:flex}.marketplace-filters{flex-shrink:0;width:260px;margin-right:2rem}.marketplace-filters-section{border:1px solid var(--header-border);background:#fff;border-radius:12px;margin-bottom:1rem;padding:1.25rem}.marketplace-filters-section h3{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:.875rem;font-size:.8125rem;font-weight:600}.filter-checkbox-group{flex-direction:column;gap:.5rem;max-height:280px;display:flex;overflow-y:auto}.filter-checkbox-group::-webkit-scrollbar{width:4px}.filter-checkbox-group::-webkit-scrollbar-thumb{background:var(--gray-200);border-radius:2px}.filter-checkbox-label{cursor:pointer;color:var(--text-primary);align-items:center;gap:.625rem;padding:.375rem 0;font-size:.875rem;transition:color .15s;display:flex}.filter-checkbox-label:hover{color:var(--blue-600)}.filter-checkbox-label input[type=checkbox]{appearance:none;border:2px solid var(--gray-300);cursor:pointer;border-radius:4px;flex-shrink:0;width:18px;height:18px;transition:all .15s;position:relative}.filter-checkbox-label input[type=checkbox]:checked{background:var(--blue-600);border-color:var(--blue-600)}.filter-checkbox-label input[type=checkbox]:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:4px;height:8px;position:absolute;top:2px;left:5px;transform:rotate(45deg)}.filter-checkbox-count{color:var(--text-muted);background:var(--gray-100);border-radius:10px;margin-left:auto;padding:1px 8px;font-size:.75rem}.filter-price-inputs{align-items:center;gap:.5rem;display:flex}.filter-price-inputs input{border:1.5px solid var(--gray-200);width:100%;color:var(--text-primary);border-radius:8px;outline:none;padding:.5rem .625rem;font-size:.8125rem;transition:border-color .15s}.filter-price-inputs input:focus{border-color:var(--blue-600)}.filter-price-separator{color:var(--text-muted);font-size:.875rem}.filter-actions{margin-top:.75rem}.filter-reset-btn{border:1px solid var(--gray-200);width:100%;color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:8px;padding:.5rem;font-size:.8125rem;transition:all .15s}.filter-reset-btn:hover{background:var(--gray-50);border-color:var(--gray-300);color:var(--text-primary)}.marketplace-toolbar{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.marketplace-results-count{color:var(--text-secondary);font-size:.875rem}.marketplace-sort-select{border:1.5px solid var(--gray-200);color:var(--text-primary);appearance:none;cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") right 8px center no-repeat;border-radius:8px;outline:none;padding:.5rem 2rem .5rem .75rem;font-size:.8125rem;transition:border-color .15s}.marketplace-sort-select:focus{border-color:var(--blue-600)}.marketplace-content{flex:1;min-width:0}.marketplace-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;display:grid}.product-card{border:1px solid var(--header-border);cursor:pointer;background:#fff;border-radius:12px;flex-direction:column;transition:all .2s;display:flex;overflow:hidden}.product-card:hover{border-color:var(--blue-200);transform:translateY(-4px);box-shadow:0 12px 32px #0000001a}.product-card-image-wrapper{background:var(--gray-100);width:100%;padding-top:75%;position:relative;overflow:hidden}.product-card-image{object-fit:cover;width:100%;height:100%;transition:transform .3s;position:absolute;top:0;left:0}.product-card:hover .product-card-image{transform:scale(1.05)}.product-card-image-placeholder{background:linear-gradient(135deg,#e0e7ff 0%,#dbeafe 30%,#f0f5ff 70%,#e0e7ff 100%);justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.product-card-image-placeholder svg{width:48px;height:48px;color:var(--gray-300)}.product-card-badge{color:var(--blue-700);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fffffff2;border-radius:6px;padding:.25rem .625rem;font-size:.6875rem;font-weight:600;position:absolute;top:10px;left:10px;box-shadow:0 1px 3px #00000014}.product-card-body{flex-direction:column;flex:1;gap:.5rem;padding:1rem 1rem 1.125rem;display:flex}.product-card-category{text-transform:uppercase;letter-spacing:.04em;color:var(--blue-600);background:var(--blue-50);border-radius:4px;align-self:flex-start;padding:.2rem .625rem;font-size:.6875rem;font-weight:600;display:inline-block}.product-card-title{color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.9375rem;font-weight:600;line-height:1.4;display:-webkit-box;overflow:hidden}.product-card-description{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;font-size:.8rem;line-height:1.5;display:-webkit-box;overflow:hidden}.product-card-footer{border-top:1px solid var(--gray-100);justify-content:space-between;align-items:flex-end;margin-top:auto;padding-top:.5rem;display:flex}.product-card-price{flex-direction:column;display:flex}.product-card-price-ttc{color:var(--blue-600);font-size:1.25rem;font-weight:700;line-height:1.2}.product-card-price-ht{color:var(--text-muted);font-size:.75rem}.product-card-tags{flex-wrap:wrap;gap:.375rem;display:flex}.product-card-tag{background:var(--gray-100);color:var(--text-secondary);border-radius:4px;padding:.15rem .5rem;font-size:.6875rem;font-weight:500;transition:background .15s;display:inline-block}.product-card-tag:hover{background:var(--blue-100);color:var(--blue-700)}.product-card-stock{border-radius:4px;align-self:flex-start;align-items:center;gap:4px;padding:.2rem .5rem;font-size:.6875rem;font-weight:500;display:inline-flex}.product-card-stock-ok{background:var(--success-bg);color:var(--success)}.product-card-stock-low{background:var(--warning-bg);color:var(--warning)}.product-card-stock-out{background:var(--error-bg);color:var(--error)}.product-card-stock-dot{border-radius:50%;width:6px;height:6px;display:inline-block}.product-card-stock-ok .product-card-stock-dot{background:var(--success)}.product-card-stock-low .product-card-stock-dot{background:var(--warning)}.product-card-stock-out .product-card-stock-dot{background:var(--error)}.marketplace-empty{text-align:center;flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.marketplace-empty svg{width:64px;height:64px;color:var(--gray-300);margin-bottom:1rem}.marketplace-empty h3{color:var(--text-primary);margin-bottom:.5rem;font-size:1.125rem;font-weight:600}.marketplace-empty p{color:var(--text-secondary);max-width:320px;font-size:.875rem}.marketplace-loading{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;display:grid}.marketplace-skeleton{border:1px solid var(--header-border);background:#fff;border-radius:12px;overflow:hidden}.marketplace-skeleton-image{background:linear-gradient(90deg, var(--gray-100) 25%, var(--gray-200) 50%, var(--gray-100) 75%);background-size:200% 100%;width:100%;padding-top:75%;animation:1.5s infinite shimmer}.marketplace-skeleton-body{flex-direction:column;gap:.625rem;padding:1rem;display:flex}.marketplace-skeleton-line{background:linear-gradient(90deg, var(--gray-100) 25%, var(--gray-200) 50%, var(--gray-100) 75%);background-size:200% 100%;border-radius:4px;height:12px;animation:1.5s infinite shimmer}.marketplace-skeleton-line:first-child{width:30%}.marketplace-skeleton-line:nth-child(2){width:85%}.marketplace-skeleton-line:nth-child(3){width:55%}.marketplace-skeleton-line:last-child{width:40%;margin-top:.25rem}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.marketplace-pagination{justify-content:center;align-items:center;gap:.375rem;margin-top:2rem;padding:1rem 0;display:flex}.marketplace-pagination button{border:1px solid var(--gray-200);min-width:36px;height:36px;color:var(--text-primary);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;padding:0 .625rem;font-size:.8125rem;transition:all .15s;display:flex}.marketplace-pagination button:hover:not(:disabled):not(.active){background:var(--gray-50);border-color:var(--gray-300)}.marketplace-pagination button:disabled{opacity:.4;cursor:not-allowed}.marketplace-pagination button.active{background:var(--blue-600);border-color:var(--blue-600);color:#fff;font-weight:600}.marketplace-pagination .page-ellipsis{width:36px;height:36px;color:var(--text-muted);justify-content:center;align-items:center;font-size:.875rem;display:flex}@media (width<=1200px){.marketplace-body{padding:1.25rem 1.5rem}.marketplace-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}@media (width<=900px){.marketplace-filters{display:none}.marketplace-body{padding:1rem}.marketplace-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.marketplace-header{flex-wrap:wrap;padding:1rem}.marketplace-header-left{flex:1;min-width:0}.marketplace-search-wrapper{flex-basis:100%;order:3;max-width:100%}}@media (width<=600px){.marketplace-grid{grid-template-columns:1fr;gap:.875rem}.marketplace-body{padding:.75rem}.marketplace-header{gap:.75rem;padding:.75rem}.marketplace-header h1{font-size:1.125rem}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--sidebar-bg:#0f172a;--sidebar-text:#94a3b8;--sidebar-active:#2563eb;--sidebar-hover:#ffffff0f;--sidebar-divider:#1e293b;--header-bg:#fff;--header-border:#e2e8f0;--content-bg:#f1f5f9;--text-primary:#1e293b;--text-secondary:#64748b;--text-muted:#94a3b8;--blue-50:#eff6ff;--blue-100:#dbeafe;--blue-200:#bfdbfe;--blue-600:#2563eb;--blue-700:#1d4ed8;--blue-800:#1e40af;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--success:#16a34a;--success-bg:#dcfce7;--error:#dc2626;--error-bg:#fef2f2;--warning:#d97706;--warning-bg:#fef3c7;--info:#2563eb;--info-bg:#dbeafe;--muted-bg:#f1f5f9;--muted-text:#64748b;--white:#fff;--border:#e2e8f0;--border-light:#f1f5f9;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--radius:8px;--radius-lg:12px;--sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}html{-webkit-font-smoothing:antialiased;font-size:16px}body{font-family:var(--sans);color:var(--text-primary);background:var(--content-bg);min-height:100dvh;line-height:1.5}#root{min-height:100dvh}.loading-screen{justify-content:center;align-items:center;min-height:100dvh;display:flex}.spinner{border:3px solid var(--gray-200);border-top-color:var(--blue-600);border-radius:50%;width:32px;height:32px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:var(--text-secondary);text-align:center;padding:40px;font-size:14px}.btn{border-radius:var(--radius);font-size:14px;font-weight:600;font-family:var(--sans);cursor:pointer;border:none;align-items:center;gap:8px;padding:10px 20px;line-height:1.2;text-decoration:none;transition:all .2s;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--blue-600);color:var(--white)}.btn-primary:hover:not(:disabled){background:var(--blue-700);box-shadow:0 4px 12px #2563eb4d}.btn-outline{color:var(--text-secondary);border:1px solid var(--border);background:0 0}.btn-outline:hover:not(:disabled){background:var(--gray-50);border-color:#cbd5e1}.btn-success{background:var(--success);color:var(--white)}.btn-success:hover:not(:disabled){background:#15803d}.btn-danger{background:var(--error);color:var(--white)}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-warning{background:var(--warning);color:var(--white)}.btn-warning:hover:not(:disabled){background:#b45309}.btn-sm{padding:6px 12px;font-size:12px}.btn-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.badge{white-space:nowrap;border-radius:20px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-block}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-danger{background:var(--error-bg);color:var(--error)}.badge-info{background:var(--info-bg);color:var(--info)}.badge-gray{background:var(--muted-bg);color:var(--muted-text)}.card{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--border);margin-bottom:16px;overflow:hidden}.card-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:16px 20px;display:flex}.card-header h3{color:var(--text-primary);font-size:15px;font-weight:600}.card-body{padding:16px 20px}.table-wrapper{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}thead th{text-align:left;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);background:#f8fafc;padding:10px 14px;font-size:12px;font-weight:600;position:sticky;top:0}tbody td{border-bottom:1px solid var(--border-light);color:#475569;vertical-align:middle;padding:12px 14px}tbody tr:hover{background:#f8fafc}tbody tr.selected{background:var(--blue-50)}tbody tr.clickable{cursor:pointer}table th input[type=checkbox],table td input[type=checkbox]{cursor:pointer;width:16px;height:16px;accent-color:var(--blue-600)}.pagination{border-top:1px solid var(--border);justify-content:center;align-items:center;gap:4px;padding:16px 20px;display:flex}.pagination .page-btn{border-radius:var(--radius);border:1px solid var(--border);background:var(--white);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:500;font-family:var(--sans);justify-content:center;align-items:center;transition:all .2s;display:flex}.pagination .page-btn:hover{background:#f8fafc;border-color:#cbd5e1}.pagination .page-btn.active{background:var(--blue-600);border-color:var(--blue-600);color:var(--white)}.pagination .page-btn:disabled{opacity:.4;cursor:default;pointer-events:none}.pagination .page-info{color:var(--text-secondary);margin:0 12px;font-size:13px}.counter{color:var(--text-secondary);border-top:1px solid var(--border);text-align:center;padding:12px 20px;font-size:13px}.counter strong{color:var(--text-primary)}.action-btn{border:1px solid var(--border);background:var(--white);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:inline-flex}.action-btn:hover{background:#f8fafc}.action-btn.edit:hover{border-color:var(--blue-600);color:var(--blue-600)}.action-btn.delete:hover{border-color:var(--error);color:var(--error)}.page-title{color:var(--text-primary);margin-bottom:4px;font-size:22px;font-weight:700}.page-subtitle{color:var(--text-secondary);margin-bottom:20px;font-size:13px}.toolbar{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--border);margin-bottom:16px;padding:16px 20px}.search-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.search-input{border:1px solid var(--border);border-radius:var(--radius);background:var(--white);flex:1;align-items:center;gap:8px;min-width:200px;padding:8px 14px;display:flex}.search-input input{font-size:14px;font-family:var(--sans);color:var(--text-primary);background:0 0;border:none;outline:none;width:100%}.search-input input::placeholder{color:var(--text-muted)}.filter-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.filter-group{align-items:center;gap:6px;display:flex}.filter-group label{color:var(--text-secondary);white-space:nowrap;font-size:12px;font-weight:500}.filter-select{border:1px solid var(--border);font-size:13px;font-family:var(--sans);color:var(--text-primary);background:var(--white);cursor:pointer;border-radius:6px;outline:none;padding:6px 10px}.filter-select:focus{border-color:var(--blue-600)}.filter-input{border:1px solid var(--border);font-size:13px;font-family:var(--sans);color:var(--text-primary);border-radius:6px;outline:none;padding:6px 10px}.filter-input:focus{border-color:var(--blue-600)}.stats-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px;display:grid}.stat-card{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--border);padding:20px;transition:all .2s}.stat-card:hover{box-shadow:var(--shadow-md);border-color:#cbd5e1}.stat-card .stat-header{justify-content:space-between;align-items:flex-start;display:flex}.stat-card .stat-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.stat-card .stat-label{color:var(--text-secondary);margin-bottom:4px;font-size:13px;font-weight:500}.stat-card .stat-value{color:var(--text-primary);font-size:24px;font-weight:700}.stat-card .stat-change{margin-top:4px;font-size:12px;font-weight:600}.stat-card .stat-sub{color:var(--text-muted);margin-top:2px;font-size:12px}.stat-change.up{color:var(--success)}.stat-change.down{color:var(--error)}.stats-row{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;display:grid}.stat-card-row{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--border);align-items:center;gap:16px;padding:18px 20px;display:flex}.stat-icon-box{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.stat-icon-box.blue{color:var(--blue-600);background:#eff6ff}.stat-icon-box.green{color:var(--success);background:#dcfce7}.stat-icon-box.red{color:var(--error);background:#fef2f2}.stat-icon-box.orange{color:var(--warning);background:#fef3c7}.stat-info h4{color:var(--text-primary);font-size:22px;font-weight:700;line-height:1.2}.stat-info p{color:var(--text-secondary);margin-top:2px;font-size:12px;font-weight:500}.stat-info .trend{align-items:center;gap:3px;margin-top:4px;font-size:11px;font-weight:600;display:inline-flex}.stat-info .trend.up{color:var(--success)}.stat-info .trend.down{color:var(--error)}.dashboard-grid{grid-template-columns:2fr 1fr;gap:16px;margin-bottom:24px;display:grid}.chart-container{align-items:flex-end;gap:8px;height:200px;padding:16px 0;display:flex}.chart-bar-group{flex-direction:column;flex:1;align-items:center;gap:6px;display:flex}.chart-bar{border-radius:4px 4px 0 0;width:100%;min-height:8px;transition:all .3s;position:relative}.chart-bar:hover{opacity:.8}.chart-label{color:var(--text-secondary);font-size:11px;font-weight:500}.chart-day{color:var(--text-muted);font-size:10px}.alert-item{border-bottom:1px solid var(--border-light);align-items:center;gap:12px;padding:10px 0;display:flex}.alert-item:last-child{border-bottom:none}.alert-icon{border-radius:var(--radius);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.alert-content{flex:1}.alert-product{color:var(--text-primary);font-size:14px;font-weight:600}.alert-detail{color:var(--text-secondary);margin-top:2px;font-size:12px}.alert-stock{color:var(--error);font-size:13px;font-weight:700}.order-list{margin:0}.order-item{border-bottom:1px solid var(--border-light);align-items:center;gap:14px;padding:12px 0;display:flex}.order-item:last-child{border-bottom:none}.order-id{color:var(--blue-600);min-width:80px;font-size:14px;font-weight:600}.order-client{color:var(--text-primary);flex:1;font-size:13px}.order-amount{color:var(--text-primary);font-size:14px;font-weight:600}.order-date{color:var(--text-muted);min-width:80px;font-size:12px}.timeline{align-items:flex-start;gap:0;padding:8px 0;display:flex;position:relative}.timeline-step{text-align:center;flex:1;position:relative}.timeline-step .step-circle{z-index:2;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;margin:0 auto 6px;font-size:13px;font-weight:700;display:flex;position:relative}.timeline-step.completed .step-circle{background:var(--success);color:var(--white)}.timeline-step.active .step-circle{background:var(--blue-600);color:var(--white);box-shadow:0 0 0 4px #2563eb33}.timeline-step.pending .step-circle{background:var(--muted-bg);color:var(--text-muted);border:2px solid var(--border)}.timeline-step.danger .step-circle{background:var(--error);color:var(--white)}.timeline-step .step-label{color:var(--text-secondary);font-size:11px;font-weight:500}.timeline-step.completed .step-label{color:var(--success);font-weight:600}.timeline-step.active .step-label{color:var(--blue-600);font-weight:600}.timeline-step.danger .step-label{color:var(--error);font-weight:600}.timeline:before{content:"";background:var(--border);z-index:1;height:3px;position:absolute;top:16px;left:60px;right:60px}.detail-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.detail-field{margin-bottom:8px}.detail-field .label{color:var(--text-secondary);margin-bottom:2px;font-size:12px;font-weight:500}.detail-field .value{color:var(--text-primary);font-size:14px;font-weight:500}.detail-total{border-radius:var(--radius);background:#f8fafc;margin-top:12px;padding:16px}.detail-total .total-row{justify-content:space-between;padding:6px 0;font-size:14px;display:flex}.detail-total .total-row.total{color:var(--text-primary);border-top:2px solid var(--border);margin-top:6px;padding-top:10px;font-size:18px;font-weight:700}.modal-overlay{z-index:200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a80;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.modal{background:var(--white);border-radius:16px;width:560px;max-width:92vw;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000026}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h3{color:var(--text-primary);font-size:18px;font-weight:600}.modal-close{background:var(--muted-bg);cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.modal-close:hover{background:var(--gray-200)}.modal-body{padding:24px}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:16px 24px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:4px;display:grid}.form-group{margin-bottom:16px}.form-group label{color:var(--text-primary);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.form-group label .required{color:var(--error)}.form-control{border:1px solid var(--border);border-radius:var(--radius);width:100%;font-size:14px;font-family:var(--sans);color:var(--text-primary);outline:none;padding:10px 14px;transition:border-color .2s,box-shadow .2s}.form-control:focus{border-color:var(--blue-600);box-shadow:0 0 0 3px #2563eb1a}.form-control::placeholder{color:var(--text-muted)}select.form-control{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.section-title{color:var(--text-primary);border-bottom:1px solid var(--border);margin-bottom:12px;padding-bottom:8px;font-size:15px;font-weight:600}.confirm-box{border-radius:var(--radius);background:#fef3c7;border:1px solid #fde68a;align-items:flex-start;gap:10px;margin-top:12px;padding:14px;display:flex}.confirm-box .confirm-text{color:#92400e;font-size:13px;line-height:1.4}.variant-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.variant-row input{border:1px solid var(--border);font-size:13px;font-family:var(--sans);color:var(--text-primary);border-radius:6px;outline:none;flex:1;padding:8px 12px}.variant-row input:focus{border-color:var(--blue-600)}.variant-row .remove-variant{width:28px;height:28px;color:var(--error);cursor:pointer;background:#fef2f2;border:none;border-radius:4px;justify-content:center;align-items:center;font-size:16px;display:flex}.add-variant{color:var(--blue-600);cursor:pointer;align-items:center;gap:6px;margin-top:4px;font-size:13px;font-weight:500;display:inline-flex}.add-variant:hover{text-decoration:underline}.emp-avatar{width:36px;height:36px;color:var(--white);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.emp-cell{align-items:center;gap:10px;display:flex}.emp-cell .emp-name{color:var(--text-primary);font-weight:500}.emp-cell .emp-email{color:var(--text-muted);font-size:11px}.caisses-section{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--border);margin-top:16px;overflow:hidden}.caisses-section .section-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.caisses-section .section-header h3{color:var(--text-primary);font-size:15px;font-weight:600}.caisse-grid{grid-template-columns:repeat(3,1fr);gap:12px;padding:16px 20px;display:grid}.caisse-card{border:1px solid var(--border);background:#f8fafc;border-radius:10px;padding:16px}.caisse-card .caisse-name{color:var(--text-primary);margin-bottom:4px;font-size:14px;font-weight:600}.caisse-card .caisse-solde{color:var(--success);margin-bottom:4px;font-size:22px;font-weight:700}.caisse-card .caisse-status{color:var(--text-secondary);font-size:12px}.caisse-card .caisse-status .dot{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:4px;display:inline-block}.kanban{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px;display:grid}.kanban-column{border-radius:var(--radius-lg);border:1px solid var(--border);background:#f8fafc;min-height:300px}.kanban-header{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:14px 16px;font-size:14px;font-weight:600;display:flex}.kanban-header .count{background:var(--border);color:var(--text-secondary);border-radius:10px;padding:2px 8px;font-size:12px}.kanban-body{flex-direction:column;gap:8px;padding:12px;display:flex}.kanban-card{background:var(--white);border-radius:var(--radius);border:1px solid var(--border);cursor:pointer;padding:14px;transition:all .2s}.kanban-card:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000000f}.kanban-card .k-ref{color:var(--blue-600);font-size:12px;font-weight:600}.kanban-card .k-client{color:var(--text-primary);margin:4px 0;font-size:13px;font-weight:500}.kanban-card .k-info{color:var(--text-muted);font-size:11px}.kanban-card .k-meta{border-top:1px solid var(--border-light);justify-content:space-between;align-items:center;margin-top:8px;padding-top:8px;display:flex}.tabs{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--border);gap:0;margin-bottom:16px;padding:4px;display:flex;overflow-x:auto}.tab-btn{font-size:13px;font-weight:500;font-family:var(--sans);color:var(--text-secondary);cursor:pointer;border-radius:var(--radius);white-space:nowrap;background:0 0;border:none;padding:8px 18px;transition:all .2s}.tab-btn:hover{color:var(--text-primary);background:#f8fafc}.tab-btn.active{background:var(--blue-600);color:var(--white)}.sec-row{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;display:grid}.fin-section{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--border);padding:20px}.fin-section h4{color:var(--text-primary);border-bottom:1px solid var(--border);margin-bottom:12px;padding-bottom:8px;font-size:14px;font-weight:600}.fin-item{border-bottom:1px solid var(--border-light);justify-content:space-between;padding:8px 0;font-size:13px;display:flex}.fin-item:last-child{border-bottom:none}.fin-item .label{color:#475569}.fin-item .amount{font-weight:600}.fin-item .amount.positive{color:var(--success)}.fin-item .amount.negative{color:var(--error)}.payment-grid{grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:16px;display:grid}.payment-card{background:var(--white);border:1px solid var(--border);text-align:center;cursor:pointer;border-radius:10px;padding:16px;transition:all .2s}.payment-card:hover{border-color:var(--blue-600);box-shadow:0 2px 8px #2563eb1a}.payment-card p{color:#475569;font-size:12px;font-weight:500}.payment-card .p-amount{color:var(--text-primary);margin-top:4px;font-size:16px;font-weight:700}.chart-placeholder{background:linear-gradient(180deg, #eff6ff 0%, var(--content-bg) 100%);border-radius:var(--radius);text-align:center;color:var(--text-muted);height:200px;padding:30px 20px;font-size:13px;position:relative;overflow:hidden}.chart-bars{justify-content:center;align-items:flex-end;gap:4px;height:140px;margin-top:10px;display:flex}.chart-bar-mini{border-radius:4px 4px 0 0;width:16px;min-height:4px;transition:height .3s}.chart-bar-mini.green{background:var(--success)}.chart-bar-mini.red{background:var(--error)}.chart-bar-mini.orange{background:var(--warning)}.chart-bar-mini.purple{background:#7c3aed}.auth-page{background:#f1f5f9;justify-content:center;align-items:center;min-height:100dvh;padding:20px;display:flex}.auth-card{background:var(--white);border-radius:16px;width:420px;max-width:100%;padding:36px 32px 28px;box-shadow:0 4px 24px #00000014}.auth-header{text-align:center;margin-bottom:28px}.auth-logo{justify-content:center;margin-bottom:12px;display:flex}.auth-header h1{color:#0f172a;margin-bottom:4px;font-size:22px;font-weight:700}.auth-subtitle{color:var(--text-secondary);font-size:14px}.auth-card .form-group{margin-bottom:18px}.auth-card .form-group label{color:#374151;margin-bottom:6px;font-size:13px;font-weight:600;display:block}.auth-card .form-group input{border:1px solid var(--border);border-radius:var(--radius);width:100%;font-size:14px;font-family:var(--sans);color:var(--text-primary);background:var(--white);outline:none;padding:10px 14px;transition:border-color .2s,box-shadow .2s}.auth-card .form-group input:focus{border-color:var(--blue-600);box-shadow:0 0 0 3px #2563eb1a}.auth-card .form-group input::placeholder{color:var(--text-muted)}.auth-card .btn.btn-primary{justify-content:center;width:100%;margin-top:8px;padding:12px 20px;font-size:15px}.auth-error{color:#b91c1c;border-radius:var(--radius);text-align:center;background:#fef2f2;border:1px solid #fecaca;margin-bottom:16px;padding:10px 14px;font-size:13px}.auth-footer-text{text-align:center;color:var(--text-secondary);border-top:1px solid var(--border);margin-top:24px;padding-top:16px;font-size:13px}.auth-footer-text a{color:var(--blue-600);font-weight:600;text-decoration:none}.auth-footer-text a:hover{text-decoration:underline}@media (width<=1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.detail-grid{grid-template-columns:1fr}.stats-row{grid-template-columns:repeat(2,1fr)}.caisse-grid{grid-template-columns:1fr 1fr}.kanban{grid-template-columns:1fr;gap:12px}.sec-row{grid-template-columns:1fr}.payment-grid{grid-template-columns:repeat(3,1fr)}.form-row{grid-template-columns:1fr}}@media (width<=768px){.stats-grid,.stats-row{grid-template-columns:1fr}.payment-grid{grid-template-columns:repeat(2,1fr)}.caisse-grid{grid-template-columns:1fr}}
