*,:after,:before{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f3f4f6;color:#111827;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.layout{display:flex;min-height:100vh}.sidebar{background:#1a1d23;border-right:1px solid #2a2d35;color:#c9cdd4;flex-shrink:0;width:220px}.sidebar,.sidebar-header{display:flex;flex-direction:column}.sidebar-header{align-items:flex-start;border-bottom:1px solid #2a2d35;gap:8px;justify-content:flex-start;padding:24px 20px 20px 14px}.sidebar-brand-logo{height:auto;max-width:140px}.sidebar-brand-subtitle{color:#22c55e;font-size:13px;font-weight:600;letter-spacing:-.3px;margin:0 0 0 2px}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:2px;padding:12px 10px}.sidebar-link{align-items:center;border-radius:6px;color:#9ca3af;display:flex;font-size:14px;font-weight:500;gap:10px;padding:10px 12px;text-decoration:none;transition:background .15s,color .15s}.sidebar-link:hover{background:#22252d;color:#e5e7eb}.sidebar-link.active{background:#2563eb;color:#fff}.sidebar-icon{flex-shrink:0;height:22px;justify-content:center;width:22px}.sidebar-icon,.sidebar-label{align-items:center;display:flex}.sidebar-label{line-height:1;white-space:nowrap}.sidebar-footer{border-top:1px solid #2a2d35;display:flex;flex-direction:column;gap:12px;padding:16px 20px}.sidebar-footer-text{color:#4b5563;font-size:11px;text-align:center}.main-wrapper{background:#f3f4f6;display:flex;flex:1 1;flex-direction:column;height:100vh;overflow:hidden}.topbar{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;flex-shrink:0;height:64px;justify-content:space-between;padding:0 32px}.topbar-spacer{flex:1 1}.profile-container{position:relative}.profile-btn{align-items:center;background:#eff6ff;border:1.5px solid #93c5fd;border-radius:999px;box-shadow:0 3px 10px #2563eb29;cursor:pointer;display:flex;gap:10px;padding:7px 12px 7px 8px;transition:all .15s ease}.profile-btn:hover{background:#dbeafe;border-color:#60a5fa;box-shadow:0 6px 16px #2563eb38}.profile-avatar{align-items:center;background:#fff;border:1.5px solid #60a5fa;border-radius:50%;color:#1d4ed8;display:flex;font-size:20px;height:34px;justify-content:center;width:34px}.profile-name-group{align-items:center;display:flex;gap:8px}.profile-role-badge{background:#dbeafe;border-radius:4px;color:#1d4ed8;font-size:11px;font-weight:600;line-height:1;padding:3px 6px}.profile-user-name{color:#374151;font-size:14px;font-weight:600}.profile-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;display:flex;flex-direction:column;min-width:240px;position:absolute;right:0;top:calc(100% + 8px);z-index:100}.profile-info{padding:16px 20px}.profile-info-name{color:#111827;font-size:15px;font-weight:700;margin-bottom:6px}.profile-info-detail{color:#6b7280;font-size:13px;line-height:1.5}.profile-info-strong{color:#374151;font-weight:700}.profile-info-role{align-items:center;background:#eef2ff;border-radius:999px;color:#4f46e5;display:inline-flex;font-size:12px;font-weight:800;line-height:1;margin-top:8px;padding:4px 8px;width:fit-content}.profile-dropdown-divider{background:#e5e7eb;height:1px;margin:0}.dropdown-logout-btn{align-items:center;background:#0000;border:none;border-bottom-left-radius:8px;border-bottom-right-radius:8px;color:#ef4444;cursor:pointer;display:flex;font-size:14px;font-weight:600;justify-content:space-between;padding:12px 20px;transition:background .15s;width:100%}.dropdown-logout-btn:hover{background:#fef2f2}.main-content{flex:1 1;overflow-y:auto;padding:32px}.login-container{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;justify-content:center;min-height:100vh;overflow:hidden;padding-bottom:25vh;position:relative;width:100vw}.login-container:before{background-image:linear-gradient(#000000bf,#000000bf),url(/static/media/bg.7c11268b9d1d6150069b.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;bottom:-10px;content:"";filter:blur(8px);left:-10px;position:absolute;right:-10px;top:-10px;z-index:-1}.login-top-logo{height:48px;left:28vw;position:absolute;top:30px}.login-header{color:#fff;margin-bottom:30px;text-align:center}.login-title{font-size:28px;font-weight:700;letter-spacing:-.5px;margin:0 0 10px}.login-subtitle{color:#3b82f6;color:#22c55e;font-size:14px;font-weight:600;margin:0 0 16px}.login-description{color:#9ca3af;font-size:12px;margin:0}.login-box{background:#0000;border-radius:8px;box-sizing:border-box;max-width:340px;padding:30px;position:relative;width:100%}.login-form-group{display:flex;flex-direction:column;margin-bottom:20px}.login-label{color:#fff;font-size:13px;font-weight:500;margin-bottom:8px}.login-input{background:#fff;border:1px solid #0000;border-radius:6px;color:#111827;font-family:inherit;font-size:14px;outline:none;padding:12px 14px;transition:all .2s}.login-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f64d}.login-button{align-items:center;background-color:#0b6df6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:600;justify-content:center;margin-top:5px;padding:12px;transition:background-color .2s,opacity .2s;width:100%}.login-button:disabled{cursor:not-allowed;opacity:.7}.login-button:hover{background-color:#1476ea}.login-error{animation:shake .4s ease-in-out;background-color:#fce8e8;border-radius:6px;color:#dc2626;font-size:13px;font-weight:500;left:30px;padding:10px;position:absolute;right:30px;text-align:center;top:calc(100% - 15px)}@keyframes shake{0%,to{transform:translateX(0)}20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}.login-footer{align-items:center;bottom:30px;color:#fff;display:flex;font-size:12px;gap:12px;left:30px;opacity:.8;position:absolute}.login-footer-icon{height:24px;opacity:.9;width:24px}.login-spinner{animation:spin .8s linear infinite;border:2px solid #fff6;border-radius:50%;border-top-color:#fff;display:inline-block;height:16px;margin-right:8px;width:16px}@keyframes spin{to{transform:rotate(1turn)}}.users-page{animation:fadeIn .4s ease-out}.page-header{justify-content:space-between;margin-bottom:24px}.page-header,.page-title-group{align-items:flex-end;display:flex}.page-title-group{gap:20px}.page-title{color:#111827;font-size:24px;font-weight:700;letter-spacing:-.5px;margin:0 0 6px}.page-subtitle{color:#6b7280;font-size:14px;margin:0}.header-actions{display:flex;gap:12px}.search-form{gap:8px}.search-box,.search-form{align-items:center;display:flex}.search-box{position:relative}.search-icon{color:#9ca3af;left:14px;position:absolute}.search-box input{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;font-size:14px;outline:none;padding:10px 14px 10px 40px;transition:all .2s;width:260px}.search-box input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.btn-search{background:#3b82f6;border:0;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;height:38px;padding:0 16px;transition:background .2s,opacity .2s}.btn-search:hover:not(:disabled){background:#2563eb}.btn-search:disabled{cursor:not-allowed;opacity:.65}.export-btn{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 1px 2px #0000000d;color:#374151;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 16px;transition:all .2s}.export-btn:hover{background:#f9fafb;border-color:#9ca3af}.users-summary-bar{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;color:#475569;display:inline-flex;font-size:13px;font-weight:700;gap:10px;margin-bottom:0;padding:9px 14px}.users-summary-bar strong{color:#1d4ed8;font-size:20px;line-height:1}.table-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;overflow:hidden}.users-table{border-collapse:collapse;table-layout:auto;text-align:left;width:100%}.users-table th{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.5px;padding:14px 20px;text-transform:uppercase;white-space:nowrap}.users-table th:first-child,.users-table th:nth-child(2){width:160px}.users-table th:nth-child(3){width:230px}.users-table th:nth-child(4),.users-table th:nth-child(5),.users-table th:nth-child(6){width:120px}.users-table th:nth-child(7){width:130px}.users-table th:nth-child(8){width:110px}.users-table th:nth-child(9){width:260px}.users-table th:nth-child(10){width:110px}.users-table td{border-bottom:1px solid #f3f4f6;padding:14px 20px;vertical-align:middle;white-space:nowrap}.user-row{cursor:pointer;transition:background .15s ease}.user-row:hover{background:#f8fafc}.user-cell{align-items:center;display:flex}.online-dot{background:#10b981;border-radius:50%;box-shadow:0 0 0 2px #10b98126;display:inline-block;height:8px;margin-left:8px;vertical-align:middle;width:8px}.user-name{align-items:center;color:#111827;display:flex;font-size:14.5px;font-weight:600;margin-bottom:2px}.user-username{color:#6b7280;font-size:13px}.user-nickname{color:#9ca3af;font-size:12px}.detail-text{color:#4b5563;font-size:14px;font-weight:400}.wallet-uuid-cell{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px}.status-badge{border-radius:9999px;display:inline-flex;font-size:12px;font-weight:600;letter-spacing:-.3px;padding:4px 10px}.status-badge.active{background:#dcfce7;color:#166534}.status-badge.unverified{background:#fef9c3;color:#854d0e}.status-badge.deleted{background:#fee2e2;color:#991b1b}.status-badge.blocked{background:#e5e7eb;color:#374151}.ta-right{text-align:right}.action-btn{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;color:#3b82f6;cursor:pointer;display:inline-flex;font-size:13.5px;font-weight:600;gap:4px;padding:8px 12px;transition:all .2s}.action-btn:hover{background:#eff6ff;color:#2563eb}.pagination{align-items:center;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:16px 24px}.pagination-info{color:#6b7280;font-size:13px}.pagination-controls{display:flex;gap:6px}.page-btn{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:all .2s}.page-btn:hover:not(.disabled):not(.active){background:#f9fafb;border-color:#9ca3af}.page-btn.active{background:#3b82f6;border-color:#3b82f6;box-shadow:0 1px 2px #3b82f666;color:#fff}.page-btn.disabled{background:#f3f4f6;cursor:not-allowed;opacity:.5}.page-ellipsis{align-items:flex-end;color:#9ca3af;display:flex;font-weight:700;padding:0 4px 4px}.drawer-overlay{animation:fadeInOverlay .3s ease-out;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;bottom:0;left:0;position:fixed;right:0;top:0;z-index:100}.user-related-panel{background:#f8fafc;box-shadow:inset -1px 0 0 #e5e7eb;flex:1 1;height:100%;min-width:0;overflow-y:auto}.related-panel-inner{grid-gap:24px;align-items:stretch;display:grid;gap:24px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100%;padding:32px}.related-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 2px #0f172a0a;min-height:calc(100vh - 64px);overflow:hidden}.related-section-compact{max-width:none}.related-section-header{align-items:center;border-bottom:1px solid #eef2f7;display:flex;gap:16px;justify-content:space-between;padding:20px 24px}.related-section-header h4{color:#111827;font-size:27px;font-weight:700;margin:2px 0 0}.related-section-eyebrow{color:#64748b;font-size:12px;font-weight:700;letter-spacing:0;margin:0}.credit-heading{align-items:center;display:flex;gap:34px}.credit-inline-balance{border-left:1px solid #e5e7eb;min-width:170px;padding-left:32px}.credit-inline-balance span{color:#64748b;display:block;font-size:15px;font-weight:700;margin-bottom:8px}.credit-inline-balance strong{color:#111827;display:block;font-size:48px;font-weight:800;line-height:1}.related-count{align-items:center;background:#eff6ff;border-radius:999px;color:#2563eb;display:inline-flex;font-size:14px;font-weight:700;height:28px;justify-content:center;min-width:36px;padding:0 10px}.related-table-wrap{overflow-x:auto}.related-table{border-collapse:collapse;table-layout:fixed;width:100%}.related-table td,.related-table th{border-bottom:1px solid #f1f5f9;color:#475569;font-size:13px;padding:14px 16px;text-align:left}.related-table th{background:#f9fafb;color:#6b7280;font-size:12px;font-weight:700}.related-table tr:last-child td{border-bottom:0}.related-mono{color:#475569;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;word-break:break-all}.related-empty{align-items:center;color:#94a3b8;display:flex;font-size:14px;justify-content:center;min-height:148px}.credit-summary-grid{grid-gap:0;display:grid;gap:0;grid-template-columns:1fr}.credit-summary-item{border-bottom:1px solid #eef2f7;border-right:0;padding:20px 24px}.credit-summary-item:last-child{border-bottom:0}.credit-summary-item label{color:#64748b;display:block;font-size:12px;font-weight:700;margin-bottom:8px}.credit-summary-item strong{color:#111827;font-size:24px;line-height:1}.user-transaction-section{border-top:1px solid #e5e7eb;margin:20px 24px 24px;padding-top:18px}.user-transaction-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:14px}.user-transaction-header h5{color:#111827;font-size:20px;font-weight:800;margin:2px 0 0}.user-transaction-header strong{align-items:center;background:#eff6ff;border-radius:999px;color:#2563eb;display:inline-flex;font-size:24px;font-weight:800;height:40px;justify-content:center;min-width:62px;padding:0 14px}.user-transaction-date-filter{align-items:center;display:flex;gap:8px;margin-left:auto}.tx-date-picker{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;display:inline-flex;height:36px;transition:border-color .2s,box-shadow .2s;width:196px}.tx-date-picker:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.tx-date-picker input{background:#0000;border:0;caret-color:#0000;color:#374151;cursor:pointer;flex:1 1;font-size:13px;font-weight:800;height:100%;min-width:0;outline:none;padding:0 8px 0 12px;-webkit-user-select:none;user-select:none}.tx-date-picker input::-webkit-calendar-picker-indicator{display:none}.tx-date-picker input::-webkit-clear-button,.tx-date-picker input::-webkit-inner-spin-button{display:none}.tx-date-picker-btn{align-items:center;background:#f8fafc;border:0;border-left:1px solid #e5e7eb;border-radius:0 7px 7px 0;color:#2563eb;cursor:pointer;display:inline-flex;height:34px;justify-content:center;transition:background .2s,color .2s;width:36px}.tx-date-picker-btn:hover,.tx-date-picker:hover .tx-date-picker-btn{background:#eff6ff;color:#1d4ed8}.tx-filter-btn{background:#3b82f6;border:0;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:800;height:36px;padding:0 12px;white-space:nowrap}.tx-filter-btn:hover:not(:disabled){background:#2563eb}.tx-filter-btn.secondary{background:#fff;border:1px solid #d1d5db;color:#475569}.tx-filter-btn.secondary:hover:not(:disabled){background:#f8fafc;border-color:#94a3b8}.tx-filter-btn:disabled{cursor:not-allowed;opacity:.5}.user-transaction-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.user-transaction-table{border-collapse:collapse;font-size:13px;table-layout:fixed;width:100%}.user-transaction-table td,.user-transaction-table th{border-bottom:1px solid #edf2f7;color:#4b5563;padding:12px 14px;vertical-align:middle}.user-transaction-table th{background:#f8fafc;color:#64748b;font-size:11px;font-weight:800;letter-spacing:.04em;text-align:left;text-transform:uppercase}.user-transaction-table tr:last-child td{border-bottom:0}.user-transaction-table td:first-child,.user-transaction-table th:first-child{width:96px}.user-transaction-table td:nth-child(2),.user-transaction-table th:nth-child(2){text-align:right;width:90px}.user-transaction-table td:nth-child(4),.user-transaction-table th:nth-child(4){text-align:right;width:110px}.user-transaction-table .reason-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:800;height:24px;justify-content:center;min-width:54px;padding:0 10px;white-space:nowrap}.user-transaction-table .reason-badge.earn{background:#dcfce7;color:#15803d}.user-transaction-table .reason-badge.claim{background:#dbeafe;color:#2563eb}.user-transaction-table .reason-badge.refund{background:#fef3c7;color:#b45309}.user-transaction-table .reason-badge.spend{background:#fee2e2;color:#dc2626}.user-transaction-table .amount-minus,.user-transaction-table .amount-plus{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:800}.user-transaction-table .amount-plus{color:#2563eb}.user-transaction-table .amount-minus{color:#111827}.user-transaction-empty{min-height:110px}.user-transaction-empty.error{background:#fef2f2;color:#dc2626}.user-tx-pagination{display:flex;gap:6px;justify-content:center;margin-top:14px}.tx-page-btn{background:#fff;border:1px solid #dbe3ef;border-radius:8px;color:#64748b;cursor:pointer;font-size:12px;font-weight:700;height:32px;min-width:32px}.tx-page-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.tx-page-btn.disabled{cursor:not-allowed;opacity:.45}.detail-drawer{background:#0000;display:flex;flex-direction:row;height:100vh;position:fixed;right:0;top:0;transform:translateX(100%);transition:transform .35s cubic-bezier(.16,1,.3,1);width:calc(100vw - 220px);z-index:110}.detail-drawer.open{transform:translateX(0)}.drawer-detail-panel{background:#fff;box-shadow:-4px 0 25px #0000001a;display:flex;flex-direction:column;flex-shrink:0;height:100%;width:450px}.drawer-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:24px 32px}.drawer-header h3{color:#111827;font-size:18px;font-weight:700;margin:0}.drawer-close-btn{background:#0000;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;padding:6px;transition:all .2s}.drawer-close-btn:hover{background:#f3f4f6;color:#111827}.drawer-content{flex:1 1;overflow-y:auto;padding:32px}.drawer-profile-card{align-items:center;display:flex;margin-bottom:40px}.drawer-profile-info{display:flex;flex-direction:column;gap:6px}.drawer-name{align-items:center;color:#111827;display:flex;font-size:22px;font-weight:700;gap:10px}.online-dot.large{height:12px;width:12px}.drawer-badge{display:flex}.drawer-username{color:#111827;font-size:22px;font-weight:700}.drawer-field-label{color:#64748b;font-size:13px;font-weight:600}.drawer-field-label-spaced{margin-top:8px}.drawer-section{margin-bottom:36px}.drawer-section h4{border-bottom:2px solid #f8fafc;color:#374151;font-size:16px;font-weight:700;margin:0 0 20px;padding-bottom:10px}.info-grid{display:flex;flex-direction:column;gap:16px}.info-item{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:4px 0}.info-item label{color:#64748b;font-size:13px;font-weight:600}.info-item span{color:#0f172a;font-size:14px;font-weight:500}.verification-state{align-items:center;display:inline-flex;gap:6px}.verification-state.unverified{color:#b45309}.coupon-register-block{margin-bottom:24px}.coupon-register-btn{background:#3b82f6;border:2px solid #2563eb;border-radius:10px;box-shadow:0 8px 18px #2563eb2e;color:#fff;cursor:pointer;font-size:16px;font-weight:800;height:54px;transition:all .2s;width:100%}.coupon-register-btn:hover{background:#2563eb;border-color:#1d4ed8;box-shadow:0 10px 22px #2563eb3d}.admin-action-card{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;display:flex;justify-content:space-between;margin-bottom:16px;padding:16px 20px;transition:all .2s}.admin-action-card:hover{border-color:#cbd5e1}.admin-action-card.danger{background:#fef2f2;border-color:#fecaca}.admin-action-card.danger:hover{border-color:#f87171}.action-text strong{color:#1e293b;display:block;font-size:14.5px;margin-bottom:4px}.admin-action-card.danger .action-text strong{color:#991b1b}.action-text p{color:#64748b;font-size:13px;margin:0}.admin-action-card.danger .action-text p{color:#b91c1c}.admin-action-card.warning{background:#fffbeb;border-color:#fde68a}.admin-action-card.warning:hover{border-color:#fbbf24}.admin-action-card.warning .action-text strong{color:#92400e}.admin-action-card.warning .action-text p{color:#b45309}.admin-action-card.disabled{background:#f8fafc;border-color:#e5e7eb;opacity:.62}.admin-action-card.disabled:hover{border-color:#e5e7eb}.admin-action-card.disabled .action-text p,.admin-action-card.disabled .action-text strong{color:#94a3b8}.btn-secondary{background:#fff;border:1px solid #cbd5e1;border-radius:6px;color:#334155;cursor:pointer;font-size:13.5px;font-weight:600;padding:8px 16px;transition:all .2s;white-space:nowrap}.btn-secondary:hover{background:#f1f5f9;border-color:#94a3b8}.btn-danger:disabled,.btn-secondary:disabled,.btn-warning:disabled{box-shadow:none;cursor:not-allowed;opacity:.65}.btn-secondary:disabled:hover{background:#fff;border-color:#cbd5e1}.btn-danger{background:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13.5px;font-weight:600;padding:8px 16px;transition:all .2s;white-space:nowrap}.btn-danger:hover{background:#dc2626;box-shadow:0 2px 4px #dc26264d}.btn-danger:disabled:hover{background:#ef4444;box-shadow:none}.btn-warning{background:#f59e0b;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13.5px;font-weight:600;padding:8px 16px;transition:all .2s;white-space:nowrap}.btn-warning:hover{background:#d97706;box-shadow:0 2px 4px #d977064d}.btn-warning:disabled:hover{background:#f59e0b;box-shadow:none}.modal-overlay{animation:fadeInOverlay .2s ease-out;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:200}.modal-overlay-confirm{z-index:220}.modal{animation:modalIn .25s ease-out;background:#fff;border-radius:14px;box-shadow:0 20px 60px #00000026;left:50%;position:fixed;top:50%;transform:translate(-50%,-50%);width:460px;z-index:210}.modal-confirm{width:420px;z-index:230}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 24px}.modal-header h3{color:#111827;font-size:17px;font-weight:700;margin:0}.modal-body{display:flex;flex-direction:column;gap:18px;padding:24px}.modal-info{align-items:center;display:flex;justify-content:space-between}.modal-info label{color:#64748b;font-size:13px;font-weight:600}.modal-info span{color:#0f172a;font-size:14px;font-weight:500}.modal-field{display:flex;flex-direction:column;gap:8px}.modal-field label{color:#374151;font-size:13px;font-weight:600}.modal-field input{border:1px solid #d1d5db;border-radius:8px;color:#374151;font-size:14px;outline:none;padding:10px 14px;transition:all .2s}.modal-field input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.modal-field-danger input{background:#fff;border-color:#d1d5db;color:#b91c1c;font-size:18px;font-weight:800;height:54px;padding:0 16px}.modal-field-danger input:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef444424}.modal-footer{border-top:1px solid #e5e7eb;display:flex;gap:10px;justify-content:flex-end;padding:16px 24px}.btn-primary{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:9px 20px;transition:all .2s}.btn-primary:hover{background:#2563eb;box-shadow:0 2px 6px #2563eb4d}.btn-primary:disabled{background:#93c5fd;box-shadow:none;cursor:not-allowed}.modal-warning{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;line-height:1.5}.modal-danger-warning,.modal-warning{font-size:13.5px;margin:4px 0 0;padding:12px 14px}.modal-danger-warning{background:#fee2e2;border:1px solid #fca5a5;border-radius:8px;color:#991b1b;font-weight:700;line-height:1.55}.modal-error{background:#fff1f2;border:1px solid #fecdd3;border-radius:8px;color:#b91c1c}.modal-error,.modal-success{font-size:13.5px;line-height:1.5;margin:4px 0 0;padding:12px 14px}.modal-success{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;color:#166534}.devices-page{animation:fadeIn .4s ease-out}.devices-page .page-header{align-items:flex-end;display:flex;justify-content:space-between;margin-bottom:24px}.devices-page .page-title-group{align-items:flex-end;display:flex;gap:20px}.devices-page .page-title{color:#111827;font-size:24px;font-weight:700;letter-spacing:-.5px;margin:0 0 6px}.devices-page .page-subtitle{color:#6b7280;font-size:14px;margin:0}.devices-page .header-actions{display:flex;gap:12px}.devices-page .search-form{align-items:center;display:flex;gap:8px}.devices-page .search-box{align-items:center;display:flex;position:relative}.devices-page .search-icon{color:#9ca3af;left:14px;position:absolute}.devices-page .search-box input{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;font-size:14px;outline:none;padding:10px 14px 10px 40px;transition:all .2s;width:280px}.devices-page .search-box input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.devices-page .btn-search{background:#3b82f6;border:0;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;height:38px;padding:0 16px;transition:background .2s,opacity .2s}.devices-page .btn-search:hover:not(:disabled){background:#2563eb}.devices-page .btn-search:disabled{cursor:not-allowed;opacity:.65}.devices-page .devices-summary-bar{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;color:#475569;display:inline-flex;font-size:13px;font-weight:700;gap:10px;padding:9px 14px}.devices-page .devices-summary-bar strong{color:#1d4ed8;font-size:20px;line-height:1}.devices-page .table-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;overflow:hidden}.devices-page .devices-table{border-collapse:collapse;table-layout:auto;text-align:left;width:100%}.devices-page .devices-table th{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.5px;padding:14px 20px;text-transform:uppercase;white-space:nowrap}.devices-page .devices-table th:first-child{width:120px}.devices-page .devices-table th:nth-child(2){width:180px}.devices-page .devices-table th:nth-child(3),.devices-page .devices-table th:nth-child(4),.devices-page .devices-table th:nth-child(5),.devices-page .devices-table th:nth-child(6){width:130px}.devices-page .devices-table th:nth-child(7){width:100px}.devices-page .devices-table th:nth-child(8){width:auto}.devices-page .devices-table th:nth-child(10),.devices-page .devices-table th:nth-child(9){width:80px}.devices-page .devices-table td{border-bottom:1px solid #f3f4f6;padding:14px 20px;vertical-align:middle;white-space:nowrap}.devices-page .device-row{cursor:pointer;transition:background .15s ease}.devices-page .device-row:hover{background:#f8fafc}.devices-page .device-row.deleted{opacity:.5}.devices-page .serial-text{color:#4b5563;font-family:SF Mono,Fira Code,monospace;font-size:12.5px}.devices-page .detail-text{color:#4b5563;font-size:14px;font-weight:400}.devices-page .table-error{color:#ef4444;padding:60px 0;text-align:center}.devices-page .status-badge{border-radius:9999px;display:inline-flex;font-size:12px;font-weight:600;letter-spacing:-.3px;padding:4px 10px}.devices-page .status-badge.active{background:#dcfce7;color:#166534}.devices-page .status-badge.unregistered{background:#fef9c3;color:#854d0e}.devices-page .status-badge.deleted{background:#fee2e2;color:#991b1b}.devices-page .status-badge.site{background:#dbeafe;color:#1e40af}.devices-page .status-badge.upgradable{background:#dcfce7;color:#166534}.devices-page .status-badge.not-upgradable{background:#f3f4f6;color:#6b7280}.devices-page .action-btn{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;color:#3b82f6;cursor:pointer;display:inline-flex;font-size:13.5px;font-weight:600;gap:4px;padding:8px 12px;transition:all .2s}.devices-page .action-btn:hover{background:#dbeafe;color:#2563eb}.devices-page .pagination{align-items:center;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:16px 24px}.devices-page .pagination-info{color:#6b7280;font-size:13px}.devices-page .pagination-controls{display:flex;gap:6px}.devices-page .page-btn{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:all .2s}.devices-page .page-btn:hover:not(.disabled):not(.active){background:#f9fafb;border-color:#9ca3af}.devices-page .page-btn.active{background:#3b82f6;border-color:#3b82f6;box-shadow:0 1px 2px #3b82f666;color:#fff}.devices-page .page-btn.disabled{background:#f3f4f6;cursor:not-allowed;opacity:.5}.devices-page .page-ellipsis{align-items:flex-end;color:#9ca3af;display:flex;font-weight:700;padding:0 4px 4px}.devices-page .drawer-overlay{animation:fadeInOverlay .3s ease-out;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;bottom:0;left:0;position:fixed;right:0;top:0;z-index:100}.devices-page .detail-drawer{background:#fff;box-shadow:-4px 0 25px #0000001a;display:flex;flex-direction:column;height:100vh;position:fixed;right:-480px;top:0;transition:transform .35s cubic-bezier(.16,1,.3,1);width:480px;z-index:110}.devices-page .detail-drawer.open{transform:translateX(-480px)}.devices-page .drawer-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:24px 32px}.devices-page .drawer-header h3{color:#111827;font-size:18px;font-weight:700;margin:0}.devices-page .drawer-close-btn{background:#0000;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;padding:6px;transition:all .2s}.devices-page .drawer-close-btn:hover{background:#f3f4f6;color:#111827}.devices-page .drawer-content{flex:1 1;overflow-y:auto;padding:32px}.devices-page .drawer-profile-card{align-items:center;display:flex;margin-bottom:40px}.devices-page .drawer-profile-info{display:flex;flex-direction:column;gap:6px}.devices-page .drawer-name{align-items:center;color:#111827;display:flex;font-family:SF Mono,Fira Code,monospace;font-size:20px;font-weight:700;gap:10px}.devices-page .drawer-model{color:#6b7280;font-size:15px}.devices-page .drawer-label{color:#6b7280;display:block;font-size:12px;font-weight:600;margin-bottom:3px}.devices-page .drawer-section{margin-bottom:36px}.devices-page .drawer-section h4{border-bottom:2px solid #f8fafc;color:#374151;font-size:16px;font-weight:700;margin:0 0 20px;padding-bottom:10px}.devices-page .info-grid{display:flex;flex-direction:column;gap:16px}.devices-page .info-item{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:4px 0}.devices-page .info-item label{color:#64748b;font-size:13px;font-weight:600}.devices-page .info-item span{color:#0f172a;font-size:14px;font-weight:500}.devices-page .admin-action-card{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;display:flex;justify-content:space-between;margin-bottom:16px;padding:16px 20px;transition:all .2s}.devices-page .admin-action-card:hover{border-color:#cbd5e1}.devices-page .admin-action-card.danger{background:#fef2f2;border-color:#fecaca}.devices-page .admin-action-card.danger:hover{border-color:#f87171}.devices-page .action-text strong{color:#1e293b;display:block;font-size:14.5px;margin-bottom:4px}.devices-page .admin-action-card.danger .action-text strong{color:#991b1b}.devices-page .action-text p{color:#64748b;font-size:13px;margin:0}.devices-page .admin-action-card.danger .action-text p{color:#b91c1c}.devices-page .btn-secondary{background:#fff;border:1px solid #cbd5e1;border-radius:6px;color:#334155;cursor:pointer;font-size:13.5px;font-weight:600;padding:8px 16px;transition:all .2s;white-space:nowrap}.devices-page .btn-secondary:hover{background:#f1f5f9;border-color:#94a3b8}.devices-page .btn-danger{background:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13.5px;font-weight:600;padding:8px 16px;transition:all .2s;white-space:nowrap}.devices-page .btn-danger:hover{background:#dc2626;box-shadow:0 2px 4px #dc26264d}.devices-page .ta-right{text-align:right}.coupons-page{animation:fadeIn .4s ease-out}.coupons-page .page-header{align-items:flex-end;display:flex;justify-content:space-between;margin-bottom:24px}.coupons-page .page-title{color:#111827;font-size:24px;font-weight:700;letter-spacing:-.5px;margin:0 0 6px}.coupons-page .page-subtitle{color:#6b7280;font-size:14px;margin:0}.coupons-page .header-actions{align-items:stretch;display:flex;flex-direction:column;gap:12px}.coupons-page .action-row{align-items:center;display:flex;gap:12px}.coupons-page .search-form{align-items:center;display:flex;gap:8px}.coupons-page .btn-bulk-register,.coupons-page .btn-register{justify-content:center}.coupons-page .search-box{align-items:center;display:flex;position:relative}.coupons-page .search-icon{color:#9ca3af;left:14px;position:absolute}.coupons-page .search-box input{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;font-size:14px;outline:none;padding:10px 14px 10px 40px;transition:all .2s;width:280px}.coupons-page .search-box input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.coupons-page .btn-search{background:#3b82f6;border:0;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;height:38px;padding:0 16px;transition:background .2s,opacity .2s}.coupons-page .btn-search:hover:not(:disabled){background:#2563eb}.coupons-page .btn-search:disabled{cursor:not-allowed;opacity:.65}.coupons-page .btn-register{align-items:center;background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:10px 18px;transition:all .2s;white-space:nowrap}.coupons-page .btn-register:hover{background:#2563eb;box-shadow:0 2px 6px #2563eb4d}.coupons-page .btn-bulk-register{align-items:center;background:#fff;border:1px solid #93c5fd;border-radius:8px;color:#2563eb;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:10px 18px;transition:all .2s;white-space:nowrap}.coupons-page .btn-bulk-register:hover{background:#eff6ff;border-color:#60a5fa;box-shadow:0 2px 6px #2563eb29}.coupons-page .stats-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:24px}.coupons-page .stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000a;padding:20px 24px}.coupons-page .stat-card.clickable{cursor:pointer;transition:all .2s}.coupons-page .stat-card.clickable:hover{background:#f8fafc;border-color:#93c5fd}.coupons-page .stat-card.clickable.active{background:#eff6ff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.coupons-page .stat-label{color:#6b7280;font-size:13px;font-weight:600;margin:0 0 8px}.coupons-page .stat-value{color:#111827;font-size:28px;font-weight:700;letter-spacing:-.5px;margin:0}.coupons-page .table-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;overflow:hidden}.coupons-page .coupons-table{border-collapse:collapse;table-layout:auto;text-align:left;width:100%}.coupons-page .coupons-table th{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.5px;padding:14px 20px;text-transform:uppercase;white-space:nowrap}.coupons-page .coupons-table th:first-child{width:200px}.coupons-page .coupons-table th:nth-child(2){width:110px}.coupons-page .coupons-table th:nth-child(3){width:80px}.coupons-page .coupons-table th:nth-child(4),.coupons-page .coupons-table th:nth-child(5){width:120px}.coupons-page .coupons-table th:nth-child(6){width:130px}.coupons-page .coupons-table th:nth-child(7){width:auto}.coupons-page .coupons-table th:nth-child(8){width:100px}.coupons-page .coupons-table td{border-bottom:1px solid #f3f4f6;padding:14px 20px;vertical-align:middle;white-space:nowrap}.coupons-page .coupon-row{cursor:pointer;transition:background .15s ease}.coupons-page .coupon-row:hover{background:#f8fafc}.coupons-page .coupon-row.expired{opacity:.5}.coupons-page .serial-text{color:#374151;font-family:SF Mono,Fira Code,monospace;font-size:13px;font-weight:600}.coupons-page .credit-text{color:#111827;font-size:14px;font-weight:700}.coupons-page .detail-text{color:#4b5563;font-size:14px;font-weight:400}.coupons-page .status-badge{border-radius:9999px;display:inline-flex;font-size:12px;font-weight:600;letter-spacing:-.3px;padding:4px 10px}.coupons-page .status-badge.registered{background:#dcfce7;color:#166534}.coupons-page .status-badge.unregistered{background:#fef9c3;color:#854d0e}.coupons-page .status-badge.expired{background:#fee2e2;color:#991b1b}.coupons-page .status-badge.paid{background:#dbeafe;color:#1e40af}.coupons-page .status-badge.free{background:#f3f4f6;color:#6b7280}.coupons-page .action-btn{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;color:#3b82f6;cursor:pointer;display:inline-flex;font-size:13.5px;font-weight:600;gap:4px;padding:8px 12px;transition:all .2s}.coupons-page .action-btn:hover{background:#dbeafe;color:#2563eb}.coupons-page .pagination{align-items:center;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:16px 24px}.coupons-page .pagination-info{color:#6b7280;font-size:13px}.coupons-page .pagination-controls{display:flex;gap:6px}.coupons-page .page-btn{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:all .2s}.coupons-page .page-btn:hover:not(.disabled):not(.active){background:#f9fafb;border-color:#9ca3af}.coupons-page .page-btn.active{background:#3b82f6;border-color:#3b82f6;box-shadow:0 1px 2px #3b82f666;color:#fff}.coupons-page .page-btn.disabled{background:#f3f4f6;cursor:not-allowed;opacity:.5}.coupons-page .page-ellipsis{align-items:flex-end;color:#9ca3af;display:flex;font-weight:700;padding:0 4px 4px}.coupons-page .drawer-overlay{animation:fadeInOverlay .3s ease-out;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;bottom:0;left:0;position:fixed;right:0;top:0;z-index:100}.coupons-page .detail-drawer{background:#fff;box-shadow:-4px 0 25px #0000001a;display:flex;flex-direction:column;height:100vh;position:fixed;right:-480px;top:0;transition:transform .35s cubic-bezier(.16,1,.3,1);width:480px;z-index:110}.coupons-page .detail-drawer.open{transform:translateX(-480px)}.coupons-page .drawer-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:24px 32px}.coupons-page .drawer-header h3{color:#111827;font-size:18px;font-weight:700;margin:0}.coupons-page .drawer-close-btn{background:#0000;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;padding:6px;transition:all .2s}.coupons-page .drawer-close-btn:hover{background:#f3f4f6;color:#111827}.coupons-page .drawer-content{flex:1 1;overflow-y:auto;padding:32px}.coupons-page .drawer-profile-card{align-items:center;display:flex;margin-bottom:40px}.coupons-page .drawer-profile-info{display:flex;flex-direction:column;gap:6px}.coupons-page .drawer-name{align-items:center;color:#111827;display:flex;font-family:SF Mono,Fira Code,monospace;font-size:20px;font-weight:700;gap:10px}.coupons-page .drawer-model{color:#6b7280;font-size:15px}.coupons-page .drawer-label{color:#6b7280;display:block;font-size:12px;font-weight:600;margin-bottom:3px}.coupons-page .drawer-section{margin-bottom:36px}.coupons-page .drawer-section h4{border-bottom:2px solid #f8fafc;color:#374151;font-size:16px;font-weight:700;margin:0 0 20px;padding-bottom:10px}.coupons-page .info-grid{display:flex;flex-direction:column;gap:16px}.coupons-page .info-item{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:4px 0}.coupons-page .info-item label{color:#64748b;font-size:13px;font-weight:600}.coupons-page .info-item span{color:#0f172a;font-size:14px;font-weight:500}.coupons-page .admin-action-card{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;display:flex;justify-content:space-between;margin-bottom:16px;padding:16px 20px;transition:all .2s}.coupons-page .admin-action-card:hover{border-color:#cbd5e1}.coupons-page .admin-action-card.danger{background:#fef2f2;border-color:#fecaca}.coupons-page .admin-action-card.danger:hover{border-color:#f87171}.coupons-page .action-text strong{color:#1e293b;display:block;font-size:14.5px;margin-bottom:4px}.coupons-page .admin-action-card.danger .action-text strong{color:#991b1b}.coupons-page .action-text p{color:#64748b;font-size:13px;margin:0}.coupons-page .admin-action-card.danger .action-text p{color:#b91c1c}.coupons-page .btn-secondary{background:#fff;border:1px solid #cbd5e1;border-radius:6px;color:#334155;cursor:pointer;font-size:13.5px;font-weight:600;padding:8px 16px;transition:all .2s;white-space:nowrap}.coupons-page .btn-secondary:hover{background:#f1f5f9;border-color:#94a3b8}.coupons-page .btn-danger{background:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13.5px;font-weight:600;padding:8px 16px;transition:all .2s;white-space:nowrap}.coupons-page .btn-danger:hover{background:#dc2626;box-shadow:0 2px 4px #dc26264d}.coupons-page .modal-overlay{animation:fadeInOverlay .2s ease-out;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:200}.coupons-page .modal{animation:modalIn .25s ease-out;background:#fff;border-radius:14px;box-shadow:0 20px 60px #00000026;left:50%;position:fixed;top:50%;transform:translate(-50%,-50%);width:480px;z-index:210}.coupons-page .modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 24px}.coupons-page .modal-header h3{color:#111827;font-size:17px;font-weight:700;margin:0}.coupons-page .modal-subtitle{color:#64748b;font-size:13px;margin:6px 0 0}.coupons-page .modal-body{display:flex;flex-direction:column;gap:18px;padding:24px}.coupons-page .bulk-coupon-modal{width:min(640px,calc(100vw - 48px))}.coupons-page .csv-upload-box{align-items:center;background:#eff6ff;border:1.5px dashed #93c5fd;border-radius:12px;color:#2563eb;cursor:pointer;display:flex;flex-direction:column;gap:8px;justify-content:center;min-height:150px;text-align:center;transition:all .2s}.coupons-page .csv-upload-box.drag-active,.coupons-page .csv-upload-box:hover{background:#dbeafe;border-color:#3b82f6}.coupons-page .csv-upload-box input{display:none}.coupons-page .csv-upload-box strong{color:#1d4ed8;font-size:15px;font-weight:700}.coupons-page .csv-upload-box span{color:#64748b;font-size:13px}.coupons-page .bulk-policy-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:14px 16px}.coupons-page .bulk-policy-box strong{color:#1e293b;display:block;font-size:13.5px;margin-bottom:10px}.coupons-page .bulk-policy-box ul{color:#64748b;font-size:13px;line-height:1.65;margin:0;padding-left:18px}.coupons-page .modal-info{align-items:center;display:flex;justify-content:space-between}.coupons-page .modal-info label{color:#64748b;font-size:13px;font-weight:600}.coupons-page .modal-info span{color:#0f172a;font-size:14px;font-weight:500}.coupons-page .modal-field{display:flex;flex-direction:column;gap:8px}.coupons-page .modal-field label{color:#374151;font-size:13px;font-weight:600}.coupons-page .modal-field input{border:1px solid #d1d5db;border-radius:8px;color:#374151;font-size:14px;outline:none;padding:10px 14px;transition:all .2s}.coupons-page .modal-field input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.coupons-page .modal-footer{border-top:1px solid #e5e7eb;display:flex;gap:10px;justify-content:flex-end;padding:16px 24px}.coupons-page .btn-primary{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:9px 20px;transition:all .2s}.coupons-page .btn-primary:hover{background:#2563eb;box-shadow:0 2px 6px #2563eb4d}.coupons-page .btn-primary:disabled{background:#93c5fd;box-shadow:none;cursor:not-allowed}.coupons-page .modal-warning{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626}.coupons-page .modal-error,.coupons-page .modal-warning{font-size:13.5px;line-height:1.5;margin:4px 0 0;padding:12px 14px}.coupons-page .modal-error{background:#fff1f2;border:1px solid #fecdd3;border-radius:8px;color:#b91c1c}.coupons-page .modal-success{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;color:#166534;font-size:13.5px;line-height:1.5;margin:4px 0 0;padding:12px 14px}.coupons-page .ta-right{text-align:right}.credits-page{animation:fadeIn .4s ease-out}.credits-page .page-header{align-items:flex-end;display:flex;justify-content:space-between;margin-bottom:24px}.credits-page .page-title{color:#111827;font-size:24px;font-weight:700;letter-spacing:-.5px;margin:0 0 6px}.credits-page .page-subtitle{color:#6b7280;font-size:14px;margin:0}.credits-page .header-actions{align-items:center;display:flex;gap:12px}.credits-page .search-form{align-items:center;display:flex;gap:8px}.credits-page .search-box{align-items:center;display:flex;position:relative}.credits-page .search-icon{color:#9ca3af;left:14px;position:absolute}.credits-page .search-box input{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;font-size:14px;outline:none;padding:10px 14px 10px 40px;transition:all .2s;width:280px}.credits-page .search-box input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.credits-page .btn-search{background:#fff;border:1px solid #bfdbfe;border-radius:8px;color:#2563eb;cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;transition:all .2s}.credits-page .btn-search:hover:not(:disabled){background:#eff6ff;border-color:#93c5fd}.credits-page .btn-search:disabled{cursor:not-allowed;opacity:.55}.credits-page .btn-claim{align-items:center;background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:10px 18px;transition:all .2s;white-space:nowrap}.credits-page .btn-claim:hover{background:#2563eb;box-shadow:0 2px 6px #2563eb4d}.credits-page .table-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;overflow:hidden}.credits-page .credits-table{border-collapse:collapse;table-layout:auto;text-align:left;width:100%}.credits-page .credits-table th{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.5px;padding:14px 20px;text-transform:uppercase;white-space:nowrap}.credits-page .credits-table td{border-bottom:1px solid #f3f4f6;padding:14px 20px;vertical-align:middle;white-space:nowrap}.credits-page .credits-table td:nth-child(5),.credits-page .credits-table th:nth-child(5){padding-right:32px;text-align:right}.credits-page .credits-table td:nth-child(6),.credits-page .credits-table th:nth-child(6){text-align:center}.credits-page .credit-row{cursor:pointer;transition:background .15s ease}.credits-page .credit-row:hover{background:#f8fafc}.credits-page .detail-text{color:#4b5563;font-size:14px;font-weight:400}.credits-page .balance-text{color:#111827;font-size:14px;font-weight:700}.credits-page .status-badge{border-radius:9999px;display:inline-flex;font-size:12px;font-weight:600;letter-spacing:-.3px;padding:4px 10px}.credits-page .status-badge.credit{background:#dbeafe;color:#1e40af}.credits-page .status-badge.point{background:#fef9c3;color:#854d0e}.credits-page .action-btn{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;color:#3b82f6;cursor:pointer;display:inline-flex;font-size:13.5px;font-weight:600;gap:4px;padding:8px 12px;transition:all .2s}.credits-page .action-btn:hover{background:#dbeafe;color:#2563eb}.credits-page .pagination{align-items:center;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:16px 24px}.credits-page .pagination-info{color:#6b7280;font-size:13px}.credits-page .pagination-controls{display:flex;gap:6px}.credits-page .page-btn{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:all .2s}.credits-page .page-btn:hover:not(.disabled):not(.active){background:#f9fafb;border-color:#9ca3af}.credits-page .page-btn.active{background:#3b82f6;border-color:#3b82f6;box-shadow:0 1px 2px #3b82f666;color:#fff}.credits-page .page-btn.disabled{background:#f3f4f6;cursor:not-allowed;opacity:.5}.credits-page .page-ellipsis{align-items:flex-end;color:#9ca3af;display:flex;font-weight:700;padding:0 4px 4px}.credits-page .drawer-overlay{animation:fadeInOverlay .3s ease-out;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;bottom:0;left:0;position:fixed;right:0;top:0;z-index:100}.credits-page .detail-drawer{background:#fff;box-shadow:-4px 0 25px #0000001a;display:flex;flex-direction:column;height:100vh;position:fixed;right:-520px;top:0;transition:transform .35s cubic-bezier(.16,1,.3,1);width:520px;z-index:110}.credits-page .detail-drawer.open{transform:translateX(-520px)}.credits-page .detail-drawer.credit-detail-drawer{background:#0000;max-width:none;right:0;transform:translateX(100%);width:min(1500px,calc(100vw - 32px))}.credits-page .detail-drawer.credit-detail-drawer.open{transform:translateX(0)}.credits-page .credit-detail-layout{background:#fff;display:grid;grid-template-columns:minmax(860px,1fr) 520px;height:100%;width:100%}.credits-page .credit-transaction-side{background:#f8fafc;border-right:1px solid #e5e7eb;height:100%;min-width:0;overflow-y:auto;padding:28px}.credits-page .credit-detail-main{background:#fff;display:flex;flex-direction:column;height:100%;min-width:0}.credits-page .credit-detail-main .drawer-content{flex:1 1;overflow-y:auto}.credits-page .credit-transaction-panel{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 3px #0f172a14;overflow:hidden}.credits-page .credit-transaction-header{align-items:flex-start;border-bottom:1px solid #e5e7eb;display:flex;gap:16px;justify-content:space-between;padding:24px 28px}.credits-page .panel-eyebrow{color:#64748b;display:block;font-size:12px;font-weight:700;margin-bottom:4px}.credits-page .credit-transaction-header h3{color:#111827;font-size:22px;font-weight:800;margin:0}.credits-page .credit-tx-count{align-items:center;background:#eff6ff;border-radius:9999px;color:#2563eb;display:inline-flex;font-size:15px;font-weight:800;height:34px;justify-content:center;min-width:52px;padding:0 12px}.credits-page .tx-inline-summary{grid-gap:12px;border-bottom:1px solid #e5e7eb;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));padding:18px 28px}.credits-page .tx-summary-item{padding:12px 14px}.credits-page .tx-summary-item span{display:block;margin-bottom:4px}.credits-page .tx-summary-item strong{display:block}.credits-page .credit-transaction-content{padding:20px 28px 28px}.credits-page .credit-transaction-content .tx-modal-table-wrap{overflow-x:visible}.credits-page .credit-transaction-content .mini-table{min-width:0;table-layout:fixed}.credits-page .credit-transaction-content .mini-table td,.credits-page .credit-transaction-content .mini-table th{padding-left:10px;padding-right:10px}.credits-page .credit-transaction-content .mini-table td:first-child,.credits-page .credit-transaction-content .mini-table th:first-child{width:110px}.credits-page .credit-transaction-content .mini-table td:nth-child(2),.credits-page .credit-transaction-content .mini-table th:nth-child(2){text-align:right;width:90px}.credits-page .credit-transaction-content .mini-table td:nth-child(3),.credits-page .credit-transaction-content .mini-table th:nth-child(3){width:120px}.credits-page .credit-transaction-content .mini-table td:nth-child(5),.credits-page .credit-transaction-content .mini-table th:nth-child(5){width:170px}.credits-page .credit-transaction-content .empty-text{padding:40px 0}.credits-page .credit-transaction-content .tx-pagination{margin-top:16px}@media (max-width:1100px){.credits-page .detail-drawer.credit-detail-drawer{width:100vw}.credits-page .credit-detail-layout{display:flex;flex-direction:column;overflow-y:auto}.credits-page .credit-transaction-side{border-bottom:1px solid #e5e7eb;border-right:0;height:auto}.credits-page .credit-detail-main{height:auto}}@media (max-width:720px){.credits-page .credit-transaction-side{padding:20px}.credits-page .tx-inline-summary{grid-template-columns:1fr}.credits-page .credit-transaction-header{padding:20px}.credits-page .credit-transaction-content{padding:16px 20px 20px}}.credits-page .drawer-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:24px 32px}.credits-page .drawer-header h3{color:#111827;font-size:18px;font-weight:700;margin:0}.credits-page .drawer-close-btn{background:#0000;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;padding:6px;transition:all .2s}.credits-page .drawer-close-btn:hover{background:#f3f4f6;color:#111827}.credits-page .drawer-content{flex:1 1;overflow-y:auto;padding:32px}.credits-page .drawer-profile-card{align-items:center;display:flex;margin-bottom:40px}.credits-page .drawer-profile-info{display:flex;flex-direction:column;gap:6px}.credits-page .drawer-name{align-items:center;color:#111827;display:flex;font-size:22px;font-weight:700;gap:10px}.credits-page .drawer-sub{color:#6b7280;font-size:15px}.credits-page .drawer-label{color:#6b7280;display:block;font-size:12px;font-weight:600;margin-bottom:3px}.credits-page .drawer-section{margin-bottom:36px}.credits-page .drawer-section h4{border-bottom:2px solid #f8fafc;color:#374151;font-size:16px;font-weight:700;margin:0 0 20px;padding-bottom:10px}.credits-page .info-grid{display:flex;flex-direction:column;gap:16px}.credits-page .info-item{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:4px 0}.credits-page .info-item label{color:#64748b;font-size:13px;font-weight:600}.credits-page .info-item span{color:#0f172a;font-size:14px;font-weight:500}.credits-page .mini-table{border-collapse:collapse;font-size:13px;width:100%}.credits-page .mini-table th{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:11px;font-weight:600;letter-spacing:.3px;padding:10px 12px;text-align:left;text-transform:uppercase;white-space:nowrap}.credits-page .mini-table td{border-bottom:1px solid #f3f4f6;color:#374151;padding:10px 12px;vertical-align:middle}.credits-page .mini-table tr:last-child td{border-bottom:none}.credits-page .mini-table-wrap{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.credits-page .amount-plus{color:#16a34a;font-weight:600}.credits-page .amount-minus{color:#dc2626;font-weight:600}.credits-page .reason-badge{border-radius:9999px;display:inline-flex;font-size:11px;font-weight:600;padding:3px 8px}.credits-page .reason-badge.earn{background:#dcfce7;color:#166534}.credits-page .reason-badge.spend{background:#fee2e2;color:#991b1b}.credits-page .reason-badge.refund{background:#fef9c3;color:#854d0e}.credits-page .reason-badge.claim{background:#dbeafe;color:#1e40af}.credits-page .admin-action-card{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;display:flex;justify-content:space-between;margin-bottom:16px;padding:16px 20px;transition:all .2s}.credits-page .admin-action-card:hover{border-color:#cbd5e1}.credits-page .action-text strong{color:#1e293b;display:block;font-size:14.5px;margin-bottom:4px}.credits-page .action-text p{color:#64748b;font-size:13px;margin:0}.credits-page .btn-secondary{background:#fff;border:1px solid #cbd5e1;border-radius:6px;color:#334155;cursor:pointer;font-size:13.5px;font-weight:600;padding:8px 16px;transition:all .2s;white-space:nowrap}.credits-page .btn-secondary:hover{background:#f1f5f9;border-color:#94a3b8}.credits-page .btn-secondary:disabled{cursor:not-allowed;opacity:.65}.credits-page .btn-secondary:disabled:hover{background:#fff;border-color:#cbd5e1}.credits-page .tx-pagination{display:flex;gap:6px;justify-content:center;margin-top:12px}.credits-page .tx-page-btn{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:12px;font-weight:500;padding:4px 10px;transition:all .2s}.credits-page .tx-page-btn:hover:not(.disabled):not(.active){background:#f9fafb}.credits-page .tx-page-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.credits-page .tx-page-btn.disabled{cursor:not-allowed;opacity:.5}.credits-page .empty-text{color:#9ca3af;font-size:13px;padding:20px 0;text-align:center}.credits-page .modal-overlay{animation:fadeInOverlay .2s ease-out;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:200}.credits-page .modal{animation:modalIn .25s ease-out;background:#fff;border-radius:14px;box-shadow:0 20px 60px #00000026;left:50%;position:fixed;top:50%;transform:translate(-50%,-50%);width:480px;z-index:210}.credits-page .modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 24px}.credits-page .modal-header h3{color:#111827;font-size:17px;font-weight:700;margin:0}.credits-page .modal-subtitle{color:#64748b;font-size:13px;margin:6px 0 0}.credits-page .tx-modal-summary{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.credits-page .tx-summary-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;gap:4px;min-width:120px;padding:10px 12px}.credits-page .tx-summary-item span{color:#64748b;font-size:11px;font-weight:700;letter-spacing:.3px;text-transform:uppercase}.credits-page .tx-summary-item strong{color:#0f172a;font-size:14px;font-weight:700;line-height:1.25}.credits-page .modal-body{display:flex;flex-direction:column;gap:18px;padding:24px}.credits-page .modal-field{display:flex;flex-direction:column;gap:8px}.credits-page .modal-field label{color:#374151;font-size:13px;font-weight:600}.credits-page .modal-field input{border:1px solid #d1d5db;border-radius:8px;color:#374151;font-size:14px;outline:none;padding:10px 14px;transition:all .2s}.credits-page .modal-field input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.credits-page .modal-field input[type=number]{appearance:textfield}.credits-page .modal-field input[type=number]::-webkit-inner-spin-button,.credits-page .modal-field input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.credits-page .modal-footer{border-top:1px solid #e5e7eb;display:flex;gap:10px;justify-content:flex-end;padding:16px 24px}.credits-page .btn-primary{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:9px 20px;transition:all .2s}.credits-page .btn-primary:hover{background:#2563eb;box-shadow:0 2px 6px #2563eb4d}.credits-page .btn-primary:disabled{background:#93c5fd;box-shadow:none;cursor:not-allowed}.credits-page .modal-warning{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626}.credits-page .modal-error,.credits-page .modal-warning{font-size:13.5px;line-height:1.5;margin:4px 0 0;padding:12px 14px}.credits-page .modal-error{background:#fff1f2;border:1px solid #fecdd3;border-radius:8px;color:#b91c1c}.credits-page .tx-modal{display:flex;flex-direction:column;max-height:calc(100vh - 80px);width:min(920px,calc(100vw - 48px))}.credits-page .tx-modal-body{overflow:auto}.credits-page .tx-modal-table-wrap{overflow-x:auto}.credits-page .tx-modal .mini-table{min-width:760px}.credits-page .tx-modal .mini-table td:nth-child(2),.credits-page .tx-modal .mini-table th:nth-child(2){text-align:right}@media (max-width:640px){.credits-page .tx-modal{max-height:calc(100vh - 40px);width:calc(100vw - 24px)}}.mails-page{animation:fadeIn .4s ease-out;min-width:0;overflow:hidden}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.mails-page .page-header{align-items:flex-end;display:flex;justify-content:space-between;margin-bottom:24px}.mails-page .page-title{color:#111827;font-size:24px;font-weight:700;letter-spacing:-.5px;margin:0 0 6px}.mails-page .page-subtitle{color:#6b7280;font-size:14px;margin:0}.mails-page .header-actions{align-items:center;display:flex;gap:12px}.mails-page .search-form{align-items:center;display:flex;gap:8px}.mails-page .search-box{align-items:center;display:flex;position:relative}.mails-page .search-icon{color:#9ca3af;left:14px;position:absolute}.mails-page .search-box input{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;font-size:14px;outline:none;padding:10px 14px 10px 40px;transition:all .2s;width:280px}.mails-page .search-box input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.mails-page .btn-search{background:#3b82f6;border:0;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;height:38px;padding:0 16px;transition:background .2s,opacity .2s}.mails-page .btn-search:hover:not(:disabled){background:#2563eb}.mails-page .btn-search:disabled{cursor:not-allowed;opacity:.65}.mails-page .btn-resend{align-items:center;background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:10px 18px;transition:all .2s;white-space:nowrap}.mails-page .btn-resend:hover{background:#2563eb;box-shadow:0 2px 6px #2563eb4d}.mails-page .table-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;overflow-x:auto;overflow-y:hidden}.mails-page .mails-table{border-collapse:collapse;table-layout:auto;text-align:left;width:100%}.mails-page .mails-table .col-action{padding:14px 24px;text-align:center;white-space:nowrap;width:1%}.mails-page .mails-table th:first-child{width:200px}.mails-page .mails-table th:nth-child(2){width:260px}.mails-page .mails-table th:nth-child(3){width:140px}.mails-page .mails-table th:nth-child(4){width:100px}.mails-page .mails-table th:nth-child(5){width:140px}.mails-page .mails-table th{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.5px;padding:14px 20px;text-transform:uppercase;white-space:nowrap}.mails-page .mails-table td{border-bottom:1px solid #f3f4f6;padding:14px 20px;vertical-align:middle;white-space:nowrap}.mails-page .mail-row{cursor:pointer;transition:background .15s ease}.mails-page .mail-row:hover{background:#f8fafc}.mails-page .detail-text{color:#4b5563;font-size:14px;font-weight:400}.mails-page .status-badge{border-radius:9999px;display:inline-flex;font-size:12px;font-weight:600;letter-spacing:-.3px;padding:4px 10px}.mails-page .status-badge.success{background:#dcfce7;color:#166534}.mails-page .status-badge.fail{background:#fee2e2;color:#991b1b}.mails-page .status-badge.pending{background:#fef9c3;color:#854d0e}.mails-page .status-badge.deleted{background:#fee2e2;color:#991b1b}.mails-page .reason-badge{border-radius:9999px;display:inline-flex;font-size:12px;font-weight:600;padding:4px 10px}.mails-page .reason-badge.verify{background:#dbeafe;color:#1e40af}.mails-page .reason-badge.password{background:#fef9c3;color:#854d0e}.mails-page .reason-badge.idfind{background:#ede9fe;color:#5b21b6}.mails-page .reason-badge.notice{background:#f3f4f6;color:#6b7280}.mails-page .action-btn{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;color:#3b82f6;cursor:pointer;display:inline-flex;font-size:13.5px;font-weight:600;gap:4px;padding:8px 12px;transition:all .2s}.mails-page .action-btn:hover{background:#dbeafe;color:#2563eb}.mails-page .pagination{align-items:center;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:16px 24px}.mails-page .pagination-info{color:#6b7280;font-size:13px}.mails-page .pagination-controls{display:flex;gap:6px}.mails-page .page-btn{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:all .2s}.mails-page .page-btn:hover:not(.disabled):not(.active){background:#f9fafb;border-color:#9ca3af}.mails-page .page-btn.active{background:#3b82f6;border-color:#3b82f6;box-shadow:0 1px 2px #3b82f666;color:#fff}.mails-page .page-btn.disabled{background:#f3f4f6;cursor:not-allowed;opacity:.5}.mails-page .page-ellipsis{align-items:flex-end;color:#9ca3af;display:flex;font-weight:700;padding:0 4px 4px}.mails-page .drawer-overlay{animation:fadeInOverlay .3s ease-out;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;bottom:0;left:0;position:fixed;right:0;top:0;z-index:100}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.mails-page .detail-drawer{background:#fff;box-shadow:-4px 0 25px #0000001a;display:flex;flex-direction:column;height:100vh;position:fixed;right:-480px;top:0;transition:transform .35s cubic-bezier(.16,1,.3,1);width:480px;z-index:110}.mails-page .detail-drawer.open{transform:translateX(-480px)}.mails-page .drawer-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:24px 32px}.mails-page .drawer-header h3{color:#111827;font-size:18px;font-weight:700;margin:0}.mails-page .drawer-close-btn{background:#0000;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;padding:6px;transition:all .2s}.mails-page .drawer-close-btn:hover{background:#f3f4f6;color:#111827}.mails-page .drawer-content{flex:1 1;overflow-y:auto;padding:32px}.mails-page .drawer-profile-card{align-items:center;display:flex;margin-bottom:40px}.mails-page .drawer-profile-info{display:flex;flex-direction:column;gap:6px}.mails-page .drawer-name{align-items:center;color:#111827;display:flex;font-size:20px;font-weight:700;gap:10px}.mails-page .drawer-sub{color:#6b7280;font-size:15px}.mails-page .drawer-section{margin-bottom:36px}.mails-page .drawer-section h4{border-bottom:2px solid #f8fafc;color:#374151;font-size:16px;font-weight:700;margin:0 0 20px;padding-bottom:10px}.mails-page .info-grid{display:flex;flex-direction:column;gap:16px}.mails-page .info-item{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:4px 0}.mails-page .info-item label{color:#64748b;font-size:13px;font-weight:600}.mails-page .info-item span{color:#0f172a;font-size:14px;font-weight:500}.mails-page .content-preview{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#374151;font-size:13px;line-height:1.6;max-height:200px;overflow-y:auto;padding:16px;white-space:pre-wrap;word-break:break-word}.mails-page .admin-action-card{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;display:flex;justify-content:space-between;margin-bottom:16px;padding:16px 20px;transition:all .2s}.mails-page .admin-action-card:hover{border-color:#cbd5e1}.mails-page .action-text strong{color:#1e293b;display:block;font-size:14.5px;margin-bottom:4px}.mails-page .action-text p{color:#64748b;font-size:13px;margin:0}.mails-page .btn-secondary{background:#fff;border:1px solid #cbd5e1;border-radius:6px;color:#334155;cursor:pointer;font-size:13.5px;font-weight:600;padding:8px 16px;transition:all .2s;white-space:nowrap}.mails-page .btn-secondary:hover{background:#f1f5f9;border-color:#94a3b8}.mails-page .modal-overlay{animation:fadeInOverlay .2s ease-out;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:200}.mails-page .modal{animation:modalIn .25s ease-out;background:#fff;border-radius:14px;box-shadow:0 20px 60px #00000026;left:50%;position:fixed;top:50%;transform:translate(-50%,-50%);width:460px;z-index:210}@keyframes modalIn{0%{opacity:0;transform:translate(-50%,-48%)}to{opacity:1;transform:translate(-50%,-50%)}}.mails-page .modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 24px}.mails-page .modal-header h3{color:#111827;font-size:17px;font-weight:700;margin:0}.mails-page .modal-body{display:flex;flex-direction:column;gap:18px;padding:24px}.mails-page .modal-info{align-items:center;display:flex;justify-content:space-between}.mails-page .modal-info label{color:#64748b;font-size:13px;font-weight:600}.mails-page .modal-info span{color:#0f172a;font-size:14px;font-weight:500}.mails-page .modal-field{display:flex;flex-direction:column;gap:8px}.mails-page .modal-field label{color:#374151;font-size:13px;font-weight:600}.mails-page .modal-field input{border:1px solid #d1d5db;border-radius:8px;color:#374151;font-size:14px;outline:none;padding:10px 14px;transition:all .2s}.mails-page .modal-field input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.mails-page .modal-footer{border-top:1px solid #e5e7eb;display:flex;gap:10px;justify-content:flex-end;padding:16px 24px}.mails-page .btn-primary{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:9px 20px;transition:all .2s}.mails-page .btn-primary:hover{background:#2563eb;box-shadow:0 2px 6px #2563eb4d}.mails-page .btn-primary:disabled{background:#93c5fd;box-shadow:none;cursor:not-allowed}.mails-page .modal-success{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;color:#166534;font-size:13.5px;line-height:1.5;margin:4px 0 0;padding:12px 14px}.mails-page .modal-error{color:#b91c1c}.mails-page .modal-error,.mails-page .modal-warning{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;font-size:13.5px;line-height:1.5;margin:4px 0 0;padding:12px 14px}.mails-page .modal-warning{color:#dc2626}.settings-page{animation:fadeIn .4s ease-out;min-width:0}.settings-page .page-header{align-items:flex-end;display:flex;justify-content:space-between;margin-bottom:24px}.settings-page .page-title{color:#111827;font-size:24px;font-weight:700;letter-spacing:-.5px;margin:0 0 6px}.settings-page .page-subtitle{color:#6b7280;font-size:14px;margin:0}.settings-summary-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:24px}.summary-panel{appearance:none;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;cursor:pointer;padding:22px 24px;text-align:left;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.summary-panel.active{background:#eff6ff;border-color:#3b82f6}.summary-panel:hover{border-color:#93c5fd}.summary-panel:focus-visible{outline:3px solid #3b82f633;outline-offset:2px}.summary-panel span{color:#6b7280;display:block;font-size:13px;font-weight:600;margin-bottom:10px}.summary-panel strong{color:#111827;display:block;font-size:28px;line-height:1}.settings-content{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:minmax(0,1fr) 360px}.section-header{margin-bottom:12px}.section-header h3{color:#111827;font-size:18px;margin:0}.settings-page .table-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;overflow-x:auto}.settings-table{border-collapse:collapse;text-align:left;width:100%}.settings-table th{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.5px;padding:14px 20px;white-space:nowrap}.settings-table td{border-bottom:1px solid #f3f4f6;color:#4b5563;font-size:14px;padding:16px 20px;white-space:nowrap}.settings-table tr:last-child td{border-bottom:0}.admin-group-row td{background:#f8fafc;border-bottom:1px solid #e5e7eb;padding:12px 20px}.admin-group-row span{color:#111827;font-size:13px;font-weight:900}.admin-group-row small{color:#64748b;font-size:12px;font-weight:700;margin-left:10px}.admin-row{cursor:pointer;transition:background .15s ease}.admin-row:hover{background:#f8fafc}.settings-table .username-cell{color:#111827;font-weight:700}.settings-table .col-action{text-align:center;width:1%}.role-badge{border-radius:9999px;display:inline-flex;font-size:12px;font-weight:700;padding:4px 10px}.role-badge.admin{background:#fee2e2;border:1px solid #fca5a5;box-shadow:0 0 0 3px #ef44441a;color:#b91c1c}.role-badge.manager{background:#dcfce7;color:#166534}.role-badge.sitemanager{background:#ede9fe;color:#6d28d9}.role-badge.staff{background:#f3f4f6;color:#4b5563}.delete-btn{background:#fff1f2;border:1px solid #fecaca;border-radius:8px;color:#b91c1c;cursor:pointer;font-weight:700;padding:8px 14px}.delete-btn:hover{background:#fee2e2}.delete-btn:disabled,.submit-btn:disabled{cursor:not-allowed;opacity:.6}.settings-error{font-size:14px;margin-bottom:12px}.form-error,.settings-error{background:#fff1f2;border:1px solid #fecaca;border-radius:8px;color:#b91c1c;font-weight:700;padding:12px 14px}.form-error{font-size:13px;line-height:1.4}.password-help{color:#64748b;font-size:12px;line-height:1.5}.empty-cell{color:#ef4444;font-weight:700;height:120px;text-align:center}.admin-form-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;padding:20px}.admin-form{grid-gap:14px;display:grid;gap:14px}.admin-form label{grid-gap:8px;display:grid;gap:8px}.admin-form label span{color:#4b5563;font-size:13px;font-weight:700}.admin-form label span.admin-role-label{align-items:center;display:inline-flex;gap:6px;width:fit-content}.admin-role-help{display:inline-flex;position:relative}.admin-role-help-trigger{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;color:#2563eb;cursor:help;display:inline-flex;font-size:12px;font-weight:900;height:18px;justify-content:center;line-height:1;padding:0;width:18px}.admin-role-help-popover{background:#fff;border:1px solid #dbe3ef;border-radius:8px;bottom:calc(100% + 8px);box-shadow:0 16px 35px #0f172a29;color:#334155;font-size:12px;font-weight:500;left:0;line-height:1.45;opacity:0;padding:12px;pointer-events:none;position:absolute;transition:opacity .15s ease,visibility .15s ease;visibility:hidden;width:330px;z-index:30}.admin-role-help:focus-within .admin-role-help-popover,.admin-role-help:hover .admin-role-help-popover{opacity:1;visibility:visible}.admin-role-help-popover strong{color:#111827;display:block;font-size:13px;margin-bottom:4px}.admin-role-help-note{color:#64748b;display:block;font-size:12px;font-weight:500;margin-bottom:8px}.admin-role-help-row{grid-gap:8px;border-top:1px solid #eef2f7;display:grid;gap:8px;grid-template-columns:86px 1fr;padding-top:7px}.admin-role-help-row+.admin-role-help-row{margin-top:7px}.admin-role-help-name{color:#1d4ed8;font-weight:800}.admin-form input,.admin-form select{background:#fff;outline:none}.admin-form input,.admin-form select,.fixed-role-field{border:1px solid #d1d5db;border-radius:8px;color:#111827;font-size:14px;height:42px;padding:0 12px}.fixed-role-field{align-items:center;background:#f9fafb;display:flex;font-weight:700}.admin-form input:focus,.admin-form select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.submit-btn{background:#3b82f6;border:0;border-radius:8px;color:#fff;cursor:pointer;font-weight:800;height:44px;margin-top:4px}.submit-btn:hover{background:#2563eb}.settings-drawer-overlay{animation:settingsOverlayIn .3s ease-out;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a57;inset:0;position:fixed;z-index:60}.admin-detail-drawer{animation:adminDrawerIn .35s cubic-bezier(.16,1,.3,1);background:#fff;box-shadow:-18px 0 45px #0f172a2e;display:flex;flex-direction:column;height:100vh;position:fixed;right:0;top:0;width:min(1120px,calc(100vw - 220px));will-change:transform;z-index:70}@keyframes settingsOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes adminDrawerIn{0%{transform:translateX(100%)}to{transform:translateX(0)}}.admin-detail-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:24px 28px}.admin-detail-header p{color:#64748b;font-size:12px;font-weight:800;margin:0 0 4px}.admin-detail-header h3{color:#111827;font-size:22px;font-weight:800;margin:0}.admin-detail-body{background:#f8fafc;flex:1 1;overflow-y:auto;padding:28px}.admin-detail-layout{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:minmax(420px,1.25fr) minmax(360px,.85fr)}.admin-detail-main-column{min-width:0}.admin-detail-profile{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px;padding:20px}.admin-detail-label{color:#64748b;display:block;font-size:12px;font-weight:800;margin-bottom:6px}.admin-detail-profile strong{color:#111827;font-size:26px;font-weight:900}.admin-detail-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.admin-detail-main-column .admin-detail-section{margin-top:18px}.admin-detail-section-header{align-items:flex-start;border-bottom:1px solid #eef2f7;display:flex;gap:16px;justify-content:space-between;padding:18px 20px}.admin-detail-section-header h4{color:#111827;font-size:17px;font-weight:900;margin:0}.admin-detail-section-header p{color:#64748b;font-size:12px;line-height:1.45;margin:6px 0 0}.admin-info-grid{display:grid;grid-template-columns:1fr}.admin-info-item{border-bottom:1px solid #f1f5f9;display:flex;gap:18px;justify-content:space-between;padding:15px 20px}.admin-info-item:last-child{border-bottom:0}.admin-info-item span{color:#64748b;flex:0 0 118px;font-size:13px;font-weight:800}.admin-info-item strong{color:#111827;font-size:14px;font-weight:700;min-width:0;text-align:right;word-break:break-word}.admin-info-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px!important}.permission-cancel-btn,.permission-edit-btn,.permission-save-btn{border-radius:8px;cursor:pointer;font-size:13px;font-weight:800;height:36px;padding:0 14px;white-space:nowrap}.permission-edit-btn,.permission-save-btn{background:#3b82f6;border:0;color:#fff}.permission-edit-btn:hover:not(:disabled),.permission-save-btn:hover{background:#2563eb}.permission-edit-btn:disabled{cursor:not-allowed;opacity:.55}.permission-cancel-btn{background:#fff;border:1px solid #cbd5e1;color:#334155}.permission-edit-actions{display:inline-flex;gap:8px}.admin-permission-fixed{align-items:center;background:#fee2e2;border-radius:999px;color:#b91c1c;display:inline-flex;font-size:12px;font-weight:900;height:32px;padding:0 12px}.permission-group-list{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));padding:18px 20px 20px}.permission-group{border:1px solid #eef2f7;border-radius:8px;overflow:hidden}.permission-group h5{background:#f8fafc;color:#334155;font-size:13px;font-weight:900;margin:0;padding:12px 14px}.permission-toggle-row{align-items:center;border-top:1px solid #f1f5f9;display:flex;gap:14px;justify-content:space-between;padding:13px 14px;position:relative}.permission-toggle-row span:first-child{min-width:0}.permission-toggle-row strong{color:#111827;display:block;font-size:13px;font-weight:800}.permission-toggle-row small{color:#94a3b8;display:block;font-size:11px;font-weight:700;margin-top:3px}.permission-toggle-row input{opacity:0;pointer-events:none;position:absolute}.permission-switch{background:#cbd5e1;border-radius:999px;flex:0 0 auto;height:26px;position:relative;transition:background .2s,opacity .2s;width:46px}.permission-switch:after{background:#fff;border-radius:50%;box-shadow:0 1px 4px #0f172a40;content:"";height:20px;left:3px;position:absolute;top:3px;transition:transform .2s;width:20px}.permission-toggle-row input:checked+.permission-switch{background:#3b82f6}.permission-toggle-row input:checked+.permission-switch:after{transform:translateX(20px)}.permission-toggle-row input:disabled+.permission-switch{opacity:.55}.settings-modal-backdrop{align-items:center;background:#11182799;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:50}.settings-modal{background:#fff;border-radius:8px;box-shadow:0 24px 60px #0f172a4d;overflow:hidden;width:min(560px,100%)}.settings-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:22px 24px}.settings-modal-header h3{color:#111827;font-size:22px;font-weight:800;margin:0}.settings-modal-close{background:#0000;border:0;color:#6b7280;cursor:pointer;font-size:34px;height:36px;line-height:1;width:36px}.settings-modal-body{grid-gap:18px;display:grid;gap:18px;padding:24px}.delete-target-row{color:#64748b;display:flex;font-size:15px;font-weight:700;gap:20px;justify-content:space-between}.delete-target-row strong{color:#111827;font-size:22px;line-height:1.25;text-align:right}.delete-warning{background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;color:#b91c1c}.create-notice,.delete-warning{font-size:15px;font-weight:800;line-height:1.6;padding:16px 18px}.create-notice{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;color:#1d4ed8}.delete-confirm-label{grid-gap:8px;display:grid;gap:8px}.delete-confirm-label span{color:#4b5563;font-size:16px;font-weight:800}.delete-confirm-label input{border:1px solid #d1d5db;border-radius:8px;color:#b91c1c;font-size:18px;font-weight:800;height:54px;outline:none;padding:0 16px}.delete-confirm-label input:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef444424}.settings-modal-actions{border-top:1px solid #e5e7eb;display:flex;gap:10px;justify-content:flex-end;padding:18px 24px}.cancel-modal-btn,.confirm-delete-btn{border-radius:8px;cursor:pointer;font-weight:800;height:42px;min-width:96px}.cancel-modal-btn{background:#fff;border:1px solid #cbd5e1;color:#334155}.confirm-delete-btn{background:#ef4444;border:0;color:#fff}.confirm-create-btn{background:#3b82f6;border:0;border-radius:8px;color:#fff;cursor:pointer;font-weight:800;height:42px;min-width:96px}.confirm-delete-btn:disabled{cursor:not-allowed;opacity:.45}.confirm-create-btn:disabled{cursor:not-allowed;opacity:.6}@media (max-width:1100px){.settings-content,.settings-summary-grid{grid-template-columns:1fr}.admin-detail-drawer{width:min(760px,100vw)}.admin-detail-layout,.permission-group-list{grid-template-columns:1fr}}.login-events-page{animation:fadeIn .4s ease-out}.login-events-page .page-header{justify-content:space-between;margin-bottom:18px}.login-events-page .page-header,.login-events-page .page-title-group{align-items:flex-end;display:flex;gap:20px}.login-events-page .page-title{color:#111827;font-size:24px;font-weight:700;margin:0 0 6px}.login-events-page .page-subtitle{color:#6b7280;font-size:14px;margin:0}.login-events-page .header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.login-events-page .login-event-search-form{align-items:center;display:inline-flex;gap:8px}.login-events-page .login-event-search-field{align-items:center;display:inline-flex;position:relative}.login-events-page .login-event-search-icon{color:#9ca3af;height:17px;left:12px;pointer-events:none;position:absolute;width:17px}.login-events-page .login-event-search-field input{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#111827;font-size:14px;font-weight:700;height:40px;outline:none;padding:0 12px 0 36px;width:220px}.login-events-page .login-event-search-field input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.login-events-page .login-event-search-field input::placeholder{color:#9ca3af;font-weight:600}.login-events-page .login-events-summary-bar{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;color:#475569;display:inline-flex;font-size:13px;font-weight:700;gap:10px;padding:9px 14px}.login-events-page .login-events-summary-bar strong{color:#1d4ed8;font-size:20px;line-height:1}.login-events-page .filter-group{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;display:inline-flex;padding:3px}.login-events-page .filter-chip{background:#0000;border:0;border-radius:6px;color:#4b5563;cursor:pointer;font-size:13px;font-weight:700;height:32px;min-width:48px;padding:0 10px}.login-events-page .filter-chip.active{background:#2563eb;color:#fff}.login-events-page .btn-clear:disabled,.login-events-page .btn-refresh:disabled,.login-events-page .btn-search:disabled,.login-events-page .filter-chip:disabled,.login-events-page .filter-select:disabled,.login-events-page .login-event-search-field input:disabled{cursor:not-allowed;opacity:.65}.login-events-page .filter-select{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;font-size:14px;font-weight:700;height:40px;outline:none;padding:0 34px 0 12px}.login-events-page .btn-refresh{background:#111827;border:0;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:800;height:40px;padding:0 16px}.login-events-page .btn-clear,.login-events-page .btn-search{align-items:center;border-radius:8px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:800;gap:6px;height:40px;justify-content:center;padding:0 13px}.login-events-page .btn-search{background:#2563eb;border:0;color:#fff}.login-events-page .btn-search-icon{height:16px;width:16px}.login-events-page .btn-clear{background:#fff;border:1px solid #d1d5db;color:#4b5563}.login-events-page .btn-refresh:hover:not(:disabled){background:#374151}.login-events-page .btn-search:hover:not(:disabled){background:#1d4ed8}.login-events-page .btn-clear:hover:not(:disabled){background:#f9fafb}.login-events-page .login-events-meta{align-items:center;color:#6b7280;display:flex;font-size:13px;font-weight:700;gap:14px;margin-bottom:12px}.login-events-page .table-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;overflow:auto}.login-events-page .login-events-table{border-collapse:collapse;min-width:1120px;text-align:left;width:100%}.login-events-page .login-events-table th{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:12px;font-weight:700;letter-spacing:.5px;padding:14px 18px;text-transform:uppercase;white-space:nowrap}.login-events-page .login-events-table td{border-bottom:1px solid #f3f4f6;color:#4b5563;font-size:14px;padding:14px 18px;vertical-align:middle;white-space:nowrap}.login-events-page .login-events-table tbody tr:hover{background:#f8fafc}.login-events-page .date-text,.login-events-page .mono-text{font-family:SF Mono,Fira Code,monospace;font-size:12.5px}.login-events-page .username-text{color:#111827;font-weight:800}.login-events-page .detail-text,.login-events-page .reason-text{color:#4b5563}.login-events-page .agent-text{color:#6b7280;max-width:280px;overflow:hidden;text-overflow:ellipsis}.login-events-page .result-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:800;justify-content:center;min-width:44px;padding:4px 10px}.login-events-page .result-badge.success{background:#dcfce7;color:#166534}.login-events-page .result-badge.fail{background:#fee2e2;color:#991b1b}.login-events-page .table-empty,.login-events-page .table-error{padding:52px 0;text-align:center}.login-events-page .table-error{color:#ef4444}.login-events-page .table-empty{color:#6b7280}
/*# sourceMappingURL=main.7d07ae6d.css.map*/