@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Bodoni+Moda:wght@400;500;600;700&family=Onest:wght@300;400;500;600;700&display=swap";:root{--primary: #4f46e5;--primary-hover: #4338ca;--primary-light: #e0e7ff;--primary-subtle: #eff6ff;--success: #10b981;--success-bg: #ecfdf5;--warning: #f59e0b;--warning-bg: #fffbeb;--danger: #ef4444;--danger-bg: #fef2f2;--info: #3b82f6;--info-bg: #eff6ff;--bg-main: #f8fafc;--bg-card: #ffffff;--border-color: #e2e8f0;--text-main: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--sidebar-width: 260px;--sidebar-bg: #1e1b4b;--sidebar-text: #e0e7ff;--header-height: 64px;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 16px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--transition: all .2s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,-apple-system,sans-serif;background-color:var(--bg-main);color:var(--text-main);line-height:1.5;-webkit-font-smoothing:antialiased;height:100vh;overflow:hidden}button,input,select,textarea{font-family:inherit}.app-container{display:flex;height:100vh}.sidebar{width:var(--sidebar-width);background:linear-gradient(180deg,var(--sidebar-bg) 0%,#312e81 100%);color:var(--sidebar-text);display:flex;flex-direction:column;flex-shrink:0;transition:var(--transition);z-index:50;box-shadow:4px 0 24px #0003}.sidebar-header{height:var(--header-height);display:flex;align-items:center;padding:0 24px;background:#ffffff0d;border-bottom:1px solid rgba(255,255,255,.1)}.brand{font-size:18px;font-weight:700;color:#fff;display:flex;align-items:center;gap:12px;letter-spacing:-.025em}.brand i{font-size:20px;color:#818cf8}.version-tag{font-size:10px;background:#6366f133;color:#c7d2fe;padding:2px 8px;border-radius:9999px;margin-left:auto;border:1px solid rgba(99,102,241,.3)}.sidebar-nav{flex:1;overflow-y:auto;padding:24px 16px;display:flex;flex-direction:column;gap:4px}.nav-label{font-size:11px;font-weight:600;text-transform:uppercase;color:#fff6;margin:16px 12px 8px;letter-spacing:.05em}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 16px;border-radius:var(--radius-sm);color:#ffffffb3;text-decoration:none;transition:var(--transition);border:none;background:transparent;width:100%;cursor:pointer;font-size:14px;font-weight:500;text-align:left;line-height:1.2}.nav-item:hover{background:#ffffff1a;color:#fff;transform:translate(2px)}.nav-item.active{background:var(--primary);color:#fff;box-shadow:0 4px 12px #4f46e566}.nav-item i{font-size:18px;flex-shrink:0}.nav-sub-link{margin-left:0;padding:10px 16px;font-size:14px;color:#ffffff9e}.nav-sub-link i{font-size:18px;opacity:.95}.nav-sub-link:hover{background:#ffffff14;color:#ffffffeb}.nav-sub-link.active{color:#fff}.sidebar-footer{padding:20px;border-top:1px solid rgba(255,255,255,.1);background:#0003}.user-profile{display:flex;align-items:center;gap:12px;padding:10px;background:#ffffff0d;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.1)}.avatar{width:36px;height:36px;background:#4f46e5;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;box-shadow:0 0 0 2px #fff3}.user-info{flex:1;overflow:hidden}.username{font-size:14px;font-weight:600;color:#fff;margin-bottom:2px}.user-role{font-size:11px;color:#fff9}.logout-btn{background:transparent;border:none;color:#fff9;cursor:pointer;padding:8px;border-radius:6px;transition:var(--transition)}.logout-btn:hover{background:#ffffff1a;color:var(--danger)}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-main)}.top-header{height:var(--header-height);background:#fffc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:40}.page-title{font-size:20px;font-weight:700;color:var(--text-main);letter-spacing:-.01em}.content-wrapper{flex:1;overflow-y:auto;padding:32px;max-width:1400px;margin:0 auto;width:100%}.card,.widget-card{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);margin-bottom:24px;transition:var(--transition)}.widget-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.card-header{padding:20px 24px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.card-title{font-size:16px;font-weight:600;color:var(--text-main);display:flex;align-items:center;gap:8px}.card-body{padding:24px}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin-bottom:32px}.widget-card{padding:24px}.widget-title{font-size:12px;color:var(--text-secondary);font-weight:600;text-transform:uppercase;spacing:1px;margin-bottom:8px}.widget-value{font-size:32px;font-weight:700;color:var(--text-main);letter-spacing:-1px}.form-group{margin-bottom:24px;position:relative}.form-group label{display:block;margin-bottom:8px;font-size:13px;font-weight:500;color:var(--text-secondary);letter-spacing:.01em}.form-control,select.form-control,textarea.form-control,input[type=text],input[type=password],input[type=number],select,textarea{width:100%;padding:10px 14px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:14px;line-height:1.5;background:#fff;color:var(--text-main);transition:var(--transition);box-shadow:0 1px 2px #00000005}.form-control:hover,input:hover,select:hover,textarea:hover{border-color:#cbd5e1}.form-control:focus,input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a}.form-control::placeholder,input::placeholder,textarea::placeholder{color:var(--text-muted)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2364748b'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:40px}textarea{min-height:120px;resize:vertical;font-family:inherit}.batch-section,.list-section,.tab-content>form,.combo-list-section,.new-account-list-section,.stats-bar{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);padding:24px;margin-bottom:24px;transition:var(--transition)}.tab-content>form{max-width:800px}.batch-section:hover,.list-section:hover,.combo-list-section:hover,.new-account-list-section:hover{box-shadow:var(--shadow-md)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border-radius:var(--radius-sm);font-weight:500;font-size:14px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);border:1px solid transparent;gap:8px;line-height:1.2;white-space:nowrap}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 1px 2px #4f46e54d}.btn-primary:hover:not(:disabled){background:var(--primary-hover);box-shadow:0 4px 12px #4f46e540;transform:translateY(-1px)}.btn-secondary{background:#fff;border-color:var(--border-color);color:var(--text-secondary);box-shadow:0 1px 2px #00000005}.btn-secondary:hover:not(:disabled){border-color:#cbd5e1;background:#f8fafc;color:var(--text-main);transform:translateY(-1px)}.btn-danger{background:var(--danger);color:#fff;border:1px solid var(--danger);box-shadow:0 1px 2px #dc26264d}.btn-danger:hover:not(:disabled){background:#dc2626;border-color:#dc2626;box-shadow:0 4px 12px #dc262640;transform:translateY(-1px);color:#fff}.btn-success{background:var(--success);color:#fff}.btn-success:hover:not(:disabled){filter:brightness(110%);box-shadow:0 4px 12px #10b98140}.btn-sm{padding:6px 14px;font-size:13px;height:32px}.btn-block{width:100%}.checkbox-label{display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:14px;color:var(--text-main)}.checkbox-label input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:40px;height:22px;background:#e2e8f0;border-radius:9999px;position:relative;cursor:pointer;transition:var(--transition);border:none;box-shadow:inset 0 2px 4px #0000000d;margin:0;padding:0}.checkbox-label input[type=checkbox]:checked{background:var(--primary)}.checkbox-label input[type=checkbox]:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;transition:var(--transition);box-shadow:0 1px 2px #0000001a}.checkbox-label input[type=checkbox]:checked:after{transform:translate(18px)}.table-responsive{overflow-x:auto;border-radius:var(--radius-sm);border:1px solid var(--border-color)}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;background:#fff;min-width:1000px}.table th{background:#f8fafc;padding:14px 16px;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border-color);white-space:nowrap;text-transform:uppercase;font-size:12px;letter-spacing:.02em}.table td{padding:12px 16px;border-bottom:1px solid var(--border-color);color:var(--text-main);vertical-align:middle}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:#f8fafc}.table .selected td{background:#eff6ff}.link-list-table-wrap{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;border:none;border-radius:0}#list-container .table{min-width:1480px}#list-container .table th:nth-child(1),#list-container .table td:nth-child(1){min-width:52px}#list-container .table th:nth-child(2),#list-container .table td:nth-child(2){min-width:72px}#list-container .table th:nth-child(3),#list-container .table td:nth-child(3){min-width:88px}#list-container .table th:nth-child(4),#list-container .table td:nth-child(4){min-width:170px}#list-container .table th:nth-child(5),#list-container .table td:nth-child(5){min-width:170px}#list-container .table th:nth-child(6),#list-container .table td:nth-child(6){min-width:170px}#list-container .table th:nth-child(7),#list-container .table td:nth-child(7){min-width:156px}#list-container .table th:nth-child(8),#list-container .table td:nth-child(8){min-width:240px}#list-container .table th:nth-child(9),#list-container .table td:nth-child(9){min-width:132px}#list-container .table th:nth-child(10),#list-container .table td:nth-child(10),#list-container .table th:nth-child(11),#list-container .table td:nth-child(11){min-width:84px}#list-container .table th:nth-child(12),#list-container .table td:nth-child(12){min-width:168px}#list-container .table th:nth-child(13),#list-container .table td:nth-child(13){min-width:136px}.action-buttons{display:flex;gap:6px;flex-wrap:wrap}.table input.link-input,.table textarea.coupon-name-input,.table textarea.remark-input,.table textarea.combo-remark-input{width:100%;border:1px solid transparent;background:transparent;padding:6px 8px;box-shadow:none;min-height:auto;border-radius:4px;font-size:13px;line-height:1.4;transition:var(--transition);resize:none}.table input.link-input:hover,.table textarea.coupon-name-input:hover,.table textarea.remark-input:hover,.table textarea.combo-remark-input:hover{background:#fff;border-color:var(--border-color)}.table input.link-input:focus,.table textarea.coupon-name-input:focus,.table textarea.remark-input:focus,.table textarea.combo-remark-input:focus{background:#fff;border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #4f46e51a}.table textarea.saving{opacity:.7}.table textarea.saved{border-color:var(--success);background:#f0fdf4}.table textarea.save-error{border-color:var(--danger);background:#fef2f2}.table textarea.save-success{border-color:var(--success);background:#f0fdf4}.btn-copy,.btn-reset,.btn-delete,.btn-open-search,.btn-convert-link,.btn-sc-add,.btn-sc-edit,.btn-sc-delete,.btn-copy-tokens,.btn-export-tokens{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:var(--transition);border:1px solid transparent;line-height:1;white-space:nowrap}.btn-copy{background:#fff;border-color:var(--border-color);color:var(--text-secondary)}.btn-copy:hover{background:#f8fafc;border-color:var(--text-muted);color:var(--text-main)}.btn-reset{background:#fff7ed;color:#ea580c;border:1px solid #ffedd5}.btn-reset:hover{background:#ffedd5}.btn-delete{background:#fef2f2;color:#dc2626;border:1px solid #fee2e2}.btn-delete:hover{background:#fee2e2}.btn-open-search{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0;text-decoration:none}.btn-open-search:hover{background:#d1fae5}.btn-convert-link{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.btn-convert-link:hover{background:#dbeafe}.btn-sc-add{background:#ecfdf5;color:#059669;border:1px solid #a7f3d0}.btn-sc-add:hover{background:#d1fae5}.btn-sc-edit{background:#fff;border:1px solid var(--border-color);color:var(--primary);padding:4px 8px}.btn-sc-edit:hover{border-color:var(--primary);background:#e0e7ff}.btn-sc-delete{background:#fff;border:1px solid #fecaca;color:var(--danger);padding:4px 8px}.btn-sc-delete:hover{background:#fef2f2}.btn-copy-tokens{font-size:11px;padding:2px 6px;background:#f1f5f9;color:var(--text-secondary);border-radius:4px;margin-left:4px}.btn-copy-tokens:hover{background:#e2e8f0;color:var(--text-main)}.btn-export-tokens{font-size:11px;padding:2px 6px;background:#ecfdf5;color:#047857;border:1px solid #a7f3d0;border-radius:4px;margin-left:4px}.btn-export-tokens:hover{background:#d1fae5}.create-type-badge{padding:2px 6px;border-radius:4px;font-size:11px;margin-right:4px;border:1px solid transparent}.type-single{background:#f3f4f6;color:#4b5563;border-color:#e5e7eb}.type-batch{background:#e0f2fe;color:#0369a1;border-color:#bae6fd}.type-multi{background:#f0fdf4;color:#15803d;border-color:#bbf7d0}.cache-badge{padding:2px 6px;border-radius:4px;font-size:11px}.cache-badge.static{background:#fff7ed;color:#c2410c;border:1px solid #ffedd5}.cache-badge.dynamic{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}.shopping-card-badge.on{padding:2px 6px;border-radius:4px;font-size:11px;background:#ecfdf5;color:#059669;border:1px solid #a7f3d0;margin-bottom:4px;display:inline-block}.link-cell,.link-cell-compact{display:flex;align-items:center;gap:8px}.link-actions{display:flex;gap:4px}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:4px;border:1px solid var(--border-color);background:#fff;color:var(--text-secondary);cursor:pointer;transition:var(--transition);font-size:16px}.btn-icon:hover{background:#f8fafc;color:var(--primary);border-color:var(--primary-light)}.btn-icon-link{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:4px;border:1px solid var(--border-color);background:#fff;color:var(--text-secondary);cursor:pointer;transition:var(--transition);font-size:16px;text-decoration:none}.btn-icon-link:hover{background:#f8fafc;color:var(--primary);border-color:var(--primary-light)}.token-cell{font-family:monospace;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;gap:4px}.token-cell:hover{color:var(--primary)}.token-truncate{font-family:JetBrains Mono,Fira Code,monospace;font-size:12px}.table input.link-input{width:100%;border:1px solid transparent;background:transparent;padding:6px 8px;font-size:13px}.table textarea.coupon-name-input,.table textarea.remark-input,.table textarea.combo-remark-input{width:100%;border:1px solid transparent;background:transparent;padding:6px 8px;box-shadow:none;min-height:32px;border-radius:4px;font-size:13px;line-height:1.4;transition:var(--transition);resize:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.table textarea.coupon-name-input:hover,.table textarea.remark-input:hover,.table textarea.combo-remark-input:hover{background:#f8fafc;border-color:var(--border-color);white-space:pre-wrap;min-height:auto;overflow:visible;position:relative;z-index:10}.table textarea.coupon-name-input:focus,.table textarea.remark-input:focus,.table textarea.combo-remark-input:focus{background:#fff;border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #4f46e51a;white-space:pre-wrap;min-height:auto;position:relative;z-index:10}.type-cache-cell{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.shopping-card-status{display:flex;flex-direction:column;align-items:center;gap:4px}.shopping-card-actions{display:flex;gap:4px}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:9999px;font-size:11px;font-weight:600;line-height:1}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-neutral{background:#f3f4f6;color:#4b5563}.login-page{background:linear-gradient(135deg,#4f46e5,#0f172a);display:flex;align-items:center;justify-content:center}.login-container{width:100%;max-width:420px;padding:20px}.login-box{background:#fff;padding:40px;border-radius:20px;box-shadow:0 25px 50px -12px #00000040;text-align:center}.login-header h1{font-size:24px;color:var(--text-main);margin-bottom:8px}.login-header p{color:var(--text-secondary);margin-bottom:32px;font-size:14px}.batch-tips{background:#f0f9ff;border:1px solid #bae6fd;border-radius:var(--radius-md);margin-bottom:24px;overflow:hidden;transition:var(--transition)}.batch-tips-header{padding:16px 24px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;background:transparent}.batch-tips-header:hover{background:#ffffff80}.batch-tips h3{font-size:16px;color:#0369a1;margin:0;display:flex;align-items:center;gap:8px}.toggle-icon{color:#0369a1;transition:transform .3s ease;display:flex;align-items:center;justify-content:center;width:24px;height:24px}.batch-tips.collapsed .toggle-icon{transform:rotate(-90deg)}.batch-tips-content{max-height:1000px;transition:max-height .3s cubic-bezier(.4,0,.2,1);opacity:1}.batch-tips.collapsed .batch-tips-content{max-height:0;opacity:0}.batch-tips-inner{padding:0 24px 24px;border-top:1px solid transparent}.batch-tips code{background:#fffc;padding:4px 8px;border-radius:4px;color:#0c4a6e;font-family:JetBrains Mono,monospace;font-size:12px;display:block;margin:8px 0;border:1px solid rgba(14,165,233,.2)}.batch-tips ul{list-style:none;padding:0}.batch-tips li{position:relative;padding-left:20px;margin-bottom:6px;font-size:13px;color:#334155}.batch-tips li:before{content:"•";color:#0369a1;position:absolute;left:6px;font-weight:700}.static-cache-section,.shopping-card-section{background:#f8fafc;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:20px;margin-bottom:20px}.section-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.form-tip{font-size:12px;color:var(--text-muted)}#batch-data{height:240px;resize:none}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .2s ease}.modal:not(.hidden){opacity:1;pointer-events:auto}.modal-content{background:#fff;width:600px;max-width:90vw;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;transform:scale(.95);transition:transform .2s ease}.modal:not(.hidden) .modal-content{transform:scale(1)}#shopping-card-modal .modal-content{width:840px;max-width:94vw}.paycode-settings-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.paycode-settings-section{border:1px solid var(--border-color);border-radius:10px;padding:14px;background:#fafbff}.paycode-settings-title{margin-bottom:10px;font-weight:600;color:var(--text-main)}.derived-coupon-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.derived-coupon-hint{color:var(--text-muted);font-size:13px}.derived-coupon-status{margin-bottom:12px;font-size:13px;color:var(--text-secondary)}.derived-coupon-status.is-error{color:#b91c1c}.derived-coupon-status.is-success{color:#047857}.derived-coupon-list{display:flex;flex-direction:column;gap:10px;max-height:320px;overflow-y:auto}.derived-coupon-empty{padding:12px;border:1px dashed var(--border-color);border-radius:10px;color:var(--text-muted);background:#fff}.derived-coupon-item{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--border-color);border-radius:10px;background:#fff;cursor:pointer}.derived-coupon-item.is-selected{border-color:#3b82f673;background:#f5f9ff}.derived-coupon-checkbox{margin-top:3px}.derived-coupon-item-body{min-width:0;flex:1}.derived-coupon-item-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}.derived-coupon-item-title{color:var(--text-main);font-weight:600;overflow-wrap:anywhere}.derived-coupon-item-badges{display:inline-flex;flex-wrap:wrap;gap:6px}.derived-coupon-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:999px;background:#eef2ff;color:#4f46e5;font-size:12px;white-space:nowrap}.derived-coupon-badge.is-selected{background:#dcfce7;color:#166534}.derived-coupon-item-meta{color:var(--text-muted);font-size:12px;overflow-wrap:anywhere}#derived-coupon-settings-section.is-disabled{opacity:.72}@media(max-width:860px){.paycode-settings-grid{grid-template-columns:1fr}.derived-coupon-toolbar,.derived-coupon-item-header{flex-direction:column;align-items:flex-start}}.modal-header h3{font-size:18px;font-weight:600;margin:0;flex:1 1 auto;min-width:0;line-height:1.4;overflow-wrap:anywhere;word-break:break-word}.modal-close{background:transparent;border:none;font-size:20px;color:var(--text-muted);cursor:pointer;padding:4px;flex:0 0 auto;border-radius:4px}.modal-close:hover{background:#f1f5f9;color:var(--text-main)}.modal-body{padding:32px;max-height:80vh;overflow-y:auto;font-size:15px;color:var(--text-secondary);line-height:1.6}.dialog-message{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.dialog-message .dialog-input{width:100%;margin-top:12px;padding:10px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:14px;color:var(--text-main);background:#fff}.dialog-message .dialog-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #4f46e51f}.modal-footer{padding:24px 32px;background:#f8fafc;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;align-items:center;gap:16px}.hidden{display:none!important}.text-right{text-align:right}.text-center{text-align:center}.mt-4{margin-top:16px}.mb-4{margin-bottom:16px}@media(max-width:1024px){.sidebar{position:fixed;transform:translate(-100%);height:100vh}.sidebar.active{transform:translate(0)}.sidebar-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:40}.sidebar-backdrop.active{display:block}.mobile-menu-toggle{display:block!important}}@media(max-width:768px){.form-row,.dashboard-grid{grid-template-columns:1fr}.top-header{padding:0 16px}.content-wrapper{padding:16px}}.mobile-menu-toggle{display:none;background:transparent;border:none;font-size:24px;color:var(--text-main);cursor:pointer;margin-right:16px}.tooltip-container{position:relative;display:inline-block;cursor:help;margin-left:4px}.tooltip-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#cbd5e1;color:#fff;font-size:10px;font-weight:700}.tooltip-content{visibility:hidden;position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-4px);background:#1e293b;color:#fff;padding:6px 10px;border-radius:6px;font-size:12px;white-space:nowrap;opacity:0;transition:.2s;pointer-events:none;z-index:50;margin-bottom:6px;box-shadow:var(--shadow-lg)}.tooltip-container:hover .tooltip-content{visibility:visible;opacity:1;transform:translate(-50%) translateY(0)}.batch-result-modal-content{display:flex;flex-direction:column;gap:20px}.result-summary{display:flex;flex-direction:column;gap:16px;padding-bottom:20px;border-bottom:1px solid var(--border-color)}.result-stats-bar{display:flex;align-items:center;gap:24px}.stat-group{display:flex;flex-direction:column;gap:4px}.stat-label{font-size:11px;text-transform:uppercase;color:var(--text-muted);font-weight:600;letter-spacing:.5px}.stat-value{font-size:20px;font-weight:700;color:var(--text-main);line-height:1}.stat-value.success{color:var(--success)}.stat-value.error{color:var(--danger)}.copy-all-btn{align-self:flex-start;padding:10px 16px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-weight:500;font-size:14px;cursor:pointer;box-shadow:0 4px 6px -1px #4f46e533,0 2px 4px -1px #4f46e51a;transition:var(--transition);display:inline-flex;align-items:center;gap:8px}.copy-all-btn:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 10px 15px -3px #4f46e533,0 4px 6px -2px #4f46e51a}.result-list{display:flex;flex-direction:column;gap:12px;max-height:450px;overflow-y:auto;padding:4px 8px 4px 4px}.result-list::-webkit-scrollbar{width:6px}.result-list::-webkit-scrollbar-track{background:transparent}.result-list::-webkit-scrollbar-thumb{background-color:#e2e8f0;border-radius:20px}.result-list::-webkit-scrollbar-thumb:hover{background-color:#cbd5e1}.result-item{background:#fff;border:1px solid var(--border-color);padding:16px;border-radius:10px;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;box-shadow:0 1px 2px #00000005;transition:all .2s ease;position:relative;overflow:hidden}.result-item:hover{box-shadow:0 4px 12px -2px #0000000d;border-color:#cbd5e1;transform:translateY(-1px)}.result-item.success{border-left:4px solid var(--success)}.result-item.error{border-left:4px solid var(--danger)}.result-item-content{flex:1;overflow:hidden}.result-item-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.result-index{font-size:11px;color:var(--text-muted);font-family:monospace;background:#f1f5f9;padding:2px 6px;border-radius:4px}.result-title{font-weight:600;color:var(--text-main);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-meta{font-size:12px;color:var(--text-secondary);background:#f8fafc;padding:2px 8px;border-radius:12px;border:1px solid #e2e8f0}.result-url{font-family:JetBrains Mono,monospace;font-size:13px;color:var(--text-secondary);background:#f8fafc;padding:8px 12px;border-radius:6px;border:1px solid #f1f5f9;word-break:break-all;display:block}.result-item-actions{align-self:center}.btn-copy-sm{padding:6px 12px;font-size:12px;font-weight:500;color:var(--text-secondary);background:#fff;border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:var(--transition)}.btn-copy-sm:hover{background:#f8fafc;color:var(--primary);border-color:var(--primary-light)}.result-error-msg{color:var(--danger);font-size:13px;margin-top:4px}.tab-content{display:none;animation:fadeIn .3s ease-out}.tab-content.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.toast-container{position:fixed;top:24px;left:50%;transform:translate(-50%);z-index:10002;pointer-events:none}.toast{background:#fff;color:var(--text-main);padding:12px 20px;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:12px;font-size:14px;font-weight:500;animation:toastSlideIn .3s cubic-bezier(.4,0,.2,1);border:1px solid var(--border-color);max-width:min(92vw,760px)}.toast span{white-space:pre-wrap;line-height:1.45;overflow-wrap:anywhere;word-break:break-word}.toast.hidden{opacity:0;pointer-events:none}.toast-success{border-left:4px solid var(--success)}.toast-error{border-left:4px solid var(--danger)}.toast-info{border-left:4px solid var(--primary)}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.batch-tips .tips-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;padding-bottom:0;transition:padding-bottom .3s ease}.batch-tips .tips-header h3{margin:0;font-size:15px;font-weight:600;display:flex;align-items:center;gap:8px}.batch-tips:not(.collapsed) .tips-header{padding-bottom:12px;border-bottom:1px solid rgba(0,0,0,.05);margin-bottom:12px}.batch-tips .tips-toggle-icon{transition:transform .3s ease;font-size:12px;color:var(--text-muted);width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#00000008;border-radius:4px;transform:rotate(0)}.batch-tips.collapsed .tips-toggle-icon{transform:rotate(-90deg)}.tips-content{transition:all .3s ease;overflow:hidden}.batch-tips.collapsed .tips-content{display:none}.auto-assign-section{display:flex!important;flex-direction:row!important;align-items:center;gap:24px;margin-bottom:24px;flex-wrap:wrap;background:#f8fafc;padding:16px;border-radius:var(--radius-sm);border:1px solid var(--border-color)}.form-actions-row{display:flex!important;flex-direction:row!important;align-items:center;gap:12px;justify-content:flex-start}.stats-bar{display:flex;flex-direction:row;gap:40px;flex-wrap:wrap;align-items:center;padding:24px 32px}.stat-item{display:flex;flex-direction:column;align-items:flex-start;min-width:80px}.stat-label{font-size:13px;color:var(--text-secondary);margin-bottom:4px;font-weight:500}.stat-value{font-size:28px;font-weight:700;color:var(--text-main);line-height:1.2;letter-spacing:-1px}.stat-value.stat-pending{color:var(--warning)}.stat-value.stat-paired{color:var(--success)}.stat-value.stat-activated{color:var(--info)}.stat-value.stat-invalid{color:var(--text-muted)}.section-header-collapsible{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-header-collapsible h3{font-size:16px;font-weight:600;color:var(--text-main);display:flex;align-items:center;gap:8px;margin:0}.header-actions{display:flex;align-items:center;gap:12px}#auto-assign-count-row .form-group{max-width:520px}#auto-assign-count{width:320px;max-width:100%}#auto-assign-count-row .form-tip{display:block;margin-top:8px}.update-list{display:flex;flex-direction:column;gap:12px}.update-item{display:flex;gap:16px;padding:12px 14px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#f8fafc}.update-date{min-width:90px;font-size:12px;color:var(--text-muted);font-weight:600}.update-title{font-size:14px;font-weight:600;color:var(--text-main)}.update-desc{margin-top:4px;font-size:13px;color:var(--text-secondary)}.update-note{margin-top:12px;font-size:12px;color:var(--text-muted)}.update-actions{margin-top:8px;display:flex;gap:8px}.runtime-last-refresh{margin-bottom:12px;font-size:12px;color:var(--text-muted)}.runtime-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:16px}.runtime-stat-card{padding:12px 14px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#f8fafc}.runtime-stat-label{font-size:12px;color:var(--text-secondary);margin-bottom:4px}.runtime-stat-value{font-size:20px;font-weight:700;color:var(--text-main)}.runtime-source-summary{grid-column:1 / -1;padding:10px 12px;border-radius:var(--radius-sm);border:1px dashed var(--border-color);background:#fff}.runtime-source-title{font-size:12px;color:var(--text-secondary);margin-bottom:8px}.runtime-source-tags{display:flex;flex-wrap:wrap;gap:6px}.runtime-source-tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:var(--primary-subtle);color:var(--text-secondary);font-size:12px}.runtime-error-list-wrap{border-top:1px dashed var(--border-color);padding-top:14px}.runtime-error-list{display:flex;flex-direction:column;gap:10px}.runtime-error-item{padding:12px 14px;border:1px solid #fecaca;border-radius:var(--radius-sm);background:#fff7f7}.runtime-error-item.is-expandable{cursor:pointer;transition:var(--transition)}.runtime-error-item.is-expandable:hover{border-color:#fca5a5;background:#fff1f2}.runtime-error-item.expanded{border-color:#f87171;background:#fff1f2}.runtime-error-item.is-expandable:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.runtime-error-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.runtime-error-title{font-size:14px;font-weight:600;color:#7f1d1d}.runtime-error-time-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.runtime-error-time{font-size:12px;color:var(--text-muted);white-space:nowrap}.runtime-error-toggle-tip{font-size:11px;color:#991b1b;white-space:nowrap}.runtime-error-meta{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px}.runtime-badge{display:inline-flex;align-items:center;max-width:100%;padding:2px 8px;border-radius:999px;background:#fee2e2;color:#991b1b;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.runtime-error-message{margin-top:8px;font-size:13px;color:var(--text-secondary);line-height:1.45;white-space:pre-wrap;word-break:break-word}.runtime-error-stack{margin-top:10px;padding:10px 12px;border-radius:8px;background:#0f172a;color:#e2e8f0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:1.45;white-space:pre-wrap;word-break:break-word;max-height:320px;overflow:auto}.combo-search{display:flex;align-items:center;gap:8px}.combo-search-input{width:240px;height:32px;padding:6px 12px;font-size:13px;border-radius:6px}@media(max-width:1200px){.combo-search-input{width:180px}.runtime-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){.runtime-stats-grid{grid-template-columns:1fr}.runtime-error-head{flex-direction:column;align-items:flex-start;gap:4px}.runtime-error-time-wrap{align-items:flex-start}}.filter-select{padding:6px 30px 6px 12px;font-size:13px;border-radius:6px;border:1px solid var(--border-color);background-color:#fff;height:32px}.coupon-pool-list-section .list-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.pool-groups-section{margin-bottom:18px}.pool-groups-list{display:grid;gap:10px}.pool-group-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--border-color);border-radius:8px;background:#fff}.pool-group-item .group-info{flex:1;min-width:0}.pool-group-item .group-name{font-size:14px;font-weight:600;color:var(--text-primary)}.pool-group-item .group-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.pool-group-item .group-stats{display:inline-flex;align-items:center;flex-wrap:wrap;margin-top:4px}.pool-groups-list .loading-inline,.pool-groups-list .empty{padding:12px;border:1px dashed var(--border-color);border-radius:8px;color:var(--text-muted);background:#fff}.coupon-pool-list-section .list-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.coupon-pool-allowlist-wrap .table{width:700px;min-width:700px;max-width:700px;table-layout:fixed}.coupon-pool-allowlist-wrap .table th,.coupon-pool-allowlist-wrap .table td{overflow:hidden;text-overflow:ellipsis}.coupon-pool-allowlist-wrap .table th:nth-child(1),.coupon-pool-allowlist-wrap .table td:nth-child(1){width:44px}.coupon-pool-allowlist-wrap .table th:nth-child(2),.coupon-pool-allowlist-wrap .table td:nth-child(2){width:78px}.coupon-pool-allowlist-wrap .table th:nth-child(3),.coupon-pool-allowlist-wrap .table td:nth-child(3){width:220px}.coupon-pool-allowlist-wrap .table th:nth-child(4),.coupon-pool-allowlist-wrap .table td:nth-child(4){width:218px}.coupon-pool-allowlist-wrap .table th:nth-child(5),.coupon-pool-allowlist-wrap .table td:nth-child(5){width:140px}.coupon-pool-allowlist-wrap .table td:nth-child(3),.coupon-pool-allowlist-wrap .table td:nth-child(4){white-space:nowrap}.coupon-pool-allowlist-wrap .allowlist-voucher-key{font-family:JetBrains Mono,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;letter-spacing:.01em}#coupon-pool-tab .coupon-pool-import-card{margin-top:16px;margin-bottom:0;border:1px solid rgba(67,56,202,.18);border-radius:20px;background:linear-gradient(140deg,#f7f9ff,#fcfdff 46%,#f4f6ff);box-shadow:0 22px 40px -30px #4338ca9e,inset 0 1px #ffffffeb;position:relative;overflow:hidden;padding:22px;animation:cpImportFadeIn .42s ease-out}#coupon-pool-tab .coupon-pool-import-card:before{content:"";position:absolute;top:-110px;right:-90px;width:300px;height:300px;background:radial-gradient(circle,#6366f12e,#6366f100 72%);pointer-events:none}#coupon-pool-tab .coupon-pool-import-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(25deg,transparent 0%,rgba(255,255,255,.36) 48%,transparent 100%),repeating-linear-gradient(135deg,rgba(99,102,241,.035) 0 1px,transparent 1px 11px);pointer-events:none}.coupon-pool-import-header,.coupon-pool-import-grid,.coupon-pool-import-footer{position:relative;z-index:1}.coupon-pool-import-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.coupon-pool-import-title__kicker{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:#4f46e51f;color:#4338ca;margin-bottom:8px}.coupon-pool-import-title h3{margin:0;font-size:30px;line-height:1.08;letter-spacing:-.03em;color:#111827;font-family:Bodoni Moda,serif;font-weight:600}.coupon-pool-import-subtitle{margin-top:8px;color:#475569;font-size:13px;max-width:560px}.coupon-pool-import-badges{display:inline-flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.coupon-pool-top-actions{border-radius:16px;padding:14px 16px;border:1px solid rgba(67,56,202,.16);background:linear-gradient(90deg,#eef2ffeb,#ffffffc7 55%,#f5f7ffeb);box-shadow:0 18px 32px -28px #4338ca9e,inset 0 1px #ffffffeb;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:12px}.coupon-pool-top-actions:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 18% 50%,#6366f12e,#6366f100 46%),radial-gradient(circle at 86% 30%,#10b9811f,#10b98100 42%);pointer-events:none}.coupon-pool-top-actions__meta,.coupon-pool-top-actions__buttons{position:relative;z-index:1}.coupon-pool-top-actions__meta{display:flex;flex-direction:column;gap:6px;min-width:240px}.coupon-pool-top-actions__hint{font-size:12px;color:#64748b;line-height:1.4}.coupon-pool-top-actions__buttons{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.coupon-pool-top-actions__primary{background:linear-gradient(90deg,#4f46e5,#6366f1 52%,#4f46e5);box-shadow:0 10px 24px -12px #4f46e5bf}.coupon-pool-top-actions__primary:hover:not(:disabled){background:linear-gradient(90deg,#4338ca,#4f46e5 52%,#4338ca)}.coupon-pool-top-actions__secondary{border-color:#94a3b880;background:#ffffffe6}.coupon-pool-top-actions__secondary:hover:not(:disabled){background:#f8fafc}.cp-badge{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.01em}.cp-badge--soft{background:#6366f124;color:#4338ca}.cp-badge--outline{border:1px solid rgba(30,41,59,.16);background:#ffffffb8;color:#1e293b}.coupon-pool-import-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:16px}.coupon-pool-import-panel{background:#ffffffc7;border:1px solid rgba(148,163,184,.28);border-radius:14px;padding:14px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 10px 28px -24px #0f172aa6;animation:cpPanelIn .45s ease-out backwards}.coupon-pool-import-panel--tokens{animation-delay:.06s}.coupon-pool-import-panel--allowlist{animation-delay:.12s}.coupon-pool-import-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.coupon-pool-import-panel__label{font-size:15px;font-weight:700;color:#111827;letter-spacing:.01em}.coupon-pool-import-panel__hint{font-size:12px;color:#64748b;margin-top:3px}.cp-chip{border-radius:999px;border:1px solid rgba(99,102,241,.26);background:#eef2ffe0;color:#4338ca;padding:4px 10px;font-size:11px;font-weight:600;white-space:nowrap}#coupon-pool-import-tokens{height:238px;min-height:238px;max-height:238px;border:1px solid rgba(148,163,184,.36);border-radius:12px;background:#fff;font-size:13px;line-height:1.55;font-family:JetBrains Mono,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;padding:12px 14px;resize:none;overflow-y:auto;transition:all .18s ease}#coupon-pool-import-tokens:focus{border-color:#4f46e599;box-shadow:0 0 0 4px #4f46e51f}.coupon-pool-import-tips{margin-top:8px}.cp-tip{font-size:12px;color:#64748b}.coupon-pool-allowlist-inputs{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:center;margin-bottom:10px}.cp-input{width:100%;min-height:40px;border:1px solid rgba(148,163,184,.35);background:#ffffffeb;border-radius:10px;padding:10px 12px;font-size:13px;transition:all .18s ease}.cp-input:focus{border-color:#4f46e59e;box-shadow:0 0 0 4px #4f46e51a}.cp-input--mono{font-family:JetBrains Mono,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.coupon-pool-allowlist-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px}.coupon-pool-allowlist-toolbar__right{display:flex;gap:8px;flex-wrap:wrap}.cp-count{display:inline-flex;align-items:baseline;gap:6px;padding:6px 10px;border-radius:10px;border:1px solid rgba(148,163,184,.24);background:#ffffffeb;color:#0f172a}.cp-count__label{font-size:11px;color:#64748b}.cp-count strong{font-size:15px;color:#1e1b4b}.cp-count__sep{color:#94a3b8}.coupon-pool-allowlist-wrap--compact{margin-top:0;max-height:220px;overflow:auto;border-radius:12px;border:1px solid rgba(148,163,184,.3)}.coupon-pool-import-card .coupon-pool-allowlist-wrap .table{width:100%;min-width:640px;max-width:none}.coupon-pool-import-card .coupon-pool-allowlist-wrap .table th{position:sticky;top:0;z-index:1;background:#eef2ff;color:#334155}.coupon-pool-import-card .coupon-pool-allowlist-wrap .table td{background:#fff}.coupon-pool-import-card .coupon-pool-allowlist-wrap .table tr:hover td{background:#f8fbff}.bool-badge{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:24px;padding:0 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.01em}.bool-badge.yes{background:#10b98124;color:#047857;border:1px solid rgba(16,185,129,.2)}.bool-badge.no{background:#f43f5e1f;color:#be123c;border:1px solid rgba(244,63,94,.2)}.coupon-pool-import-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;padding-top:10px;border-top:1px dashed rgba(148,163,184,.42)}.coupon-pool-import-footer .checkbox-label{background:#ffffffbf;border:1px solid rgba(148,163,184,.26);border-radius:999px;padding:7px 12px 7px 10px}.coupon-pool-import-cta{min-width:168px;font-weight:700;background:linear-gradient(90deg,#4f46e5,#6366f1 52%,#4f46e5);box-shadow:0 10px 24px -12px #4f46e5bf}.coupon-pool-import-cta:hover:not(:disabled){background:linear-gradient(90deg,#4338ca,#4f46e5 52%,#4338ca)}@keyframes cpImportFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes cpPanelIn{0%{opacity:0;transform:translateY(10px) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:1260px){.coupon-pool-import-grid{grid-template-columns:1fr}}@media(max-width:760px){.coupon-pool-top-actions{flex-direction:column;align-items:stretch}.coupon-pool-top-actions__buttons{justify-content:stretch}.coupon-pool-top-actions__buttons .btn{width:100%}.coupon-pool-allowlist-inputs{grid-template-columns:1fr}.coupon-pool-import-header{flex-direction:column}.coupon-pool-import-title h3{font-size:24px}.coupon-pool-import-footer{flex-direction:column;align-items:stretch}.coupon-pool-import-cta{width:100%}}.coupon-pool-list-section #coupon-pool-view-detail-btn.active,.coupon-pool-list-section #coupon-pool-view-tokens-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}#coupon-pool-tokens-table td{vertical-align:middle}.token-groups-cell{display:flex;flex-direction:column;gap:6px}.token-groups-top{display:flex;flex-wrap:wrap;gap:6px}.token-group-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid rgba(15,23,42,.1);background:#0f172a08;border-radius:999px;max-width:520px}.token-group-chip__name{color:var(--text-main);font-weight:600;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.token-group-chip__stats{color:var(--text-secondary);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;white-space:nowrap}.token-groups-meta{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:12px}.token-groups-meta .token-summary-groups{border-radius:999px;border:1px solid rgba(15,23,42,.12);background:#ffffffe6;color:var(--text-secondary)}.btn-icon-text{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;height:32px;font-size:13px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s;border:1px solid transparent}.btn-collapse-toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;border:1px solid var(--border-color);background:#fff;color:var(--text-secondary);cursor:pointer;transition:all .2s}.btn-collapse-toggle:hover{background:#f1f5f9;color:var(--primary);border-color:#cbd5e1}.btn-collapse-toggle .collapse-icon{font-size:12px;transition:transform .3s}.batch-action-bar{display:flex;justify-content:space-between;align-items:center;background:#f8fafc;padding:12px 16px;border-radius:var(--radius-sm);border:1px solid var(--border-color);margin-bottom:16px;flex-wrap:wrap;gap:16px}.batch-left,.batch-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.selected-count{font-size:13px;color:var(--text-secondary);margin-right:8px;font-weight:500}.selected-count strong{color:var(--primary)}.btn-xs{padding:4px 10px;font-size:12px;line-height:1.4;border-radius:4px}.btn-outline{background:#fff;border:1px solid var(--border-color);color:var(--text-secondary)}.btn-outline:hover{background:#f1f5f9;border-color:#cbd5e1;color:var(--text-primary)}.btn-xs.btn-danger{padding:4px 10px;font-size:12px}.batch-label{font-size:12px;text-transform:uppercase;color:var(--text-muted);font-weight:600;margin-right:4px}.btn-group{display:flex;border-radius:6px;overflow:hidden;border:1px solid var(--border-color)}.btn-group .btn{border-radius:0;border:none;border-right:1px solid var(--border-color);margin:0;height:30px;padding:0 12px;background:#fff;color:var(--text-secondary);font-size:12px}.btn-group .btn:last-child{border-right:none}.btn-group .btn:hover{background:#f1f5f9;color:var(--primary)}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding:16px 0}.pagination-info{font-size:14px;color:var(--text-secondary)}.pagination-btns{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn-page{min-width:56px;height:42px;padding:0 14px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#fff;color:var(--text-main);font-size:14px;font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;transition:all .2s ease}.btn-page:hover:not(.active):not(:disabled){background:#f8fafc;border-color:#cbd5e1;color:var(--primary)}.btn-page.active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:500}.btn-page:disabled{opacity:.5;cursor:not-allowed}.batch-convert-card{margin-top:24px}.batch-convert-actions{display:flex;gap:10px;flex-wrap:wrap}.link-convert-status{margin-bottom:16px;font-size:13px;font-weight:500}.link-convert-status[data-tone=muted]{color:var(--text-secondary)}.link-convert-status[data-tone=loading]{color:var(--info)}.link-convert-status[data-tone=success]{color:var(--success)}.link-convert-status[data-tone=warning]{color:var(--warning)}.link-convert-status[data-tone=error]{color:var(--danger)}.link-convert-detail{background:#f8fafc;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:16px}.link-convert-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.link-convert-detail-item{display:flex;flex-direction:column;gap:4px}.link-convert-detail-label{font-size:12px;color:var(--text-muted)}.link-convert-detail-value{font-size:13px;color:var(--text-main);word-break:break-word}.link-convert-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.pagination-btns span{padding:0 4px;color:var(--text-secondary);font-size:14px}.pagination-jump{display:inline-flex;align-items:center;gap:8px;padding-left:6px;margin-left:4px;border-left:1px solid rgba(148,163,184,.4)}.pagination-jump-label{font-size:13px;color:var(--text-secondary);padding:0 2px;white-space:nowrap}.pagination-jump-input{width:86px;height:42px;padding:0 10px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#fff;color:var(--text-main);font-size:14px;line-height:1}.pagination-jump-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51f}.pagination-jump-btn{min-width:64px}.pagination-size-label{margin-left:6px;color:var(--text-secondary);font-size:13px;white-space:nowrap}.pagination-size-select{height:42px;min-width:96px;padding:0 30px 0 10px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:#fff;color:var(--text-main);font-size:14px;line-height:1}.modal--dialog{z-index:10001}.shopping-card-groups{display:flex;flex-direction:column;gap:16px}.shopping-card-groups-header{display:flex;align-items:center;justify-content:space-between;color:var(--text-secondary);font-size:13px}.shopping-card-groups-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.shopping-card-group-card{background:#fff;border:1px solid var(--border-color);border-radius:12px;padding:14px 16px;box-shadow:0 1px 2px #0f172a0a}.shopping-card-group-card .group-title{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--text-main)}.shopping-card-group-card .group-name{font-size:15px}.badge-default{background:#eef2ff;color:#4338ca;border:1px solid #c7d2fe;font-size:12px;padding:2px 8px;border-radius:999px}.shopping-card-group-card .group-meta-line{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:13px;color:var(--text-secondary)}.shopping-card-group-card .meta-label{min-width:58px;color:var(--text-muted)}.shopping-card-group-card code{background:#f8fafc;border:1px solid #e2e8f0;padding:2px 6px;border-radius:6px;font-size:12px;color:#0f172a}.shopping-card-group-card .group-desc{margin-top:8px;font-size:12px;color:var(--text-muted)}.shopping-card-group-card .group-actions{margin-top:12px;display:flex;justify-content:flex-end}.batch-preview{margin-top:12px;background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border:1px solid #86efac;border-radius:var(--radius-md);overflow:hidden;animation:fadeIn .3s ease}.batch-preview.hidden{display:none}.batch-preview .preview-header{padding:10px 16px;background:#22c55e1a;border-bottom:1px solid rgba(34,197,94,.2);display:flex;align-items:center;gap:8px;font-weight:600;color:#166534;font-size:13px}.batch-preview .preview-icon{font-size:14px}.batch-preview .preview-content{padding:12px 16px;font-size:13px;color:#15803d}.batch-preview .preview-item{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px dashed rgba(34,197,94,.2)}.batch-preview .preview-item:last-child{border-bottom:none}.batch-preview .preview-label{color:#166534;font-weight:500;min-width:80px}.batch-preview .preview-value{color:#15803d;font-family:JetBrains Mono,monospace;background:#fff9;padding:2px 8px;border-radius:4px}.batch-preview .preview-summary{display:flex;flex-wrap:wrap;gap:16px;padding-top:8px;margin-top:8px;border-top:1px solid rgba(34,197,94,.2)}.batch-preview .summary-item{display:flex;align-items:center;gap:4px}.batch-preview .summary-count{font-weight:700;color:#166534}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.check-progress-container{margin-top:20px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #7dd3fc;border-radius:var(--radius-md);padding:20px;animation:fadeIn .3s ease}.check-progress-container.hidden{display:none}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.progress-title{font-weight:600;color:#0369a1;font-size:14px}.progress-stats{font-family:JetBrains Mono,monospace;color:#0284c7;font-size:14px;font-weight:600}.progress-bar-wrapper{height:12px;background:#fffc;border-radius:6px;overflow:hidden;box-shadow:inset 0 1px 3px #0000001a}.progress-bar{height:100%;background:linear-gradient(90deg,#0ea5e9,#06b6d4);border-radius:6px;transition:width .3s ease;position:relative}.progress-bar:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-details{display:flex;gap:20px;margin-top:12px;flex-wrap:wrap}.progress-details .detail-item{font-size:13px;color:#64748b;display:flex;align-items:center;gap:4px}.progress-details .detail-item strong{font-weight:700}.progress-details .detail-item.new strong{color:#16a34a}.progress-details .detail-item.old strong{color:#d97706}.progress-details .detail-item.abnormal strong{color:#dc2626}.progress-current{margin-top:10px;font-size:12px;color:#64748b;font-family:JetBrains Mono,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stats-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:24px}@media(max-width:900px){.stats-cards{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.stats-cards{grid-template-columns:repeat(2,1fr)}}.stat-card{display:flex;align-items:center;gap:12px;padding:16px 20px;border-radius:var(--radius-md);background:#fff;border:1px solid var(--border-color);transition:all .2s ease;cursor:pointer}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stat-card.total{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-color:#e2e8f0;cursor:default}.stat-card.total:hover{transform:none;box-shadow:none}.stat-card.pending{background:linear-gradient(135deg,#fefce8,#fef9c3);border-color:#fde047}.stat-card.paired{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#93c5fd}.stat-card.activated{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#86efac}.stat-card.invalid{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-color:#fca5a5}.stat-card-icon{font-size:24px;line-height:1}.stat-card-content{display:flex;flex-direction:column;gap:2px}.stat-card-value{font-size:24px;font-weight:700;line-height:1.2;font-family:JetBrains Mono,monospace}.stat-card.total .stat-card-value{color:#475569}.stat-card.pending .stat-card-value{color:#ca8a04}.stat-card.paired .stat-card-value{color:#2563eb}.stat-card.activated .stat-card-value{color:#16a34a}.stat-card.invalid .stat-card-value{color:#dc2626}.stat-card-label{font-size:12px;color:#64748b;font-weight:500}.token-import-preview{margin-top:10px;padding:10px 14px;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac;border-radius:var(--radius-sm);display:flex;align-items:center;gap:8px;font-size:13px;color:#166534;animation:fadeIn .2s ease}.token-import-preview.hidden{display:none}.token-import-preview .preview-icon{font-size:16px}.token-import-preview .preview-text strong{font-weight:700;color:#15803d;font-size:15px}.token-import-preview .preview-detail{color:#6b7280;font-size:12px;margin-left:auto}.token-import-preview.has-duplicates{background:linear-gradient(135deg,#fefce8,#fef9c3);border-color:#fde047;color:#854d0e}.token-import-preview.has-duplicates .preview-text strong{color:#a16207}.btn-view-status{padding:6px 12px;background:var(--primary-light);color:var(--primary);border:1px solid var(--primary);border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:4px}.btn-view-status:hover{background:var(--primary);color:#fff}.btn-access-toggle{padding:6px 10px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid var(--border-color);cursor:pointer;transition:all .2s;background:#fff;color:var(--text-secondary);min-width:64px}.btn-access-toggle.on{background:#ecfdf5;border-color:#86efac;color:#166534}.btn-access-toggle.off{background:#fef2f2;border-color:#fecaca;color:#991b1b}.btn-access-toggle:disabled{opacity:.6;cursor:not-allowed}.select-search-input{width:100%;height:38px;margin-top:8px;margin-bottom:8px;padding:0 12px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#fff;color:var(--text-main);font-size:13px}.select-search-input::placeholder{color:var(--text-muted)}.combo-link-jump{color:var(--primary);text-decoration:none;font-weight:500}.combo-link-jump:hover{text-decoration:underline}.sync-status-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px;padding:20px;background:var(--bg-main);border-radius:8px}.status-item{display:flex;flex-direction:column;gap:4px}.link-status-copy-actions{display:flex;flex-wrap:wrap;gap:10px;margin:-8px 0 16px}.link-status-copy-pair{display:inline-flex;align-items:center;gap:8px}.btn-link-status-copy,.btn-link-status-export{gap:6px;border-radius:999px;font-weight:600;padding:6px 12px}.btn-link-status-copy .btn-link-status-copy-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;padding:0 6px;border-radius:999px;background:#0f172a14;color:inherit;font-size:11px;line-height:18px}.btn-link-status-copy:disabled{opacity:.45;cursor:not-allowed}.btn-link-status-export:disabled{opacity:.45;cursor:not-allowed}.btn-link-status-copy.tone-all,.btn-link-status-export.tone-all{color:#475569}.btn-link-status-copy.tone-available,.btn-link-status-export.tone-available{color:#047857;border-color:#a7f3d0;background:#ecfdf5}.btn-link-status-copy.tone-used,.btn-link-status-export.tone-used{color:#b45309;border-color:#fed7aa;background:#fff7ed}.btn-link-status-copy.tone-invalid,.btn-link-status-export.tone-invalid{color:#b91c1c;border-color:#fecaca;background:#fef2f2}.btn-link-status-copy:hover:not(:disabled){transform:translateY(-1px)}.btn-link-status-export:hover:not(:disabled){transform:translateY(-1px)}.status-label{font-size:12px;color:var(--text-muted);font-weight:500}.status-value{font-size:24px;font-weight:600;color:var(--text-main)}.sync-status-details{max-height:400px;overflow-y:auto}.status-table{width:100%;border-collapse:collapse}.status-table th{background:var(--bg-main);padding:12px;text-align:left;font-size:13px;font-weight:600;color:var(--text-secondary);border-bottom:2px solid var(--border-color);position:sticky;top:0}.status-table td{padding:10px 12px;border-bottom:1px solid var(--border-color);font-size:13px}.status-table tbody tr:hover{background:var(--bg-main)}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:500;text-transform:uppercase}.status-badge.status-valid{background:var(--success-bg);color:var(--success)}.status-badge.status-used{background:var(--warning-bg);color:var(--warning)}.status-badge.status-invalid{background:var(--danger-bg);color:var(--danger)}.status-badge.status-unchecked{background:#f1f5f9;color:#64748b}.status-badge.status-processing{background:#dbeafe;color:#1d4ed8}.status-badge.status-released{background:#f3f4f6;color:#4b5563}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:600px;width:90%;max-height:90vh;overflow:hidden;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{padding:20px 24px;border-bottom:1px solid var(--border-color);display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.modal-header h3{margin:0;font-size:18px;font-weight:600;color:var(--text-main);flex:1 1 auto;min-width:0;line-height:1.4;overflow-wrap:anywhere;word-break:break-word}.modal-close{background:none;border:none;font-size:28px;color:var(--text-muted);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:6px;transition:all .2s}.modal-close:hover{background:var(--bg-main);color:var(--text-main)}#modal .modal-header h3,#dialog-modal .modal-header h3{padding-right:8px}.modal-body{padding:24px;overflow-y:auto;max-height:calc(90vh - 80px)}.sc-dashboard{--primary: #0f766e;--primary-hover: #0b5c55;--primary-light: #ccfbf1;--primary-subtle: #ecfeff;--border-color: rgba(15, 23, 42, .1);--text-main: #1f2933;--text-secondary: #52606d;--text-muted: #7b8794;--bg-main: #f6f1ea;--bg-card: rgba(255, 255, 255, .92);--shadow-sm: 0 8px 24px rgba(15, 23, 42, .08);--shadow-md: 0 16px 40px rgba(15, 23, 42, .12);font-family:Onest,Noto Sans SC,sans-serif;color:var(--text-main);background:radial-gradient(1200px 420px at 80% -10%,rgba(15,118,110,.14),transparent 60%),radial-gradient(900px 360px at -10% 30%,rgba(249,115,22,.16),transparent 55%),linear-gradient(180deg,#f7f3ee,#eef3f2);border-radius:24px;padding:28px;position:relative;overflow:hidden}.sc-dashboard:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(120deg,#0f172a0d,#0f172a00 65%),repeating-linear-gradient(135deg,#0f172a0a,#0f172a0a 1px,#0f172a00 1px,#0f172a00 6px);opacity:.22;pointer-events:none}.sc-dashboard>*{position:relative;z-index:1}.sc-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}.sc-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.26em;color:var(--text-muted)}.sc-hero-title{font-family:Bodoni Moda,"Noto Serif SC",serif;font-size:clamp(28px,4vw,46px);font-weight:600;letter-spacing:.02em;line-height:1.05;margin-top:10px}.sc-hero-subtitle{margin-top:10px;max-width:560px;color:var(--text-secondary);font-size:14px}.sc-hero-actions{display:flex;flex-wrap:wrap;gap:10px}.sc-dashboard .btn{border-radius:999px;padding:10px 18px;font-weight:600}.sc-dashboard .btn-primary{box-shadow:0 10px 24px #0f766e3d}.sc-dashboard .btn-secondary{background:#ffffffd9;border-color:#0f172a1f}.sc-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:24px}.sc-overview-card{background:#ffffffd1;border:1px solid rgba(15,23,42,.08);border-radius:16px;padding:14px 16px;box-shadow:0 10px 24px #0f172a0d}.sc-overview-accent{background:linear-gradient(140deg,#0f766e2e,#ffffffeb);border-color:#0f766e40}.sc-overview-error{background:linear-gradient(140deg,#b4231826,#ffffffeb);border-color:#b4231840}.sc-overview-label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.sc-overview-value{font-size:24px;font-weight:700;margin-top:6px;color:var(--text-main)}.sc-overview-sub{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em}.sc-section-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:20px;margin-bottom:20px}.sc-card{background:var(--bg-card);border:1px solid rgba(15,23,42,.08);border-radius:20px;box-shadow:var(--shadow-sm);overflow:hidden;margin-bottom:0}.sc-card-head{padding:22px 24px 12px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid rgba(15,23,42,.06)}.sc-card-title{font-family:Bodoni Moda,"Noto Serif SC",serif;font-size:20px;font-weight:600;letter-spacing:.02em}.sc-card-subtitle{margin-top:6px;color:var(--text-secondary);font-size:13px}.sc-card-meta{font-size:12px;color:var(--text-muted);background:#0f172a0a;border-radius:999px;padding:6px 12px}.sc-card-body{padding:18px 22px 22px}.sc-card--test{margin-top:6px}.sc-pool-grid,.sc-group-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.sc-pool-card,.sc-group-card{background:#ffffffeb;border:1px solid rgba(15,23,42,.08);border-radius:16px;padding:16px 18px;box-shadow:none;position:relative;overflow:hidden}.sc-group-card{background:linear-gradient(145deg,#fffffff5,#ffffffc7);border:1px solid rgba(15,23,42,.1)}.sc-group-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120px 120px at 80% 10%,rgba(15,118,110,.12),transparent 65%);opacity:.6;pointer-events:none}.sc-pool-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,rgba(15,118,110,.08),transparent 65%);opacity:0;transition:opacity .25s ease}.sc-pool-card:hover:before{opacity:1}.sc-pool-card .group-title,.sc-group-card .group-title{position:relative;z-index:1;gap:10px}.sc-group-card .group-title{font-size:16px}.sc-group-card .group-meta-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.sc-group-card .meta-label{min-width:auto;text-transform:uppercase;letter-spacing:.08em;font-size:11px}.sc-group-card code{background:#fffffff2;border:1px solid rgba(15,23,42,.12);border-radius:999px;padding:4px 10px;font-size:12px}.sc-pool-stats{margin-top:14px;padding:10px 12px;border-radius:12px;border:1px solid rgba(15,23,42,.06);background:#0f172a08;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.sc-stat{display:flex;flex-direction:column;gap:4px}.sc-mini{display:flex;flex-direction:column;gap:6px}.sc-mini-row{font-size:12px;color:var(--text-secondary)}.sc-mini-info{color:var(--text-main)}.sc-stat-label{font-size:11px;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase}.sc-stat-value{font-size:18px;font-weight:700;color:var(--text-main)}.sc-stat--ok .sc-stat-value{color:#0f766e}.sc-stat--used .sc-stat-value{color:#b45309}.sc-stat--error .sc-stat-value{color:#b42318}.sc-pool-actions{position:relative;z-index:1}.sc-group-card .group-actions{margin-top:16px;justify-content:flex-end}.sc-group-card .btn-danger{border-radius:999px;padding:8px 16px}.sc-dashboard .badge-default{background:#0f766e1f;color:#0f766e;border:1px solid rgba(15,118,110,.25)}.sc-dashboard .group-desc{color:var(--text-muted)}.sc-dashboard .group-meta-line{color:var(--text-secondary)}.sc-dashboard .group-meta-line code{background:#0f172a0a;border-color:#0f172a14}.sc-pagination{margin-top:12px}.sc-dashboard .btn-page{border-radius:10px;border-color:#0f172a1f;background:#ffffffe6}.sc-dashboard .btn-page.active{background:var(--primary);border-color:var(--primary)}.sc-dashboard .empty-tip,.sc-dashboard .loading-inline{padding:20px;text-align:center;color:var(--text-muted);background:#ffffffb3;border:1px dashed rgba(15,23,42,.12);border-radius:14px}.sc-test-form .form-actions{margin-top:12px}.sc-card--test .form-row{gap:16px}.sc-card--test .form-group{background:#ffffffd9;border:1px solid rgba(15,23,42,.08);border-radius:14px;padding:12px 14px;margin-bottom:0;box-shadow:inset 0 1px #fffc}.sc-card--test .form-group label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted)}.sc-card--test .form-control{border:none;padding:6px 0 2px;background:transparent;box-shadow:none}.sc-card--test .form-control:focus{box-shadow:none}.sc-card--test .test-result{margin-top:14px;border-radius:14px;border:1px solid rgba(15,23,42,.08);background:#fffc;padding:12px 14px}@media(max-width:1100px){.sc-section-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:820px){.sc-dashboard{padding:20px}.sc-hero{flex-direction:column;align-items:flex-start}.sc-overview{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.sc-pool-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.remark-quick-tools{margin-top:10px}.remark-quick-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.remark-quick-label{font-size:13px;color:#64748b;font-weight:600}.remark-quick-list{display:flex;flex-direction:column;gap:10px}.remark-quick-dropdown{margin:8px 0 10px}.remark-quick-dropdown-menu{border:1px solid var(--border-color);border-radius:12px;padding:6px;background:#fff;box-shadow:0 16px 40px #0f172a1f;max-height:260px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.remark-quick-dropdown-item{width:100%;border:none;border-radius:10px;background:transparent;padding:10px 12px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left}.remark-quick-dropdown-item:hover{background:#f8fafc}.remark-quick-dropdown-text{color:#1e293b;font-size:14px;word-break:break-word}.remark-quick-dropdown-badge{flex-shrink:0;color:#4338ca;background:#eef2ff;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600}.remark-quick-dropdown-empty{padding:10px 12px;color:#94a3b8;font-size:13px}.remark-quick-section{display:flex;flex-direction:column;gap:6px}.remark-quick-section-title{font-size:12px;color:#94a3b8;font-weight:600}.remark-quick-chip-list{display:flex;gap:8px;flex-wrap:wrap}.remark-quick-chip{border:1px solid #cbd5e1;background:#f8fafc;color:#334155;border-radius:999px;padding:6px 12px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;max-width:100%}.remark-quick-chip:hover{border-color:#6d5dfc;color:#4338ca;background:#eef2ff}.remark-quick-pin{font-size:12px;color:#6d5dfc;font-weight:600}.remark-quick-empty{font-size:13px;color:#94a3b8}.remark-manager-modal{z-index:9998}.remark-manager-modal-content{width:min(1080px,96vw)}.remark-manager-subtitle{margin-top:6px;font-size:13px;color:#64748b}.remark-manager-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.remark-manager-search{flex:1 1 260px;min-width:220px;border:1px solid var(--border-color);border-radius:10px;padding:10px 12px;font-size:14px;background:#fff}.remark-manager-search:focus{outline:none;border-color:#6d5dfc;box-shadow:0 0 0 3px #6d5dfc1f}.remark-manager-summary{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px;color:#64748b;font-size:13px}.remark-manager-current{color:#94a3b8}.remark-manager-table-wrap{max-height:52vh;overflow:auto}.remark-manager-text{font-weight:600;color:#1e293b;word-break:break-word}.remark-manager-meta{margin-top:6px;display:flex;gap:6px;flex-wrap:wrap}.remark-badge{display:inline-flex;align-items:center;border-radius:999px;padding:2px 8px;font-size:12px;color:#64748b;background:#f1f5f9}.remark-badge-pin{color:#4338ca;background:#eef2ff}.remark-badge-used{color:#0f766e;background:#ecfeff}.remark-manager-actions{display:flex;gap:8px;flex-wrap:wrap}.remark-manager-empty{margin-top:12px;font-size:14px;color:#94a3b8}@media(max-width:768px){.remark-manager-summary{flex-direction:column;align-items:flex-start}.remark-manager-actions{gap:6px}}.modal--audit .modal-content{width:min(1360px,96vw);max-width:min(1360px,96vw);border-radius:20px}.modal-content--audit{background:linear-gradient(180deg,#fff,#f8fbff)}.modal-wide{width:min(1280px,96vw);max-width:min(1280px,96vw)}.modal--audit .modal-body{padding:20px 24px 28px;max-height:calc(92vh - 80px)}.audit-modal-shell{display:flex;flex-direction:column;gap:18px;color:var(--text-main)}.audit-hero{display:flex;align-items:stretch;justify-content:space-between;gap:16px;padding:20px 22px;border-radius:18px;background:radial-gradient(120% 140% at 100% 0%,rgba(14,165,233,.18),transparent 48%),linear-gradient(135deg,#0f172afa,#1e293bf5 55%,#334155f5);color:#f8fafc;box-shadow:0 18px 42px #0f172a2e}.audit-hero-copy{flex:1 1 auto;min-width:0}.audit-hero-kicker{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;background:#ffffff1f;color:#ffffffdb;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.audit-hero-title{margin:14px 0 8px;font-size:28px;line-height:1.25;color:#fff}.audit-hero-text{margin:0;max-width:820px;color:#e2e8f0eb;line-height:1.7}.audit-hero-meta{flex:0 0 240px;display:flex;flex-direction:column;justify-content:center;gap:10px;padding:16px 18px;border-radius:16px;background:#ffffff14;border:1px solid rgba(255,255,255,.12)}.audit-hero-meta-label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#e2e8f0bd}.audit-hero-meta-value{font-size:28px;font-weight:800;line-height:1;color:#fff}.audit-hero-meta-sub{font-size:13px;color:#e2e8f0db;line-height:1.6;word-break:break-all}.audit-toolbar{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;background:#ffffffeb;border:1px solid rgba(148,163,184,.2);box-shadow:0 10px 24px #0f172a0d}.audit-toolbar-search{flex:1 1 auto;min-width:0}.audit-toolbar-search .search-input{width:100%;min-width:0}.audit-toolbar-actions,.audit-panel-actions,.audit-actions,.audit-related-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.audit-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.audit-summary-card{padding:16px 18px;border-radius:16px;background:#fffffff5;border:1px solid rgba(148,163,184,.18);box-shadow:0 10px 24px #0f172a0d}.audit-summary-card--primary{background:linear-gradient(180deg,#eef6ff,#fff);border-color:#0ea5e92e}.audit-summary-label{font-size:13px;color:var(--text-secondary)}.audit-summary-value{margin-top:10px;font-size:30px;line-height:1;font-weight:800;color:var(--text-main)}.audit-summary-tip{margin-top:8px;font-size:12px;color:var(--text-muted);line-height:1.5}.audit-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:18px;align-items:start}.audit-lists-column{display:grid;gap:16px;min-width:0}.audit-detail-column{min-width:0;position:sticky;top:0}.audit-section,.audit-panel{background:#fffffff5;border:1px solid rgba(148,163,184,.18);border-radius:18px;box-shadow:0 12px 30px #0f172a0f;overflow:hidden}.audit-panel--empty{min-height:240px}.audit-section-header,.audit-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid rgba(148,163,184,.16)}.audit-section-title,.audit-panel-title{margin:0;font-size:20px;line-height:1.35;color:var(--text-main)}.audit-section-tip,.audit-panel-kicker{margin-top:6px;font-size:13px;color:var(--text-secondary);line-height:1.6}.audit-panel-kicker{margin-top:0;color:var(--primary);font-weight:700;letter-spacing:.02em}.audit-panel-meta{margin-top:12px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}.audit-inline-meta{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:#f8fafc;color:var(--text-secondary);font-size:12px}.audit-panel-body{display:flex;flex-direction:column;gap:16px;padding:18px 20px 20px}.audit-note{padding:12px 14px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0;color:var(--text-secondary);line-height:1.65}.audit-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.audit-detail-item{padding:14px;border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0;min-width:0}.audit-detail-item--wide{grid-column:1 / -1}.audit-detail-label{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.audit-detail-value{margin-top:8px;color:var(--text-main);line-height:1.7;word-break:break-word}.audit-detail-placeholder{color:var(--text-muted)}.audit-detail-code,.audit-link-value{display:inline-flex;max-width:100%;padding:4px 8px;border-radius:8px;background:#0f172a0d;color:var(--text-main);font-size:13px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;overflow-wrap:anywhere}.audit-link-value{display:block;line-height:1.7}.audit-subsection{padding:16px;border-radius:16px;background:#fbfdff;border:1px solid rgba(148,163,184,.18)}.audit-subsection-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.audit-subsection-head h5{margin:0;font-size:15px;color:var(--text-main)}.audit-subsection-head span{font-size:12px;color:var(--text-muted)}.audit-token-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.audit-token-stat{padding:12px 14px;border-radius:12px;border:1px solid #e2e8f0;background:#fff}.audit-token-stat--success{background:#ecfdf5;border-color:#a7f3d0}.audit-token-stat--warning{background:#fffbeb;border-color:#fde68a}.audit-token-stat--danger{background:#fef2f2;border-color:#fecaca}.audit-token-stat--info{background:#eff6ff;border-color:#bfdbfe}.audit-token-stat-label{display:block;font-size:12px;color:var(--text-muted)}.audit-token-stat-value{display:block;margin-top:6px;font-size:22px;line-height:1;color:var(--text-main)}.audit-token-list{display:grid;gap:8px;margin-top:12px}.audit-token-pill{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid #e2e8f0}.audit-token-text{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;color:var(--text-main);overflow-wrap:anywhere}.audit-related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.audit-related-card{padding:14px;border-radius:14px;background:#fff;border:1px solid #e2e8f0}.audit-related-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.audit-related-title{font-size:14px;font-weight:700;color:var(--text-main)}.audit-related-id{margin-top:8px}.audit-related-desc{margin-top:12px;color:var(--text-secondary);line-height:1.6}.audit-section-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.audit-section-count{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#f8fafc;color:var(--text-secondary);font-size:12px;font-weight:600}.audit-table-wrap{overflow:auto}.audit-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;min-width:720px}.audit-table th{padding:14px 16px;text-align:left;font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--text-muted);background:#f8fafc;border-bottom:1px solid #e2e8f0}.audit-table td{padding:14px 16px;border-bottom:1px solid #eef2f7;vertical-align:top;color:var(--text-main)}.audit-table tbody tr:hover td{background:#fbfdff}.audit-table tbody tr.is-active td{background:#eef4ff}.audit-cell-stack{display:flex;flex-direction:column;gap:4px;min-width:0}.link-relation-stack.is-child{position:relative;padding-left:12px}.link-relation-stack.is-child:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:3px;border-radius:999px;background:linear-gradient(180deg,#93c5fd,#3b82f6);opacity:.9}.audit-cell-title{font-weight:700;color:var(--text-main)}.audit-cell-subtitle,.audit-cell-muted{line-height:1.6}.audit-cell-subtitle{color:var(--text-main)}.audit-cell-muted{color:var(--text-secondary);font-size:12px}.link-relationship-badge{display:inline-flex;align-items:center;margin-right:6px;padding:1px 6px;border-radius:999px;font-size:11px;line-height:1.4;border:1px solid transparent;vertical-align:middle}.link-relationship-badge.is-child{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.link-relationship-badge.is-parent-ref{background:#f8fafc;color:#475569;border-color:#cbd5e1}.is-derived-child-row td{background:linear-gradient(90deg,#eff6ffe6,#fff0)}.audit-empty{padding:26px 20px;text-align:center;color:var(--text-secondary);line-height:1.7}.audit-empty--soft{padding:18px 16px 4px;text-align:left}.audit-status-badge{min-width:62px;justify-content:center}@media(max-width:1240px){.audit-layout{grid-template-columns:minmax(0,1fr)}.audit-detail-column{position:static;order:-1}}@media(max-width:900px){.audit-hero{flex-direction:column}.audit-hero-meta{flex:1 1 auto}.audit-summary-grid,.audit-related-grid,.audit-detail-grid,.audit-token-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.modal--audit .modal-content{width:100vw;max-width:100vw;height:100vh;border-radius:0}.modal--audit .modal-body{padding:16px;max-height:calc(100vh - 76px)}.audit-toolbar,.audit-section-header,.audit-panel-header{flex-direction:column;align-items:stretch}.audit-toolbar-actions,.audit-panel-actions,.audit-actions,.audit-related-actions{width:100%}.audit-toolbar-actions .btn,.audit-panel-actions .btn,.audit-actions .btn,.audit-related-actions .btn{flex:1 1 calc(50% - 8px)}.audit-summary-grid,.audit-related-grid,.audit-detail-grid,.audit-token-stats{grid-template-columns:minmax(0,1fr)}.audit-subsection-head{flex-direction:column;align-items:flex-start}}
