.df-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;border-radius:8px;font-family:Roboto,Noto Sans TC,sans-serif;font-weight:700;cursor:pointer;transition:all .2s ease;white-space:nowrap}.df-btn--sm{padding:8px 20px;font-size:14px;line-height:20px}.df-btn--md{padding:8px 20px;font-size:16px;line-height:24px}.df-btn--lg{padding:12px 16px;font-size:18px;line-height:1.23}.df-btn--primary{background:#269775;color:#fff}.df-btn--primary:hover{background:#1e7a5e}.df-btn--primary:active{background:#166449}.df-btn--danger{background:#fff;color:#e7000b;border:1.5px solid #E7000B}.df-btn--danger:hover{background:#fef2f2}.df-btn--danger:active{background:#fee2e2}.df-btn--outline{background:#fff;color:#565656cc;border:1.5px solid rgba(86,86,86,.5)}.df-btn--outline:hover{background:#f9fafb;border-color:#565656b3}.df-btn--outline:active{background:#f3f4f6}.df-btn--ghost{background:transparent;color:#6b7280}.df-btn--ghost:hover{background:#f3f4f6}.df-btn--disabled{opacity:.5;cursor:not-allowed}.df-btn--loading .df-btn__spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.df-btn__icon{display:flex;align-items:center;justify-content:center;font-size:20px}.df-btn__icon i{font-size:inherit}.df-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:100px;font-family:Roboto,Noto Sans TC,sans-serif;white-space:nowrap;border:1.5px solid;background:#fff}.df-badge--sm{padding:3px 12px;font-size:14px;font-weight:400;line-height:20px;letter-spacing:1px}.df-badge--md{padding:3px 12px;font-size:16px;font-weight:700;line-height:24px}.df-badge--success{color:#269775;border-color:#269775}.df-badge--danger{color:#e7000b;border-color:#e7000b}.df-badge--warning{color:#ee964b;border-color:#ee964b}.df-badge--gray{color:#56565680;border-color:#56565680}:root{--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;--primary-orange: #EE964B;--primary-orange-hover: #D97F3A;--primary-orange-light: rgba(238, 150, 75, .1);--token-gray-100: #565656;--token-orange-100: #EE964B;--token-red-10: #E7000B;--token-green-2-100: #5A7A45;--white: #FFFFFF;--page-padding: 32px;--grid-gap: 24px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-card: 0 4px 6px -1px rgba(0, 0, 0, .05), 0 2px 4px -1px rgba(0, 0, 0, .06)}.merchant-management{padding:var(--page-padding);font-family:Inter,system-ui,-apple-system,sans-serif;color:var(--gray-900);-webkit-font-smoothing:antialiased}.merchant-stats-row{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--grid-gap);margin-bottom:32px}.stat-card-clickable.active .stat-card-v2{background:#e8efe3!important;border-color:#c5d4bc!important}.merchant-stat-card{background:#fff;border-radius:16px;padding:32px;position:relative;border:1px solid var(--gray-200);box-shadow:var(--shadow-card);min-height:auto;transition:transform .2s ease,box-shadow .2s ease}.merchant-stat-card:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.merchant-stat-content{display:flex;flex-direction:column;gap:16px}.merchant-stat-label{font-size:20px;font-weight:700;color:var(--gray-600)}.merchant-stat-value{font-size:36px;font-weight:700;color:var(--gray-900);line-height:1;letter-spacing:-.02em}.merchant-stat-icon{position:absolute;top:0;right:24px;width:44px;height:52px;border-radius:0 0 12px 12px;display:flex;align-items:center;justify-content:center;padding-bottom:8px;box-shadow:0 4px 6px -1px #00000026;z-index:10}.merchant-stat-icon img{width:20px;height:20px;filter:brightness(0) invert(1)}.merchant-stat-icon.store{background:var(--token-gray-100)}.merchant-stat-icon.warning{background:var(--token-orange-100)}.merchant-stat-icon.danger{background:var(--token-red-10)}.merchant-stat-icon.success{background:var(--token-green-2-100)}.merchant-stat-icon.trending{background:var(--token-gray-100)}.merchant-stat-value.warning{color:var(--token-orange-100)}.merchant-stat-value.danger{color:var(--token-red-10)}.merchant-stat-value.success{color:var(--token-green-2-100)}.merchant-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:32px;background:var(--white);padding:24px;border-radius:16px;border:1px solid var(--gray-200);box-shadow:var(--shadow-card)}.merchant-search-input{display:flex;align-items:center;gap:12px;background:#f9fafb;border:1px solid #E5E7EB;border-radius:12px;padding:0 16px;width:480px;height:48px;transition:all .2s ease;margin-right:auto}.merchant-search-input:focus-within{background:#fff;border-color:var(--primary-orange);box-shadow:0 0 0 3px var(--primary-orange-light)}.merchant-search-input i,.merchant-search-input .search-icon{width:18px;height:18px;margin-right:12px;opacity:.5}.merchant-search-input input{flex:1;border:none;outline:none;padding:8px 0;font-size:14px;color:#1f2937;background:transparent}.merchant-search-input input::placeholder{color:#9ca3af}.merchant-filter-tabs{display:flex;gap:4px;background:#f3f4f6;border-radius:8px;padding:4px}.merchant-toolbar .merchant-search-input{flex:0 1 480px;margin-right:auto}.merchant-toolbar .merchant-filter-tabs{margin-right:0}.filter-tab{padding:6px 16px;border:none;background:transparent;border-radius:6px;font-size:13px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s ease}.filter-tab:hover{color:#374151}.filter-tab.active{background:#fff;color:#111827;font-weight:600;box-shadow:0 1px 2px #0000000d}.btn-export{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#fff;border:1px solid #E5E7EB;border-radius:8px;font-size:14px;font-weight:600;color:#374151;cursor:pointer;transition:all .2s ease;white-space:nowrap;box-shadow:0 1px 2px #0000000d}.btn-export:hover{background:#f9fafb;border-color:#d1d5db;color:#111827}.btn-export i,.btn-export img{width:18px;height:18px;opacity:.7}.merchant-table-container{background:var(--white);border-radius:16px;border:1px solid var(--gray-200);box-shadow:var(--shadow-card);overflow:hidden}.merchant-table{width:100%;border-collapse:separate;border-spacing:0}.merchant-table thead{background:var(--gray-50)}.merchant-table th{padding:20px 24px;text-align:left;font-size:13px;font-weight:600;color:var(--gray-500);border-bottom:1px solid var(--gray-200);border-right:1px solid var(--gray-200);white-space:nowrap;text-transform:uppercase;letter-spacing:.02em}.merchant-table th:first-child{padding-left:24px;border-top-left-radius:16px}.merchant-table th:last-child{padding-right:24px;border-right:none;border-top-right-radius:16px}.merchant-table td{padding:20px 24px;border-bottom:1px solid var(--gray-200);border-right:1px solid var(--gray-200);vertical-align:middle}.merchant-table td:first-child{padding-left:24px}.merchant-table td:last-child{padding-right:24px;border-right:none}.merchant-table tbody tr:last-child td:first-child{border-bottom-left-radius:16px}.merchant-table tbody tr:last-child td:last-child{border-bottom-right-radius:16px}.merchant-table tbody tr{transition:background-color .15s ease;cursor:pointer}.merchant-table tbody tr:hover{background:var(--gray-50)}.merchant-table tbody tr:active,.merchant-table tbody tr.selected{background:var(--primary-orange-light)}.merchant-table tbody tr.selected:hover{background:#ee964b26}.merchant-info-cell{display:flex;align-items:center;gap:16px}.merchant-avatar{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--gray-100) 0%,#E5E7EB 100%);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;border:1px solid rgba(0,0,0,.05)}.merchant-avatar span{font-size:18px;font-weight:600;color:var(--gray-600)}.merchant-details{display:flex;flex-direction:column;gap:4px}.merchant-name{font-size:14px;font-weight:600;color:var(--gray-900)}.merchant-type{font-size:13px;color:var(--gray-500);display:flex;align-items:center;gap:6px}.merchant-type i{font-size:14px}.merchant-type-cell{display:flex;flex-direction:column;gap:8px}.merchant-location{font-size:13px;color:var(--gray-600);display:flex;align-items:center;gap:4px}.merchant-location i{font-size:14px;color:var(--gray-400)}.merchant-categories{display:flex;flex-wrap:wrap;gap:6px}.category-tag{display:inline-block;padding:4px 10px;background:var(--gray-100);color:var(--gray-600);border-radius:6px;font-size:12px;font-weight:500;border:1px solid transparent}.merchant-status-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:9999px;font-size:12px;font-weight:600;line-height:1.5;gap:6px}.merchant-status-badge:before{content:"";display:block;width:6px;height:6px;border-radius:50%;background:currentColor}.merchant-status-badge.active{background:#10b9811a;color:#059669}.merchant-status-badge.pending{background:#fffbeb;color:#d97706}.merchant-status-badge.rejected{background:#fef2f2;color:#dc2626}.merchant-status-badge.disabled{background:var(--gray-100);color:var(--gray-400)}.merchant-rating{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--gray-900)}.merchant-rating i{color:#fbbf24;font-size:16px}.merchant-count,.merchant-revenue,.merchant-date{font-size:14px;color:var(--gray-600);font-variant-numeric:tabular-nums;font-weight:500}.btn-action{padding:10px 20px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;text-align:center;color:#fff;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.btn-action:hover{transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.btn-action.success{background:#059669}.btn-action.success:hover{background:#047857}.btn-action.warning{background:#d97706}.btn-action.warning:hover{background:#b45309}.btn-action.danger{background:#dc2626}.btn-action.danger:hover{background:#b91c1c}.merchant-pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:32px;padding-bottom:32px}.merchant-pagination .btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:#fff;border:1px solid var(--gray-200);border-radius:8px;color:var(--gray-700);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm);min-width:90px;justify-content:center}.merchant-pagination .btn:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-300);color:var(--gray-900)}.merchant-pagination .btn:disabled{background:var(--gray-50);border-color:var(--gray-100);color:var(--gray-300);cursor:not-allowed;box-shadow:none}.page-info{font-size:14px;color:var(--gray-500);font-weight:500;background:#fff;padding:8px 16px;border-radius:8px;border:1px solid var(--gray-100)}@media (max-width: 1280px){.merchant-stats-row{grid-template-columns:repeat(3,1fr)}.merchant-toolbar{flex-wrap:wrap}.merchant-search-input{flex:1 1 100%;order:1}.merchant-filter-tabs{order:2}.btn-export{order:3;margin-left:auto}}@media (max-width: 1024px){.merchant-stats-row{grid-template-columns:repeat(2,1fr)}.merchant-table{font-size:13px}.merchant-table th,.merchant-table td{padding:12px}}@media (max-width: 768px){.merchant-stats-row{grid-template-columns:1fr}.merchant-toolbar{flex-direction:column;align-items:stretch}.merchant-search-input{flex:none}.merchant-filter-tabs{justify-content:flex-start}.btn-export{align-self:flex-end}.merchant-table-container{overflow-x:auto}}.certification-detail-page{padding:0;font-family:Inter,system-ui,-apple-system,sans-serif}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:#6b7280}.loading-spinner{width:40px;height:40px;border:3px solid #E5E7EB;border-top-color:#5a7a45;border-radius:50%;animation:spin 1s linear infinite}.error-container i{font-size:48px;color:#e7000b;margin-bottom:16px}.detail-header{display:flex!important;flex-direction:row!important;justify-content:space-between;align-items:center;padding:20px 24px;background:#fff;border-radius:16px;margin-bottom:20px;box-shadow:0 1px 3px #00000014}.header-left{display:flex!important;flex-direction:row!important;align-items:center;gap:16px}.btn-back{width:40px;height:40px;border-radius:8px;border:none;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#6b7280;transition:all .2s}.btn-back:hover{background:#f3f4f6;color:#374151}.merchant-avatar{width:56px;height:56px;border-radius:12px;overflow:hidden;background:linear-gradient(135deg,#fef3e2,#fdebd0);display:flex;align-items:center;justify-content:center;flex-shrink:0}.merchant-avatar img{width:100%;height:100%;object-fit:cover}.avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:#b45309}.header-info{display:flex;flex-direction:column;gap:6px}.header-title-row{display:flex;align-items:center;gap:12px}.merchant-name{font-size:22px;font-weight:700;color:#111827;margin:0}.header-status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:20px;font-size:13px;font-weight:600}.header-status-badge .status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.header-status-badge.pending{background:#fef3c7;color:#d97706}.header-status-badge.approved{background:#d1fae5;color:#059669}.header-status-badge.rejected{background:#fee2e2;color:#dc2626}.header-meta{display:flex;align-items:center;gap:20px;font-size:14px;color:#6b7280}.header-meta span{display:flex;align-items:center;gap:6px}.header-meta i{font-size:16px;color:#9ca3af}.btn-reject{display:flex;align-items:center;gap:8px;padding:10px 20px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;background:#fff;color:#dc2626;border:1px solid #DC2626}.btn-reject:hover{background:#fef2f2}.btn-approve{display:flex;align-items:center;gap:8px;padding:10px 20px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;background:#059669;color:#fff;border:none}.btn-approve:hover{background:#047857}.btn-reject:disabled,.btn-approve:disabled{opacity:.6;cursor:not-allowed}.audit-notice{display:flex;align-items:flex-start;gap:12px;padding:16px 20px;background:#fef9e7;border:1px solid #F7DC6F;border-radius:12px;margin-bottom:20px}.audit-notice-icon{color:#ee964b;font-size:24px;line-height:1}.audit-notice-icon i{display:block}.audit-notice-content{flex:1}.audit-notice-title{font-size:16px;font-weight:700;color:#ee964b;margin-bottom:4px}.audit-notice-text{font-size:14px;color:#b45309;line-height:1.5}.audit-notice-text .highlight{color:#dc2626;font-weight:600}.payment-status-card{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:#fff;border-radius:12px;margin-bottom:20px;box-shadow:0 1px 3px #00000014}.payment-left{display:flex;align-items:center;gap:16px}.payuni-logo{width:60px;height:24px;flex-shrink:0}.payuni-logo .pay{color:#1e3a8a}.payuni-logo .uni{color:#059669}.payment-label{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500;color:#374151}.payment-badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600}.payment-badge.pending{background:#fef3c7;color:#d97706}.payment-badge.approved{background:#d1fae5;color:#059669}.payment-badge.gray{background:#f3f4f6;color:#6b7280}.payment-desc{font-size:13px;color:#6b7280}.payment-merchant-id{font-size:12px;color:#9ca3af}.btn-account-status{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;background:#fff;color:#059669;border:1px solid #059669;transition:all .2s}.btn-account-status:hover{background:#ecfdf5}.detail-content-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.detail-left-column,.detail-right-column{display:flex;flex-direction:column;gap:20px}.detail-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #00000014}.card-header{display:flex;align-items:center;gap:10px;padding:18px 24px;border-bottom:1px solid #F3F4F6;font-size:17px;font-weight:600;color:#111827}.card-header i{font-size:20px;color:#6b7280}.card-body{padding:20px 24px}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.info-field{display:flex;flex-direction:column;gap:6px;padding:14px 16px;background:#f9fafb;border-radius:10px;border:1px solid #F3F4F6}.info-field.with-toggle{flex-direction:row;align-items:center;justify-content:space-between}.info-field.with-toggle .field-content{display:flex;flex-direction:column;gap:6px;flex:1}.info-field.full-width{grid-column:span 2}.field-label{font-size:13px;color:#6b7280}.field-value{font-size:15px;font-weight:500;color:#111827}.toggle-circle{width:28px;height:28px;border-radius:50%;border:2px solid #D1D5DB;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.toggle-circle:hover{border-color:#9ca3af}.toggle-circle.checked{background:#059669;border-color:#059669}.id-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.id-card-item{display:flex;flex-direction:column;gap:12px}.id-card-image{width:100%;aspect-ratio:1.6;border-radius:12px;overflow:hidden;background:#f3f4f6;display:flex;align-items:center;justify-content:center}.id-card-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#f3f4f6;color:#9ca3af}.id-card-placeholder i{font-size:32px}.id-card-placeholder span{font-size:13px}.id-card-placeholder.expired{background:#fef3c7;color:#d97706}.id-card-placeholder.expired i{color:#f59e0b}.id-card-placeholder .expired-hint{font-size:11px;color:#b45309;opacity:.7}.id-card-image.image-load-failed{position:relative}.id-card-image.image-load-failed:after{content:"圖片載入失敗";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#f3f4f6;color:#9ca3af;font-size:13px}.id-card-footer{display:flex;align-items:center;justify-content:space-between}.id-card-label{font-size:14px;color:#6b7280}.document-list{display:flex;flex-direction:column;gap:12px}.document-item{display:flex;align-items:center;gap:16px;padding:12px;background:#f9fafb;border-radius:12px;border:1px solid #F3F4F6}.document-image{width:120px;height:80px;border-radius:10px;overflow:hidden;background:#e5e7eb;flex-shrink:0}.document-info{flex:1;display:flex;align-items:center;gap:12px}.document-number{font-size:18px;font-weight:700;color:#111827}.document-title{font-size:15px;font-weight:500;color:#111827}.document-link{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:#e5e7eb;color:#6b7280;transition:all .2s}.document-link:hover{background:#d1d5db;color:#374151}.document-link i{font-size:16px}.other-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:20px}.other-info-item{display:flex;flex-direction:column;gap:4px}.cert-badges-section{margin-top:8px}.cert-badges-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.cert-badge{display:flex;align-items:flex-start;gap:10px;padding:12px;background:#f9fafb;border-radius:10px;border:1px solid #E5E7EB}.cert-badge-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.cert-badge-icon i{font-size:18px;color:#fff}.cert-badge-icon.organic{background:#059669}.cert-badge-icon.tap{background:#2563eb}.cert-badge-icon.cas{background:#dc2626}.cert-badge-content{flex:1;min-width:0}.cert-badge-title{font-size:13px;font-weight:600;color:#111827;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cert-badge-desc{font-size:11px;color:#6b7280;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.modal-content{background:#fff;border-radius:16px;width:90%;max-width:480px;box-shadow:0 20px 25px -5px #0000001a}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #E5E7EB}.modal-header h3{font-size:18px;font-weight:600;color:#111827;margin:0}.modal-close{width:32px;height:32px;border-radius:8px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#6b7280}.modal-close:hover{background:#f3f4f6;color:#374151}.form-label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:8px}.form-label .required{color:#dc2626}.form-textarea{width:100%;padding:12px 16px;border:1px solid #D1D5DB;border-radius:10px;font-size:14px;color:#111827;resize:vertical;font-family:inherit}.form-textarea:focus{outline:none;border-color:#5a7a45;box-shadow:0 0 0 3px #5a7a451a}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #E5E7EB}.btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary{background:#fff;color:#374151;border:1px solid #D1D5DB}.btn-secondary:hover{background:#f9fafb}.btn-danger{background:#dc2626;color:#fff;border:none}.btn-danger:hover{background:#b91c1c}.btn-primary{background:#5a7a45;color:#fff;border:none}.btn-primary:hover{background:#4a6838}@media (max-width: 1280px){.cert-badges-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 1024px){.detail-content-grid{grid-template-columns:1fr}.header-meta{flex-wrap:wrap;gap:12px}}@media (max-width: 768px){.detail-header{flex-direction:column;align-items:flex-start;gap:16px}.header-actions{width:100%}.btn-reject,.btn-approve{flex:1;justify-content:center}.info-grid{grid-template-columns:1fr}.info-field.full-width{grid-column:span 1}.id-card-grid,.cert-badges-grid{grid-template-columns:1fr}}.member-list-page{font-family:Inter,system-ui,-apple-system,sans-serif}.member-list-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.member-list-page .header-left{display:flex;flex-direction:column;gap:4px}.member-list-page .page-title{font-size:28px;font-weight:700;color:#111827;margin:0;line-height:36px}.member-list-page .page-subtitle{font-size:14px;color:#6b7280;margin:0}.member-list-page .btn-export{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#5a7a45;color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.member-list-page .btn-export:hover{background:#4a6838}.member-list-page .stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.member-list-page .stat-card{display:flex;align-items:center;gap:16px;padding:20px 24px;background:#fff;border-radius:16px;box-shadow:0 1px 3px #00000014}.member-list-page .stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center}.member-list-page .stat-icon i{font-size:24px;color:#fff}.member-list-page .stat-icon.gray{background:#565656}.member-list-page .stat-icon.green{background:#5a7a45}.member-list-page .stat-icon.orange{background:#ee964b}.member-list-page .stat-icon.blue{background:#2563eb}.member-list-page .stat-content{display:flex;flex-direction:column;gap:4px}.member-list-page .stat-label{font-size:14px;color:#6b7280}.member-list-page .stat-value{font-size:28px;font-weight:700;color:#111827}.member-list-page .toolbar{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#fff;border-radius:12px;margin-bottom:16px;box-shadow:0 1px 3px #00000014}.member-list-page .search-input{display:flex;align-items:center;gap:10px;flex:1;max-width:400px;padding:10px 16px;background:#f9fafb;border:1px solid #E5E7EB;border-radius:10px}.member-list-page .search-input i{color:#9ca3af;font-size:18px}.member-list-page .search-input input{flex:1;border:none;background:transparent;font-size:14px;color:#111827;outline:none}.member-list-page .search-input input::placeholder{color:#9ca3af}.member-list-page .filter-select{padding:10px 14px;border:1px solid #E5E7EB;border-radius:10px;font-size:14px;color:#374151;background:#fff;cursor:pointer;outline:none}.member-list-page .filter-select:focus{border-color:#5a7a45}.member-list-page .btn-search,.member-list-page .btn-refresh{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border:1px solid #E5E7EB;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;background:#fff;color:#374151}.member-list-page .btn-search:hover,.member-list-page .btn-refresh:hover{background:#f9fafb;border-color:#d1d5db}.member-list-page .btn-refresh{padding:10px 12px}.member-list-page .table-container{background:#fff;border-radius:16px;box-shadow:0 1px 3px #00000014;overflow:hidden}.member-list-page .member-table{width:100%;border-collapse:collapse}.member-list-page .member-table th{padding:16px 20px;text-align:left;font-size:13px;font-weight:600;color:#6b7280;background:#f9fafb;border-bottom:1px solid #E5E7EB;text-transform:uppercase;letter-spacing:.02em}.member-list-page .member-table td{padding:16px 20px;border-bottom:1px solid #F3F4F6;vertical-align:middle}.member-list-page .member-table tbody tr:hover{background:#f9fafb}.member-list-page .member-table tbody tr:last-child td{border-bottom:none}.member-list-page .member-info{display:flex;align-items:center;gap:14px}.member-list-page .member-avatar{width:44px;height:44px;border-radius:10px;background:linear-gradient(135deg,#e0e7ff,#c7d2fe);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.member-list-page .member-avatar img{width:100%;height:100%;object-fit:cover}.member-list-page .member-avatar span{font-size:18px;font-weight:600;color:#4338ca}.member-list-page .member-details{display:flex;flex-direction:column;gap:2px}.member-list-page .member-name{font-size:15px;font-weight:600;color:#111827}.member-list-page .member-id{font-size:13px;color:#6b7280}.member-list-page .member-merchant-id{font-size:13px;color:#ee964b;font-weight:500}.member-list-page .member-date{font-size:12px;color:#9ca3af}.member-list-page .contact-info{display:flex;flex-direction:column;gap:2px}.member-list-page .contact-email{font-size:14px;color:#111827}.member-list-page .contact-phone{font-size:13px;color:#6b7280}.member-list-page .points-info{display:flex;flex-direction:column;gap:2px}.member-list-page .points-main{font-size:14px;font-weight:500;color:#111827}.member-list-page .points-sub{font-size:12px;color:#6b7280}.member-list-page .status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:20px;font-size:13px;font-weight:600}.member-list-page .status-badge i{font-size:14px}.member-list-page .status-badge.active{background:#d1fae5;color:#059669}.member-list-page .status-badge.disabled{background:#f3f4f6;color:#6b7280}.member-list-page .level-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:20px;font-size:13px;font-weight:600}.member-list-page .level-badge i{font-size:14px}.member-list-page .level-badge.normal{background:#f3f4f6;color:#6b7280}.member-list-page .level-badge.silver{background:#e5e7eb;color:#4b5563}.member-list-page .level-badge.gold{background:#fef3c7;color:#d97706}.member-list-page .type-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:20px;font-size:13px;font-weight:600}.member-list-page .type-badge i{font-size:14px}.member-list-page .type-badge.merchant{background:#d1fae5;color:#059669}.member-list-page .type-badge.buyer{background:#dbeafe;color:#2563eb}.member-list-page .action-buttons{display:flex;gap:8px}.member-list-page .btn-view,.member-list-page .btn-toggle{width:36px;height:36px;border-radius:8px;border:1px solid #E5E7EB;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.member-list-page .btn-view i,.member-list-page .btn-toggle i{font-size:18px;color:#6b7280}.member-list-page .btn-view:hover{background:#f3f4f6;border-color:#d1d5db}.member-list-page .btn-view:hover i{color:#2563eb}.member-list-page .btn-toggle:hover{background:#f3f4f6;border-color:#d1d5db}.member-list-page .btn-toggle.active i{color:#059669}.member-list-page .btn-toggle:not(.active) i{color:#dc2626}.member-list-page .btn-toggle:disabled{opacity:.5;cursor:not-allowed}.member-list-page .loading-cell,.member-list-page .empty-cell{text-align:center;padding:60px 20px!important;color:#9ca3af}.member-list-page .loading-cell i,.member-list-page .empty-cell i{font-size:40px;margin-bottom:12px;display:block}.spinning{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.member-list-page .empty-cell p{margin:0;font-size:15px}.member-list-page .pagination{display:flex;justify-content:center;align-items:center;gap:16px;padding:24px}.member-list-page .btn-page{display:flex;align-items:center;gap:6px;padding:10px 16px;border:1px solid #E5E7EB;border-radius:8px;background:#fff;font-size:14px;font-weight:500;color:#374151;cursor:pointer;transition:all .2s}.member-list-page .btn-page:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db}.member-list-page .btn-page:disabled{opacity:.5;cursor:not-allowed}.member-list-page .page-info{font-size:14px;color:#6b7280;padding:8px 16px;background:#f9fafb;border-radius:8px}.member-list-page .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.member-list-page .modal-content{background:#fff;border-radius:16px;width:90%;max-width:560px;box-shadow:0 20px 25px -5px #0000001a}.member-list-page .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #E5E7EB}.member-list-page .modal-header h3{font-size:18px;font-weight:600;color:#111827;margin:0}.member-list-page .modal-close{width:32px;height:32px;border-radius:8px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#6b7280;transition:all .2s}.member-list-page .modal-close:hover{background:#f3f4f6;color:#374151}.member-list-page .modal-close i{font-size:20px}.member-list-page .modal-body{padding:24px}.member-list-page .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #E5E7EB}.member-list-page .loading-state{text-align:center;padding:40px;color:#6b7280}.member-list-page .loading-state i{font-size:32px;margin-bottom:12px;display:block}.member-list-page .detail-header{display:flex;gap:20px;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #E5E7EB}.member-list-page .detail-avatar{width:80px;height:80px;border-radius:16px;background:linear-gradient(135deg,#e0e7ff,#c7d2fe);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.member-list-page .detail-avatar img{width:100%;height:100%;object-fit:cover}.member-list-page .detail-avatar span{font-size:32px;font-weight:600;color:#4338ca}.member-list-page .detail-main{display:flex;flex-direction:column;gap:8px}.member-list-page .detail-main h4{font-size:20px;font-weight:600;color:#111827;margin:0}.member-list-page .detail-main p{font-size:14px;color:#6b7280;margin:0}.member-list-page .detail-badges{display:flex;gap:8px;flex-wrap:wrap}.member-list-page .detail-section{margin-bottom:20px}.member-list-page .detail-section:last-child{margin-bottom:0}.member-list-page .detail-section h5{font-size:14px;font-weight:600;color:#374151;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #F3F4F6}.member-list-page .detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.member-list-page .detail-item{display:flex;flex-direction:column;gap:4px}.member-list-page .detail-item label{font-size:12px;color:#6b7280}.member-list-page .detail-item span{font-size:14px;color:#111827}.member-list-page .btn-status{display:flex;align-items:center;gap:6px;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;border:none}.member-list-page .btn-status.success{background:#059669;color:#fff}.member-list-page .btn-status.success:hover{background:#047857}.member-list-page .btn-status.danger{background:#dc2626;color:#fff}.member-list-page .btn-status.danger:hover{background:#b91c1c}.member-list-page .btn-close{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;background:#fff;color:#374151;border:1px solid #D1D5DB}.member-list-page .btn-close:hover{background:#f9fafb}@media (max-width: 1200px){.member-list-page .stats-row{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.member-list-page .page-header{flex-direction:column;align-items:flex-start;gap:16px}.member-list-page .stats-row{grid-template-columns:1fr}.member-list-page .toolbar{flex-wrap:wrap}.member-list-page .search-input{max-width:none;width:100%}.member-list-page .table-container{overflow-x:auto}.member-list-page .member-table{min-width:900px}.member-list-page .detail-grid{grid-template-columns:1fr}}.member-list-page .header-buttons{display:flex;gap:12px;align-items:center}.member-list-page .btn-add{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#2563eb;color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.member-list-page .btn-add:hover{background:#1d4ed8}.member-list-page .btn-edit{width:32px;height:32px;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;background:#f3f4f6;color:#2563eb}.member-list-page .btn-edit:hover{background:#dbeafe;color:#1d4ed8}.member-list-page .btn-delete{width:32px;height:32px;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;background:#f3f4f6;color:#dc2626}.member-list-page .btn-delete:hover{background:#fee2e2;color:#b91c1c}.member-list-page .delete-modal{max-width:420px}.member-list-page .delete-warning{text-align:center;padding:20px 0}.member-list-page .delete-warning>i{font-size:48px;color:#dc2626;margin-bottom:16px}.member-list-page .delete-warning p{font-size:16px;color:#374151;margin:0 0 8px}.member-list-page .delete-warning .delete-hint{font-size:14px;color:#6b7280}.member-list-page .edit-modal,.member-list-page .add-modal{max-width:480px}.member-list-page .form-group{margin-bottom:16px}.member-list-page .form-group label{display:block;font-size:14px;font-weight:600;color:#374151;margin-bottom:6px}.member-list-page .form-group label .required{color:#dc2626}.member-list-page .form-input,.member-list-page .form-select{width:100%;padding:10px 14px;border:1px solid #D1D5DB;border-radius:8px;font-size:14px;transition:all .2s;background:#fff;box-sizing:border-box}.member-list-page .form-input:focus,.member-list-page .form-select:focus{outline:none;border-color:#5a7a45;box-shadow:0 0 0 3px #5a7a451a}.member-list-page .form-input.disabled{background:#f3f4f6;color:#6b7280;cursor:not-allowed}.member-list-page .form-input::placeholder{color:#9ca3af}.member-list-page .btn-cancel{padding:10px 20px;background:#f3f4f6;color:#374151;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.member-list-page .btn-cancel:hover{background:#e5e7eb}.member-list-page .btn-primary{padding:10px 20px;background:#5a7a45;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.member-list-page .btn-primary:hover{background:#4a6838}.member-list-page .btn-primary:disabled{background:#9ca3af;cursor:not-allowed}.member-list-page .btn-danger{padding:10px 20px;background:#dc2626;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.member-list-page .btn-danger:hover{background:#b91c1c}.member-list-page .btn-danger:disabled{background:#9ca3af;cursor:not-allowed}:root{--color1: #99A670;--c1: #8FAF6E;--c2: #7A9B5A;--c3: #F5F2E8;--color-7: #79A51E;--color-11: #E8F0DD;--color: #2697B0;--color-3: #8BCEC4;--color-5: #5FBBA6;--brand-green1-50: rgba(153, 166, 112, .5);--brand-green1-100: #99A670;--brand-green2-70: rgba(90, 122, 69, .7);--brand-green2-100: #5A7A45;--brand-green3-100: #B8D89E;--brand-green4-50: rgba(142, 217, 182, .5);--brand-green4-100: #8ED9B6;--brand-green5-100: #3DAE88;--brand-littlegreen1-60: rgba(235, 238, 227, .6);--brand-littlegreen1-100: #EBEEE3;--brand-gray1-20: rgba(86, 86, 86, .2);--brand-gray1-30: rgba(86, 86, 86, .3);--brand-gray1-50: rgba(86, 86, 86, .5);--brand-gray1-80: rgba(86, 86, 86, .8);--brand-gray1-100: #565656;--brand-black-80: rgba(0, 0, 0, .8);--brand-black-100: #000000;--brand-white-40: rgba(255, 255, 255, .4);--brand-white-70: rgba(255, 255, 255, .7);--brand-white-100: #FFFFFF;--brand-orange-50: rgba(238, 150, 75, .5);--brand-orange-100: #EE964B;--white: #FFFFFF;--bgapp: #F5F9F2;--border-color: #DADADA;--dialog-bg: #F3F3F5;--sencoy-bg: #F5F7F1;--text: #3537A6;--text-secondary: rgba(86, 86, 86, .8);--color-10: #E7000B;--primary: #99A670;--primary-light: #E8F0DD;--primary-dark: #7A9B5A;--primary-bg: #F5F9F2;--danger: #E7000B;--danger-light: #FFCDD2;--danger-bg: #FFEBEE;--warning: #EE964B;--warning-bg: #FFF3E0;--success: #3DAE88;--success-bg: #E8F5E9;--info: #64B5F6;--info-bg: #E3F2FD;--purple: #BA68C8;--purple-bg: #F3E5F5;--gray-900: #212121;--gray-800: #424242;--gray-700: #616161;--gray-600: #757575;--gray-500: #9E9E9E;--gray-400: #BDBDBD;--gray-300: #E0E0E0;--gray-200: #EEEEEE;--gray-100: #F5F5F5;--gray-50: #FAFAFA;--sidebar-width: 200px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Noto Sans TC,Inter,Roboto,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bgapp);color:var(--text);font-size:14px;line-height:1.5}.login-page{min-height:100vh;display:flex;background:linear-gradient(135deg,#2d3b2d,#4a5d4a,#3d4f3d)}.login-left{flex:1;display:flex;flex-direction:column;justify-content:center;padding:60px;color:#fff}.login-hero-title{font-size:48px;font-weight:700;margin-bottom:20px;line-height:1.2}.login-hero-title span{color:var(--primary-light)}.login-hero-desc{font-size:18px;color:#b5c9a8;max-width:500px;margin-bottom:40px}.login-features{display:flex;flex-wrap:wrap;gap:30px}.login-feature{display:flex;align-items:center;gap:12px}.login-feature i{font-size:24px;color:var(--primary-light)}.login-feature span{font-size:15px;color:#d4e4c8}.login-right{width:500px;display:flex;align-items:center;justify-content:center;padding:40px}.login-card{background:#fff;border-radius:24px;padding:50px;width:100%;max-width:420px;box-shadow:0 25px 80px #0000004d}.login-logo{text-align:center;margin-bottom:35px}.login-logo-icon{width:80px;height:80px;margin:0 auto 15px}.login-logo-icon img{width:100%;height:100%;object-fit:contain}.login-logo-text{font-size:26px;font-weight:700;color:var(--gray-900)}.login-logo-sub{font-size:14px;color:var(--gray-500);margin-top:5px}.login-title{text-align:center;font-size:18px;color:var(--gray-700);margin-bottom:30px}#google-signin-btn{display:flex;justify-content:center}.login-divider{display:flex;align-items:center;margin:30px 0;color:var(--gray-400);font-size:13px}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--gray-200)}.login-divider span{padding:0 15px}.login-info{background:var(--gray-100);border-radius:12px;padding:15px;font-size:13px;color:var(--gray-600);text-align:center}.login-info i{color:var(--primary);margin-right:5px}.login-field{margin-bottom:16px}.login-field input{width:100%;padding:12px 16px;border:1px solid var(--gray-300);border-radius:10px;font-size:15px;color:var(--gray-800);background:var(--gray-50);box-sizing:border-box;outline:none;transition:border-color .2s}.login-field input:focus{border-color:var(--primary);background:#fff}.login-error{color:#e53e3e;font-size:13px;margin-bottom:12px;text-align:center}.login-btn{width:100%;padding:13px;background:var(--primary);color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;margin-bottom:20px;transition:opacity .2s}.login-btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 1024px){.login-left{display:none}.login-right{width:100%}}.admin-app{display:none;min-height:100vh}.admin-app.show{display:flex}.sidebar{width:var(--sidebar-width);background:var(--white);border-right:1px solid var(--gray-200);display:flex;flex-direction:column;position:fixed;left:0;top:0;height:100vh;z-index:100}.sidebar-header{padding:16px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--gray-200)}.sidebar-logo{width:32px;height:32px;border-radius:8px;overflow:hidden;flex-shrink:0}.sidebar-logo img{width:100%;height:100%;object-fit:cover}.sidebar-title{font-size:13px;font-weight:700;color:var(--gray-800);line-height:1.3}.sidebar-nav{flex:1;padding:12px 8px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:10px;padding:0 12px;height:40px;color:var(--gray-600);text-decoration:none;border-radius:8px;font-size:14px;cursor:pointer;transition:all .15s ease}.nav-item:hover{background:var(--gray-100);color:var(--gray-800)}.nav-item.active{background:var(--primary-light);color:var(--primary-dark);font-weight:600}.nav-item.active i{color:var(--primary-dark)}.nav-item i{font-size:18px;width:20px;text-align:center;color:inherit;transition:color .15s}.nav-item span{font-size:14px;letter-spacing:0;line-height:20px;white-space:nowrap}.sidebar-footer{padding:12px 8px;border-top:1px solid var(--gray-200)}.user-profile{display:flex;align-items:center;padding:8px 12px;gap:10px;border-radius:8px;cursor:pointer;transition:background .15s}.user-profile:hover{background:var(--gray-100)}.user-avatar{width:32px;height:32px;border-radius:50%;background:var(--success);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;overflow:hidden;flex-shrink:0}.user-avatar img{width:100%;height:100%;object-fit:cover}.user-info{flex:1;min-width:0}.user-name{font-size:14px;font-weight:600;color:var(--gray-900);line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:12px;color:var(--gray-500);line-height:16px}.user-role.super{color:#f59e0b}.user-role i{font-size:12px}.sidebar-footer i.ri-logout-box-r-line{color:var(--gray-600);font-size:20px;cursor:pointer;transition:color .2s}.sidebar-footer i.ri-logout-box-r-line:hover{color:var(--gray-800)}.main-content{flex:1;margin-left:var(--sidebar-width);background:var(--primary-bg);min-height:100vh}.topbar{height:56px;background:var(--white);border-bottom:1px solid var(--gray-200);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:50}.search-box{display:flex;align-items:center;border:1px solid var(--gray-300);border-radius:8px;padding:8px 12px;width:400px;transition:all .2s;background:var(--white)}.search-box:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px #99a67026}.search-box i{color:var(--gray-400);margin-right:8px;font-size:18px}.search-box input{border:none;background:none;padding:0;width:100%;font-size:14px;outline:none;color:var(--gray-800)}.search-box input::placeholder{color:var(--gray-400)}.topbar-right{display:flex;align-items:center;gap:16px}.topbar-btn{width:28px;height:28px;position:relative;border:none;background:none;cursor:pointer;color:var(--gray-600);display:flex;align-items:center;justify-content:center;font-size:20px;transition:color .15s}.topbar-btn:hover{color:var(--gray-800)}.topbar-btn .badge{position:absolute;top:2px;right:2px;width:7px;height:7px;background:#fb2c36;border-radius:50%}.topbar-date{text-align:right;font-size:13px;color:var(--gray-600);display:flex;flex-direction:column;line-height:1.3}.topbar-date .date{font-weight:400;color:var(--gray-700);font-size:13px}.topbar-date .weekday{font-size:12px;color:var(--gray-500)}.page-content{padding:24px 32px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;height:72px}.page-title{font-size:28px;font-weight:700;color:var(--gray-900);line-height:36px}.page-subtitle{font-size:18px;color:var(--gray-600);margin-top:8px;letter-spacing:.77px;line-height:162.19%}.page-subtitle .count{color:var(--success-light);font-weight:700;font-size:24px;line-height:32px}.header-actions{display:flex;gap:12px}.btn{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;border:1.3px solid rgba(0,0,0,.1);background:var(--white);color:var(--gray-600);transition:all .2s;letter-spacing:-.31px;line-height:24px}.btn:hover{background:var(--gray-50);border-color:var(--gray-300)}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-sm{padding:6px 12px;font-size:14px}.stats-row{display:flex;gap:24px;margin-bottom:24px}.stat-card{flex:1;height:120px;background:var(--white);box-shadow:0 4px 4px #0000001a;border:1px solid var(--gray-300);border-radius:15px;padding:24px;position:relative;transition:all .2s}.stat-card:hover{box-shadow:0 8px 16px #0000001f}.stat-content{display:flex;flex-direction:column;gap:12px}.stat-label{font-size:20px;font-weight:700;color:var(--gray-600);line-height:28px}.stat-value{font-size:36px;font-weight:700;line-height:40px;letter-spacing:.37px}.stat-value.warning{color:var(--warning)}.stat-value.danger{color:var(--danger)}.stat-value.success{color:var(--gray-900)}.stat-icon{position:absolute;top:0;right:24px;width:40px;height:42px}.stat-icon-inner{width:40px;height:42px;border-radius:0 0 20px 20px;display:flex;align-items:center;justify-content:center}.stat-icon-inner.warning{background:var(--warning)}.stat-icon-inner.danger{background:var(--danger)}.stat-icon-inner.success{background:var(--primary)}.stat-icon-inner i{font-size:20px;color:#fff}.stat-icon-inner img{width:20px;height:20px;filter:brightness(0) invert(1)}.stat-card.clickable{cursor:pointer}.stat-card.clickable:hover{transform:translateY(-2px)}.filter-bar{display:flex;align-items:center;gap:10px;margin-bottom:24px;background:var(--white);border:1px solid var(--gray-300);border-radius:15px;padding:15px 16px}.filter-search{flex:1;display:flex;align-items:center;gap:10px}.filter-search i{color:var(--gray-400);font-size:20px}.filter-search input{border:none;background:none;font-size:16px;width:100%;outline:none;color:var(--gray-600)}.filter-search input::placeholder{color:#56565680}.filter-select{padding:10px 14px;border:1px solid var(--gray-200);border-radius:8px;font-size:16px;color:var(--gray-600);background:var(--white);outline:none;cursor:pointer}.table-container{background:var(--white);box-shadow:0 4px 4px #0000001a;border:1px solid var(--gray-300);border-radius:15px;overflow:hidden}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;padding:14px 32px;font-size:18px;font-weight:700;color:var(--primary);background:var(--white);border:1px solid var(--gray-300);line-height:123%}.data-table td{padding:22px 32px;border:1px solid var(--gray-300);vertical-align:middle;font-size:18px;color:var(--gray-900)}.data-table tbody tr{transition:all .15s}.data-table tbody tr:hover{background:var(--gray-50)}.cell-main{font-size:18px;font-weight:500;color:var(--gray-900);line-height:123%;margin-bottom:12px}.cell-sub{font-size:16px;color:var(--gray-600);line-height:24px;display:flex;align-items:center;gap:8px}.cell-sub i{font-size:24px}.shop-info{display:flex;align-items:center;gap:16px}.shop-logo{width:50px;height:50px;border-radius:50%;background:var(--gray-100);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.shop-logo img{width:100%;height:100%;object-fit:cover}.shop-logo i{font-size:24px;color:var(--gray-400)}.shop-details{display:flex;flex-direction:column;gap:4px}.shop-name{font-size:18px;font-weight:500;color:var(--gray-900);letter-spacing:-.44px;line-height:28px}.shop-type{font-size:16px;color:var(--gray-600);letter-spacing:-.31px;line-height:24px}.status-badge{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:6px 12px;border-radius:100px;font-size:16px;font-weight:700;line-height:24px;letter-spacing:-.31px;white-space:nowrap}.status-badge.pending{background:var(--warning);color:var(--white)}.status-badge.approved{background:var(--primary);color:var(--white)}.status-badge.rejected{background:var(--danger);color:var(--white)}.status-badge.disabled,.status-badge.gray{background:var(--gray-400);color:var(--white)}.status-badge i{font-size:20px;line-height:1}.status-container{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.reject-reason{font-size:14px;font-weight:500;color:var(--danger);line-height:20px;display:inline}.reject-reason-text{display:flex;align-items:flex-start;gap:4px;margin-top:8px;font-size:14px;line-height:20px}.reject-reason-label{font-weight:600;color:var(--danger);white-space:nowrap}.reject-reason-content{font-weight:400;color:var(--danger)}.action-link{font-size:16px;font-weight:500;color:var(--primary);text-decoration:none;letter-spacing:-.31px;line-height:24px;cursor:pointer}.action-link:hover{color:var(--primary-dark);text-decoration:underline}.card{background:var(--white);border:1px solid var(--gray-300);border-radius:15px;overflow:hidden;box-shadow:0 4px 4px #0000001a}.card-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--gray-200)}.card-header h3{font-size:18px;font-weight:600;color:var(--gray-900);display:flex;align-items:center;gap:10px}.card-header h3 i{color:var(--primary)}.card-body{padding:24px}.card-body.p-0{padding:0}.toast{position:fixed;top:24px;right:24px;padding:16px 24px;border-radius:12px;background:var(--gray-900);color:#fff;font-size:14px;z-index:9999;opacity:0;transform:translateY(-20px);transition:all .3s;display:flex;align-items:center;gap:12px;box-shadow:0 10px 40px #0003}.toast.show{opacity:1;transform:translateY(0)}.toast.error{background:var(--danger)}.toast.success{background:var(--primary)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:#fff;width:640px;max-width:90%;border-radius:15px;box-shadow:0 25px 80px #00000040;display:flex;flex-direction:column;max-height:90vh}.modal.large{max-width:900px}.modal-header{padding:24px 28px;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;align-items:center}.modal-header h3{margin:0;font-size:20px;font-weight:600;color:var(--gray-900)}.close-btn{background:var(--gray-100);border:none;font-size:20px;cursor:pointer;color:var(--gray-500);width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s}.close-btn:hover{background:var(--gray-200);color:var(--gray-800)}.modal-body{padding:28px;overflow-y:auto;flex:1}.modal-footer{padding:20px 28px;border-top:1px solid var(--gray-200);display:flex;justify-content:flex-end;gap:12px}.form-group{margin-bottom:20px}.form-label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:var(--gray-700)}.form-control{width:100%;padding:12px 16px;border:1px solid var(--gray-300);border-radius:8px;font-size:14px;transition:all .2s;outline:none}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}textarea.form-control{min-height:100px;resize:vertical}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}.info-item label{display:block;color:var(--gray-500);font-size:12px;margin-bottom:4px}.info-item div{font-weight:500;color:var(--gray-800)}.info-item.full{grid-column:1 / -1}.audit-section h4{font-size:15px;font-weight:600;color:var(--gray-800);margin-bottom:12px}.radio-group{display:flex;gap:12px}.radio-btn{flex:1;border:2px solid var(--gray-200);padding:12px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:500;transition:all .2s}.radio-btn.success.active{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.radio-btn.danger.active{border-color:var(--danger);background:var(--danger-bg);color:var(--danger)}.radio-btn input{display:none}.vm-card{background:var(--white);border:1px solid var(--gray-300);border-radius:15px;overflow:hidden;box-shadow:0 4px 4px #0000001a}.vm-card-header{padding:20px 24px;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;align-items:center}.vm-card-header h4{font-size:16px;font-weight:600;display:flex;align-items:center;gap:10px}.vm-card-body{padding:20px 24px}.service-list{display:flex;flex-direction:column;gap:8px}.service-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--gray-50);border-radius:8px;transition:all .2s}.service-item:hover{background:var(--gray-100)}.service-status{width:8px;height:8px;border-radius:50%}.service-status.ok{background:var(--primary)}.service-status.warning{background:var(--warning)}.service-status.error{background:var(--danger)}.service-status.unknown{background:var(--gray-400)}.service-name{flex:1;font-weight:500}.service-port{font-size:12px;color:var(--gray-500);font-family:monospace}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.metric-item{text-align:center;padding:16px;background:var(--gray-50);border-radius:12px}.metric-value{font-size:24px;font-weight:700;color:var(--gray-800)}.metric-label{font-size:12px;color:var(--gray-500);margin-top:4px}.tabs{display:flex;gap:8px;margin-bottom:20px;border-bottom:1px solid var(--gray-200);padding-bottom:12px}.tab-btn{padding:8px 16px;border:none;background:none;font-size:14px;font-weight:500;color:var(--gray-600);cursor:pointer;border-radius:6px;transition:all .2s}.tab-btn:hover{background:var(--gray-100)}.tab-btn.active{background:var(--primary-light);color:var(--primary)}.mb-20{margin-bottom:20px}.mb-24{margin-bottom:24px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.certification-detail-page{padding:0}.detail-header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 32px;background:var(--white);border-radius:16px;margin-bottom:24px;box-shadow:0 1px 3px #0000001a}.detail-header-left{display:flex;align-items:flex-start;gap:16px}.btn-back{width:40px;height:40px;border-radius:10px;border:1px solid var(--gray-300);background:var(--white);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.btn-back:hover{background:var(--gray-100)}.btn-back i{font-size:24px;color:var(--gray-600)}.detail-title-section{display:flex;flex-direction:column;gap:8px}.detail-title-row{display:flex;align-items:center;gap:16px}.detail-title{font-size:28px;font-weight:700;color:var(--gray-900);margin:0}.detail-meta{display:flex;align-items:center;gap:24px;font-size:14px;color:var(--gray-500)}.detail-meta span{display:flex;align-items:center;gap:6px}.detail-meta i{font-size:16px}.detail-header-actions{display:flex;gap:12px}.btn-danger-outline{background:var(--white);color:var(--danger);border:1px solid var(--danger);padding:10px 20px;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s}.btn-danger-outline:hover{background:var(--danger-bg)}.btn-outline-success{background:var(--white);color:var(--primary);border:1px solid var(--primary);padding:8px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px}.audit-notice{display:flex;align-items:flex-start;gap:12px;padding:16px 20px;background:var(--danger-bg);border:1px solid rgba(231,0,11,.2);border-radius:12px;margin-bottom:24px}.audit-notice-icon{color:var(--danger);font-size:24px;line-height:1}.audit-notice-title{font-size:16px;font-weight:700;color:var(--danger);margin-bottom:4px}.audit-notice-text{font-size:14px;color:var(--danger);line-height:1.5}.payment-status-card{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:var(--white);border-radius:12px;margin-bottom:24px;box-shadow:0 1px 3px #0000001a}.payment-status-left{display:flex;align-items:center;gap:16px}.payment-logo{width:80px;height:auto}.payment-info{display:flex;flex-direction:column;gap:4px}.payment-label{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--gray-600)}.payment-desc{font-size:14px;color:var(--gray-500)}.payment-merchant-id{font-size:13px;color:var(--gray-400)}.detail-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.detail-left-column,.detail-right-column{display:flex;flex-direction:column;gap:24px}.detail-card{background:var(--white);border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.detail-card-header{display:flex;align-items:center;gap:10px;padding:20px 24px;border-bottom:1px solid var(--gray-200);font-size:18px;font-weight:600;color:var(--gray-900)}.detail-card-header i{font-size:22px;color:var(--gray-600)}.detail-card-body{padding:24px}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.info-item{display:flex;flex-direction:column;gap:8px;padding:16px;background:var(--gray-50);border-radius:12px}.info-item.full-width{grid-column:span 2}.info-label{font-size:14px;color:var(--gray-500)}.info-value{font-size:16px;font-weight:500;color:var(--gray-900)}.id-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.id-card-item{display:flex;flex-direction:column;align-items:center;gap:12px}.id-card-image{width:100%;aspect-ratio:1.6;border-radius:12px;overflow:hidden;background:var(--gray-100);display:flex;align-items:center;justify-content:center}.id-card-image img{width:100%;height:100%;object-fit:cover}.id-card-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--gray-400)}.id-card-placeholder i{font-size:48px}.id-card-label{font-size:14px;color:var(--gray-500)}.document-list{display:flex;flex-direction:column;gap:16px}.document-item{display:flex;align-items:center;gap:16px;padding:12px;background:var(--gray-50);border-radius:12px}.document-image{width:100px;height:70px;border-radius:8px;overflow:hidden;background:var(--gray-200);display:flex;align-items:center;justify-content:center}.document-image img{width:100%;height:100%;object-fit:cover}.document-placeholder{color:var(--gray-400);font-size:32px}.document-placeholder.cert-placeholder{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--primary)}.document-info{flex:1;display:flex;align-items:center;justify-content:space-between}.document-number{font-size:18px;font-weight:600;color:var(--gray-900)}.document-title{font-size:16px;font-weight:500;color:var(--gray-900)}.document-info i{font-size:24px}.cert-badges-section{margin-top:24px}.cert-badges-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:12px}.cert-badge{display:flex;align-items:flex-start;gap:12px;padding:12px;background:var(--gray-50);border-radius:10px;border:1px solid var(--gray-200)}.cert-badge i{font-size:24px;color:var(--primary);flex-shrink:0}.cert-badge-content{display:flex;flex-direction:column;gap:2px}.cert-badge-title{font-size:14px;font-weight:600;color:var(--gray-900)}.cert-badge-desc{font-size:12px;color:var(--gray-500)}.cert-badge.inactive{opacity:.5;background:var(--gray-100);border-color:var(--gray-200)}.cert-badge.inactive i{color:var(--gray-400)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--white);border-radius:16px;width:100%;max-width:480px;box-shadow:0 20px 60px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--gray-200)}.modal-header h3{font-size:18px;font-weight:600;margin:0}.modal-close{width:32px;height:32px;border:none;background:var(--gray-100);border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center}.modal-close i{font-size:20px;color:var(--gray-600)}.modal-body{padding:24px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--gray-200)}.form-label{display:block;font-size:14px;font-weight:500;color:var(--gray-700);margin-bottom:8px}.form-textarea{width:100%;padding:12px 16px;border:1px solid var(--gray-300);border-radius:10px;font-size:14px;resize:vertical;font-family:inherit}.form-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #5a7a451a}.btn-danger{background:var(--danger);color:var(--white);border:none;padding:10px 20px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer}.btn-danger:hover{background:var(--danger-light)}@keyframes bannerFadeIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes bannerFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (max-width: 1280px){.detail-content-grid{grid-template-columns:1fr}.stats-row{flex-wrap:wrap}.stat-card{min-width:calc(50% - 12px)}}@media (max-width: 768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-content{margin-left:0}.stat-card{min-width:100%}.detail-header{flex-direction:column;gap:16px}.detail-header-actions{width:100%}.info-grid,.id-card-grid,.cert-badges-grid{grid-template-columns:1fr}}.stat-card-v2{background:#fff;border-radius:15px;padding:24px;position:relative;border:1px solid #D1D5DB;box-shadow:0 4px 4px #0000001a;min-height:120px;height:120px;transition:all .2s ease;font-family:Inter,system-ui,-apple-system,sans-serif}.stat-card-v2:hover{box-shadow:0 8px 16px #0000001f}.stat-card-v2-content{display:flex;flex-direction:column;gap:12px}.stat-card-v2-label{font-size:20px;font-weight:700;color:#4b5563;line-height:28px;margin:0;padding:0}.stat-card-v2-value{font-size:36px;font-weight:700;color:#111827;line-height:40px;letter-spacing:.37px;margin:0;padding:0}.stat-card-v2-value.warning{color:#ee964b}.stat-card-v2-value.danger{color:#e7000b}.stat-card-v2-icon{position:absolute;top:0;right:24px;width:40px;height:42px;border-radius:0 0 20px 20px;display:flex;align-items:center;justify-content:center;z-index:10}.stat-card-v2-icon img{width:20px;height:20px;filter:brightness(0) invert(1)}.stat-card-v2-icon-placeholder{width:20px;height:20px;background:#ffffff4d;border-radius:4px}.stat-card-v2-icon.store{background:#565656}.stat-card-v2-icon.warning{background:#ee964b}.stat-card-v2-icon.danger{background:#e7000b}.stat-card-v2-icon.success{background:#5a7a45}.stat-card-v2-icon.trending{background:#565656}.stats-row-v2{display:flex;gap:24px;margin-bottom:24px}.stats-row-v2>*{flex:1}.stat-card-clickable{cursor:pointer;border-radius:16px;transition:all .2s ease}.stat-card-clickable:hover{transform:translateY(-2px)}.stat-card-clickable.active .stat-card-v2{background:#e8efe3;border-color:#c5d4bc}@media (max-width: 1280px){.stats-row-v2{flex-wrap:wrap}.stats-row-v2>*{min-width:calc(50% - 12px)}}@media (max-width: 768px){.stats-row-v2>*{min-width:100%}}
