@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.feedback-launcher{position:fixed;right:20px;bottom:20px;z-index:90;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.feedback-launcher-button{width:48px;height:48px;border-radius:50%;border:none;cursor:pointer;display:grid;place-items:center;color:#fff;background:var(--accent-primary);box-shadow:var(--shadow-lg)}.feedback-launcher-button:hover{background:var(--accent-primary-hover)}.feedback-launcher-menu{display:flex;flex-direction:column;gap:4px;padding:6px;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:10px;box-shadow:var(--shadow-lg)}.feedback-launcher-menu button{display:flex;align-items:center;gap:8px;padding:8px 12px;white-space:nowrap;background:none;border:none;border-radius:8px;cursor:pointer;color:var(--text-primary);font-size:13px;text-align:left}.feedback-launcher-menu button:hover{background:var(--bg-hover)}.feedback-modal{width:min(520px,94vw)}.feedback-modal-body{display:grid;gap:14px}.feedback-field{display:grid;gap:6px;font-size:13px}.feedback-field>span{color:var(--text-secondary)}.feedback-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.feedback-rating{display:flex;gap:4px}.feedback-star{padding:2px;background:none;border:none;cursor:pointer;color:var(--border-default)}.feedback-star.is-on{color:var(--accent-warning)}.feedback-image-section{display:grid;gap:8px;padding:10px;border:1px dashed var(--border-default);border-radius:10px}.feedback-image-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px}.feedback-image-hint{font-size:12px;color:var(--text-tertiary)}.feedback-image-grid{display:flex;flex-wrap:wrap;gap:8px}.feedback-image-thumb{position:relative;width:64px;height:64px;border-radius:8px;overflow:hidden;border:1px solid var(--border-default)}.feedback-image-thumb img{width:100%;height:100%;object-fit:cover}.feedback-image-remove{position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;border:none;cursor:pointer;background:#0d1427b3;color:#fff}@media(max-width:600px){.feedback-field-row{grid-template-columns:1fr}}.account-page{--font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--radius-full: 9999px;--transition-fast: .15s ease;--shadow-glow: 0 0 20px rgba(124, 92, 252, .15);width:100%;height:100%;min-height:0;color:var(--text-primary);font-family:var(--font-family)}.account-page.embedded-account-page,.account-page.embedded-account-page .account-page-panel{width:100%;height:100%;min-height:0;border:0}.account-page-panel{height:100%;overflow:hidden;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-secondary);box-shadow:var(--shadow-sm)}.account-page .campaign-panel{display:flex;flex-direction:column}.account-page .campaign-panel-header{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-default);background:var(--bg-secondary)}.account-page .campaign-panel-title{color:var(--text-primary);font-size:13px;font-weight:700;letter-spacing:0}.account-page .campaign-panel-header-actions{display:flex;align-items:center;gap:6px}.account-page .campaign-panel-content{min-height:0;flex:1;overflow-y:auto;padding:8px}.account-page .empty-state{min-height:120px;display:flex;align-items:center;justify-content:center;padding:18px 8px;color:var(--text-tertiary);border:0;background:transparent;box-shadow:none}.account-page .empty-state-text{font-size:12px}.account-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 14px;border:none;border-radius:var(--radius-sm);font-family:var(--font-family);font-size:12px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.account-page .btn svg{flex-shrink:0}.account-page .btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.account-page .btn-primary{color:#fff;background:var(--accent-primary)}.account-page .btn-primary:not(:disabled):hover{background:var(--accent-primary-hover);box-shadow:var(--shadow-glow)}.account-page .btn-secondary{color:var(--text-secondary);border:1px solid var(--border-default);background:var(--bg-tertiary)}.account-page .btn-secondary:not(:disabled):hover{color:var(--text-primary);border-color:var(--border-hover);background:var(--bg-hover)}.account-page .btn-ghost{color:var(--text-secondary);background:transparent}.account-page .btn-ghost:not(:disabled):hover{color:var(--text-primary);background:var(--bg-tertiary)}.account-page .btn-danger{color:#fff;background:var(--accent-error)}.account-page .btn-danger:not(:disabled):hover{filter:brightness(1.1)}.account-page .btn-icon{padding:6px;border-radius:var(--radius-sm)}.account-page .btn-sm{padding:4px 10px;font-size:11px}.account-page button.btn-icon:not(.btn){width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;padding:0;color:var(--text-tertiary);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.account-page button.btn-icon:not(.btn):hover{color:var(--text-primary);border-color:var(--border-default);background:var(--bg-hover)}.account-page button.btn-icon:not(.btn):disabled{opacity:.45;cursor:not-allowed}.account-page .account-card{--account-card-accent: var(--border-default);--account-card-bg: var(--bg-secondary);--account-card-hover-bg: var(--bg-hover);--account-card-status-bg: rgba(0, 0, 0, .04);display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:6px;padding:10px 12px;color:var(--text-primary);border:1px solid var(--border-default);border-left:3px solid var(--account-card-accent);border-radius:8px;background:var(--account-card-bg);box-shadow:none;transition:all var(--transition-fast)}.account-page .account-card:hover{border-color:var(--border-hover);border-left-color:var(--account-card-accent);background:var(--account-card-hover-bg);box-shadow:0 0 0 2px #6366f114}.account-page .account-card.status-pending{--account-card-accent: var(--accent-info);--account-card-bg: rgba(56, 189, 248, .035);--account-card-hover-bg: rgba(56, 189, 248, .08);--account-card-status-bg: rgba(56, 189, 248, .12)}.account-page .account-card.status-running{--account-card-accent: var(--accent-warning);--account-card-bg: rgba(251, 191, 36, .04);--account-card-hover-bg: rgba(251, 191, 36, .08);--account-card-status-bg: rgba(251, 191, 36, .13)}.account-page .account-card.status-paused{--account-card-accent: var(--accent-error);--account-card-bg: rgba(244, 63, 94, .035);--account-card-hover-bg: rgba(244, 63, 94, .08);--account-card-status-bg: rgba(244, 63, 94, .12)}.account-page .account-card.disabled{opacity:.55;border-style:dashed}.account-page .account-card.disabled:hover{opacity:.75}.account-page .account-card-info{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.account-page .account-card-name{min-width:0;display:flex;align-items:center;gap:7px;color:var(--text-primary);font-size:12px;font-weight:600}.account-page .account-card-name-text{min-width:0;overflow:hidden;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap}.account-page .account-card-meta{display:flex;align-items:center;gap:6px;color:var(--text-tertiary);font-size:10px}.account-page .account-card-status{padding:1px 5px;color:var(--account-card-accent);border-radius:8px;background:var(--account-card-status-bg);font-size:10px;font-weight:600}.account-page .account-group-tag{min-width:0;max-width:130px;overflow:hidden;padding:1px 5px;color:var(--text-secondary);border-radius:3px;background:#6366f11c;font-size:10px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.account-page .account-tag{padding:1px 5px;border-radius:3px;background:#38bdf81a;font-size:9px;font-weight:600;text-transform:uppercase}.account-page .account-status-dot{width:8px;height:8px;flex-shrink:0;border-radius:var(--radius-full);background:var(--account-card-accent);box-shadow:0 0 0 3px var(--account-card-status-bg)}.account-page .account-status-dot.is-disabled{background:var(--text-tertiary);box-shadow:0 0 0 3px #6b6b8224}.account-page .account-card-menu-button{display:none;width:30px;height:30px;flex:0 0 auto;align-items:center;justify-content:center;padding:0;color:var(--text-tertiary);border:0;border-radius:var(--radius-sm);background:transparent}.account-page .context-menu{position:fixed;z-index:2000;min-width:220px;max-width:280px;overflow:hidden;padding:6px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-secondary);box-shadow:var(--shadow-lg),0 0 0 1px #0000000d;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:account-context-menu-in .12s ease-out}@keyframes account-context-menu-in{0%{opacity:0;transform:scale(.95) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.account-page .context-menu-group{padding:2px 0}.account-page .context-menu-group+.context-menu-group{margin-top:2px;padding-top:4px;border-top:1px solid var(--border-default)}.account-page .context-menu-item{width:100%;display:flex;align-items:center;gap:10px;padding:7px 12px;color:var(--text-primary);border:0;border-radius:var(--radius-sm);background:transparent;font-family:var(--font-family);font-size:12px;font-weight:500;text-align:left;white-space:nowrap;cursor:pointer;transition:all var(--transition-fast)}.account-page .context-menu-item:hover:not(:disabled){background:var(--bg-hover)}.account-page .context-menu-item:disabled{opacity:.55;cursor:not-allowed}.account-page .context-menu-item svg{flex-shrink:0;color:var(--text-secondary);transition:color var(--transition-fast)}.account-page .context-menu-item:hover:not(:disabled) svg{color:var(--accent-primary)}.account-page .context-menu-item.accent-success:hover:not(:disabled){background:#34d3991a}.account-page .context-menu-item.accent-success:hover:not(:disabled) svg{color:var(--accent-success)}.account-page .context-menu-item.accent-warning:hover:not(:disabled){background:#fbbf241a}.account-page .context-menu-item.accent-warning:hover:not(:disabled) svg{color:var(--accent-warning)}.account-page .context-menu-item.accent-error:hover:not(:disabled){background:#f43f5e1a}.account-page .context-menu-item.accent-error:hover:not(:disabled) svg{color:var(--accent-error)}.account-page .modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2100;display:flex;align-items:center;justify-content:center;padding:24px;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.account-page .modal{width:560px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-secondary);box-shadow:var(--shadow-lg)}.account-page .modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border-default)}.account-page .modal-title{color:var(--text-primary);font-size:16px;font-weight:600}.account-page .modal-body{min-height:0;flex:1;overflow-y:auto;padding:16px 20px}.account-page .modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--border-default);background:var(--bg-secondary)}.account-page .account-form-modal{width:min(680px,calc(100vw - 48px));max-height:min(780px,calc(100vh - 48px))}.account-page .account-form-modal-body{display:flex;flex-direction:column;gap:16px}.account-page .account-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px}.account-page .account-form-inline-field{min-width:0;display:flex;align-items:center;gap:8px}.account-page .account-form-inline-field .stepper-input{min-width:0;flex:1}.account-page .account-form-inline-field .btn-icon{width:36px;height:36px;flex:0 0 auto}.account-page .account-info-subtitle{margin-top:3px;color:var(--text-secondary);font-size:12px}.account-page .stepper-form-group{min-width:0;margin-bottom:0}.account-page .stepper-form-group label{display:block;margin-bottom:6px;color:var(--text-secondary);font-size:12px;font-weight:500}.account-page .stepper-form-group label .required{margin-left:2px;color:var(--accent-error)}.account-page .stepper-input{width:100%;padding:9px 12px;color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);outline:none;background:var(--bg-tertiary);font-family:var(--font-family);font-size:13px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.account-page .stepper-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #7c5cfc1a}.account-page .stepper-input:disabled{opacity:.65;cursor:not-allowed}.account-page .stepper-input::placeholder{color:var(--text-tertiary)}.account-page .panel-input{width:100%;min-width:0;padding:7px 9px;color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);outline:none;background:var(--bg-tertiary);font-family:var(--font-family);font-size:12px}.account-page .account-info-error{display:flex;align-items:center;gap:8px;padding:9px 11px;color:var(--accent-error);border:1px solid rgba(244,63,94,.2);border-radius:var(--radius-md);background:#f43f5e14;font-size:12px}.account-page .account-group-modal{width:min(1100px,calc(100vw - 48px));height:min(780px,calc(100vh - 48px))}.account-page .account-group-modal-body{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:16px;min-height:0}.account-page .account-group-list-pane{min-width:0;min-height:0;display:flex;flex-direction:column;padding-right:14px;border-right:1px solid var(--border-default)}.account-page .account-group-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:10px}.account-page .account-group-list{min-height:0;display:flex;flex-direction:column;gap:6px;overflow-y:auto}.account-page .account-group-empty{padding:14px 4px;font-size:12px}.account-page .account-group-list-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-elevated);cursor:pointer;text-align:left}.account-page .account-group-list-item:hover,.account-page .account-group-list-item.active{border-color:var(--accent-primary);background:var(--bg-hover)}.account-page .account-group-list-item span{min-width:0;display:flex;flex-direction:column;gap:2px}.account-page .account-group-list-item strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.account-page .account-group-list-item em{color:var(--text-tertiary);font-size:11px;font-style:normal}.account-page .account-group-list-item svg{flex-shrink:0;color:var(--text-tertiary)}.account-page .account-group-list-item svg:hover{color:var(--accent-error)}.account-page .account-group-editor{min-width:0;min-height:0;display:flex;flex-direction:column;gap:14px;overflow-y:auto;padding-right:2px}.account-page .account-group-editor-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-elevated)}.account-page .account-group-editor-heading>div{min-width:0;display:flex;flex-direction:column;gap:4px}.account-page .account-group-editor-heading strong{overflow:hidden;color:var(--text-primary);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.account-page .account-group-editor-heading span{color:var(--text-secondary);font-size:12px;line-height:1.4}.account-page .account-group-editor-heading em{flex-shrink:0;padding:3px 8px;color:var(--text-secondary);border-radius:var(--radius-sm);background:var(--bg-hover);font-size:11px;font-style:normal}.account-page .account-group-editor-heading.is-editing em{color:var(--accent-primary);background:#3b82f61a}.account-page .account-group-basic-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.account-page .account-group-members-section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.account-page .account-group-members-section.is-creating{grid-template-columns:1fr}.account-page .account-group-member-pane{min-width:0;display:flex;flex-direction:column;gap:10px;padding:10px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-secondary)}.account-page .account-group-member-pane>.btn{justify-content:center;margin-top:auto}.account-page .account-group-member-pane-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.account-page .account-group-member-pane-header>div{min-width:0;display:flex;flex-direction:column;gap:2px}.account-page .account-group-member-pane-header strong{color:var(--text-primary);font-size:12px}.account-page .account-group-member-pane-header span,.account-page .account-group-member-pane-header label{color:var(--text-tertiary);font-size:11px}.account-page .account-group-member-pane-header label{display:inline-flex;align-items:center;gap:5px;cursor:pointer;white-space:nowrap}.account-page .account-group-member-list{min-height:118px;max-height:190px;display:flex;flex-direction:column;gap:6px;overflow-y:auto}.account-page .account-group-member-empty{padding:12px;color:var(--text-tertiary);border:1px dashed var(--border-default);border-radius:var(--radius-sm);font-size:12px}.account-page .account-group-member-option{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-elevated);cursor:pointer}.account-page .account-group-member-option:hover{border-color:var(--accent-primary);background:var(--bg-hover)}.account-page .account-group-member-option.is-disabled{opacity:.62;cursor:not-allowed}.account-page .account-group-member-option.is-disabled:hover{border-color:var(--border-default);background:var(--bg-elevated)}.account-page .account-group-member-option input{flex-shrink:0}.account-page .account-group-member-option span{min-width:0;display:flex;flex-direction:column;gap:2px}.account-page .account-group-member-option strong,.account-page .account-group-member-option em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-page .account-group-member-option strong{color:var(--text-primary);font-size:12px}.account-page .account-group-member-option em{color:var(--text-tertiary);font-size:11px;font-style:normal}.account-page .account-group-limit-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.account-page .account-group-limit-header strong{color:var(--text-primary);font-size:13px}.account-page .account-group-limit-panel{min-width:0;display:flex;flex-direction:column;gap:8px}.account-page .account-group-limit-sleep-row{display:flex;align-items:center;gap:10px;padding:7px 8px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-elevated)}.account-page .account-group-limit-sleep-row label{flex:0 0 auto;color:var(--text-secondary);font-size:12px}.account-page .account-group-limit-sleep-row .stepper-input{width:150px;min-height:30px;padding:5px 8px;font-size:12px}.account-page .account-group-limit-list{min-height:0;display:flex;flex-direction:column;gap:5px;padding-right:2px}.account-page .account-group-limit-table-header,.account-page .account-group-action-limit-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,170px) minmax(150px,170px);align-items:center;gap:10px}.account-page .account-group-limit-table-header{padding:0 9px 2px;color:var(--text-secondary);font-size:11px;font-weight:600}.account-page .account-group-action-limit-row{padding:7px 9px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-elevated)}.account-page .account-group-action-limit-row strong{min-width:0;overflow:hidden;color:var(--text-primary);font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.account-page .account-group-action-limit-row .stepper-input{min-height:30px;padding:5px 8px;font-size:12px}.account-page .account-group-assign-modal{width:min(460px,calc(100vw - 32px));max-height:none}.account-page .account-group-assign-body{display:flex;flex-direction:column;gap:12px}.account-page .proxy-manager-modal{width:min(920px,calc(100vw - 48px));max-height:calc(100vh - 64px)}.account-page .proxy-manager-body{min-height:560px;display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px}.account-page .proxy-list-pane,.account-page .proxy-editor{min-width:0}.account-page .proxy-list-pane{display:flex;flex-direction:column;gap:10px;padding-right:14px;border-right:1px solid var(--border-default)}.account-page .proxy-toolbar{display:flex;justify-content:flex-start}.account-page .proxy-list{display:flex;flex-direction:column;gap:8px;overflow-y:auto;padding-right:4px}.account-page .proxy-empty{padding:16px 4px;font-size:12px}.account-page .proxy-list-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;color:var(--text-primary);border:1px solid var(--border-default);border-radius:6px;background:var(--bg-secondary);text-align:left;cursor:pointer}.account-page .proxy-list-item:hover,.account-page .proxy-list-item.active{border-color:var(--accent-primary);background:var(--bg-tertiary)}.account-page .proxy-list-item span{min-width:0;display:flex;flex-direction:column;gap:4px}.account-page .proxy-list-item strong,.account-page .proxy-list-item em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-page .proxy-list-item strong{font-size:12px;font-weight:600}.account-page .proxy-list-item em{color:var(--text-tertiary);font-size:11px;font-style:normal}.account-page .proxy-list-item svg{flex:0 0 auto;color:var(--text-tertiary)}.account-page .proxy-list-item svg:hover{color:var(--accent-error)}.account-page .proxy-editor{display:flex;flex-direction:column;gap:14px;overflow-y:auto;padding-right:4px}.account-page .proxy-import-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.account-page .proxy-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.account-page .proxy-clear-password{display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:12px}.account-page .account-info-modal{width:min(960px,calc(100vw - 48px));max-height:min(760px,calc(100vh - 48px))}.account-page .account-info-header-actions{display:flex;align-items:center;gap:6px}.account-page .account-info-body{display:flex;flex-direction:column;gap:14px}.account-page .account-info-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.account-page .account-info-field{min-width:0;padding:10px 12px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-elevated)}.account-page .account-info-field span{display:block;margin-bottom:4px;color:var(--text-tertiary);font-size:10px;letter-spacing:0;text-transform:uppercase}.account-page .account-info-field strong{overflow-wrap:anywhere;color:var(--text-primary);font-size:13px}.account-page .account-info-actions-title{color:var(--text-primary);font-size:13px;font-weight:600}.account-page .account-info-loading{padding:18px 0}.account-page .account-info-actions-scroll{min-width:0;overflow-x:auto}.account-page .account-info-actions-table{min-width:760px;font-size:12px}.account-page .account-info-run-now-btn{white-space:nowrap}.account-page .account-info-status{display:inline-flex;align-items:center;gap:5px;font-weight:600;white-space:nowrap}.account-page .account-info-status-ok{color:var(--accent-success)}.account-page .account-info-status-limited{color:var(--accent-warning)}.account-page .campaign-zalo-login-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2200;display:flex;align-items:center;justify-content:center;padding:24px;background:#00000073}.account-page .campaign-zalo-login-modal{width:min(360px,calc(100vw - 32px));padding:16px;border:1px solid var(--border-default);border-radius:8px;background:var(--bg-primary);box-shadow:var(--shadow-lg)}.account-page .campaign-zalo-login-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px;color:var(--text-primary)}.account-page .campaign-zalo-login-header>div>div{margin-top:2px;color:var(--text-tertiary);font-size:12px}.account-page .campaign-zalo-login-body{display:flex;flex-direction:column;align-items:center;gap:12px}.account-page .campaign-zalo-login-qr,.account-page .campaign-zalo-login-placeholder,.account-page .campaign-zalo-login-expired,.account-page .campaign-zalo-login-scanned-profile{width:220px;height:220px;border:1px solid var(--border-default);border-radius:8px}.account-page .campaign-zalo-login-qr{object-fit:contain;background:#fff}.account-page .campaign-zalo-login-placeholder{display:flex;align-items:center;justify-content:center;background:var(--bg-secondary)}.account-page .campaign-zalo-login-expired{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:18px;color:var(--text-secondary);background:var(--bg-secondary);font-size:13px;line-height:1.4;text-align:center}.account-page .campaign-zalo-login-scanned-profile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:16px;background:var(--bg-secondary);text-align:center}.account-page .campaign-zalo-login-scanned-avatar,.account-page .campaign-zalo-login-scanned-avatar-placeholder{width:76px;height:76px;border:1px solid var(--border-default);border-radius:38px}.account-page .campaign-zalo-login-scanned-avatar{object-fit:cover}.account-page .campaign-zalo-login-scanned-avatar-placeholder{display:flex;align-items:center;justify-content:center;color:var(--text-primary);background:var(--bg-tertiary);font-size:28px;font-weight:700}.account-page .campaign-zalo-login-scanned-name{max-width:100%;overflow:hidden;color:var(--text-primary);font-size:14px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.account-page .campaign-zalo-login-countdown{color:var(--text-tertiary);font-size:12px;line-height:1.4;text-align:center}.account-page .campaign-zalo-login-avatar{width:40px;height:40px;border-radius:20px;object-fit:cover}.account-page .campaign-zalo-login-message{min-height:40px;display:flex;flex-direction:column;gap:4px;color:var(--text-secondary);font-size:13px;text-align:center}.account-page .campaign-zalo-login-retry{align-self:center;margin-top:4px}.account-page .account-feedback-overlay,.account-page .account-confirm-overlay{z-index:10000}.account-page .account-confirm-overlay{z-index:10001}.account-page .campaign-feedback-modal{width:min(420px,calc(100vw - 32px));height:auto;min-height:unset;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-primary);box-shadow:0 10px 30px #00000080}.account-page .campaign-modal-top{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border-default)}.account-page .campaign-modal-top .section-title{display:flex;align-items:center;gap:8px;margin:0;padding:0;color:var(--text-primary);border:0;font-size:16px}.account-page .campaign-feedback-modal .campaign-modal-body{padding:24px 16px;color:var(--text-primary);font-size:14px;text-align:center;white-space:pre-wrap}.account-page .campaign-feedback-modal .modal-footer{justify-content:center;padding-bottom:24px;border-top:0;background:transparent}.account-page .campaign-feedback-modal .modal-footer .btn{padding:8px 24px}.account-page .account-feedback-overlay .campaign-feedback-modal{width:min(400px,calc(100vw - 32px))}.account-page .account-feedback-overlay .campaign-feedback-modal .btn-primary{padding-inline:32px}.account-page .animate-spin{animation:account-spin 1s linear infinite}@keyframes account-spin{to{transform:rotate(360deg)}}@media(max-width:719px){.account-page{height:auto;min-height:calc(100dvh - 134px)}.account-page-panel{min-height:calc(100dvh - 134px);overflow:visible}.account-page .campaign-panel-content{overflow:visible}.account-page .campaign-panel-header{padding:10px 12px}.account-page .account-card{min-height:64px;padding:12px}.account-page .account-card-name{font-size:13px}.account-page .account-card-menu-button{display:inline-flex}.account-page .modal-overlay{align-items:flex-end;padding:0}.account-page .modal{width:100%;max-height:92dvh;border-radius:20px 20px 0 0}.account-page .account-form-modal,.account-page .account-info-modal{width:100%;max-height:92dvh}.account-page .account-form-grid,.account-page .account-info-summary{grid-template-columns:1fr}.account-page .account-group-modal{width:100%;height:92dvh}.account-page .account-group-modal-body,.account-page .account-group-members-section{grid-template-columns:1fr}.account-page .account-group-list-pane{max-height:220px;padding-right:0;padding-bottom:12px;border-right:0;border-bottom:1px solid var(--border-default)}.account-page .account-group-limit-sleep-row{align-items:flex-start;flex-direction:column}.account-page .account-group-limit-sleep-row .stepper-input{width:100%}.account-page .account-group-limit-table-header{display:none}.account-page .account-group-action-limit-row{grid-template-columns:1fr;gap:6px}.account-page .proxy-manager-modal{width:100%;max-height:92dvh}.account-page .proxy-manager-body,.account-page .proxy-form-grid{grid-template-columns:1fr}.account-page .proxy-manager-body{min-height:0}.account-page .proxy-list-pane{max-height:220px;padding-right:0;padding-bottom:12px;border-right:0;border-bottom:1px solid var(--border-default)}.account-page .context-menu{right:8px;left:8px!important;width:auto;max-width:none}.account-page .campaign-zalo-login-overlay{padding:16px}.account-page .account-feedback-overlay,.account-page .account-confirm-overlay{align-items:center;padding:16px}.account-page .campaign-feedback-modal{border-radius:var(--radius-md)}}.media-page-panel{width:100%;height:min(860px,calc(100dvh - 112px));min-height:600px;display:flex;flex-direction:column;overflow:hidden;color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-primary);box-shadow:var(--shadow-lg)}.media-page-header{min-height:56px;display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid var(--border-default);background:var(--bg-secondary);font-size:16px;font-weight:600}.media-page-quota{font-size:13px;font-weight:500;color:var(--text-tertiary)}.media-library-body{min-height:0;display:flex;flex:1 1 auto;flex-direction:column;gap:16px;overflow:hidden;padding:16px}.media-library-section{min-height:0;display:flex;flex-direction:column;gap:12px}.media-library-list-section{flex:1 1 auto}.media-library-split{min-height:0;display:grid;flex:1 1 auto;grid-template-columns:minmax(240px,280px) minmax(0,1fr);gap:12px}.media-group-panel,.media-files-panel{min-height:0}.media-group-panel{display:flex;flex-direction:column;gap:12px;overflow:hidden;padding:12px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-secondary)}.media-files-panel{display:flex;flex-direction:column;gap:12px;overflow:hidden}.media-group-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.media-group-form{display:flex;flex-direction:column;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--border-default)}.media-group-form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.media-group-list{min-height:0;display:flex;flex-direction:column;gap:6px;overflow-y:auto;padding-right:2px}.media-group-row{display:grid;align-items:center;grid-template-columns:minmax(0,1fr) auto;gap:4px;border-radius:var(--radius-sm)}.media-group-row.active{background:var(--bg-accent-subtle)}.media-group-item{width:100%;min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 8px;color:var(--text-secondary);border:0;border-radius:var(--radius-sm);background:transparent;font-size:12px;text-align:left;cursor:pointer}.media-group-item:hover,.media-group-item.active,.media-group-row.active .media-group-item{color:var(--text-primary);background:var(--bg-hover)}.media-group-item-main{min-width:0;display:flex;align-items:center;gap:8px}.media-group-item-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-group-count{min-width:24px;height:20px;display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;padding:0 6px;color:var(--text-tertiary);border-radius:var(--radius-sm);background:var(--bg-tertiary);font-size:11px;font-variant-numeric:tabular-nums}.media-group-row-actions{display:inline-flex;align-items:center;gap:2px;padding-right:4px}.media-group-row-actions .btn-icon{width:26px;height:26px}.media-group-empty{padding:12px 8px;color:var(--text-tertiary);font-size:12px}.media-library-section-title,.media-library-toolbar,.media-library-name-cell{display:flex;align-items:center;gap:8px}.media-library-section-title{color:var(--text-primary);font-size:13px;font-weight:600}.media-library-toolbar{flex-wrap:nowrap;justify-content:space-between;gap:12px}.media-library-toolbar-main,.media-library-toolbar-tools{min-width:0;display:flex;align-items:center;gap:10px}.media-library-toolbar-main{flex:0 0 auto}.media-library-toolbar-tools{flex:1 1 auto;justify-content:flex-end}.media-library-upload-button{min-height:34px;padding-inline:14px}.media-library-search{width:auto;min-width:140px;min-height:34px;display:flex;flex:1 1 180px;align-items:center;gap:8px;padding:0 12px;color:var(--text-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-tertiary);transition:border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.media-library-search:focus-within{border-color:var(--border-active);background:var(--bg-elevated);box-shadow:0 0 0 2px var(--bg-accent-subtle)}.media-library-search input{width:100%;min-height:0;padding:0;color:var(--text-primary);border:0;outline:0;background:transparent;box-shadow:none;font-size:12px}.media-library-active-group{min-height:34px;max-width:220px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;overflow:hidden;color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-tertiary);font-size:12px;white-space:nowrap}.media-library-active-group span{overflow:hidden;text-overflow:ellipsis}.media-library-refresh{width:34px;height:34px;flex:0 0 34px;color:var(--text-secondary)}.media-library-refresh:hover:not(:disabled){color:var(--text-primary);background:var(--bg-hover)}.media-library-bulk-action-bar{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-elevated);font-size:12px}.media-library-bulk-action-bar .bulk-action-buttons{display:flex;align-items:center;gap:6px}.media-library-bulk-action-bar .btn{gap:4px;padding:4px 8px;font-size:11px}.media-group-manage{min-height:0;display:grid;flex:1 1 auto;overflow:hidden;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.media-group-manage-column{min-width:0;min-height:0;display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-secondary)}.media-group-manage-head,.media-group-manage-item{display:flex;align-items:center;gap:10px}.media-group-manage-head{min-height:34px;justify-content:space-between}.media-group-manage-list{min-height:0;display:flex;flex:1 1 auto;flex-direction:column;gap:6px;overflow-y:auto;padding-right:2px}.media-group-manage-item{min-height:36px;padding:0 8px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-tertiary);cursor:pointer}.media-group-manage-item:hover{border-color:var(--border-active);background:var(--bg-hover)}.media-group-manage-column:last-child .media-group-manage-item{cursor:default}.media-group-manage-item .media-library-name-cell{min-width:0;flex:1 1 auto}.media-group-manage-meta{flex:0 0 auto;color:var(--text-tertiary);font-size:11px;white-space:nowrap}.media-group-manage-empty{padding:10px 4px;color:var(--text-tertiary);font-size:12px}.media-library-grid{min-height:0;flex:1 1 auto;max-height:none}.media-library-grid .campaign-grid{min-width:1092px;table-layout:fixed}.media-library-grid .campaign-grid input[type=checkbox]{width:14px;min-width:14px;height:14px;min-height:14px;display:inline-block;margin:0;padding:0;vertical-align:middle;accent-color:var(--accent-primary);cursor:pointer}.media-library-grid .campaign-grid input[type=checkbox]:disabled{cursor:not-allowed}.media-library-row-tools{display:inline-flex;align-items:center;justify-content:center;gap:4px;white-space:nowrap}.media-library-file-name-cell{padding-right:24px}.media-library-grid .media-library-name-cell{width:100%;min-width:0}.media-library-name-cell{min-width:160px;color:var(--text-primary)}.media-library-name-cell span,.media-library-type-cell,.media-library-url-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-url-cell{min-width:0;max-width:100%;display:flex;align-items:center;gap:6px}.media-url-cell>span{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-hover-preview{display:inline-flex;align-items:center;justify-content:center}.media-hover-preview-button{width:28px;height:28px;color:var(--text-secondary)}.media-hover-preview-button:hover,.media-hover-preview-button:focus-visible{color:var(--text-primary);background:var(--bg-hover)}.media-hover-preview-popover{position:fixed;z-index:5000;width:308px;max-width:calc(100vw - 24px);padding:10px;pointer-events:none;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:var(--shadow-lg)}.media-hover-preview-title{margin-bottom:8px;overflow:hidden;color:var(--text-primary);font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.media-hover-preview-popover img{width:100%;max-height:220px;display:block;object-fit:contain;border-radius:var(--radius-sm);background:var(--bg-secondary)}.media-hover-preview-file{min-height:128px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:14px;color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-secondary);font-size:12px;text-align:center}.media-hover-preview-file small{color:var(--text-tertiary)}.media-feedback-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10001;display:grid;place-items:center;padding:16px;background:#000000ad}.media-feedback-modal{width:min(420px,100%);overflow:hidden;color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-primary);box-shadow:var(--shadow-lg)}.media-feedback-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border-bottom:1px solid var(--border-default)}.media-feedback-header h2{display:flex;align-items:center;gap:8px;margin:0;font-size:16px}.media-feedback-body{padding:24px 16px;color:var(--text-primary);font-size:14px;text-align:center;white-space:pre-wrap}.media-feedback-footer{display:flex;justify-content:center;gap:8px;padding:0 16px 24px}.media-feedback-footer .btn{padding:8px 24px}.media-library-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:10px 4px 2px;color:var(--text-secondary);font-size:12px}.media-library-pagination-controls{display:flex;align-items:center;gap:10px}@media(max-width:860px){.media-page-panel{height:auto;min-height:calc(100dvh - 126px)}.media-library-body{overflow:visible;padding:12px}.media-library-split{grid-template-columns:1fr}.media-group-panel{max-height:260px}.media-files-panel{min-height:520px}.media-group-manage{min-height:480px;grid-template-columns:1fr;overflow:visible}.media-library-toolbar{flex-wrap:wrap}.media-library-toolbar-main,.media-library-toolbar-tools{width:100%}.media-library-toolbar-main{flex-wrap:wrap}.media-library-toolbar-tools{flex-basis:100%}.media-library-search{min-width:0;flex:1}}.ctw-workspace{--ctw-control-height: 36px;--ctw-card-shadow: 0 1px 2px rgba(0, 0, 0, .28);width:100%;height:100%;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;color:var(--text-primary);background:var(--bg-primary)}body.theme-light .ctw-workspace{--ctw-card-shadow: 0 1px 2px rgba(15, 23, 42, .06)}.template-page-panel{width:min(1240px,100%);height:min(880px,calc(100dvh - 128px));margin:0 auto;display:flex;flex-direction:column;overflow:hidden;color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-secondary);box-shadow:var(--shadow-lg)}.template-page-panel>.ctw-workspace{flex:1;min-height:0}.ctw-workspace .stepper-input,.ctw-workspace .stepper-select,.ctw-workspace .stepper-textarea{width:100%;border:1px solid var(--border-default);border-radius:var(--radius-sm);outline:none;background-color:var(--bg-tertiary);color:var(--text-primary);font-family:var(--font-family);font-size:13px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.ctw-workspace .stepper-input,.ctw-workspace .stepper-select{height:var(--ctw-control-height);min-height:var(--ctw-control-height)}.ctw-workspace .stepper-input{padding:0 11px}.ctw-workspace .stepper-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0 34px 0 11px;background-image:linear-gradient(45deg,transparent 50%,var(--text-tertiary) 50%),linear-gradient(135deg,var(--text-tertiary) 50%,transparent 50%);background-position:calc(100% - 15px) calc(50% - 2px),calc(100% - 10px) calc(50% - 2px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;cursor:pointer}.ctw-workspace .stepper-textarea{padding:10px 11px;line-height:1.55}.ctw-workspace .stepper-input:hover:not(:disabled),.ctw-workspace .stepper-select:hover:not(:disabled),.ctw-workspace .stepper-textarea:hover:not(:disabled){border-color:var(--border-hover)}.ctw-workspace .stepper-input:focus,.ctw-workspace .stepper-select:focus,.ctw-workspace .stepper-textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-primary) 12%,transparent)}.ctw-workspace .stepper-input:disabled,.ctw-workspace .stepper-select:disabled,.ctw-workspace .stepper-textarea:disabled{opacity:.6;cursor:not-allowed}.ctw-workspace .stepper-select option{color:var(--text-primary);background:var(--bg-secondary)}.ctw-workspace .btn{min-height:34px}.ctw-workspace button.btn-icon:not(.btn){width:30px;height:30px;flex:0 0 30px}.ctw-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3200;display:flex;align-items:center;justify-content:center;padding:16px;background:#0000009e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ctw-modal-shell{width:min(1280px,calc(100vw - 32px));height:min(900px,calc(100vh - 32px));min-height:520px;overflow:hidden;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-secondary);box-shadow:var(--shadow-lg)}.ctw-modal-shell>.ctw-workspace{background:var(--bg-secondary)}.ctw-page-header,.ctw-editor-header{flex:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;min-height:78px;padding:17px 24px;border-bottom:1px solid var(--border-default);background:var(--bg-secondary)}.ctw-title-row,.ctw-editor-heading,.ctw-header-actions,.ctw-editor-heading>div:first-child{display:flex;align-items:center}.ctw-title-row{gap:9px}.ctw-title-row svg{color:var(--accent-primary)}.ctw-page-header h1,.ctw-editor-header h1{margin:0;font-size:19px;line-height:1.25;font-weight:720;color:var(--text-primary)}.ctw-page-header p,.ctw-editor-header p{margin:4px 0 0;color:var(--text-secondary);font-size:12px}.ctw-header-actions{flex-shrink:0;justify-content:flex-end;gap:8px;align-self:center}.ctw-header-actions .btn{white-space:nowrap}.ctw-close{margin-left:4px}.ctw-list-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto;padding:18px 24px 28px}.ctw-filter-card{flex:0 0 auto;display:grid;grid-template-columns:minmax(260px,1fr) minmax(170px,230px) minmax(170px,230px) 34px;align-items:center;gap:10px;padding:11px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-secondary);box-shadow:var(--ctw-card-shadow)}.ctw-filter-card .stepper-select{width:100%}.ctw-filter-card>.btn-icon{justify-self:center}.ctw-search-field{min-width:0;height:var(--ctw-control-height);display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-tertiary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.ctw-search-field:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-primary) 12%,transparent)}.ctw-search-field:hover{border-color:var(--border-hover)}.ctw-search-field input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--text-primary);font:inherit}.ctw-search-field input::placeholder{color:var(--text-tertiary)}.ctw-list-summary{display:flex;align-items:baseline;gap:6px;min-height:40px;padding:12px 2px 9px;color:var(--text-primary)}.ctw-list-summary strong{font-size:13px}.ctw-list-summary span{color:var(--text-tertiary);font-size:12px}.ctw-template-grid{display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:12px;align-content:start}.ctw-template-card{min-width:0;min-height:214px;display:flex;flex-direction:column;padding:14px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-secondary);box-shadow:var(--ctw-card-shadow);transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.ctw-template-card:hover{transform:translateY(-1px);border-color:var(--border-hover);box-shadow:var(--shadow-md)}.ctw-template-card-head{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center}.ctw-template-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;color:var(--accent-primary);background:var(--bg-accent-subtle);border:1px solid color-mix(in srgb,var(--accent-primary) 18%,transparent)}.ctw-template-title{min-width:0}.ctw-template-title h3{overflow:hidden;margin:0;color:var(--text-primary);font-size:14px;font-weight:700;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.ctw-template-title span{display:block;overflow:hidden;margin-top:2px;color:var(--text-tertiary);font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.ctw-row-actions{display:flex;align-items:center;gap:3px}.ctw-row-actions .btn-icon{flex:0 0 28px;width:28px!important;height:28px!important}.ctw-row-actions .btn-icon.danger:hover:not(:disabled){color:var(--accent-error);background:color-mix(in srgb,var(--accent-error) 10%,transparent)}.ctw-channel-badges{min-height:26px;display:flex;flex-wrap:wrap;gap:5px;margin-top:13px}.ctw-channel-badge,.ctw-status-badge{display:inline-flex;align-items:center;width:fit-content;padding:3px 8px;border:1px solid transparent;border-radius:var(--radius-full);font-size:10.5px;font-weight:700;line-height:1.35}.ctw-channel-badge.zalo_message,.ctw-channel-rail-item.zalo_message .ctw-channel-mono,.ctw-channel-hero-icon.zalo_message{color:#1687ef;background:color-mix(in srgb,#1687ef 12%,transparent);border-color:color-mix(in srgb,#1687ef 25%,transparent)}.ctw-channel-badge.sms,.ctw-channel-rail-item.sms .ctw-channel-mono,.ctw-channel-hero-icon.sms{color:#f59e0b;background:color-mix(in srgb,#f59e0b 14%,transparent);border-color:color-mix(in srgb,#f59e0b 25%,transparent)}.ctw-template-excerpt{display:-webkit-box;min-height:54px;overflow:hidden;margin:10px 0 12px;color:var(--text-secondary);font-size:12px;line-height:1.55;white-space:pre-line;-webkit-box-orient:vertical;-webkit-line-clamp:3}.ctw-template-card-foot{min-width:0;display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:11px;border-top:1px solid var(--border-default);color:var(--text-tertiary);font-size:10.5px}.ctw-template-card-foot span{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto}.ctw-template-card-foot svg{flex:0 0 auto}.ctw-template-card-foot span:last-child{min-width:0;flex:1 1 auto;overflow:hidden;margin-left:auto;text-overflow:ellipsis;white-space:nowrap}.ctw-empty{flex:1;min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:30px;border:1px dashed var(--border-default);border-radius:var(--radius-md);color:var(--text-tertiary);background:color-mix(in srgb,var(--bg-secondary) 75%,transparent);text-align:center}.ctw-empty svg{color:var(--text-tertiary)}.ctw-empty strong{color:var(--text-primary);font-size:14px}.ctw-empty span{color:var(--text-secondary)}.ctw-empty .btn{margin-top:8px}.ctw-spin{animation:ctw-spin .8s linear infinite}@keyframes ctw-spin{to{transform:rotate(360deg)}}.ctw-editor-heading{min-width:0;gap:10px}.ctw-editor-heading>div:last-child{min-width:0}.ctw-editor-header.compact-composer{min-height:64px;align-items:center;padding:10px 18px}.ctw-editor-title-field{min-width:200px}.ctw-editor-title-field>span{display:block;color:var(--text-tertiary);font-size:10.5px;font-weight:600}.ctw-editor-title-field>input{width:min(360px,30vw);margin-top:2px;padding:0;border:0;outline:0;color:var(--text-primary);background:transparent;font:inherit;font-size:17px;font-weight:720}.ctw-editor-title-field>input::placeholder{color:var(--text-tertiary)}.ctw-editor-group-field{display:flex;align-items:center;gap:8px;min-width:240px;padding-left:15px;border-left:1px solid var(--border-default)}.ctw-editor-group-field>span{color:var(--text-tertiary);font-size:11px;font-weight:700}.ctw-editor-group-field .stepper-select{width:min(210px,19vw)}.ctw-composer-layout{flex:1;min-width:0;min-height:0;display:grid;grid-template-columns:226px minmax(400px,1fr) minmax(320px,380px);overflow:hidden;background:var(--bg-primary)}.ctw-channel-rail,.ctw-live-preview{min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--bg-secondary)}.ctw-channel-rail{border-right:1px solid var(--border-default)}.ctw-channel-rail-heading,.ctw-live-preview-heading{flex:0 0 auto;padding:14px 14px 10px}.ctw-channel-rail-heading strong,.ctw-live-preview-heading strong{display:block;color:var(--text-primary);font-size:11px;font-weight:750;letter-spacing:.035em;text-transform:uppercase}.ctw-channel-rail-heading span,.ctw-live-preview-heading span{display:block;margin-top:4px;color:var(--text-tertiary);font-size:10.5px;line-height:1.45}.ctw-channel-rail-list{flex:1;min-height:0;display:flex;flex-direction:column;gap:6px;overflow-y:auto;padding:3px 10px 12px}.ctw-channel-rail-item{width:100%;min-width:0;display:flex;align-items:center;gap:9px;padding:8px 9px;border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);background:var(--bg-tertiary);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.ctw-channel-rail-item:hover{border-color:var(--border-hover);background:var(--bg-hover)}.ctw-channel-rail-item.active{border-color:var(--accent-primary);background:color-mix(in srgb,var(--accent-primary) 9%,var(--bg-tertiary));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-primary) 10%,transparent)}.ctw-channel-rail-item.disabled-channel:not(.active){opacity:.68}.ctw-channel-mono,.ctw-channel-hero-icon{display:grid;place-items:center;flex:0 0 auto;border:1px solid currentColor;border-radius:8px;font-size:12px;font-weight:800}.ctw-channel-mono{width:29px;height:29px}.ctw-channel-hero-icon{width:39px;height:39px;border-radius:10px;font-size:16px}.ctw-channel-rail-copy{flex:1;min-width:0}.ctw-channel-rail-copy strong,.ctw-channel-rail-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ctw-channel-rail-copy strong{color:var(--text-primary);font-size:11.5px}.ctw-channel-rail-copy small{margin-top:2px;color:var(--text-tertiary);font-size:9.5px}.ctw-channel-dot{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:var(--border-hover)}.ctw-channel-dot.on{background:var(--accent-success);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-success) 12%,transparent)}.ctw-channel-rail-foot{flex:0 0 auto;padding:10px 13px;border-top:1px solid var(--border-default);color:var(--text-tertiary);font-size:9.5px;line-height:1.5}.ctw-composer-main{min-width:0;min-height:0;overflow-y:auto;padding:18px clamp(16px,2.4vw,30px) 34px}.ctw-channel-editor-heading{display:flex;align-items:center;gap:11px;max-width:760px;margin:0 auto 16px}.ctw-channel-editor-heading>div:nth-child(2){flex:1;min-width:0}.ctw-channel-editor-heading>div:nth-child(2)>div{display:flex;align-items:center;gap:8px}.ctw-channel-editor-heading h2{margin:0;color:var(--text-primary);font-size:16px}.ctw-channel-editor-heading p{margin:3px 0 0;color:var(--text-tertiary);font-size:11px;line-height:1.45}.ctw-status-badge.active{gap:3px;color:var(--accent-success);border-color:color-mix(in srgb,var(--accent-success) 25%,transparent);background:color-mix(in srgb,var(--accent-success) 10%,transparent)}.ctw-composer-main>.ctw-channel-editor,.ctw-composer-main>.ctw-channel-disabled{max-width:760px;margin-right:auto;margin-left:auto}.ctw-channel-editor{display:flex;flex-direction:column;gap:15px}.ctw-format-setting{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 13px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-tertiary)}.ctw-format-setting strong{display:block;color:var(--text-primary);font-size:12px}.ctw-format-setting>div>span{display:block;margin-top:2px;color:var(--text-tertiary);font-size:11px}.ctw-toggle-row{display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:11.5px;font-weight:600;white-space:nowrap}.ctw-toggle-row.disabled{opacity:.55}.ctw-toggle{position:relative;width:36px;height:20px;padding:0;border:1px solid var(--border-default);border-radius:var(--radius-full);background:var(--bg-tertiary);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.ctw-toggle:disabled{cursor:not-allowed}.ctw-toggle span{position:absolute;top:2px;left:2px;width:14px;height:14px;margin:0;border-radius:50%;background:var(--text-secondary);transition:transform var(--transition-fast),background var(--transition-fast)}.ctw-toggle.on{border-color:var(--accent-primary);background:var(--accent-primary)}.ctw-toggle.on span{transform:translate(16px);background:#fff}.ctw-variants-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 -4px}.ctw-variants-heading strong{color:var(--text-primary);font-size:12px}.ctw-variants-heading span{color:var(--text-tertiary);font-size:10.5px}.ctw-variants{display:flex;flex-direction:column;gap:12px}.ctw-variant-card{overflow:hidden;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-tertiary)}.ctw-variant-head{display:flex;align-items:center;justify-content:space-between;min-height:41px;padding:6px 9px 6px 12px;border-bottom:1px solid var(--border-default);background:var(--bg-elevated)}.ctw-variant-head strong{font-size:12px;color:var(--text-primary)}.ctw-variant-card>.ctw-variant-textarea{display:block;width:100%;border:0;border-radius:0;min-height:130px;resize:vertical;background:var(--bg-primary)}.ctw-variant-card .ctw-rich-editor .formatted-content-editor,.ctw-variant-card .ctw-rich-editor .formatted-content-surface{border:0;border-radius:0}.ctw-sms-count{padding:7px 10px;border-top:1px solid var(--border-default);color:var(--text-tertiary);font-size:10.5px;text-align:right}.ctw-add-variant{align-self:flex-start}.ctw-channel-disabled{min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:var(--text-tertiary);text-align:center}.ctw-channel-disabled strong{color:var(--text-primary);font-size:14px}.ctw-channel-disabled .btn{margin-top:7px}.ctw-images-section{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-secondary)}.ctw-images-section.channel-scoped{margin-top:3px;padding:15px 16px 16px}.ctw-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.ctw-section-heading.horizontal{align-items:center}.ctw-section-heading strong{display:block;color:var(--text-primary);font-size:13px;font-weight:700}.ctw-section-heading span{display:block;margin-top:2px;color:var(--text-tertiary);font-size:11.5px;font-weight:400}.ctw-image-limit{flex:0 0 auto;padding:3px 8px;border:1px solid var(--border-default);border-radius:var(--radius-full);color:var(--text-secondary);background:var(--bg-tertiary);font-size:10px;font-weight:700}.ctw-image-grid{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));gap:10px}.ctw-image-tile{position:relative;min-width:0;overflow:hidden;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-tertiary)}.ctw-image-tile img{width:100%;height:88px;display:block;object-fit:cover;background:var(--bg-tertiary)}.ctw-image-tile-caption{overflow:hidden;padding:6px 8px;color:var(--text-secondary);font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.ctw-image-tile>button{position:absolute;top:5px;right:5px;width:25px;height:25px;display:grid;place-items:center;border:0;border-radius:var(--radius-full);color:#fff;background:#0f172ab8;cursor:pointer}.ctw-image-tile>button:hover:not(:disabled){background:var(--accent-error)}.ctw-image-add-tile{min-height:118px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px dashed var(--border-hover);border-radius:var(--radius-sm);color:var(--text-tertiary);background:var(--bg-tertiary);font:inherit;font-size:10.5px;font-weight:600;cursor:pointer}.ctw-image-add-tile:hover:not(:disabled){border-color:var(--accent-primary);color:var(--accent-primary);background:var(--bg-accent-subtle)}.ctw-no-images-note{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px dashed var(--border-default);border-radius:var(--radius-sm);color:var(--text-tertiary);background:var(--bg-tertiary);font-size:10.5px}.ctw-live-preview{overflow:hidden;border-left:1px solid var(--border-default)}.ctw-live-preview-heading{border-bottom:1px solid var(--border-default)}.ctw-live-preview>.ctw-preview-panel{flex:1;min-height:0;overflow-y:auto;padding:12px}.ctw-preview-disabled{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:20px;color:var(--text-tertiary);text-align:center}.ctw-preview-disabled strong{color:var(--text-secondary);font-size:12px}.ctw-preview-disabled span{font-size:10.5px}.ctw-preview-variant-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;margin-bottom:13px}.ctw-preview-variant-tabs button{padding:5px 9px;border:1px solid var(--border-default);border-radius:var(--radius-full);color:var(--text-secondary);background:var(--bg-primary);font:inherit;font-size:10.5px;cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.ctw-preview-variant-tabs button:hover:not(.active){border-color:var(--border-hover);color:var(--text-primary)}.ctw-preview-variant-tabs button.active{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--bg-accent-subtle)}.ctw-preview-stage{min-height:100%;display:flex;align-items:center;justify-content:center;padding:10px 0 20px}.ctw-preview-phone{width:min(300px,100%);min-height:400px;display:flex;flex-direction:column;overflow:hidden;border:7px solid #202333;border-radius:28px;background:#f3f5f9;box-shadow:var(--shadow-md);color:#1f2937}.ctw-preview-phone-bar{min-height:54px;display:flex;align-items:center;gap:9px;padding:8px 14px;color:#fff;background:#3484f0;font-size:12px}.ctw-preview-phone.zalo_message .ctw-preview-phone-bar{justify-content:flex-start;background:#0868ff}.ctw-preview-phone.sms .ctw-preview-phone-bar{justify-content:flex-start;color:#111827;background:#fff;border-bottom:1px solid #e5e7eb}.ctw-preview-phone-bar>div{display:flex;flex-direction:column}.ctw-preview-phone-bar strong{font-size:11px}.ctw-preview-phone-bar small{margin-top:1px;color:inherit;font-size:8px;font-weight:500;opacity:.72}.ctw-preview-avatar{width:31px;height:31px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;color:#fff;font-size:9px;font-weight:700}.ctw-preview-avatar.zalo_message{background:#ffffff3d}.ctw-preview-avatar.sms{background:linear-gradient(135deg,#f59e0b,#f97316)}.ctw-preview-chat-date{margin:13px auto 5px;color:#8490a3;font-size:9px}.ctw-preview-message-row{display:flex;justify-content:flex-end;padding:9px 13px}.ctw-preview-message-bubble{max-width:86%;overflow:hidden;padding:9px 11px;border-radius:14px 14px 3px;background:#dcecff;color:#172033;font-size:11px;line-height:1.55;overflow-wrap:anywhere}.ctw-preview-phone.sms .ctw-preview-message-bubble{background:#2f7df6;color:#fff}.ctw-preview-composer{min-height:42px;display:flex;align-items:center;gap:8px;margin-top:auto;padding:7px 11px;border-top:1px solid #d9deea;color:#8490a3;background:#fff;font-size:10px}.ctw-preview-composer span{flex:1;padding:6px 10px;border-radius:15px;background:#f0f2f6}.ctw-preview-images{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;overflow:hidden;margin:-9px -11px 8px}.ctw-preview-images.count-1{grid-template-columns:1fr}.ctw-preview-image{position:relative;min-height:80px;overflow:hidden;background:#eef1f6}.ctw-preview-image img{width:100%;height:100%;min-height:80px;display:block;object-fit:cover}.ctw-preview-image span{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#fff;background:#0f172a94;font-size:18px;font-weight:700}.ctw-preview-rich,.ctw-preview-plain{white-space:pre-wrap;overflow-wrap:anywhere}.ctw-preview-rich>:first-child{margin-top:0}.ctw-preview-rich>:last-child{margin-bottom:0}.ctw-preview-rich p,.ctw-preview-rich ul,.ctw-preview-rich ol{margin:0 0 7px}.ctw-preview-rich ul,.ctw-preview-rich ol{padding-left:20px}.content-template-group-modal{width:min(920px,calc(100vw - 40px));max-height:min(720px,calc(100dvh - 40px));display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-secondary);box-shadow:var(--shadow-lg)}.content-template-group-modal .ctw-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:17px 19px;border-bottom:1px solid var(--border-default);background:var(--bg-secondary)}.content-template-group-modal .ctw-dialog-header h3{margin:0;color:var(--text-primary);font-size:16px}.content-template-group-modal .ctw-dialog-header p{margin:3px 0 0;color:var(--text-secondary);font-size:11.5px}.ctw-group-dialog-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(280px,.8fr) minmax(360px,1.2fr);gap:0;overflow:hidden}.ctw-group-form-card,.ctw-group-list-card{min-height:0;padding:17px;overflow-y:auto}.ctw-group-form-card{border-right:1px solid var(--border-default);background:var(--bg-primary)}.ctw-group-list-card{display:flex;flex-direction:column;background:var(--bg-secondary)}.ctw-form-field{min-width:0}.ctw-form-field+.ctw-form-field{margin-top:13px}.ctw-form-field.compact{max-width:190px}.ctw-form-field label{display:block;margin-bottom:6px;color:var(--text-primary);font-size:12px;font-weight:600}.ctw-form-field label>span{color:var(--accent-error)}.ctw-form-field .stepper-input,.ctw-form-field .stepper-textarea{width:100%}.ctw-group-status-row{margin-top:15px}.ctw-group-form-actions{display:flex;justify-content:flex-end;margin-top:15px;padding-top:15px;border-top:1px solid var(--border-default)}.ctw-group-save{min-width:128px}.ctw-group-list{min-height:0;display:flex;flex-direction:column;gap:8px}.ctw-group-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-tertiary);transition:border-color var(--transition-fast),background var(--transition-fast)}.ctw-group-row:hover{border-color:var(--border-hover);background:var(--bg-hover)}.ctw-group-row.inactive{opacity:.72}.ctw-group-order{width:30px;height:30px;display:grid;place-items:center;border-radius:var(--radius-sm);color:var(--text-secondary);background:var(--bg-secondary);font-size:11px;font-weight:700}.ctw-group-row-main{min-width:0}.ctw-group-row-title{display:flex;align-items:center;gap:7px}.ctw-group-row-title strong{overflow:hidden;color:var(--text-primary);font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}.ctw-group-row-main p{overflow:hidden;margin:2px 0;color:var(--text-secondary);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.ctw-group-row-main>span{color:var(--text-tertiary);font-size:10.5px}.ctw-status-badge.inactive{color:var(--text-tertiary);background:var(--bg-tertiary);border-color:var(--border-default)}.ctw-empty.compact{min-height:180px;border:0;background:transparent}.text-secondary{color:var(--text-secondary)!important}@media(max-width:720px){.content-template-group-modal{width:calc(100vw - 24px)}.ctw-group-dialog-body{grid-template-columns:minmax(0,1fr);overflow-y:auto}.ctw-group-form-card{border-right:0;border-bottom:1px solid var(--border-default)}}@media(max-width:1080px){.ctw-template-grid{grid-template-columns:repeat(2,minmax(230px,1fr))}}@media(max-width:1040px){.ctw-composer-layout{grid-template-columns:200px minmax(0,1fr);overflow-y:auto}.ctw-channel-rail{position:sticky;top:0;height:100%}.ctw-composer-main{overflow:visible}.ctw-live-preview{grid-column:2;min-height:470px;overflow:visible;border-top:1px solid var(--border-default);border-left:0}.ctw-live-preview>.ctw-preview-panel{overflow:visible}.ctw-editor-header.compact-composer{align-items:stretch;flex-wrap:wrap}.ctw-editor-group-field{border-left:0}}@media(max-width:820px){.ctw-page-header,.ctw-editor-header{align-items:stretch;flex-direction:column;padding:16px}.ctw-header-actions{align-self:stretch;justify-content:flex-start;flex-wrap:wrap}.ctw-list-body{padding:14px 16px 20px}.ctw-filter-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 34px}.ctw-search-field{grid-column:1 / -1}.ctw-image-grid{grid-template-columns:repeat(3,minmax(90px,1fr))}}@media(max-width:720px){.ctw-composer-layout{display:flex;flex-direction:column;overflow-y:auto}.ctw-channel-rail{position:static;height:auto;border-right:0;border-bottom:1px solid var(--border-default)}.ctw-channel-rail-list{flex-direction:row;overflow-x:auto}.ctw-channel-rail-item{min-width:180px}.ctw-channel-rail-foot{display:none}.ctw-live-preview{min-height:450px}.ctw-editor-title-field>input,.ctw-editor-group-field .stepper-select{width:100%}.ctw-editor-group-field{width:100%;padding-left:0}.ctw-channel-editor-heading,.ctw-variants-heading{align-items:flex-start;flex-wrap:wrap}}@media(max-width:640px){.template-page-panel{height:calc(100dvh - 96px);border-radius:var(--radius-md)}.ctw-template-grid{grid-template-columns:1fr}.ctw-filter-card{grid-template-columns:minmax(0,1fr) 34px}.ctw-filter-card .stepper-select{grid-column:1 / -1}.ctw-filter-card .ctw-search-field{grid-column:1;grid-row:1}.ctw-filter-card>.btn-icon{grid-column:2;grid-row:1}.ctw-header-actions .btn{flex:1 1 auto}.ctw-image-grid{grid-template-columns:repeat(2,minmax(90px,1fr))}.ctw-modal-overlay{padding:0}.ctw-modal-shell{width:100vw;height:100vh;border:0;border-radius:0}}.data-scan-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3200;display:flex;align-items:center;justify-content:center;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.data-scan-overlay.minimized{pointer-events:none;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.data-scan-overlay .data-scan-page{height:min(960px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);pointer-events:auto}.data-scan-page{width:100%;max-width:1180px;height:min(960px,calc(100dvh - 112px));max-height:calc(100dvh - 112px);display:flex;flex-direction:column;overflow:hidden;color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-primary);box-shadow:0 10px 30px #00000080}.data-scan-page.minimized{position:fixed;right:20px;bottom:20px;z-index:2100;width:min(420px,calc(100vw - 40px));height:auto;min-height:0;max-width:none}.data-scan-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 14px;border:none;border-radius:var(--radius-sm);font-family:inherit;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap}.data-scan-page .btn svg{flex-shrink:0}.data-scan-page .btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.data-scan-page .btn-primary{color:#fff;background:var(--accent-primary)}.data-scan-page .btn-primary:not(:disabled):hover{background:var(--accent-primary-hover)}.data-scan-page .btn-secondary{color:var(--text-primary);border:1px solid var(--border-default);background:var(--bg-tertiary)}.data-scan-page .btn-secondary:not(:disabled):hover{border-color:var(--border-hover);background:var(--bg-hover)}.data-scan-page .btn-ghost{color:var(--text-secondary);background:transparent}.data-scan-page .btn-ghost:not(:disabled):hover{color:var(--text-primary);background:var(--bg-tertiary)}.data-scan-page .btn-danger{color:#fff;background:var(--accent-error)}.data-scan-page .btn-danger:not(:disabled):hover{filter:brightness(1.1)}.data-scan-page .btn-sm{padding:4px 10px;font-size:11px}.data-scan-page button.btn-icon:not(.btn){width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;padding:0;color:var(--text-tertiary);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;cursor:pointer}.data-scan-page button.btn-icon:not(.btn):hover{color:var(--text-primary);border-color:var(--border-default);background:var(--bg-hover)}.data-scan-page button.btn-icon:not(.btn):disabled{opacity:.45;cursor:not-allowed}.data-scan-page .text-error{color:var(--accent-error)!important}.data-scan-page .text-center{text-align:center}.data-scan-page .text-muted{color:var(--text-tertiary)}.data-scan-page .modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border-default)}.data-scan-page .modal-title{font-size:16px;font-weight:600}.data-scan-page .modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--border-default)}.data-scan-page .data-scan-header{flex-shrink:0;align-items:center}.data-scan-page .data-scan-header-actions{display:flex;align-items:center;gap:8px}.data-scan-page .data-scan-subtitle{margin-top:4px;color:var(--text-tertiary);font-size:12px}.data-scan-page .stepper-form-group{min-width:0;margin-bottom:0}.data-scan-page .stepper-form-group label{display:block;margin-bottom:6px;color:var(--text-secondary);font-size:12px;font-weight:500}.data-scan-page .stepper-input{width:100%;padding:9px 12px;color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);outline:none;background:var(--bg-tertiary);font-family:inherit;font-size:13px;transition:border-color .15s ease,box-shadow .15s ease}.data-scan-page .stepper-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #7c5cfc1a}.data-scan-page .stepper-input::placeholder{color:var(--text-tertiary)}.data-scan-page .stepper-input:disabled{color:var(--text-tertiary);opacity:.65}.data-scan-page .schedule-checkbox-label{display:flex!important;align-items:center;gap:6px;margin-bottom:0!important;color:var(--text-primary);font-size:13px;cursor:pointer}.data-scan-page .schedule-checkbox-label input[type=checkbox]{width:15px;height:15px;min-width:0;margin:0;accent-color:var(--accent-primary);cursor:pointer}.data-scan-page .data-scan-body{display:flex;flex:1;min-height:0;flex-direction:column;gap:12px;overflow-x:hidden;overflow-y:auto;padding:16px}.data-scan-page .data-scan-load-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,232px);column-gap:20px;row-gap:12px;align-items:end;padding-bottom:12px;border-bottom:1px solid var(--border-default)}.data-scan-page .data-scan-load-fields{min-width:0;display:flex;flex-direction:column;gap:12px}.data-scan-page .data-scan-load-actions{min-width:0;display:flex;align-items:flex-end;justify-content:flex-end;padding-bottom:0}.data-scan-page .data-scan-controls{display:grid;grid-template-columns:minmax(220px,1.15fr) minmax(180px,1fr) minmax(140px,.7fr);gap:12px;align-items:end}.data-scan-page .data-scan-zalo-group-member-controls{display:grid;grid-template-columns:minmax(140px,180px) minmax(0,1fr);gap:12px;align-items:end}.data-scan-page .data-scan-zalo-member-mode,.data-scan-page .data-scan-zalo-member-group,.data-scan-page .data-scan-zalo-member-linked-group,.data-scan-page .data-scan-zalo-member-link{min-width:0}.data-scan-page .data-scan-zalo-member-link-row{min-width:0;display:grid;grid-template-columns:minmax(220px,.75fr) minmax(360px,1.25fr);gap:12px;align-items:end}.data-scan-page .data-scan-zalo-link-input-wrap{width:100%;height:40px;display:flex;align-items:center;gap:10px;padding:4px 6px 4px 12px;color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-tertiary);transition:border-color .15s ease,box-shadow .15s ease}.data-scan-page .data-scan-zalo-link-input-wrap:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 3px #7c5cfc1a}.data-scan-page .data-scan-zalo-link-input-wrap.is-disabled{opacity:.55}.data-scan-page .data-scan-zalo-link-icon{flex:0 0 auto;color:var(--text-tertiary)}.data-scan-page .data-scan-zalo-link-input{min-width:0;flex:1 1 auto;color:var(--text-primary);border:0;outline:none;background:transparent;font-family:inherit;font-size:13px}.data-scan-page .data-scan-zalo-link-input::placeholder{color:var(--text-tertiary)}.data-scan-page .data-scan-zalo-qr-button{height:30px;display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:6px;padding:0 10px;color:var(--accent-primary-hover);border:1px solid rgba(124,92,252,.45);border-radius:var(--radius-sm);background:#7c5cfc1f;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}.data-scan-page .data-scan-zalo-qr-button:not(:disabled):hover{color:var(--text-primary);border-color:var(--accent-primary);background:#7c5cfc33}.data-scan-page .data-scan-zalo-qr-button:disabled{opacity:.6;cursor:not-allowed}.data-scan-page .data-scan-hidden-file-input{display:none}.data-scan-page .data-scan-load-button{width:100%;min-width:132px;height:38px;justify-content:center;white-space:nowrap}.data-scan-page .data-scan-filter-section{display:flex;flex-direction:column;gap:10px;padding-top:4px}.data-scan-page .data-scan-filter-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,232px);column-gap:20px;row-gap:12px;align-items:start}.data-scan-page .data-scan-filter-header.has-zalo-tags{grid-template-columns:minmax(0,1fr) repeat(2,minmax(170px,220px));column-gap:12px}.data-scan-page .data-scan-filter-header.has-zalo-tags.has-status-filter{grid-template-columns:minmax(0,1fr) repeat(2,minmax(150px,220px)) minmax(130px,180px)}.data-scan-page .data-scan-search-group{min-width:0}.data-scan-page .data-scan-search-group>label:first-child{visibility:hidden}.data-scan-page .data-scan-search-group .data-scan-search{display:flex;align-items:center;gap:8px;max-width:none;min-width:0;margin-bottom:0;color:var(--text-tertiary);font-weight:400}.data-scan-page .data-scan-search{width:100%;height:38px;display:flex;align-items:center;gap:8px;padding:0 10px;color:var(--text-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-secondary)}.data-scan-page .data-scan-search input{width:100%;color:var(--text-primary);border:0;outline:0;background:transparent;font-size:13px;line-height:18px}.data-scan-page .data-scan-filter-status{min-width:0}.data-scan-page .data-scan-tag-filter-dropdown,.data-scan-page .data-scan-zalo-remarketing-action-dropdown{position:relative;width:100%;min-width:0}.data-scan-page .data-scan-tag-filter-trigger,.data-scan-page .data-scan-zalo-remarketing-action-trigger{width:100%;height:38px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 12px;color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-tertiary);font-family:inherit;font-size:13px;text-align:left;cursor:pointer}.data-scan-page .data-scan-tag-filter-trigger:hover:not(:disabled),.data-scan-page .data-scan-zalo-remarketing-action-trigger:hover:not(:disabled){background:var(--bg-hover)}.data-scan-page .data-scan-tag-filter-trigger.is-open,.data-scan-page .data-scan-zalo-remarketing-action-trigger.is-open{border-color:var(--accent-primary);box-shadow:0 0 0 3px #7c5cfc1a}.data-scan-page .data-scan-tag-filter-trigger span,.data-scan-page .data-scan-zalo-remarketing-action-trigger span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-scan-page .data-scan-tag-filter-trigger svg,.data-scan-page .data-scan-zalo-remarketing-action-trigger svg{flex:0 0 auto;color:var(--text-secondary);transition:transform .15s ease}.data-scan-page .data-scan-tag-filter-trigger.is-open svg,.data-scan-page .data-scan-zalo-remarketing-action-trigger.is-open svg{transform:rotate(180deg)}.data-scan-page .data-scan-tag-filter-menu,.data-scan-page .data-scan-zalo-remarketing-action-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:60;width:max(100%,260px);max-height:min(260px,42vh);overflow-y:auto;padding:6px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-primary);box-shadow:var(--shadow-lg)}.data-scan-page .data-scan-zalo-remarketing-action-menu{width:max(100%,320px)}.data-scan-page .data-scan-tag-filter-option,.data-scan-page .data-scan-zalo-remarketing-action-option{width:100%;display:flex;align-items:center;gap:8px;padding:7px 8px;color:var(--text-secondary);border:0;border-radius:5px;background:transparent;font-family:inherit;font-size:13px;text-align:left;cursor:pointer}.data-scan-page .data-scan-tag-filter-option:hover,.data-scan-page .data-scan-zalo-remarketing-action-option:hover{color:var(--text-primary);background:var(--bg-hover)}.data-scan-page .data-scan-tag-filter-option.selected,.data-scan-page .data-scan-zalo-remarketing-action-option.selected{color:var(--accent-primary)}.data-scan-page .data-scan-tag-filter-check,.data-scan-page .data-scan-zalo-remarketing-action-check{width:18px;height:18px;display:flex;flex-shrink:0;align-items:center;justify-content:center;color:#fff;border:1px solid var(--border-default);border-radius:5px;background:var(--bg-secondary)}.data-scan-page .data-scan-tag-filter-option.selected .data-scan-tag-filter-check,.data-scan-page .data-scan-zalo-remarketing-action-option.selected .data-scan-zalo-remarketing-action-check{border-color:var(--accent-primary);background:var(--accent-primary)}.data-scan-page .data-scan-tag-filter-divider,.data-scan-page .data-scan-zalo-remarketing-action-divider{height:1px;margin:5px 2px;background:var(--border-default)}.data-scan-page .data-scan-tag-filter-label,.data-scan-page .data-scan-zalo-remarketing-action-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-scan-page .data-scan-zalo-remarketing-controls{display:grid;grid-template-columns:minmax(260px,420px) minmax(160px,240px) minmax(160px,240px);gap:12px;align-items:end}.data-scan-page .data-scan-options{min-height:22px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;color:var(--text-secondary);font-size:12px}.data-scan-page .data-scan-pagination{display:flex;align-items:center;justify-content:flex-end;gap:8px;color:var(--text-secondary);font-size:12px}.data-scan-page .data-scan-pagination-summary{margin-right:auto}.data-scan-page .data-scan-progress{position:relative;min-height:112px;max-height:180px;overflow-y:auto;padding:8px 38px 8px 10px;color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-secondary);font-size:11px;line-height:1.5}.data-scan-page .data-scan-progress.is-collapsed{min-height:36px;max-height:36px;display:flex;align-items:center;overflow:hidden}.data-scan-page .data-scan-progress-messages{min-width:0}.data-scan-page .data-scan-progress.is-collapsed .data-scan-progress-messages{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-scan-page .data-scan-progress-toggle{position:absolute;top:7px;right:8px;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);border:1px solid var(--border-default);border-radius:4px;background:var(--bg-tertiary);cursor:pointer}.data-scan-page .data-scan-progress-toggle:hover{color:var(--text-primary);border-color:var(--border-hover);background:var(--bg-hover)}.data-scan-page .data-scan-minimized-body{display:flex;flex-direction:column;gap:8px;padding:14px 16px 16px;border-top:1px solid var(--border-default)}.data-scan-page .data-scan-minimized-title{display:flex;align-items:center;gap:8px;color:var(--text-primary);font-size:13px;font-weight:600}.data-scan-page .data-scan-minimized-message{color:var(--text-secondary);font-size:12px;line-height:1.45}.data-scan-page .data-scan-minimized-actions{display:flex;justify-content:flex-end}@keyframes data-scan-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.data-scan-page .spin{animation:data-scan-spin .8s linear infinite}.data-scan-page .animate-spin{animation:data-scan-spin 1s linear infinite}.data-scan-page .data-scan-loading-cell{display:inline-flex;align-items:center;justify-content:center;gap:8px;color:var(--text-secondary)}.data-scan-page .stepper-grid-container{max-height:350px;overflow:auto;border:1px solid var(--border-default);border-radius:var(--radius-sm)}.data-scan-page .data-scan-table-wrap{min-height:180px;max-height:none;flex:1 1 240px;overflow:auto}.data-scan-page .campaign-grid{width:100%;border-collapse:collapse;font-size:11px}.data-scan-page .campaign-grid th{position:sticky;top:0;z-index:1;padding:8px;color:var(--text-tertiary);border-bottom:1px solid var(--border-default);background:var(--bg-elevated);font-weight:600;text-align:left;white-space:nowrap}.data-scan-page .campaign-grid td{height:34px;padding:4px 8px;vertical-align:middle;border-bottom:1px solid var(--border-default)}.data-scan-page .data-scan-table tbody tr{cursor:pointer}.data-scan-page .data-scan-table tbody tr:hover{background:var(--bg-hover)}.data-scan-page .data-scan-selected-row{background:#7c5cfc1f}.data-scan-page .data-scan-table input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-primary)}.data-scan-page .data-scan-table .data-scan-avatar-col{width:112px;min-width:112px;text-align:center;white-space:nowrap}.data-scan-page .data-scan-text-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-scan-page .data-scan-avatar{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;color:var(--text-secondary);border:1px solid var(--border-default);border-radius:50%;background:var(--bg-tertiary);font-size:12px;font-weight:700;line-height:1}.data-scan-page .data-scan-avatar img{width:100%;height:100%;display:block;object-fit:cover}.data-scan-page .data-scan-name-cell,.data-scan-page .data-scan-uid-cell{max-width:220px}.data-scan-page .data-scan-phone-cell{max-width:120px}.data-scan-page .data-scan-link-cell{max-width:360px}.data-scan-page .data-scan-tag-cell{min-width:150px;max-width:220px}.data-scan-page .data-scan-tag-list{max-width:100%;display:inline-flex;align-items:center;gap:4px;overflow:hidden;vertical-align:middle}.data-scan-page .data-scan-tag-chip{min-width:0;max-width:118px;height:22px;display:inline-flex;align-items:center;overflow:hidden;padding:0 7px;color:var(--text-primary);border:1px solid rgba(124,92,252,.32);border-radius:var(--radius-sm);background:#7c5cfc1f;font-size:11px;font-weight:600;line-height:1;text-overflow:ellipsis;white-space:nowrap}.data-scan-page .data-scan-tag-chip.is-zalo{border-color:#06b6d452;background:#06b6d41f}.data-scan-page .data-scan-tag-chip.is-more{max-width:none;color:var(--text-secondary);border-color:var(--border-default);background:var(--bg-tertiary)}.data-scan-page .data-scan-tag-empty{color:var(--text-tertiary);font-size:12px}.data-scan-page .data-scan-number-cell{min-width:104px;font-variant-numeric:tabular-nums;text-align:center}.data-scan-page .data-scan-status-badge{min-height:22px;display:inline-flex;align-items:center;color:var(--text-secondary);font-size:11px;font-weight:600;white-space:nowrap}.data-scan-page .data-scan-status-badge.is-active{color:var(--accent-success)}.data-scan-page .data-scan-status-badge.is-muted{color:var(--text-tertiary)}.data-scan-page .data-scan-below-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.data-scan-page .data-scan-range{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--text-secondary);font-size:12px}.data-scan-page .data-scan-range .stepper-input{width:80px}.data-scan-page .data-scan-group-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.data-scan-page .data-scan-group-action-button{height:38px;justify-content:center;white-space:nowrap}.data-scan-page .data-scan-footer{flex-shrink:0;justify-content:space-between}.data-scan-page .data-scan-footer-right{display:flex;align-items:center;gap:8px}.data-scan-page .data-scan-group-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3450;display:flex;align-items:center;justify-content:center;padding:20px;background:#00000080}.data-scan-page .data-scan-group-modal,.data-scan-page .data-scan-groups-management-modal{width:min(520px,100%);max-height:min(620px,calc(100vh - 40px));display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-primary);box-shadow:var(--shadow-lg)}.data-scan-page .data-scan-groups-management-modal{width:min(980px,100%);max-height:min(760px,calc(100vh - 40px))}.data-scan-page .data-scan-group-modal-header,.data-scan-page .data-scan-group-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border-default)}.data-scan-page .data-scan-group-modal-footer{justify-content:flex-end;border-top:1px solid var(--border-default);border-bottom:0}.data-scan-page .data-scan-group-modal-title{color:var(--text-primary);font-size:14px;font-weight:600}.data-scan-page .data-scan-group-modal-subtitle,.data-scan-page .data-scan-group-modal-label,.data-scan-page .data-scan-group-count{color:var(--text-tertiary);font-size:11px}.data-scan-page .data-scan-group-modal-body{min-height:0;display:flex;flex:1;flex-direction:column;gap:10px;padding:14px 16px}.data-scan-page .data-scan-group-modal-list{min-height:120px;max-height:260px;overflow-y:auto;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-secondary)}.data-scan-page .data-scan-group-modal-option{min-height:40px;display:flex;align-items:center;gap:10px;padding:8px 10px;border-bottom:1px solid var(--border-default);cursor:pointer}.data-scan-page .data-scan-group-modal-option:hover{background:var(--bg-hover)}.data-scan-page .data-scan-group-modal-option.is-disabled{opacity:.58;cursor:not-allowed}.data-scan-page .data-scan-group-modal-option.is-disabled:hover{background:transparent}.data-scan-page .data-scan-group-modal-option input[type=checkbox]{width:15px;height:15px;flex-shrink:0}.data-scan-page .data-scan-group-modal-option-main{min-width:0;display:flex;flex:1;align-items:center;gap:8px}.data-scan-page .data-scan-group-modal-option-name{min-width:0;overflow:hidden;color:var(--text-primary);font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.data-scan-page .data-scan-contact-type-badge{flex-shrink:0;padding:2px 6px;color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-primary);font-size:10px;font-weight:600;white-space:nowrap}.data-scan-page .data-scan-group-empty{padding:18px 10px;color:var(--text-tertiary);font-size:12px;text-align:center}.data-scan-page .data-scan-new-group-toggle{align-self:flex-start}.data-scan-page .data-scan-new-group-row{display:flex;align-items:center;gap:8px}.data-scan-page .data-scan-new-group-row .stepper-input{min-width:0;flex:1}.data-scan-page .data-group-manager-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,.7fr) minmax(220px,1fr) auto;align-items:end;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border-default);background:var(--bg-primary)}.data-scan-page .data-group-manager-field{min-width:0}.data-scan-page .data-group-manager-field label{display:block;margin-bottom:6px;color:var(--text-secondary);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.data-scan-page .data-group-manager-search{min-width:0;height:36px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-tertiary)}.data-scan-page .data-group-manager-search svg{flex-shrink:0;color:var(--text-tertiary)}.data-scan-page .data-group-manager-search input{width:100%;min-width:0;color:var(--text-primary);border:0;outline:0;background:transparent;font-family:inherit;font-size:12px}.data-scan-page .data-scan-groups-management-body{min-height:0;flex:1;overflow:hidden;padding:14px 16px 16px}.data-scan-page .data-scan-groups-panel{min-height:0;display:flex;flex-direction:column;gap:10px}.data-scan-page .data-scan-group-grid{min-height:360px;display:grid;grid-template-columns:minmax(220px,.7fr) minmax(360px,1.3fr);gap:12px}.data-scan-page .data-scan-group-list,.data-scan-page .data-scan-group-contact-list{min-height:0;overflow:hidden;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-secondary)}.data-scan-page .data-scan-group-list{overflow-y:auto}.data-scan-page .data-scan-group-list-title{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;color:var(--text-secondary);border-bottom:1px solid var(--border-default);font-size:12px;font-weight:600}.data-scan-page .data-scan-group-row{min-height:42px;display:flex;align-items:center;gap:8px;padding:7px 8px;border-bottom:1px solid var(--border-default);cursor:pointer}.data-scan-page .data-scan-group-row:hover,.data-scan-page .data-scan-group-row.is-active{background:var(--bg-hover)}.data-scan-page .data-scan-group-row-main{min-width:0;flex:1}.data-scan-page .data-scan-group-name{overflow:hidden;color:var(--text-primary);font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.data-scan-page .data-scan-group-rename-input{width:100%;height:30px}.data-scan-page .data-scan-group-table-wrap{max-height:430px;border:0;border-radius:0}@media(max-width:900px){.data-scan-page{height:calc(100dvh - 98px);max-height:calc(100dvh - 98px)}.data-scan-page .data-scan-load-section{align-items:stretch;grid-template-columns:1fr}.data-scan-page .data-scan-load-actions{align-items:stretch;justify-content:stretch}.data-scan-page .data-scan-controls,.data-scan-page .data-scan-zalo-group-member-controls,.data-scan-page .data-scan-zalo-member-link-row,.data-scan-page .data-scan-zalo-remarketing-controls,.data-scan-page .data-scan-filter-header,.data-scan-page .data-scan-filter-header.has-zalo-tags,.data-scan-page .data-scan-filter-header.has-zalo-tags.has-status-filter,.data-scan-page .data-group-manager-toolbar{grid-template-columns:1fr}.data-scan-page .data-scan-search-group>label:first-child{display:none}.data-scan-page .data-scan-tag-filter-menu,.data-scan-page .data-scan-zalo-remarketing-action-menu{width:100%}.data-scan-page .data-scan-group-grid{min-height:0;grid-template-columns:1fr}.data-scan-page .data-scan-groups-management-body{overflow-y:auto}.data-scan-page .data-scan-group-action-button,.data-scan-page .data-scan-load-button{min-width:140px;flex:1}.data-scan-page .data-scan-below-actions,.data-scan-page .data-scan-group-actions,.data-scan-page .data-scan-new-group-row{align-items:stretch;flex-direction:column}}@media(max-width:719px){.data-scan-page{width:calc(100vw - 24px);height:calc(100dvh - 138px);max-height:calc(100dvh - 138px);border-radius:var(--radius-sm)}.data-scan-page.minimized{right:12px;bottom:calc(70px + env(safe-area-inset-bottom));width:calc(100vw - 24px);height:auto}.data-scan-page .modal-header{padding:12px 14px}.data-scan-page .modal-title{font-size:14px}.data-scan-page .data-scan-body{padding:12px}.data-scan-page .modal-footer{padding:10px 12px}.data-scan-page .data-scan-group-modal-backdrop{align-items:flex-end;padding:0}.data-scan-page .data-scan-group-modal,.data-scan-page .data-scan-groups-management-modal{width:100%;max-height:92dvh;border-right:0;border-bottom:0;border-left:0;border-radius:16px 16px 0 0}}.data-groups-page{display:flex;flex-direction:column;gap:16px;height:100%;min-height:0}.data-groups-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.data-groups-header h1{margin:0 0 4px;font-size:20px}.data-groups-header p{margin:0;font-size:13px}.data-groups-split{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:16px;align-items:stretch;flex:1 1 auto;min-height:0}.data-groups-rail{display:flex;flex-direction:column;gap:10px;padding:12px;min-height:0;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:12px}.data-groups-rail-head{display:flex;flex-direction:column;gap:8px}.data-groups-rail-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.data-groups-rail-title>span:first-child{font-size:13px;font-weight:700;color:var(--text-primary)}.data-groups-count-pill{flex:0 0 auto;padding:2px 9px;font-size:11px;font-weight:600;border-radius:999px;color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border-default)}.data-groups-add-group{width:100%;justify-content:center}.data-groups-search{position:relative;display:flex;align-items:center;flex:1 1 auto;min-width:0}.data-groups-search svg{position:absolute;left:9px;color:var(--text-tertiary);pointer-events:none}.data-groups-search input{width:100%;padding-left:30px}.data-groups-create{display:grid;gap:8px;padding:10px;border:1px dashed var(--border-default);border-radius:10px}.data-groups-create-actions{display:flex;gap:8px}.data-groups-color-row{display:flex;gap:6px;flex-wrap:wrap}.data-groups-color-dot{width:16px;height:16px;padding:0;border-radius:50%;border:2px solid transparent;cursor:pointer}.data-groups-color-dot.is-active{border-color:var(--text-primary)}.data-groups-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;flex:1 1 auto;min-height:0;overflow-y:auto}.data-groups-item{border-radius:10px;border:1px solid transparent}.data-groups-item:hover{background:var(--bg-hover)}.data-groups-item.is-active{border-color:var(--accent-primary);background:var(--bg-tertiary)}.data-groups-item.is-dragging{opacity:.5}.data-groups-item-row{display:flex;align-items:center;gap:6px;padding:6px 8px}.data-groups-drag-handle{flex:0 0 auto;display:inline-flex;color:var(--text-tertiary);cursor:grab}.data-groups-color-input{position:relative;flex:0 0 auto;display:inline-flex;cursor:pointer}.data-groups-color-input input[type=color]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;min-height:0;margin:0;padding:0;border:none;opacity:0;cursor:pointer}.data-groups-dot{flex:0 0 auto;width:12px;height:12px;border-radius:50%}.data-groups-dot-lg{width:14px;height:14px}.data-groups-item-main{display:flex;flex-direction:column;align-items:flex-start;gap:1px;flex:1 1 auto;min-width:0;padding:0;background:none;border:none;text-align:left;cursor:pointer;color:inherit}.data-groups-item-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500}.data-groups-item-meta{font-size:12px;color:var(--text-tertiary)}.data-groups-rename-input{flex:1 1 auto;min-width:0}.data-groups-item-actions{display:flex;gap:1px;flex:0 0 auto;opacity:0;transition:opacity var(--transition-fast, .15s)}.data-groups-item:hover .data-groups-item-actions,.data-groups-item.is-active .data-groups-item-actions,.data-groups-item-actions:focus-within{opacity:1}.data-groups-empty{padding:16px;text-align:center;font-size:13px}.data-groups-panel{display:flex;flex-direction:column;gap:12px;min-width:0;min-height:0;padding:14px;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:12px}.data-groups-panel-head{display:flex;align-items:center;gap:10px}.data-groups-panel-head-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.data-groups-panel-head h2{margin:0;font-size:17px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-groups-panel-head span.text-muted{font-size:12px}.data-groups-context-filters{display:grid;grid-template-columns:1fr 1fr;gap:10px}.data-groups-filter-field{display:flex;flex-direction:column;gap:4px;min-width:0}.data-groups-filter-field>span{font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--text-secondary)}.data-groups-filter-field select,.data-groups-inline-filter select{min-width:0}.data-groups-filter-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.data-groups-filter-bar .data-groups-search{flex:1 1 220px}.data-groups-inline-filter{display:flex;align-items:center;gap:6px;flex:0 0 auto}.data-groups-inline-filter>span{font-size:12px;color:var(--text-secondary);white-space:nowrap}.data-groups-inline-filter select{width:auto;min-width:150px}.data-groups-table input[type=checkbox]{width:14px;min-width:14px;height:14px;min-height:0;padding:0}.data-groups-bulk-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:8px 12px;border-radius:10px;background:var(--bg-accent-subtle);font-size:13px}.data-groups-bulk-actions{display:flex;gap:6px;flex-wrap:wrap}.data-groups-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.data-groups-toolbar-hint{font-size:13px;color:var(--text-tertiary)}.data-groups-toolbar-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.data-groups-add-menu-wrap{position:relative}.data-groups-add-button{display:inline-flex;align-items:center;gap:6px}.data-groups-add-divider{width:1px;align-self:stretch;margin:2px;background:color-mix(in srgb,currentColor 45%,transparent)}.data-groups-add-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:60;min-width:268px;padding:6px;display:flex;flex-direction:column;gap:2px;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.data-groups-add-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:8px;text-align:left;background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-primary)}.data-groups-add-menu button:hover{background:var(--bg-hover)}.data-groups-add-menu-icon{flex:0 0 auto;display:inline-grid;place-items:center;width:34px;height:34px;border-radius:var(--radius-sm);color:var(--accent-primary);background:var(--bg-accent-subtle)}.data-groups-add-menu-icon.is-scan{color:var(--accent-secondary, var(--accent-primary))}.data-groups-add-menu-copy{display:flex;flex-direction:column;gap:1px;min-width:0}.data-groups-add-menu-copy strong{font-size:13px;font-weight:600}.data-groups-add-menu-copy small{font-size:11px;color:var(--text-tertiary)}.data-groups-table-wrap{flex:1 1 auto;min-height:0;overflow:auto;border:1px solid var(--border-default);border-radius:10px}.data-groups-table{width:100%;border-collapse:collapse;font-size:13px}.data-groups-table th,.data-groups-table td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--border-default);white-space:nowrap}.data-groups-table th{font-weight:600;color:var(--text-tertiary);background:var(--bg-tertiary)}.data-groups-table thead th{position:sticky;top:0;z-index:1}.data-groups-table tbody tr:last-child td{border-bottom:none}.data-groups-table tbody tr.is-selected{background:var(--bg-accent-subtle)}.data-groups-table td[title]{max-width:240px;overflow:hidden;text-overflow:ellipsis}.data-groups-type-badge{display:inline-block;padding:2px 8px;font-size:11px;font-weight:600;border-radius:999px;color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border-default)}.data-groups-provenance-link{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0;background:none;border:none;text-align:left;cursor:pointer;color:var(--accent-primary);font:inherit}.data-groups-pagination{display:flex;align-items:center;justify-content:center;gap:12px;font-size:13px}.data-groups-move-modal{width:min(420px,92vw)}.data-groups-move-modal .modal-body{display:grid;gap:8px}.data-groups-provenance-modal{width:min(520px,92vw)}.data-groups-provenance-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.data-groups-provenance-item{padding:10px;border:1px solid var(--border-default);border-radius:10px}.data-groups-provenance-kind{font-weight:600;font-size:13px}.data-groups-provenance-badge{padding:1px 8px;font-size:11px;border-radius:999px;color:var(--accent-primary);background:var(--bg-tertiary);border:1px solid var(--accent-primary)}.data-groups-provenance-name{margin-top:4px;font-size:13px;color:var(--text-primary)}.data-groups-provenance-meta{margin-top:4px;display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;color:var(--text-tertiary)}@media(max-width:900px){.data-groups-page{height:auto}.data-groups-split{grid-template-columns:minmax(0,1fr);flex:0 1 auto}.data-groups-list{flex:0 1 auto;overflow-y:visible}.data-groups-table-wrap{max-height:70vh}.data-groups-context-filters{grid-template-columns:minmax(0,1fr)}.data-groups-inline-filter{flex:1 1 auto}.data-groups-inline-filter select{flex:1 1 auto;width:100%}}.app-web-content.content:has(.report-page){display:flex;padding:0;overflow:hidden}.report-page{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;background:var(--bg-primary);padding:12px;gap:12px}.report-filter-panel,.report-main-panel{display:flex;flex-direction:column;min-height:0;border:1px solid var(--border-default);border-radius:var(--card-radius, var(--radius-md));background:var(--bg-secondary);box-shadow:var(--card-shadow, var(--shadow-sm))}.report-filter-panel{width:auto;min-width:0;overflow:visible;flex-shrink:0}.report-main-panel{flex:1;min-width:0;overflow:hidden}.report-panel-header,.report-main-header{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:8px 14px;border-bottom:1px solid var(--border-default);background:var(--bg-secondary);flex-shrink:0}.report-panel-title{display:flex;align-items:center;gap:8px;color:var(--text-primary);font-size:13px;font-weight:700}.report-panel-actions{display:flex;align-items:center;gap:8px}.report-load-button{min-width:128px;height:38px;padding:0 16px;font-size:13px;font-weight:700}.report-filter-content{display:grid;grid-template-columns:minmax(170px,.8fr) minmax(240px,1fr) minmax(220px,.9fr) minmax(260px,1.1fr);align-items:start;flex:1;min-height:0;overflow:visible;padding:12px 16px 14px;gap:12px}.report-dropdown-field{position:relative;display:flex;flex-direction:column;gap:8px;min-width:0}.report-dropdown-field>span,.report-date-grid label span{color:var(--text-secondary);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.report-date-grid input{width:100%;height:32px;padding:0 10px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-primary);font-family:var(--font-family);font-size:12px;outline:none}.report-filter-button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;height:38px;padding:0 12px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-primary);font-family:var(--font-family);font-size:12px;cursor:pointer;outline:none;transition:border-color var(--transition-fast),background var(--transition-fast)}.report-filter-button:hover,.report-filter-button.active{border-color:var(--accent-primary);background:var(--bg-hover)}.report-filter-button:disabled{cursor:not-allowed;opacity:.65}.report-filter-button strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.report-filter-button svg{flex-shrink:0;color:var(--text-tertiary)}.report-filter-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:80;width:100%;min-width:260px;max-height:min(360px,calc(100vh - 240px));padding:8px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-secondary);box-shadow:var(--shadow-lg),0 0 0 1px #00000014;animation:contextMenuIn .12s ease-out}.report-filter-popover.compact{min-width:180px}.report-filter-popover.wide{min-width:380px}.report-filter-popover.align-right{right:0;left:auto}.report-popover-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 2px 8px;color:var(--text-secondary);font-size:11px}.report-option-button{width:100%;min-height:30px;padding:6px 8px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font-family:var(--font-family);font-size:12px;text-align:left;cursor:pointer}.report-option-button:hover,.report-option-button.selected{background:var(--bg-hover);color:var(--accent-primary)}.report-date-grid input:focus{border-color:var(--accent-primary)}.report-account-tree,.report-action-list{display:flex;flex-direction:column;gap:4px;max-height:260px;overflow-y:auto;padding:6px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-primary)}.report-account-group{display:flex;flex-direction:column;gap:4px}.report-account-group-items{display:flex;flex-direction:column;gap:2px;padding-left:18px}.report-check-row{display:flex;align-items:center;gap:8px;min-height:24px;padding:2px 6px;border-radius:var(--radius-sm);color:var(--text-primary);font-size:12px;cursor:pointer}.report-check-row:hover{background:var(--bg-hover)}.report-check-row input{flex-shrink:0}.report-check-row span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-check-row em{color:var(--text-tertiary);font-size:11px;font-style:normal}.report-check-row-group{font-weight:700}.report-date-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.report-filter-popover .report-date-grid{margin-top:14px;padding-top:12px;border-top:1px solid var(--border-default)}.report-date-grid label{display:flex;flex-direction:column;gap:6px}.report-muted{padding:8px;color:var(--text-tertiary);font-size:12px;text-align:center}.report-main-title{color:var(--text-primary);font-size:13px;font-weight:700}.report-main-meta{margin-top:3px;color:var(--text-tertiary);font-size:11px}.report-main-actions{display:flex;align-items:center;gap:8px}.report-table-wrap{position:relative;flex:1;min-height:0;overflow:auto;background:var(--bg-secondary)}.report-page .report-grid{display:table;width:100%;min-width:920px;border-collapse:collapse;font-size:12px}.report-grid th,.report-grid td{border-right:1px solid var(--border-default);border-bottom:1px solid var(--border-default)}.report-grid th{position:sticky;top:0;z-index:3;padding:9px 10px;background:var(--bg-elevated);color:var(--text-secondary);font-weight:700;text-align:center}.report-grid thead tr:nth-child(2) th{top:37px;background:var(--bg-tertiary)}.report-grid td{height:42px;padding:7px 10px;background:var(--bg-secondary)}.report-grid tbody tr:hover td{background:var(--bg-hover)}.report-account-col{position:sticky;left:0;z-index:2;min-width:260px;max-width:320px;text-align:left;background:var(--bg-secondary)}th.report-account-col{z-index:4;background:var(--bg-elevated)}td.report-account-col{display:table-cell}td.report-account-col strong,td.report-account-col span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}td.report-account-col strong{color:var(--text-primary);font-weight:700}td.report-account-col span{margin-top:2px;color:var(--text-tertiary);font-size:11px}.report-action-col{min-width:210px}.report-status-col{min-width:92px;font-size:11px}.report-status-col.success,.report-count.success{color:var(--accent-success)}.report-status-col.skipped,.report-count.skipped{color:var(--accent-warning)}.report-status-col.failure,.report-count.failure{color:#ef4444}.report-status-col.pending,.report-count.pending{color:var(--accent-info)}.report-count{display:block;width:100%;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}.report-count-button{height:28px;padding:0 10px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;font-family:var(--font-family);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.report-count-button:hover{background:var(--bg-hover);border-color:var(--border-default);transform:translateY(-1px)}.report-count-button.pending:hover{border-color:var(--accent-info)}.report-count-button.success:hover{border-color:var(--accent-success)}.report-count-button.skipped:hover{border-color:var(--accent-warning)}.report-count-button.failure:hover{border-color:#ef4444}.report-empty-state,.report-table-note{display:flex;align-items:center;justify-content:center;min-height:160px;padding:20px;color:var(--text-tertiary);font-size:12px;text-align:center}.report-table-note{position:sticky;left:0;min-height:42px;justify-content:flex-start;padding:10px 14px;border-top:1px solid var(--border-default);background:var(--bg-secondary)}.report-detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1600;display:flex;align-items:center;justify-content:center;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.report-detail-modal.modal{width:min(1320px,calc(100vw - 48px));height:min(780px,calc(100vh - 48px));max-height:none;display:flex;flex-direction:column;overflow:hidden;color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-secondary);box-shadow:var(--shadow-lg)}.report-detail-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border-default)}.report-detail-modal .modal-title{font-size:16px;font-weight:600}.report-detail-header{gap:16px}.report-detail-subtitle{margin-top:4px;color:var(--text-tertiary);font-size:11px;font-weight:500}.report-detail-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.report-detail-modal .modal-body{flex:1;min-height:0;padding:0;overflow:hidden}.report-detail-table-wrap{width:100%;height:100%;overflow:auto;background:var(--bg-secondary)}.report-detail-grid{width:100%;min-width:1320px;border-collapse:collapse;font-size:12px}.report-detail-grid th,.report-detail-grid td{border-right:1px solid var(--border-default);border-bottom:1px solid var(--border-default)}.report-detail-grid th{position:sticky;top:0;z-index:2;height:38px;padding:8px 10px;background:var(--bg-elevated);color:var(--text-secondary);font-weight:700;text-align:left;white-space:nowrap}.report-detail-grid td{max-width:260px;height:38px;padding:7px 10px;color:var(--text-primary);background:var(--bg-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-detail-grid tbody tr:hover td{background:var(--bg-hover)}.report-detail-grid a{display:inline-flex;align-items:center;gap:5px;color:var(--accent-info);text-decoration:none;font-weight:700}.report-detail-grid a:hover{text-decoration:underline}.report-detail-empty{height:220px!important;max-width:none!important;color:var(--text-tertiary)!important;text-align:center}.report-detail-status{font-weight:700}.report-detail-status.pending{color:var(--accent-info)}.report-detail-status.success{color:var(--accent-success)}.report-detail-status.skipped{color:var(--accent-warning)}.report-detail-status.failure{color:#ef4444}.report-detail-modal .modal-footer{display:flex;justify-content:space-between;gap:12px;padding:14px 20px;border-top:1px solid var(--border-default)}.report-detail-page-info{color:var(--text-tertiary);font-size:12px}.report-detail-pagination{display:flex;align-items:center;gap:8px}.report-detail-pagination span{min-width:64px;color:var(--text-secondary);font-size:12px;font-weight:700;text-align:center}body.theme-light .report-page{background:linear-gradient(180deg,#dfe8f2,#d7e2ef)}body.theme-light .report-filter-popover,body.theme-light .report-detail-modal{background:#f5f8fc;border-color:#bfccdc;box-shadow:0 18px 42px #0f172a24,0 4px 12px #0f172a14}body.theme-light .report-filter-panel,body.theme-light .report-main-panel{background:#f5f8fc;border-color:#bfccdc;box-shadow:0 8px 18px #0f172a17,0 1px 4px #0f172a12}body.theme-light .report-table-wrap,body.theme-light .report-detail-table-wrap{background:#f5f8fc}body.theme-light .report-panel-header,body.theme-light .report-main-header,body.theme-light .report-detail-modal .modal-header,body.theme-light .report-detail-modal .modal-footer{background:#eaf1f8;border-color:#c2cfdf}body.theme-light .report-account-tree,body.theme-light .report-action-list{background:#edf3fa}body.theme-light .report-filter-button,body.theme-light .report-date-grid input{background:#e7eef7;border-color:#c3d0df}body.theme-light .report-filter-button.active,body.theme-light .report-date-grid input:focus{background:#f5f8fc}body.theme-light .report-grid th,body.theme-light .report-detail-grid th{background:#e1eaf5;border-bottom-color:#bdccdc;color:#64748b}body.theme-light .report-grid td,body.theme-light .report-detail-grid td,body.theme-light td.report-account-col{background:#f7fafd}body.theme-light .report-grid tbody tr:hover td,body.theme-light .report-detail-grid tbody tr:hover td{background:#e8f0fa}@media(max-width:1050px){.report-filter-content{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:719px){.app-web-content.content:has(.report-page){display:block;padding:0 0 calc(70px + env(safe-area-inset-bottom));overflow:visible}.report-page{min-height:calc(100dvh - 52px);overflow:visible;padding:8px;gap:8px}.report-panel-header,.report-main-header{padding:8px 10px}.report-load-button{min-width:0;padding:0 11px}.report-filter-content{grid-template-columns:minmax(0,1fr);padding:10px;gap:10px}.report-filter-popover,.report-filter-popover.compact,.report-filter-popover.wide{width:min(380px,calc(100vw - 36px));min-width:0}.report-filter-popover.align-right{right:auto;left:0}.report-main-panel{min-height:520px}.report-detail-modal.modal{width:calc(100vw - 16px);height:calc(100dvh - 16px)}.report-detail-modal .modal-header{align-items:flex-start;padding:12px}.report-detail-header-actions .btn-secondary{padding-inline:9px}.report-detail-modal .modal-footer{align-items:flex-start;flex-direction:column;padding:10px 12px}.report-detail-pagination{width:100%;justify-content:space-between}}.settings-page-route{width:100%;min-width:0;min-height:calc(100dvh - 24px);display:flex;color:var(--text-primary)}.settings-page-route .general-settings-modal{width:min(1480px,100%);height:min(740px,calc(100dvh - 24px));margin:0 auto;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.general-settings-header{min-height:74px;padding:16px 18px;border-bottom:1px solid var(--border-default);display:flex;align-items:flex-start;justify-content:space-between;gap:16px;background:var(--bg-secondary)}.general-settings-header h2{margin:0;color:var(--text-primary);font-size:18px;line-height:1.25;font-weight:700;letter-spacing:0}.general-settings-body{flex:1;min-height:0;display:grid;grid-template-columns:240px minmax(0,1fr)}.general-settings-sidebar{padding:14px;border-right:1px solid var(--border-default);background:var(--bg-primary)}.general-settings-nav-item{width:100%;border:1px solid transparent;background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);padding:10px 12px;display:flex;align-items:center;gap:8px;font-family:var(--font-family);font-size:13px;font-weight:600;cursor:pointer;text-align:left}.general-settings-nav-item.active,.general-settings-nav-item:hover{color:var(--text-primary);background:var(--bg-elevated);border-color:var(--border-default)}.general-settings-content{min-width:0;overflow-y:auto;padding:18px}.general-settings-content.zalo-blocklist-content{display:flex;flex-direction:column;overflow:hidden}.content-template-settings{display:flex;flex-direction:column;gap:16px}.content-template-editor{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-primary);padding:14px}.content-template-editor-head,.content-template-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.content-template-title{color:var(--text-primary);font-size:14px;font-weight:700}.content-template-field{min-width:0}.content-template-field label{display:block;color:var(--text-secondary);font-size:12px;font-weight:600;margin-bottom:6px}.content-template-editor-actions{display:flex;justify-content:flex-end;margin-top:12px}.email-notification-settings{display:flex;flex-direction:column;gap:16px}.email-notification-form-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.email-notification-toggle{width:fit-content}.email-notification-recipient-input{width:100%}.email-notification-option-list{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.email-notification-time-field{max-width:240px}.akabiz-tag-editor{max-width:640px;padding:12px}.akabiz-tag-editor .content-template-editor-head{margin-bottom:10px}.akabiz-tag-form-row{display:grid;grid-template-columns:minmax(240px,1fr) auto;align-items:end;gap:10px}.akabiz-tag-save-button{min-width:126px;height:36px;white-space:nowrap}.content-template-search{min-width:260px;height:36px;display:flex;align-items:center;gap:8px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-tertiary);padding:0 10px}.content-template-search input{min-width:0;min-height:0;width:100%;height:100%;padding:0;border:none;border-radius:0;outline:none;box-shadow:none;background:transparent;color:var(--text-primary);font-size:13px}.content-template-table-wrap{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-primary);overflow:auto}.content-template-table{min-width:720px}.content-template-name{width:220px;max-width:220px;color:var(--text-primary);font-weight:700}.content-template-row-actions{display:flex;justify-content:flex-end;gap:6px}.settings-page-route .text-secondary{color:var(--text-secondary)}.settings-loading-copy{padding:16px}.btn-icon.danger{color:var(--accent-error)}.btn-icon.danger:hover{background:#f43f5e1a}.zalo-blocklist-settings{display:flex;flex-direction:column;gap:16px;min-height:0;height:100%}.zalo-blocklist-editor{flex:0 0 auto;padding:16px}.zalo-blocklist-toolbar{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr)) 112px;gap:16px;align-items:end}.zalo-blocklist-toolbar .stepper-select,.zalo-blocklist-toolbar .stepper-input{width:100%}.zalo-account-select-wrap{position:relative}.zalo-account-select-wrap:after{content:"";position:absolute;top:50%;right:13px;width:8px;height:8px;border-right:2px solid var(--text-tertiary);border-bottom:2px solid var(--text-tertiary);pointer-events:none;transform:translateY(-65%) rotate(45deg)}.zalo-account-select{height:40px;padding:0 38px 0 12px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-primary);font-family:var(--font-family);font-size:13px;font-weight:600;outline:none;cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.zalo-account-select:hover{border-color:var(--border-strong);background:var(--bg-hover)}.zalo-account-select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #7c5cfc1f}.zalo-account-select:disabled{cursor:not-allowed;opacity:.65}.zalo-account-select option{background:var(--bg-secondary);color:var(--text-primary)}.zalo-blocklist-toolbar .stepper-input,.zalo-blocklist-create-btn{height:40px}.zalo-blocklist-create-btn{justify-content:center}.zalo-blocklist-layout{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(240px,.75fr) repeat(2,minmax(320px,1fr));gap:16px;align-items:stretch}.zalo-blocklist-panel{min-width:0;min-height:0;max-height:100%;display:flex;flex-direction:column;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-primary);padding:12px;overflow:hidden}.zalo-blocklist-panel-head{flex:0 0 auto;min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-bottom:12px}.zalo-blocklist-panel-title{min-width:0;color:var(--text-primary);font-size:14px;font-weight:700;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zalo-blocklist-panel-meta{margin-top:2px;color:var(--text-tertiary);font-size:12px;line-height:1.3}.zalo-blocklist-search{min-width:0;width:100%;height:36px;display:flex;align-items:center;gap:8px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-tertiary);padding:0 10px}.zalo-blocklist-search input{min-width:0;min-height:0;width:100%;height:100%;padding:0;border:none;border-radius:0;outline:none;box-shadow:none;background:transparent;color:var(--text-primary);font-size:13px}.zalo-blocklist-list{flex:1 1 auto;min-height:0;display:grid;gap:8px;align-content:start;overflow:auto}.zalo-blocklist-row{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 30px 30px;gap:6px;align-items:center;border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:8px;cursor:pointer}.zalo-blocklist-row:hover,.zalo-blocklist-row.is-active{border-color:var(--accent-primary);background:var(--bg-secondary)}.zalo-blocklist-row-main{min-width:0;display:grid;gap:3px}.zalo-blocklist-row-main strong,.zalo-blocklist-row-main span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zalo-blocklist-row-main strong{color:var(--text-primary);font-size:13px}.zalo-blocklist-row-main span{color:var(--text-tertiary);font-size:12px}.zalo-blocklist-table-wrap{flex:1 1 auto;min-height:0;border:1px solid var(--border-default);border-radius:var(--radius-md);overflow:auto}.zalo-blocklist-table-wrap .content-template-table{min-width:100%}.zalo-blocklist-table{width:100%;table-layout:fixed}.zalo-blocklist-table th,.zalo-blocklist-table td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zalo-blocklist-table .zalo-blocklist-check-col{width:42px;text-align:center}.zalo-blocklist-table .zalo-blocklist-uid-col{width:46%;text-align:right}.zalo-blocklist-name-cell{color:var(--text-primary)}.zalo-blocklist-panel-actions{flex:0 0 auto;display:flex;justify-content:flex-end;margin-top:12px}.settings-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3400;display:flex;align-items:center;justify-content:center;padding:16px;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.settings-feedback-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:16px;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.settings-feedback-modal{width:min(420px,calc(100vw - 32px));height:auto;min-height:unset;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-primary);box-shadow:0 10px 30px #00000080}.settings-feedback-header{height:auto;padding:16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-default)}.settings-feedback-header .section-title{margin:0;padding:0;display:flex;align-items:center;gap:8px;color:var(--text-primary);border:none;font-size:16px}.settings-feedback-body{padding:24px 16px;color:var(--text-primary);font-size:14px;text-align:center;white-space:pre-wrap}.settings-feedback-footer{display:flex;justify-content:center;gap:8px;padding:0 16px 24px}.settings-feedback-footer .btn{padding:8px 24px}.settings-feedback-footer .btn:only-child{padding-inline:32px}.settings-modal-overlay .modal{padding:0;max-height:min(85dvh,760px);display:flex;flex-direction:column;overflow:hidden;color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-secondary);box-shadow:var(--shadow-lg)}.settings-modal-overlay .modal-header{min-height:62px;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border-default);background:var(--bg-secondary)}.settings-modal-overlay .modal-title{color:var(--text-primary);font-size:16px;font-weight:600}.settings-modal-overlay .modal-body{flex:1;overflow-y:auto;padding:16px 20px}.settings-modal-overlay .modal-footer{flex:0 0 auto;display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--border-default);background:var(--bg-secondary)}.change-password-modal{width:min(440px,calc(100vw - 32px));max-height:none}.change-password-modal .modal-title{display:flex;align-items:center;gap:8px}.change-password-body{display:grid;gap:16px}.change-password-body .stepper-form-group{margin-bottom:0}.account-profile-modal{width:520px;max-width:calc(100vw - 32px)}.account-profile-modal .modal-title{display:flex;align-items:center;gap:10px;color:var(--text-primary);font-size:16px;font-weight:750}.account-profile-modal .modal-title svg{width:28px;height:28px;padding:6px;flex-shrink:0;border-radius:9px;color:var(--accent-info);background:#38bdf81f}.account-profile-body{display:flex;flex-direction:column;gap:16px}.account-profile-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.account-profile-info{min-width:0;display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--border-default);border-radius:10px;background:var(--bg-primary)}.account-profile-info-icon{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:10px;color:var(--accent-info);background:#38bdf81f}.account-profile-info-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.account-profile-info-copy span{color:var(--text-tertiary);font-size:11px;font-weight:700;text-transform:uppercase}.account-profile-info-copy strong{min-width:0;overflow:hidden;color:var(--text-primary);font-size:13px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.account-profile-products{display:flex;flex-direction:column;gap:10px}.account-profile-section-title{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:12px;font-weight:750}.account-profile-section-title svg{color:var(--accent-primary)}.account-profile-product-list{display:flex;flex-direction:column;gap:8px}.account-profile-product-card,.account-profile-empty{border:1px solid var(--border-default);border-radius:10px;background:var(--bg-primary)}.account-profile-product-card{display:flex;flex-direction:column;padding:10px 12px}.account-profile-product-main{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px}.account-profile-product-main>div{min-width:0;display:flex;flex-direction:column;gap:3px}.account-profile-product-main strong,.account-profile-product-main span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-profile-product-main strong{color:var(--text-primary);font-size:13.5px;font-weight:750}.account-profile-product-status{display:inline-flex;align-items:center;flex-shrink:0;padding:2px 7px;border-radius:999px;font-size:10.5px;font-weight:750;line-height:1.2}.account-profile-product-status.is-active,.account-profile-product-date-chip.is-active{color:#22c55e;background:#22c55e1f}.account-profile-product-status.is-expired,.account-profile-product-date-chip.is-expired{color:var(--accent-error);background:#f43f5e1f}.account-profile-product-expiration{display:inline-flex;align-items:center;gap:6px;color:var(--text-tertiary);font-size:11.5px;font-weight:700}.account-profile-product-date-chip,.account-profile-product-limit-chip{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;font-size:11px;font-weight:750;line-height:1.2}.account-profile-product-limit-chip{color:var(--text-secondary);background:var(--bg-secondary)}.account-profile-empty{padding:18px 12px;color:var(--text-tertiary);font-size:12px;text-align:center}.login-session-head-actions{display:flex;flex-wrap:wrap;gap:8px}.login-session-note{margin:0 0 12px;color:var(--text-tertiary);font-size:12px}.login-session-table-wrap{overflow-x:auto}.login-session-table-wrap .campaign-grid{table-layout:fixed;width:100%;min-width:640px}.login-session-table-wrap td:first-child{max-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.login-session-current-row{background:color-mix(in srgb,var(--accent-primary) 8%,transparent)}.login-session-badge-current{display:inline-block;padding:2px 8px;color:var(--accent-primary);border:1px solid color-mix(in srgb,var(--accent-primary) 40%,transparent);border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap}@media(max-width:1180px){.general-settings-content.zalo-blocklist-content{overflow-y:auto}.zalo-blocklist-settings{height:auto}.zalo-blocklist-layout{flex:0 0 auto;grid-template-columns:minmax(0,1fr)}.zalo-blocklist-panel{max-height:none}.zalo-blocklist-list,.zalo-blocklist-table-wrap{max-height:360px}.zalo-blocklist-toolbar{grid-template-columns:minmax(0,1fr)}}@media(max-width:900px){.content-template-editor-head,.content-template-list-head{align-items:stretch}.content-template-search{min-width:0;width:100%}.akabiz-tag-editor{max-width:none}.akabiz-tag-form-row{grid-template-columns:1fr}.akabiz-tag-save-button{width:100%}}@media(max-width:760px){.settings-page-route{min-height:calc(100dvh - 94px - env(safe-area-inset-bottom))}.settings-page-route .general-settings-modal{height:auto;min-height:calc(100dvh - 94px - env(safe-area-inset-bottom))}.general-settings-header{min-height:64px;padding:12px}.general-settings-header h2{font-size:16px}.general-settings-body{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.general-settings-sidebar{display:flex;gap:6px;overflow-x:auto;padding:8px;border-right:0;border-bottom:1px solid var(--border-default)}.general-settings-nav-item{width:auto;flex:0 0 auto;padding:8px 10px;font-size:11px}.general-settings-content{padding:10px}.content-template-editor-head,.content-template-list-head{flex-direction:column}.content-template-editor-head .btn,.content-template-list-head .content-template-search{width:100%}.settings-modal-overlay{align-items:flex-end;padding:0}.settings-modal-overlay .modal{width:100%;max-width:none;max-height:92dvh;border-radius:14px 14px 0 0;padding-bottom:env(safe-area-inset-bottom)}.account-profile-summary{grid-template-columns:1fr}}:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#0f172a;background:#dfe8f2;font-synthesis:none;text-rendering:optimizeLegibility;--blue: #6366f1;--blue-deep: #4f46e5;--blue-soft: rgba(99, 102, 241, .12);--ink: #0f172a;--muted: #64748b;--line: #c8d5e3;--surface: #f5f8fc;--green: #10b981;--amber: #f59e0b;--red: #ef4444;--violet: #8b5cf6;--shadow: 0 6px 16px rgba(15, 23, 42, .09), 0 1px 4px rgba(15, 23, 42, .07)}.campaign-list-filter-panel{position:relative;z-index:25;padding:8px 10px;border-bottom:1px solid var(--border-default);background:var(--bg-secondary)}.campaign-filter-row{display:grid;gap:8px;align-items:end}.campaign-filter-field{min-width:0}.campaign-filter-search-field{grid-area:search}.campaign-filter-time-preset{grid-area:time}.campaign-filter-status{grid-area:status}.campaign-filter-account{grid-area:account}.campaign-filter-platform{grid-area:platform}.campaign-filter-action{grid-area:action}.campaign-filter-search-box,.campaign-multi-select-trigger{width:100%;height:38px;min-height:38px;display:flex;align-items:center;gap:9px;padding:0 11px;color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-tertiary);box-shadow:var(--shadow-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.campaign-filter-search-box:focus-within,.campaign-multi-select-trigger.is-open{border-color:var(--accent-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-primary) 14%,transparent)}.campaign-filter-search-box input{min-width:0;min-height:0;height:100%;flex:1;padding:0;color:var(--text-primary);border:0;border-radius:0;outline:0;background:transparent;box-shadow:none;font-size:12px}.campaign-filter-search-box input::placeholder{color:var(--text-tertiary)}.campaign-multi-select{position:relative;width:100%;min-width:0}.campaign-multi-select-trigger{justify-content:space-between;color:var(--text-primary);font-family:inherit;font-size:12px}.campaign-multi-select-trigger:hover{background:var(--bg-hover)}.campaign-filter-trigger-copy{min-width:0;flex:1;display:flex;align-items:baseline;gap:5px;overflow:hidden;white-space:nowrap}.campaign-filter-trigger-label{flex:0 0 auto;color:var(--text-secondary);font-weight:500}.campaign-filter-trigger-copy strong{min-width:0;overflow:hidden;color:var(--text-primary);font-weight:700;text-overflow:ellipsis}.campaign-filter-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:45;width:max(100%,240px);max-height:min(300px,44vh);overflow-y:auto;padding:6px;color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-primary);box-shadow:var(--shadow-lg)}.campaign-filter-option{width:100%;min-height:31px;display:flex;align-items:center;gap:7px;padding:6px 8px;color:var(--text-secondary);border:0;border-radius:5px;background:transparent;font-size:12px;text-align:left}.campaign-filter-option:hover{color:var(--text-primary);background:var(--bg-hover)}.campaign-filter-option.selected{color:var(--accent-primary);background:var(--bg-accent-subtle)}.campaign-filter-option-check{width:16px;height:16px;flex:0 0 16px;display:inline-flex;align-items:center;justify-content:center;color:#fff;border:1px solid var(--border-default);border-radius:4px;background:var(--bg-secondary)}.campaign-filter-option.selected .campaign-filter-option-check,.mobile-filter-option-list button.selected .campaign-filter-option-check{border-color:var(--accent-primary);background:var(--accent-primary)}.campaign-filter-option-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.campaign-filter-menu-divider{height:1px;margin:5px 2px;background:var(--border-default)}.campaign-filter-clear{color:var(--accent-error)}.campaign-filter-menu-empty{display:block;padding:10px 8px;color:var(--text-tertiary);font-size:11px;text-align:center}.campaign-time-filter-popover{width:320px;max-height:none;overflow:visible}.campaign-time-options{display:flex;flex-direction:column;gap:4px}.campaign-time-option{width:100%;min-height:30px;padding:6px 8px;color:var(--text-primary);border:0;border-radius:var(--radius-sm);background:transparent;font-family:inherit;font-size:12px;text-align:left}.campaign-time-option:hover,.campaign-time-option.selected{color:var(--accent-primary);background:var(--bg-hover)}.campaign-custom-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:7px 2px 2px;padding-top:8px;border-top:1px solid var(--border-default)}.campaign-custom-date-grid label{display:grid;gap:4px;color:var(--text-secondary);font-size:10px;font-weight:600}.campaign-custom-date-grid input{min-height:34px;padding:0 8px;color:var(--text-primary);border-color:var(--border-default);background:var(--bg-tertiary);font-size:11px}.campaign-mobile-filter-button{position:relative;min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 11px;color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-tertiary);font-size:11px;font-weight:650}.campaign-mobile-filter-button.active{color:var(--accent-primary);border-color:color-mix(in srgb,var(--accent-primary) 50%,var(--border-default));background:var(--bg-accent-subtle)}.campaign-mobile-filter-button>span{min-width:17px;height:17px;display:inline-grid;place-items:center;color:#fff;border-radius:999px;background:var(--accent-primary);font-size:9px}.campaign-table-scroll{min-height:0}.compact-campaign-table{min-width:1000px}.campaign-table-header,.campaign-table-row{grid-template-columns:minmax(230px,1.35fr) 74px 122px 128px minmax(140px,.8fr) 132px 116px}.campaign-table-row{cursor:pointer;border-left-width:3px;transition:background var(--transition-fast),box-shadow var(--transition-fast)}.campaign-table-row.status-running{background:color-mix(in srgb,var(--accent-warning) 5%,var(--bg-secondary))}.campaign-table-row.status-pending{background:color-mix(in srgb,var(--accent-info) 4%,var(--bg-secondary))}.campaign-table-row.status-paused{background:color-mix(in srgb,var(--accent-error) 4%,var(--bg-secondary))}.campaign-table-row.status-completed{background:color-mix(in srgb,var(--accent-success) 4%,var(--bg-secondary))}.campaign-table-row.selected{box-shadow:inset 0 0 0 1px var(--accent-primary);background:var(--bg-accent-subtle)}.campaign-table-row.multi-selected{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent-primary) 48%,transparent)}.campaign-table-row.selected.multi-selected{box-shadow:inset 0 0 0 2px var(--accent-primary)}.campaign-row-action-button{min-height:30px;display:inline-flex;align-items:center;gap:5px;padding:0 8px;color:var(--text-secondary);border:1px solid var(--border-default);border-radius:6px;background:var(--bg-tertiary);font-size:10px;font-weight:600;white-space:nowrap}.campaign-row-action-button:hover{color:var(--accent-primary);border-color:var(--accent-primary);background:var(--bg-accent-subtle)}.campaign-action-menu{z-index:30;min-width:180px}.campaign-action-menu-portal{position:fixed;z-index:240;width:230px;min-width:230px;overflow-y:auto;padding:6px;color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-primary);box-shadow:var(--shadow-lg)}.message-personalization-dropdown{position:relative;display:inline-flex;flex:0 0 auto}.message-personalization-dropdown:after{content:"";position:absolute;top:100%;left:50%;z-index:79;display:none;width:min(700px,calc(100vw - 56px));height:12px;transform:translate(-50%)}.message-personalization-dropdown.two-token-sections.has-excel-tokens:after{width:min(560px,calc(100vw - 56px))}.message-personalization-dropdown.two-token-sections.no-excel-tokens:after{width:min(470px,calc(100vw - 56px))}.message-personalization-dropdown.single-token-section:after{width:min(360px,calc(100vw - 56px))}.message-personalization-button{color:var(--accent-primary)}.message-personalization-popover{position:absolute;top:calc(100% + 8px);left:50%;z-index:80;display:none;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr) minmax(0,1fr);gap:12px 14px;align-items:start;width:min(700px,calc(100vw - 56px));max-height:min(330px,72vh);overflow-y:auto;overscroll-behavior:contain;padding:12px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:linear-gradient(var(--border-default),var(--border-default)) calc(12px + (100% - 24px - 28px) * .283333) 12px / 1px calc(100% - 24px) no-repeat,linear-gradient(var(--border-default),var(--border-default)) calc(12px + 14px + (100% - 24px - 28px) * .666667) 12px / 1px calc(100% - 24px) no-repeat,var(--bg-secondary);box-shadow:var(--shadow-lg);transform:translate(-50%)}.message-personalization-popover.two-token-sections{grid-template-columns:minmax(0,.95fr) minmax(0,1fr);width:min(560px,calc(100vw - 56px));background:linear-gradient(var(--border-default),var(--border-default)) calc(12px + ((100% - 24px - 14px) * .487179) + 7px) 12px / 1px calc(100% - 24px) no-repeat,var(--bg-secondary)}.message-personalization-popover.two-token-sections.no-excel-tokens{grid-template-columns:minmax(0,.85fr) minmax(0,1.05fr);width:min(470px,calc(100vw - 56px));background:linear-gradient(var(--border-default),var(--border-default)) calc(12px + (100% - 24px - 14px) * .447368) 12px / 1px calc(100% - 24px) no-repeat,var(--bg-secondary)}.message-personalization-popover.single-token-section{grid-template-columns:minmax(0,1fr);width:min(360px,calc(100vw - 56px));background:var(--bg-secondary)}.message-personalization-dropdown:hover:after,.message-personalization-dropdown:focus-within:after,.message-personalization-dropdown.is-open:after{display:block}.message-personalization-dropdown:hover .message-personalization-popover,.message-personalization-dropdown:focus-within .message-personalization-popover,.message-personalization-dropdown.is-open .message-personalization-popover{display:grid}@media(max-width:640px){.message-personalization-dropdown:after{display:none!important}.message-personalization-popover,.message-personalization-popover.no-excel-tokens{position:fixed;top:auto;right:10px;bottom:calc(74px + env(safe-area-inset-bottom));left:10px;width:auto;max-height:min(430px,66vh);grid-template-columns:minmax(0,1fr);background:var(--bg-secondary);transform:none}.message-personalization-popover .message-template-section+.message-template-section{padding-left:0}}.content-template-picker-modal,.content-template-save-modal{width:min(720px,calc(100vw - 48px));max-height:min(720px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-secondary);box-shadow:var(--shadow-lg)}.content-template-picker-modal{width:min(1120px,calc(100vw - 48px));height:min(760px,calc(100vh - 48px));max-height:min(760px,calc(100vh - 48px))}.content-template-picker-modal>.modal-header,.content-template-picker-modal>.modal-footer{flex:0 0 auto;background:var(--bg-secondary)}.content-template-save-body{min-height:0;overflow-y:auto;padding:16px}.content-template-save-textarea{min-height:160px}.web-campaign-form-overlay{z-index:1000}.web-campaign-stepper.campaign-full-modal{width:90vw;max-width:1200px;height:85vh;min-height:0;margin:0}@media(max-width:900px){.web-campaign-form-overlay{padding:12px}.web-campaign-stepper.campaign-full-modal{width:100%;max-width:none;height:calc(100dvh - 24px);min-height:0}}@media(max-width:719px){.web-campaign-form-overlay{align-items:stretch;padding:0}.web-campaign-stepper.campaign-full-modal{height:100dvh;border:0;border-radius:0}.app-web-content.content:has(.web-campaign-stepper){padding:0}.web-campaign-stepper .stepper-sidebar{top:48px}}.compact-campaign-table{min-width:1280px}.col-toggle,.col-assistant,.col-action{justify-content:center;overflow:visible}button.btn-icon.campaign-control-button.campaign-label-button{width:auto;height:30px;min-width:0;max-width:100%;padding:0 9px;gap:5px;font-size:11px;font-weight:600;white-space:nowrap}.log-panel-header{min-height:45px;gap:10px}.log-panel-header-context{min-width:0;max-width:68%;overflow:hidden;color:var(--text-tertiary);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.log-panel-tabs{display:flex;flex-shrink:0;gap:6px;padding:8px 10px;border-bottom:1px solid var(--border-default);background:var(--bg-tertiary)}.log-panel-tab{height:30px;min-width:0;display:inline-flex;flex:1;align-items:center;justify-content:center;gap:6px;color:var(--text-secondary);border:1px solid var(--border-default);border-radius:6px;background:var(--bg-secondary);font-size:12px;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.log-panel-tab:hover{color:var(--text-primary);border-color:var(--border-hover)}.log-panel-tab.active{color:var(--accent-primary);border-color:var(--accent-primary);background:#6366f11a}.assistant-panel{min-height:0;display:flex;flex:1;flex-direction:column;background:var(--bg-secondary)}.assistant-chat-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border-default);background:var(--bg-secondary)}.assistant-campaign-name{min-width:0;display:inline-flex;align-items:center;gap:6px;color:var(--text-primary);font-size:12px;font-weight:700}.assistant-campaign-name span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assistant-reset-btn,.assistant-start-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;color:var(--text-primary);border:1px solid var(--border-default);border-radius:6px;background:var(--bg-elevated);font-size:12px;font-weight:700;cursor:pointer;transition:all var(--transition-fast)}.assistant-reset-btn{height:28px;flex-shrink:0;padding:0 8px}.assistant-start-btn{height:34px;padding:0 12px;color:#fff;border-color:var(--accent-primary);background:var(--accent-primary)}.assistant-reset-btn:hover,.assistant-start-btn:hover{filter:brightness(.96);transform:translateY(-1px)}.assistant-empty,.assistant-loading,.assistant-error{min-height:0;display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px 18px;color:var(--text-secondary);text-align:center}.assistant-empty-icon{color:var(--accent-primary)}.assistant-empty-title{color:var(--text-primary);font-size:14px;font-weight:700}.assistant-empty-campaign{max-width:100%;overflow:hidden;color:var(--accent-primary);font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.assistant-empty-desc{max-width:300px;margin:0;font-size:12px;line-height:1.55}.assistant-error{color:var(--accent-error)}.assistant-loading{flex-direction:row;font-size:12px}.assistant-messages{min-height:0;display:flex;flex:1;flex-direction:column;gap:8px;overflow-y:auto;padding:10px 12px;background:var(--bg-primary)}.assistant-context-time,.assistant-messages-empty{max-width:100%;align-self:center;color:var(--text-tertiary);font-size:11px;line-height:1.45;text-align:center}.assistant-messages-empty{max-width:310px;margin-top:8px}.assistant-message{min-width:0;display:flex}.assistant-message.user{justify-content:flex-end}.assistant-message.assistant{justify-content:flex-start}.assistant-message-content{max-width:86%;padding:8px 10px;border-radius:8px;font-size:12px;line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap;word-break:break-word}.assistant-message.user .assistant-message-content{color:#fff;border-bottom-right-radius:3px;background:var(--accent-primary)}.assistant-message.assistant .assistant-message-content{color:var(--text-primary);border:1px solid var(--border-default);border-bottom-left-radius:3px;background:var(--bg-secondary)}.assistant-typing{color:var(--text-tertiary);font-style:italic}.assistant-inline-error{display:flex;align-items:flex-start;gap:6px;padding:8px 10px;color:var(--accent-error);border:1px solid rgba(244,63,94,.28);border-radius:6px;background:#f43f5e14;font-size:12px;line-height:1.45}.assistant-chat-input{display:flex;flex-shrink:0;align-items:flex-end;gap:8px;padding:10px 12px;border-top:1px solid var(--border-default);background:var(--bg-secondary)}.assistant-chat-textarea{min-width:0;min-height:38px;max-height:130px;flex:1;padding:8px 10px;resize:vertical;color:var(--text-primary);border:1px solid var(--border-default);border-radius:6px;outline:none;background:var(--bg-primary);font-family:var(--font-family);font-size:12px;line-height:1.45}.assistant-chat-textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px #6366f129}.assistant-chat-textarea:disabled{cursor:not-allowed;opacity:.65}.assistant-chat-send{width:38px;height:38px;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;color:#fff;border:0;border-radius:6px;background:var(--accent-primary);cursor:pointer;transition:filter var(--transition-fast)}.assistant-chat-send:hover:not(:disabled){filter:brightness(.95)}.assistant-chat-send:disabled{cursor:not-allowed;opacity:.5}@media(max-width:1199px){.web-campaign-workspace.campaign-page:has(.campaign-log-pane.assistant-open){flex-direction:column}.campaign-log-pane.assistant-open{width:100%;min-height:320px;display:flex;flex:0 0 min(48%,500px)}}@media(max-width:719px){.campaign-table-row .col-assistant,.campaign-table-row .col-action,.campaign-table-row .col-account,.campaign-table-row .col-send-date{grid-column:1 / -1;padding-top:8px;border-top:1px dashed var(--border-default)}.campaign-table-row .col-assistant{grid-row:3}.campaign-table-row .col-action{grid-row:4}.campaign-table-row .col-account{grid-row:5}.campaign-table-row .col-send-date{grid-row:6}.campaign-table-row .col-assistant:before{width:74px;flex:0 0 74px;color:var(--text-tertiary);font-size:9px;text-transform:uppercase;content:"Trợ lý aka"}.campaign-log-pane.assistant-open{min-height:min(72dvh,620px);flex-basis:auto}}.content-preview-modal{width:min(920px,calc(100vw - 48px));max-height:min(780px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-secondary);box-shadow:var(--shadow-lg)}.content-preview-subtitle{margin-top:3px;color:var(--text-tertiary);font-size:12px}.content-preview-body{min-height:0;display:flex;flex-direction:column;gap:12px;overflow-y:auto;padding:16px}.content-preview-variant-tabs{width:100%;max-width:640px;display:flex;flex-wrap:wrap;gap:6px}.content-preview-variant-tabs button{min-height:30px;padding:5px 10px;color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-tertiary);font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.content-preview-variant-tabs button:hover,.content-preview-variant-tabs button.active{color:var(--text-primary);border-color:var(--accent-primary);background:#7c5cfc29}.content-preview-notes{width:100%;max-width:640px;display:grid;gap:4px;padding:10px 12px;color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-tertiary);font-size:12px}.content-preview-notes span:before{content:"- ";color:var(--text-tertiary)}.content-preview-showcase{width:100%;display:flex;justify-content:center}.content-preview-phone{width:min(390px,calc(100vw - 96px));height:clamp(540px,70vh,680px);display:flex;flex-direction:column;padding:10px;color:#050505;border:1px solid rgba(255,255,255,.16);border-radius:34px;background:#111827;box-shadow:0 24px 70px #0000006b}.content-preview-phone-speaker{width:72px;height:5px;margin:0 auto 8px;border-radius:999px;background:#ffffff38}.content-preview-platform-bar{min-height:54px;display:flex;flex:0 0 auto;align-items:center;gap:10px;padding:9px 13px;border-radius:24px 24px 0 0}.content-preview-platform-bar.messenger{justify-content:flex-start;color:#050505;border-bottom:1px solid #e4e6eb;background:#fff}.content-preview-platform-bar.zalo{color:#fff;background:#0068ff}.content-preview-platform-bar.messenger strong,.content-preview-platform-bar.zalo strong{display:block;font-size:14px;line-height:1.2}.content-preview-platform-bar.messenger span,.content-preview-platform-bar.zalo span{display:block;margin-top:2px;font-size:11px;opacity:.78}.content-preview-avatar,.content-preview-zalo-avatar{width:36px;height:36px;display:grid;flex:0 0 auto;place-items:center;color:#fff;border-radius:50%;font-size:12px;font-weight:800}.content-preview-avatar.messenger{background:linear-gradient(135deg,#0084ff,#a033ff)}.content-preview-zalo-avatar{background:#ffffff38}.content-preview-chat-screen{min-height:0;display:flex;flex:1 1 auto;flex-direction:column;justify-content:flex-end;gap:10px;overflow-y:auto;padding:12px}.content-preview-chat-screen.messenger{background:#fff}.content-preview-chat-screen.zalo{background:linear-gradient(180deg,#eef6ff,#dfefff)}.content-preview-chat-day,.content-preview-chat-system{align-self:center;padding:4px 9px;color:#65676b;border-radius:999px;background:#0000000f;font-size:11px;font-weight:700}.content-preview-chat-system{color:#0068ff;background:#0068ff1a}.content-preview-outgoing-row{display:flex;justify-content:flex-end}.content-preview-outgoing-row+.content-preview-outgoing-row{margin-top:4px}.content-preview-chat-bubble{max-width:78%;padding:9px 11px;overflow-wrap:anywhere;color:#fff;border-radius:18px 18px 4px;font-size:14px;line-height:1.42;white-space:pre-wrap}.content-preview-chat-bubble.media-only{padding:4px}.content-preview-formatted{white-space:normal}.content-preview-formatted p{margin:0 0 4px}.content-preview-formatted p:last-child{margin-bottom:0}.content-preview-formatted p.zalo-preview-heading{font-weight:700}.content-preview-formatted ul.zalo-preview-list,.content-preview-formatted ol.zalo-preview-list{margin:0 0 4px;padding-left:20px}.content-preview-formatted .zalo-preview-indent{margin:0 0 4px;padding-left:12px}.content-preview-formatted .zalo-preview-link-url{opacity:.82;font-size:12px}.content-preview-chat-bubble.media-only .content-preview-media-grid.bubble{margin-top:0}.content-preview-phone.generic .content-preview-chat-bubble{background:#0084ff}.content-preview-phone.zalo .content-preview-chat-bubble{background:#0068ff}.content-preview-chat-composer{min-height:44px;display:flex;align-items:center;gap:8px;padding:8px 10px;color:#65676b;border-top:1px solid #e4e6eb;border-radius:0 0 24px 24px;background:#fff;font-size:12px}.content-preview-chat-composer span{min-width:0;flex:1 1 auto;padding:7px 10px;border-radius:999px;background:#f0f2f5}.content-preview-chat-composer.zalo svg:last-child{color:#0068ff}.content-preview-media-grid{display:grid;gap:3px;overflow:hidden;border-radius:10px}.content-preview-media-grid.bubble{max-width:230px;margin-top:8px}.content-preview-media-grid.count-1{grid-template-columns:minmax(0,1fr)}.content-preview-media-grid.count-2,.content-preview-media-grid.count-3,.content-preview-media-grid.count-4{grid-template-columns:repeat(2,minmax(0,1fr))}.content-preview-media-grid.count-3 .content-preview-media-tile:first-child{grid-row:span 2}.content-preview-media-tile{min-height:82px;overflow:hidden;background:#f0f2f5}.content-preview-media-tile img{width:100%;height:100%;min-height:inherit;display:block;object-fit:cover}.content-preview-file-chip{min-height:inherit;display:grid;place-items:center;gap:5px;padding:10px;overflow-wrap:anywhere;color:#4b5563;background:#f8fafc;font-size:11px;text-align:center}@media(max-width:560px){.content-preview-modal{width:calc(100vw - 24px);max-height:calc(100vh - 24px)}.content-preview-body{padding:12px}.content-preview-phone{width:min(360px,calc(100vw - 56px));height:min(620px,calc(100vh - 190px));min-height:460px}}.message-personalization-popover{top:calc(100% + 8px);left:50%;width:min(700px,calc(100vw - 56px));max-height:min(330px,72vh);grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:12px 14px;overflow-y:auto;overscroll-behavior:contain;padding:12px;border-radius:var(--radius-sm);background:linear-gradient(var(--border-default),var(--border-default)) calc(12px + (100% - 24px - 28px) * .283333) 12px / 1px calc(100% - 24px) no-repeat,linear-gradient(var(--border-default),var(--border-default)) calc(12px + 14px + (100% - 24px - 28px) * .666667) 12px / 1px calc(100% - 24px) no-repeat,var(--bg-secondary);transform:translate(-50%)}.message-personalization-popover.two-token-sections{width:min(560px,calc(100vw - 56px));grid-template-columns:minmax(0,.95fr) minmax(0,1fr);background:linear-gradient(var(--border-default),var(--border-default)) calc(12px + ((100% - 24px - 14px) * .487179) + 7px) 12px / 1px calc(100% - 24px) no-repeat,var(--bg-secondary)}.message-personalization-popover.two-token-sections.no-excel-tokens{width:min(470px,calc(100vw - 56px));grid-template-columns:minmax(0,.85fr) minmax(0,1.05fr);background:linear-gradient(var(--border-default),var(--border-default)) calc(12px + (100% - 24px - 14px) * .447368) 12px / 1px calc(100% - 24px) no-repeat,var(--bg-secondary)}.message-personalization-popover.single-token-section{width:min(360px,calc(100vw - 56px));grid-template-columns:minmax(0,1fr);background:var(--bg-secondary)}.message-personalization-popover .message-template-title{grid-column:1 / -1;margin-bottom:0;color:var(--accent-primary);font-size:14px;font-weight:700}.message-personalization-popover .message-template-section{position:relative;min-width:0;display:flex;flex-direction:column;gap:2px;overflow:visible}.message-personalization-popover .message-template-section+.message-template-section{padding-left:14px}.message-personalization-popover .message-template-section-title{display:flex;align-items:center;gap:8px;margin-bottom:4px;color:var(--text-primary);font-size:13px;font-weight:700}.message-personalization-popover .message-template-section label,.message-personalization-popover .message-template-control label{color:var(--text-secondary);font-size:12px;font-weight:500}.message-personalization-popover .message-template-token{width:fit-content;max-width:100%;padding:6px 9px;overflow-wrap:anywhere;color:var(--text-secondary);border:1px solid var(--border-hover);background:var(--bg-tertiary);font-family:var(--font-family);font-size:11px;font-weight:700;line-height:1.4}.message-personalization-popover .message-template-token:hover{color:var(--text-primary);border-color:var(--accent-primary);background:var(--bg-elevated)}.message-personalization-popover .message-template-token+label{margin-top:8px}.message-personalization-popover .message-template-token-row{display:flex;flex-wrap:wrap;gap:5px}.message-template-control-row{display:grid;grid-template-columns:minmax(0,1fr);gap:7px}.message-template-control{min-width:0;display:flex;flex-direction:column;gap:6px}.message-template-dropdown{position:relative;z-index:1;width:min(180px,100%);min-width:0}.message-template-dropdown-button{width:100%;min-height:32px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 9px;color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-tertiary);font-family:var(--font-family);font-size:12px;font-weight:700;line-height:1.25;cursor:pointer}.message-template-dropdown-button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-template-dropdown-list{position:absolute;top:calc(100% + 4px);right:0;left:0;z-index:95;display:none;flex-direction:column;gap:2px;max-height:132px;overflow-y:auto;padding:4px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-secondary);box-shadow:var(--shadow-md)}.message-template-dropdown.open{z-index:2}.message-template-dropdown.open .message-template-dropdown-list{display:flex}.message-template-dropdown.open .message-template-dropdown-button,.message-template-dropdown-button:hover{color:var(--text-primary);border-color:var(--accent-primary);background:#7c5cfc29}.message-template-dropdown-item{width:100%;min-height:28px;padding:5px 8px;color:var(--text-secondary);border:0;border-radius:var(--radius-sm);background:transparent;font-family:var(--font-family);font-size:12px;font-weight:600;text-align:left;cursor:pointer}.message-template-dropdown-item:hover,.message-template-dropdown-item.active{color:var(--text-primary);background:var(--bg-hover)}@media(max-width:640px){.message-personalization-popover,.message-personalization-popover.no-excel-tokens{position:fixed;top:auto;right:10px;bottom:calc(74px + env(safe-area-inset-bottom));left:10px;width:auto;max-height:min(430px,66vh);grid-template-columns:minmax(0,1fr);background:var(--bg-secondary);transform:none}.message-personalization-popover .message-template-section+.message-template-section{padding-left:0}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border-default)}.modal-title{color:var(--text-primary);font-size:16px;font-weight:600}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--border-default)}.media-library-overlay,.append-campaign-overlay{z-index:3300}.modal.append-campaign-modal{display:flex;flex-direction:column;width:min(560px,calc(100vw - 32px));max-height:min(80vh,640px)}.append-campaign-body{display:flex;flex-direction:column;gap:12px;min-height:0;flex:1 1 auto;overflow:hidden}.append-campaign-count{font-size:13px;color:var(--text-secondary)}.append-campaign-search{width:100%;padding:8px 10px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:13px}.append-campaign-list{display:flex;flex-direction:column;gap:6px;min-height:0;flex:1 1 auto;overflow-y:auto;padding-right:2px}.append-campaign-empty{padding:24px 8px;text-align:center;color:var(--text-tertiary);font-size:13px}.append-campaign-option{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer}.append-campaign-option>input[type=radio]{flex:0 0 auto;width:16px;height:16px;margin:0}.append-campaign-option:hover{border-color:var(--accent-primary)}.append-campaign-option.is-selected{border-color:var(--accent-primary);background:var(--bg-primary)}.append-campaign-option-main{display:flex;flex-direction:column;gap:2px;min-width:0}.append-campaign-option-name{font-size:13px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.append-campaign-option-meta{font-size:12px;color:var(--text-tertiary)}.modal.media-library-modal{display:flex;flex-direction:column;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-secondary);box-shadow:var(--shadow-lg)}.media-library-modal>.modal-body{min-height:0;flex:1 1 auto;overflow:hidden}.media-library-modal .media-library-grid{min-height:0;flex:1 1 auto;max-height:none}.media-library-modal .media-library-grid .campaign-grid{min-width:1050px;table-layout:fixed}.media-library-grid .campaign-grid tr.selected td{background:#6366f11f}.media-library-grid .campaign-grid tr.is-disabled td{color:var(--text-tertiary)}@media(max-width:720px){.media-library-modal .media-library-body{overflow-y:auto}.media-library-modal .media-library-split{grid-template-columns:1fr}.media-library-modal .media-group-panel{max-height:210px}.media-library-modal .media-files-panel{min-height:460px}}:root{--border-strong: #4a4a63;--shadow-glow: 0 0 20px rgba(124, 92, 252, .15);--radius-full: 9999px;--transition-fast: .15s ease;--transition-normal: .25s ease;--font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 14px;border:none;border-radius:var(--radius-sm);font-family:var(--font-family);font-size:12px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn svg{flex-shrink:0}.btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.btn-primary{background:var(--accent-primary);color:#fff}.btn-primary:not(:disabled):hover{background:var(--accent-primary-hover);box-shadow:var(--shadow-glow)}.btn-secondary{color:var(--text-primary);border:1px solid var(--border-default);background:var(--bg-tertiary)}.btn-secondary:not(:disabled):hover{border-color:var(--border-hover);background:var(--bg-hover)}.btn-ghost{color:var(--text-secondary);background:transparent}.btn-ghost:not(:disabled):hover{color:var(--text-primary);background:var(--bg-tertiary)}.btn-danger{color:#fff;background:var(--accent-error)}.btn-danger:not(:disabled):hover{filter:brightness(1.1)}.btn-sm{padding:4px 10px;font-size:11px}.btn-icon{padding:6px;border-radius:var(--radius-sm)}a.btn-icon,button.btn-icon:not(.btn){width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;padding:0;color:var(--text-tertiary);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}a.btn-icon:hover,button.btn-icon:not(.btn):hover{color:var(--text-primary);border-color:var(--border-default);background:var(--bg-hover)}.campaign-full-modal{width:100%;max-width:1200px;height:100%;min-height:0;margin:0 auto;overflow:hidden;display:flex;flex-direction:column;color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-primary);box-shadow:0 10px 30px #00000080}.campaign-quick-edit-overlay{z-index:2200}.campaign-quick-edit-modal{width:min(940px,calc(100vw - 32px));max-height:min(840px,calc(100vh - 32px));display:flex;flex-direction:column;overflow:hidden;color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-primary);box-shadow:0 10px 30px #00000080}.campaign-quick-edit-title{display:inline-flex;align-items:center;gap:8px}.campaign-quick-edit-content{gap:14px;padding:18px}.campaign-quick-edit-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-secondary);font-size:13px}.campaign-quick-edit-summary strong{min-width:0;overflow:hidden;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap}.campaign-quick-edit-summary span{flex-shrink:0;color:var(--text-tertiary)}.campaign-quick-edit-empty{color:var(--text-secondary);font-size:13px}.campaign-quick-edit-modal .stepper-section-header.static{cursor:default}.campaign-quick-edit-modal .stepper-section-header.static:hover{background:linear-gradient(135deg,#34d3991f,#38bdf80f)}.campaign-quick-edit-number-field{max-width:340px}.campaign-quick-feedback-overlay{z-index:2800}.campaign-quick-feedback-modal{width:min(400px,calc(100vw - 32px));height:auto;min-height:0}.campaign-quick-feedback-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border-default)}.campaign-quick-feedback-header .section-title{display:flex;align-items:center;gap:8px;margin:0}.campaign-quick-feedback-body{padding:24px 16px;color:var(--text-primary);font-size:14px;text-align:center;white-space:pre-wrap}.campaign-quick-feedback-modal .modal-footer{display:flex;justify-content:center;padding:0 16px 24px}.stepper-modal .modal-header{min-height:62px;display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border-default);background:var(--bg-secondary)}.stepper-modal .modal-title{font-size:16px;font-weight:600}.stepper-modal .modal-footer{display:flex;flex-shrink:0;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--border-default);background:var(--bg-secondary)}.web-campaign-stepper{min-height:calc(100dvh - 60px)}.stepper-layout{min-height:0;flex:1;display:flex;overflow:hidden}.stepper-sidebar{width:260px;flex-shrink:0;display:flex;flex-direction:column;gap:4px;overflow-y:auto;padding:16px 12px;border-right:1px solid var(--border-default);background:var(--bg-secondary)}.stepper-step{padding:12px;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.stepper-step:hover{background:var(--bg-hover)}.stepper-step.active{border-color:#7c5cfc33;background:#7c5cfc14}.stepper-step-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.stepper-number{width:28px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);border:2px solid var(--border-default);border-radius:50%;background:var(--bg-tertiary);font-size:12px;font-weight:700;transition:all var(--transition-fast)}.stepper-number.complete{color:#fff;border-color:var(--accent-success);background:var(--accent-success)}.stepper-step-title{flex:1;color:var(--text-primary);font-size:13px;font-weight:600}.stepper-step-count{padding:2px 8px;color:var(--text-tertiary);border-radius:var(--radius-full);background:var(--bg-tertiary);font-size:11px;font-weight:500}.stepper-step-fields{display:flex;flex-direction:column;gap:4px;padding-left:38px}.stepper-field-item{display:flex;align-items:center;gap:8px;color:var(--text-tertiary);font-size:11px}.stepper-field-dot{width:8px;height:8px;flex-shrink:0;border:1.5px solid var(--border-hover);border-radius:50%;background:var(--bg-elevated);transition:all var(--transition-fast)}.stepper-field-dot.complete{border-color:var(--accent-success);background:var(--accent-success);box-shadow:0 0 4px #34d39966}.stepper-field-label{color:var(--text-tertiary);font-size:11px}.stepper-content{min-width:0;flex:1;display:flex;flex-direction:column;gap:20px;overflow-y:auto;padding:24px;background:var(--bg-primary)}.stepper-section{flex-shrink:0;overflow:hidden;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-secondary);transition:border-color var(--transition-fast)}.stepper-section.has-message-personalization{overflow:visible}.stepper-section.has-floating-dropdown{position:relative;z-index:20;overflow:visible}.stepper-section:hover{border-color:var(--border-hover)}.stepper-section-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;color:var(--text-secondary);border-bottom:1px solid var(--border-default);background:linear-gradient(135deg,#34d3991f,#38bdf80f);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition-fast)}.stepper-section-header:hover{background:linear-gradient(135deg,#34d3992e,#38bdf81a)}.stepper-section-header-left{display:flex;align-items:center;gap:10px}.stepper-section-num{width:24px;height:24px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;border-radius:50%;background:var(--accent-success);font-size:12px;font-weight:700}.stepper-section-title{color:var(--text-primary);font-size:14px;font-weight:600}.stepper-section-badge{padding:2px 8px;color:var(--accent-primary);border-radius:var(--radius-full);background:#7c5cfc26;font-size:11px;font-weight:600}.stepper-section-body{padding:20px;animation:fadeIn .2s ease}.stepper-form-group{min-width:0;margin-bottom:16px}.stepper-form-group label{display:block;margin-bottom:6px;color:var(--text-secondary);font-size:12px;font-weight:500}.stepper-form-group label .required{margin-left:2px;color:var(--accent-error)}.stepper-form-row{display:flex;gap:16px}.stepper-form-row>.stepper-form-group{flex:1}.stepper-form-group.compact-width{max-width:420px}.stepper-input,.stepper-textarea{width:100%;padding:9px 12px;color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);outline:none;background:var(--bg-tertiary);font-family:var(--font-family);font-size:13px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.stepper-textarea{min-height:120px;resize:vertical;line-height:1.55}.stepper-input:focus,.stepper-textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #7c5cfc1a}.stepper-input::placeholder,.stepper-textarea::placeholder{color:var(--text-tertiary)}.stepper-input:disabled,.stepper-textarea:disabled{opacity:.6;cursor:not-allowed}.campaign-action-platform-tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px}.campaign-action-platform-tag{min-height:32px;display:inline-flex;align-items:center;gap:8px;padding:6px 12px;color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-full);background:var(--bg-tertiary);font-family:var(--font-family);font-size:12px;font-weight:600;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.campaign-action-platform-tag:hover:not(:disabled){color:var(--text-primary);border-color:var(--border-hover);background:var(--bg-hover)}.campaign-action-platform-tag.is-active{color:var(--text-primary);border-color:#38bdf86b;background:#38bdf81f}.campaign-action-platform-tag.is-zalo.is-active{border-color:#38bdf87a;background:#38bdf821}.campaign-action-platform-mark{width:8px;height:8px;border-radius:var(--radius-full);background:var(--accent-info)}.campaign-action-platform-name{line-height:1}.campaign-account-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.campaign-account-label-row>label{margin:0}.campaign-account-label-row .btn{height:auto;padding:2px 8px}.account-select-trigger{display:flex;align-items:center;justify-content:space-between;cursor:pointer}.account-select-menu{position:absolute;z-index:40;width:100%;max-height:280px;overflow-y:auto;margin-top:4px;padding:6px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-primary);box-shadow:var(--shadow-lg)}.stepper-form-group:has(.account-select-menu){position:relative;z-index:30}.account-checkbox-list{display:flex;flex-direction:column;gap:3px}.account-select-group{overflow:hidden;border:1px solid var(--border-default);border-radius:var(--radius-sm)}.account-checkbox-option{min-height:32px;display:flex;align-items:center;gap:8px;padding:6px 9px;color:var(--text-secondary);cursor:pointer}.stepper-form-group .account-checkbox-option{display:flex}.account-checkbox-option input[type=checkbox],.account-checkbox-option input[type=radio]{flex:0 0 auto;width:15px;min-width:15px;height:15px;min-height:0;margin:0;padding:0;accent-color:var(--accent-primary)}.account-checkbox-option:hover{color:var(--text-primary);background:var(--bg-hover)}.account-select-group-row{background:var(--bg-tertiary);font-weight:600}.account-select-group-items{padding:3px 0 3px 18px;background:var(--bg-secondary)}.account-select-account-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-select-account-name{color:var(--text-primary)}.account-select-login-status{color:var(--text-tertiary);font-size:11px}.account-select-login-status.is-success{color:var(--green)}.account-select-login-status.is-danger{color:var(--red)}.account-select-login-status.is-warning{color:var(--amber)}.account-select-login-status.is-muted{color:var(--text-tertiary)}.campaign-data-source-modes{display:grid;grid-template-columns:1fr 1fr;gap:12px}.campaign-data-source-mode{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border:1.5px solid var(--border-default);border-radius:12px;cursor:pointer;background:var(--bg-primary);transition:border-color .15s,background .15s}.campaign-data-source-mode:hover{border-color:var(--accent-primary)}.campaign-data-source-mode.selected{border-color:var(--accent-primary);background:var(--bg-accent-subtle)}.campaign-data-source-mode>input{position:absolute;opacity:0;width:0;height:0}.campaign-data-source-radio{flex:0 0 auto;width:18px;height:18px;margin-top:2px;border-radius:50%;border:2px solid var(--border-default);position:relative;box-sizing:border-box}.campaign-data-source-mode.selected .campaign-data-source-radio{border-color:var(--accent-primary)}.campaign-data-source-mode.selected .campaign-data-source-radio:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;background:var(--accent-primary)}.campaign-data-source-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.campaign-data-source-copy strong{font-size:13px;font-weight:600;color:var(--text-primary)}.campaign-data-source-copy small{font-size:11px;line-height:1.4;color:var(--text-tertiary)}.campaign-data-group-picker{margin-top:14px}@media(max-width:640px){.campaign-data-source-modes{grid-template-columns:1fr}}.schedule-radio-group,.schedule-weekday-group{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.schedule-radio-label,.schedule-checkbox-label{display:inline-flex!important;align-items:center;gap:8px;margin:0!important;color:var(--text-secondary);cursor:pointer}.schedule-radio-label input,.schedule-checkbox-label input{width:15px;height:15px;min-height:0;flex:0 0 15px;padding:0;accent-color:var(--accent-primary)}.schedule-hint{display:block;margin-top:5px;color:var(--text-tertiary);font-size:11px;line-height:1.5}.schedule-hint-inline{color:var(--text-tertiary);font-size:11px}.schedule-option-label{margin:4px 0 16px!important}.schedule-run-row{align-items:flex-end}.schedule-time-field{flex:0 0 150px!important}.schedule-date-field,.schedule-end-date-field{flex:0 0 190px!important}.schedule-placeholder-field{visibility:hidden}.campaign-stop-time{max-width:320px}.campaign-stop-time>.schedule-checkbox-label{margin-bottom:6px!important}.schedule-multi-window-panel{overflow:hidden;margin-top:18px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-tertiary)}.schedule-multi-window-panel>header,.schedule-multi-window-header{display:block;padding:10px 12px;color:var(--text-primary);border-bottom:1px solid var(--border-default);background:var(--bg-elevated);font-size:12px;font-weight:600}.schedule-multi-window-panel>div,.schedule-multi-window-body{padding:12px}.schedule-multi-window-panel .stepper-input{max-width:360px;margin-top:10px}.schedule-multi-window-panel p,.schedule-multi-window-notes{margin:10px 0 0;color:var(--text-tertiary);font-size:11px;line-height:1.55}.stepper-input-unit-wrap{position:relative}.stepper-input-with-unit{padding-right:74px}.stepper-input-unit{position:absolute;top:50%;right:12px;color:var(--text-tertiary);font-size:11px;transform:translateY(-50%);pointer-events:none}.action-limit-card-list{display:flex;flex-direction:column;gap:12px}.action-limit-card{padding:14px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-tertiary)}.action-limit-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.action-limit-card-header strong{color:var(--text-primary);font-size:13px}.action-limit-card .stepper-form-row{margin:0}.action-limit-hour-group,.action-limit-minute-field{flex:1}.action-limit-hour-label-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin-bottom:6px}.action-limit-hour-label-row label{margin-bottom:0}.action-limit-minute-toggle{padding:0;color:var(--accent-primary);border:0;background:transparent;font-size:12px;font-weight:600;cursor:pointer}.action-limit-minute-toggle:hover{text-decoration:underline}.action-limit-minute-field.is-hidden{visibility:hidden}.action-limit-continue-option{margin-top:16px!important}.action-limit-continue-note{margin-left:23px}.campaign-limit-sleep{max-width:340px}.account-group-campaign-note{margin:10px 0;padding:9px 11px;color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-elevated);font-size:12px;line-height:1.45}.campaign-materialized-hint,.campaign-missing-selection-hint{margin-top:8px}.campaign-option-title{margin-bottom:12px;color:var(--text-primary);font-size:13px;font-weight:600}.campaign-option-narrow{max-width:260px}.campaign-option-medium{max-width:420px}.campaign-internal-sms-body{display:flex;flex-direction:column;gap:12px;margin-top:10px;padding-left:4px}.campaign-internal-sms-account-list,.campaign-internal-sms-status-list{display:flex;flex-wrap:wrap;gap:8px 16px}.campaign-option-spaced{margin-top:14px!important}.campaign-option-error{margin-top:4px}.campaign-form-divider{height:1px;margin:16px 0;background:var(--border-default)}.campaign-option-check-list{display:grid;gap:10px;margin-bottom:16px}.campaign-option-selection-list{display:grid;gap:8px;max-height:220px;overflow-y:auto;margin-top:8px;padding:10px;border:1px solid var(--border-default);border-radius:var(--radius-sm)}.campaign-option-italic{margin-top:16px;color:var(--text-secondary);font-style:italic}.campaign-inline-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.campaign-realtime-toolbar{align-items:flex-end}.campaign-realtime-toolbar>.stepper-form-group:first-child{min-width:360px;flex:1 1 360px}.campaign-realtime-end-date{max-width:280px;flex:0 0 280px!important}.campaign-group-target-field{min-width:360px;flex:1 1 520px!important}.campaign-option-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.campaign-option-label-row>label{margin-bottom:0}.message-personalization-field-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.message-personalization-field-title{min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.message-personalization-field-title>label{margin:0}.message-personalization-field-count{flex-shrink:0;color:var(--text-tertiary);font-size:11px}.message-personalization-field-count[data-invalid=true]{color:var(--accent-error)}.field-token-dropdown{position:static}.field-token-dropdown .message-template-token-row{margin-left:4px}.zalo-friend-blocklist-picker{display:flex;align-items:center;gap:8px;margin-top:10px}.zalo-friend-blocklist-picker .stepper-input{max-width:360px}.zalo-group-combobox{position:relative;min-width:min(320px,100%);flex:1 1 320px}.zalo-group-combobox-input-wrap{position:relative;display:flex;align-items:center}.zalo-group-combobox-input{padding-right:38px;padding-left:34px}.zalo-group-combobox-search-icon{position:absolute;left:11px;z-index:1;color:var(--text-tertiary);pointer-events:none}.zalo-group-combobox-toggle{position:absolute;right:5px}.zalo-group-combobox-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:90;width:100%;max-height:250px;overflow-y:auto;padding:5px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-primary);box-shadow:var(--shadow-lg)}.zalo-group-combobox-option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 9px;color:var(--text-secondary);border:0;border-radius:5px;background:transparent;text-align:left;cursor:pointer}.zalo-group-combobox-option:hover,.zalo-group-combobox-option.is-selected{color:var(--text-primary);background:var(--bg-hover)}.zalo-group-combobox-option.is-selected{color:var(--accent-primary)}.zalo-group-combobox-option-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zalo-group-combobox-empty{padding:14px 9px;color:var(--text-tertiary);text-align:center}.campaign-content-mode-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:16px}.campaign-content-mode-segmented{display:inline-flex;align-items:center;gap:4px;width:fit-content;padding:3px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-tertiary)}.campaign-content-mode-segmented button{min-width:96px;padding:7px 12px;color:var(--text-secondary);border:0;border-radius:var(--radius-sm);background:transparent;font-size:13px;font-weight:600;line-height:1.3;cursor:pointer}.campaign-content-mode-segmented button.active{color:var(--text-primary);background:var(--bg-primary);box-shadow:var(--shadow-sm)}.campaign-content-mode-segmented button:hover:not(.active){color:var(--text-primary)}.campaign-content-mode-note{flex:1 1 360px;max-width:760px;color:var(--text-tertiary);font-size:12px;line-height:1.45}.campaign-message-content-layout{display:flex;flex-direction:column}.campaign-message-content-tools{margin-bottom:10px}.content-editor-toolbar-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px}.ai-content-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.ai-content-count-label{margin:0!important;color:var(--text-secondary);font-size:11px!important}.ai-content-count-input{width:68px;min-height:31px;padding:5px 8px}.ai-content-action-button{min-height:31px}.content-template-inline-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:3px}.content-template-inline-button{min-height:30px;padding:4px 7px;font-size:11px}.message-personalization-dropdown{position:relative}.message-personalization-popover{position:absolute;top:calc(100% + 5px);left:0;z-index:80;width:min(540px,75vw);padding:12px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-primary);box-shadow:var(--shadow-lg);transform:none}.message-template-token-row{display:flex;flex-wrap:wrap;gap:6px}.message-template-token{padding:5px 8px;color:var(--accent-primary);border:1px solid rgba(124,92,252,.25);border-radius:var(--radius-sm);background:#7c5cfc17;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:10px;cursor:pointer}.message-template-token:hover{border-color:var(--accent-primary);background:#7c5cfc29}.campaign-content-template-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.campaign-content-template-layout .stepper-form-group{margin-bottom:0}.message-content-textarea{min-height:150px}.formatted-content-editor{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-tertiary)}.formatted-content-editor.is-loading{padding:16px;color:var(--text-tertiary);font-size:12px}.formatted-content-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:6px;border-bottom:1px solid var(--border-default);background:var(--bg-secondary)}.formatted-content-tool{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 6px;color:var(--text-secondary);border:1px solid transparent;border-radius:5px;background:transparent;cursor:pointer}.formatted-content-tool:hover:not(:disabled){color:var(--text-primary);background:var(--bg-tertiary)}.formatted-content-tool.is-active{color:var(--accent-primary);border-color:color-mix(in srgb,var(--accent-primary) 35%,transparent);background:color-mix(in srgb,var(--accent-primary) 12%,transparent)}.formatted-content-tool:disabled{opacity:.5;cursor:not-allowed}.formatted-content-tool-text{font-size:12px;font-weight:600}.formatted-content-tool-divider{width:1px;height:18px;margin:0 4px;background:var(--border-default)}.formatted-content-surface .tiptap{min-height:150px;max-height:420px;overflow-y:auto;padding:10px 12px;color:var(--text-primary);outline:0;font-size:13px;line-height:1.55}.formatted-content-surface .tiptap p{margin:0 0 6px}.formatted-content-surface .tiptap p:last-child{margin-bottom:0}.formatted-content-surface .tiptap h1{margin:0 0 6px;font-size:18px}.formatted-content-surface .tiptap h2{margin:0 0 6px;font-size:16px}.formatted-content-surface .tiptap h3{margin:0 0 6px;font-size:14px}.formatted-content-surface .tiptap ul,.formatted-content-surface .tiptap ol{margin:0 0 6px;padding-left:22px}.formatted-content-surface .tiptap blockquote{margin:0 0 6px;padding-left:10px;border-left:3px solid var(--border-default);color:var(--text-secondary)}.formatted-content-surface .tiptap a{color:var(--accent-primary);text-decoration:underline}.campaign-content-hint{margin-top:5px;color:var(--text-tertiary);font-size:11px}.campaign-rewrite-run-toggle{margin-top:12px!important}.sms-content-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}.sms-content-counts,.sms-content-options{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.sms-content-count-chip{padding:3px 7px;color:var(--accent-info);border-radius:var(--radius-sm);background:#38bdf81a;font-size:10px;font-weight:600}.campaign-simple-media-panel{margin-top:24px;padding-top:16px;border-top:1px solid var(--border-default)}.campaign-simple-media-title{margin-bottom:16px;color:var(--text-primary);font-size:13px;font-weight:600}.campaign-simple-media-layout{display:flex;gap:24px;align-items:flex-start}.campaign-simple-media-options{flex:0 0 350px;display:flex;flex-direction:column;align-items:flex-start;gap:16px}.campaign-advanced-random-media-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) 64px;align-items:center;gap:10px}.campaign-advanced-random-media-row .stepper-input{width:64px;padding:4px 8px}.campaign-advanced-media-selected{min-width:0}.campaign-advanced-media-selected-title{margin-bottom:8px;color:var(--text-primary);font-size:13px;font-weight:600}.campaign-simple-media-table-wrap{max-height:300px}.campaign-simple-media-table-wrap .campaign-grid th{position:sticky;top:0;z-index:1}.campaign-advanced-media-table-wrap{max-height:220px;margin:0;overflow-y:auto}.campaign-media-table-preview{width:30px;height:30px;display:block;margin:auto;border-radius:4px;object-fit:cover}.campaign-grid-media-preview-col,.campaign-grid-action-col{width:44px}.campaign-advanced-content-editor{display:flex;flex-direction:column;gap:12px}.campaign-advanced-content-header,.campaign-advanced-content-card-header,.campaign-advanced-media-options,.campaign-advanced-random-media-row,.campaign-advanced-content-actions{display:flex;align-items:center;gap:10px}.campaign-advanced-content-header{justify-content:space-between;flex-wrap:wrap;gap:8px}.campaign-advanced-content-heading{display:flex;flex-direction:column;gap:2px}.campaign-advanced-content-header strong,.campaign-advanced-content-card-header strong{color:var(--text-primary);font-size:13px}.campaign-advanced-content-count{color:var(--text-tertiary);font-size:12px}.campaign-advanced-content-card,.campaign-advanced-content-empty{border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-primary)}.campaign-advanced-content-entry{display:flex;flex-direction:column;gap:8px}.campaign-advanced-content-card{display:flex;flex-direction:column;gap:12px;padding:12px}.campaign-advanced-content-card-header{justify-content:space-between}.campaign-advanced-content-actions{display:flex;gap:10px}.campaign-advanced-media-panel{display:flex;flex-direction:column;gap:10px;padding-top:4px}.campaign-advanced-media-layout{display:flex;gap:24px;align-items:flex-start}.campaign-advanced-media-options{flex:0 0 350px;flex-direction:column;flex-wrap:wrap;align-items:flex-start;gap:12px}.campaign-advanced-media-selected{flex:1;min-width:0}.campaign-advanced-content-add-row{display:flex;justify-content:flex-start}.campaign-advanced-content-empty{padding:20px;color:var(--text-tertiary);font-size:13px;text-align:center}.campaign-advanced-group-note{margin:0;color:var(--text-secondary);font-size:12px;line-height:1.5}.campaign-advanced-group-picker>label{display:block;margin-bottom:7px;color:var(--text-secondary);font-size:12.5px;font-weight:600}.campaign-advanced-group-picker-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.campaign-advanced-group-select-wrap{position:relative;display:flex;align-items:center;flex:1 1 300px;min-width:240px}.campaign-advanced-group-select{width:100%;height:44px;-moz-appearance:none;appearance:none;-webkit-appearance:none;padding:0 42px 0 14px;border:1px solid var(--border-default);border-radius:10px;outline:none;color:var(--text-primary);background:var(--bg-secondary);font-family:inherit;font-size:13px;font-weight:600;line-height:1.4;text-overflow:ellipsis;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.campaign-advanced-group-select:hover:not(:disabled){border-color:var(--border-hover);background:var(--bg-elevated)}.campaign-advanced-group-select:focus{border-color:var(--accent-primary);background:var(--bg-elevated);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-primary) 14%,transparent)}.campaign-advanced-group-select:disabled{color:var(--text-tertiary);cursor:not-allowed;opacity:.7}.campaign-advanced-group-select option{color:var(--text-primary);background:var(--bg-secondary);font-weight:500}.campaign-advanced-group-select-wrap>svg{position:absolute;right:13px;color:var(--text-tertiary);pointer-events:none;transition:color var(--transition-fast)}.campaign-advanced-group-select-wrap:hover>svg,.campaign-advanced-group-select-wrap:focus-within>svg{color:var(--accent-primary)}button.campaign-advanced-group-refresh.btn-icon:not(.btn){width:38px;height:38px}.campaign-advanced-group-row-action,.campaign-advanced-group-manage{min-height:42px;gap:7px;padding:0 13px;white-space:nowrap}.campaign-advanced-group-manage{border-style:dashed;border-color:color-mix(in srgb,var(--accent-primary) 48%,var(--border-default));color:var(--accent-primary);background:var(--bg-accent-subtle)}.campaign-advanced-group-summary{margin-top:14px;overflow:hidden;border:1px solid var(--border-default);border-radius:11px;background:color-mix(in srgb,var(--bg-elevated) 64%,var(--bg-primary))}.campaign-advanced-group-summary.has-warning{border-color:color-mix(in srgb,var(--accent-error) 42%,var(--border-default))}.campaign-advanced-group-summary-header{display:flex;align-items:center;gap:12px;padding:13px 14px;border-bottom:1px solid var(--border-default)}.campaign-advanced-group-summary-icon{display:inline-grid;flex:0 0 auto;place-items:center;width:42px;height:42px;border-radius:11px;color:var(--accent-primary);border:1px solid color-mix(in srgb,var(--accent-primary) 26%,var(--border-default));background:var(--bg-accent-subtle)}.campaign-advanced-group-summary-copy{flex:1 1 auto;min-width:0;color:var(--text-tertiary);font-size:12px}.campaign-advanced-group-summary-title{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-bottom:2px}.campaign-advanced-group-summary-title strong{overflow:hidden;color:var(--text-primary);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.campaign-advanced-group-badges{display:flex;flex-wrap:wrap;gap:6px;padding:11px 14px 13px}.campaign-advanced-group-badges>span:not(.content-template-picker-channel-badge){display:inline-flex;align-items:center;padding:3px 8px;border:1px solid var(--border-default);border-radius:var(--radius-full);color:var(--text-secondary);background:var(--bg-primary);font-size:10.5px;font-weight:700}.campaign-advanced-group-badges>span.active{border-color:color-mix(in srgb,var(--accent-success) 34%,var(--border-default));color:var(--accent-success);background:color-mix(in srgb,var(--accent-success) 10%,var(--bg-primary))}.campaign-advanced-group-badges>span.error{border-color:color-mix(in srgb,var(--accent-error) 34%,var(--border-default));color:var(--accent-error);background:color-mix(in srgb,var(--accent-error) 9%,var(--bg-primary))}.campaign-advanced-source-card{overflow:hidden;border:1px solid var(--border-default);border-radius:12px;background:color-mix(in srgb,var(--bg-elevated) 64%,var(--bg-primary))}.campaign-advanced-source-card-header{display:flex;align-items:center;gap:12px;padding:14px;border-bottom:1px solid var(--border-default)}.campaign-advanced-source-card-icon{display:inline-grid;flex:0 0 auto;place-items:center;width:40px;height:40px;border-radius:11px;color:var(--accent-primary);border:1px solid color-mix(in srgb,var(--accent-primary) 26%,var(--border-default));background:var(--bg-accent-subtle)}.campaign-advanced-source-card-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.campaign-advanced-source-card-copy strong{color:var(--text-primary);font-size:14px}.campaign-advanced-source-card-copy span{color:var(--text-tertiary);font-size:12px;line-height:1.5}.campaign-advanced-source-card-body{padding:14px}.campaign-advanced-source-card-body .campaign-advanced-group-summary{background:var(--bg-primary)}.campaign-advanced-group-summary-detail{display:flex;align-items:flex-start;gap:8px;padding:0 14px 13px;font-size:12px}.campaign-advanced-group-summary-detail>svg{flex:0 0 auto;margin-top:1px;color:var(--accent-success)}.campaign-advanced-group-summary-detail span{color:var(--text-secondary);line-height:1.5}.campaign-group-preview-title{display:flex;align-items:center;gap:10px;min-width:0}.campaign-group-preview-title .campaign-advanced-group-summary-icon{width:36px;height:36px}.campaign-group-preview-title-copy{display:flex;flex-direction:column;min-width:0}.campaign-group-preview-subtitle{color:var(--text-tertiary);font-size:12px;font-weight:400}.campaign-group-preview-status{display:inline-flex;align-items:center;flex:0 0 auto}.campaign-group-preview-status.will-use{color:var(--accent-success)}.campaign-group-preview-status.skipped{color:var(--accent-error)}.campaign-group-preview-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.campaign-group-preview-tab{padding:5px 12px;color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-full);background:var(--bg-tertiary);font-size:12px;font-weight:600;cursor:pointer}.campaign-group-preview-tab.active{color:#fff;border-color:var(--accent-primary);background:var(--accent-primary)}.campaign-group-preview-tab.unavailable{opacity:.5}.campaign-group-preview-footer-note{margin-right:auto;color:var(--text-tertiary);font-size:12px}.campaign-advanced-group-warning{margin:0 14px 13px;padding:9px 11px;border:1px solid color-mix(in srgb,var(--accent-error) 34%,var(--border-default));border-radius:var(--radius-md);color:var(--accent-error);background:color-mix(in srgb,var(--accent-error) 8%,var(--bg-primary));font-size:11.5px;line-height:1.5}.campaign-advanced-group-empty{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:14px;padding:13px 14px;border:1px dashed var(--border-default);border-radius:var(--radius-md);color:var(--text-tertiary);background:var(--bg-tertiary);font-size:12px;line-height:1.5}.campaign-advanced-group-empty strong{color:var(--text-secondary)}.campaign-advanced-group-items{display:flex;flex-direction:column;gap:8px}.campaign-advanced-group-item{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-primary)}.campaign-advanced-group-item-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.campaign-advanced-group-item-title{display:flex;align-items:baseline;gap:8px;min-width:0}.campaign-advanced-group-item-title strong{color:var(--text-primary);font-size:13px}.campaign-advanced-group-item-source{overflow:hidden;color:var(--text-tertiary);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.campaign-advanced-group-item-preview{margin:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-secondary);font-size:12px;line-height:1.5}.campaign-advanced-group-item-media{display:inline-flex;align-items:center;gap:5px;color:var(--text-tertiary);font-size:11px}.campaign-quick-toggle-row{display:flex;flex-wrap:wrap;gap:14px 22px;margin-bottom:16px}.campaign-quick-media-panel{margin-top:18px;padding-top:14px;border-top:1px solid var(--border-default)}.campaign-quick-media-header{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.campaign-quick-media-header strong{color:var(--text-primary);font-size:13px}.campaign-quick-media-header span{color:var(--text-secondary);font-size:12px}.campaign-quick-media-layout{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:16px;align-items:start}.campaign-quick-media-options{display:flex;flex-direction:column;gap:12px;min-width:0}.campaign-quick-random-media-row{display:grid;grid-template-columns:minmax(0,1fr) 72px;gap:8px;align-items:center}.campaign-quick-media-table-wrap{margin:0;max-height:280px;overflow:auto}.campaign-quick-media-table-wrap .campaign-grid th{position:sticky;top:0;z-index:1}.stepper-grid-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.stepper-grid-container{width:100%;overflow:auto;border:1px solid var(--border-default);border-radius:var(--radius-md)}.campaign-grid{width:100%;border-collapse:collapse;color:var(--text-secondary);background:var(--bg-secondary);font-size:11px}.campaign-grid th{padding:9px 10px;color:var(--text-tertiary);border-bottom:1px solid var(--border-default);background:var(--bg-tertiary);font-size:10px;font-weight:700;text-align:left;white-space:nowrap}.campaign-grid td{padding:7px 10px;border-bottom:1px solid var(--border-default)}.campaign-grid tbody tr:last-child td{border-bottom:0}.campaign-grid input{width:100%;min-width:100px;padding:6px 8px;color:var(--text-primary);border:1px solid transparent;border-radius:4px;background:transparent;font:inherit}.campaign-grid input:focus{border-color:var(--accent-primary);outline:none;background:var(--bg-tertiary)}.campaign-grid input:disabled{color:var(--text-secondary)}.campaign-grid-index-col{width:50px;text-align:center!important}.text-center{text-align:center!important}.text-muted{color:var(--text-tertiary)!important}.text-error{color:var(--accent-error)!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-error{display:block;margin-top:5px;color:var(--accent-error);font-size:11px}.form-alert{padding:10px 12px;color:var(--accent-error);border:1px solid rgba(244,63,94,.35);border-radius:var(--radius-sm);background:#f43f5e14;font-size:12px}.content-template-picker-body{min-height:0;flex:1 1 auto;display:flex;flex-direction:column;gap:0;padding:0;overflow:hidden}.content-template-picker-toolbar{display:grid;grid-template-columns:minmax(200px,1fr) minmax(150px,220px) 34px;align-items:center;gap:8px;min-width:0;padding:12px 16px;border-bottom:1px solid var(--border-default)}.content-template-picker-search{height:38px;min-width:0;display:flex;align-items:center;gap:8px;padding:0 10px;color:var(--text-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-tertiary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.content-template-picker-search:hover{border-color:var(--border-hover)}.content-template-picker-search:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-primary) 12%,transparent)}.content-template-picker-search>svg{flex:0 0 auto}.content-template-picker-search input{flex:1 1 auto;min-width:0;width:100%;padding:0;color:var(--text-primary);border:0;outline:0;background:transparent;font-size:13px}.content-template-picker-search input::placeholder{color:var(--text-tertiary)}.content-template-picker-group-select{width:100%;min-width:0;height:38px;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0 32px 0 11px;color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);outline:none;background-color:var(--bg-tertiary);background-image:linear-gradient(45deg,transparent 50%,var(--text-tertiary) 50%),linear-gradient(135deg,var(--text-tertiary) 50%,transparent 50%);background-position:calc(100% - 15px) calc(50% - 2px),calc(100% - 10px) calc(50% - 2px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;font-family:var(--font-family);font-size:13px;cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.content-template-picker-group-select:hover:not(:disabled){border-color:var(--border-hover)}.content-template-picker-group-select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-primary) 12%,transparent)}.content-template-picker-group-select option{color:var(--text-primary);background:var(--bg-secondary)}button.content-template-picker-refresh.btn-icon:not(.btn){width:34px;height:34px;color:var(--text-secondary)}.content-template-picker-layout{display:grid;flex:1 1 auto;grid-template-columns:minmax(300px,340px) minmax(0,1fr);min-height:0;overflow:hidden}.content-template-picker-sidebar{display:flex;min-width:0;min-height:0;flex-direction:column;border-right:1px solid var(--border-default);background:var(--bg-primary)}.content-template-picker-pane-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px 10px;color:var(--text-primary);font-size:12px;font-weight:700}.content-template-picker-pane-header>span{min-width:25px;padding:2px 7px;border-radius:var(--radius-full);background:var(--bg-tertiary);color:var(--text-secondary);font-size:10.5px;font-weight:700;text-align:center}.content-template-picker-list{display:flex;flex:1 1 auto;flex-direction:column;gap:8px;min-height:0;padding:0 11px 12px;overflow-y:auto}.content-template-picker-item{position:relative;display:flex;flex:0 0 auto;flex-direction:column;gap:8px;width:100%;padding:12px 14px;color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-secondary);font-family:var(--font-family);text-align:left;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),transform var(--transition-fast)}.content-template-picker-item:hover{border-color:var(--accent-primary);background:var(--bg-elevated);transform:translateY(-1px)}.content-template-picker-item:focus-visible{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-primary) 12%,transparent)}.content-template-picker-item.is-selected{border-color:var(--accent-primary);background:var(--bg-accent-subtle);box-shadow:inset 3px 0 0 var(--accent-primary);transform:none}.content-template-picker-item-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-width:0}.content-template-picker-item-title{flex:1 1 auto;display:block;min-width:0;overflow:hidden;color:var(--text-primary);font-size:14px;font-weight:700;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.content-template-picker-item-meta{display:flex;align-items:center;flex-wrap:wrap;gap:5px;min-height:22px}.content-template-picker-group-badge,.content-template-picker-channel-badge{display:inline-flex;align-items:center;width:fit-content;min-width:0;padding:3px 7px;border:1px solid var(--border-default);border-radius:var(--radius-full);font-size:10.5px;font-weight:700;line-height:1.3}.content-template-picker-group-badge{max-width:240px;overflow:hidden;color:var(--text-secondary);background:var(--bg-tertiary);text-overflow:ellipsis;white-space:nowrap}.content-template-picker-channel-badge.sms{color:#f59e0b;background:#f59e0b1f;border-color:#f59e0b40}.content-template-picker-channel-badge.zalo_message{color:#1687ef;background:#1687ef1f;border-color:#1687ef40}.content-template-picker-item-excerpt{display:-webkit-box;margin:0;overflow:hidden;color:var(--text-secondary);font-size:12px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:anywhere;white-space:pre-line}.content-template-picker-item-footer{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;padding-top:8px;color:var(--text-tertiary);border-top:1px solid var(--border-default);font-size:11px;line-height:1.4}.content-template-picker-item-footer span:last-child:not(:first-child){margin-left:auto}.content-template-picker-empty{padding:24px;color:var(--text-secondary);border:1px dashed var(--border-default);border-radius:var(--radius-sm);font-size:13px;text-align:center}.content-template-picker-preview{display:flex;min-width:0;min-height:0;flex-direction:column;overflow:hidden;background:var(--bg-secondary)}.content-template-picker-preview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border-default);background:var(--bg-primary)}.content-template-picker-preview-header>div{min-width:0}.content-template-picker-preview-header strong{display:block;overflow:hidden;color:var(--text-primary);font-size:15px;text-overflow:ellipsis;white-space:nowrap}.content-template-picker-preview-header>div>span{display:block;margin-top:3px;color:var(--text-tertiary);font-size:11.5px}.content-template-picker-preview-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 12px;padding:10px 18px 0;color:var(--text-tertiary);font-size:11px}.content-template-picker-preview-meta strong{color:var(--text-primary);font-size:12px}.content-template-picker-preview-scroll{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:12px;padding:12px 18px 18px;overflow-y:auto}.content-template-picker-preview-images{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.content-template-picker-preview-image{aspect-ratio:1 / 1;overflow:hidden;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-tertiary)}.content-template-picker-preview-image img{width:100%;height:100%;object-fit:cover}.content-template-picker-preview-variants{display:flex;flex-direction:column;gap:10px}.content-template-picker-preview-variant{display:flex;flex-direction:column;gap:5px;padding:12px 14px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-primary)}.content-template-picker-preview-variant-label{color:var(--text-tertiary);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.content-template-picker-preview-plain{margin:0;color:var(--text-primary);font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.content-template-picker-preview-rich{color:var(--text-primary);font-size:13px;line-height:1.6;overflow-wrap:anywhere}.content-template-picker-preview-rich :first-child{margin-top:0}.content-template-picker-preview-rich :last-child{margin-bottom:0}.content-template-picker-preview-empty{display:flex;flex:1 1 auto;min-height:280px;align-items:center;justify-content:center;flex-direction:column;gap:7px;padding:28px;color:var(--text-tertiary);text-align:center}.content-template-picker-preview-empty strong{color:var(--text-secondary);font-size:13px}.content-template-picker-preview-empty span{font-size:11.5px}@media(max-width:760px){.content-template-picker-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(170px,36%) minmax(0,1fr)}.content-template-picker-sidebar{border-right:0;border-bottom:1px solid var(--border-default)}}@media(max-width:640px){.content-template-picker-toolbar{grid-template-columns:minmax(0,1fr) 34px}.content-template-picker-search{grid-column:1 / -1}.content-template-picker-group-select{grid-column:1}.content-template-picker-refresh{grid-column:2}}.content-template-save-body{display:flex;flex-direction:column;gap:2px}.content-preview-copy{display:flex;flex-direction:column;gap:10px}.content-preview-copy strong{color:var(--text-secondary);font-size:12px}.content-preview-copy p{min-height:120px;margin:0;padding:14px;color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-tertiary);white-space:pre-wrap}.campaign-media-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.campaign-media-picker label{position:relative;display:flex;flex-direction:column;gap:7px;padding:8px;color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-secondary);cursor:pointer}.campaign-media-picker label.selected{border-color:var(--accent-primary);background:var(--bg-accent-subtle)}.campaign-media-picker label>input{position:absolute;opacity:0}.campaign-media-picker label>span{height:84px;display:grid;place-items:center;overflow:hidden;border-radius:var(--radius-sm);background:var(--bg-tertiary)}.campaign-media-picker img{width:100%;height:100%;object-fit:cover}.campaign-media-picker strong{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.spin,.animate-spin{animation:spin .8s linear infinite}.log-entry{display:flex;align-items:flex-start;gap:10px;padding:7px 0;border-bottom:1px solid var(--border-default)}.log-meta{display:flex;flex-direction:column;align-items:flex-start;gap:3px;flex-shrink:0}.log-time{flex-shrink:0;color:var(--accent-primary);font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:10px;font-weight:500;opacity:.7}.log-source-server{flex-shrink:0;padding:1px 5px;color:var(--accent-primary);border:1px solid color-mix(in srgb,var(--accent-primary) 48%,transparent);border-radius:4px;background:color-mix(in srgb,var(--accent-primary) 14%,transparent);font-size:9px;font-weight:700;line-height:1.4;letter-spacing:.04em}.log-message{min-width:0;flex:1;color:var(--text-primary);white-space:pre-line;overflow-wrap:anywhere;word-break:break-word}@media(max-width:900px){.web-campaign-stepper{min-height:calc(100dvh - 112px);border-radius:0}.stepper-layout{flex-direction:column;overflow:visible}.stepper-sidebar{width:100%;flex-direction:row;overflow-x:auto;overflow-y:hidden;padding:8px;border-right:0;border-bottom:1px solid var(--border-default)}.stepper-step{min-width:180px}.stepper-step-fields{display:none}.stepper-step-header{margin-bottom:0}.stepper-content{overflow:visible;padding:12px}.campaign-content-mode-row{align-items:flex-start;flex-direction:column}.campaign-simple-media-layout,.campaign-advanced-media-layout{flex-direction:column}.campaign-simple-media-options,.campaign-advanced-media-options{width:100%;flex-basis:auto}.campaign-advanced-media-selected{width:100%}}@media(max-width:760px){.campaign-quick-media-layout{grid-template-columns:1fr}}@media(max-width:719px){.campaign-quick-edit-overlay{align-items:flex-end;padding:0}.campaign-quick-edit-modal{width:100%;max-height:94dvh;border-radius:var(--radius-md) var(--radius-md) 0 0}.campaign-quick-edit-summary{align-items:flex-start;flex-direction:column}.app-web-content.content:has(.web-campaign-stepper){padding:0 0 calc(70px + env(safe-area-inset-bottom))}.stepper-modal .modal-header{min-height:48px;padding:10px 12px}.stepper-modal .modal-footer{position:sticky;bottom:0;z-index:60;padding:10px 12px}.stepper-sidebar{position:sticky;top:calc(52px + env(safe-area-inset-top));z-index:50}.stepper-step{min-width:156px;padding:8px}.stepper-number{width:24px;height:24px}.stepper-step-title{font-size:11px}.stepper-step-count{font-size:9px}.stepper-content{gap:12px;padding:9px}.stepper-section-body{padding:12px}.stepper-form-row{flex-direction:column;gap:0}.campaign-realtime-toolbar>.stepper-form-group:first-child,.campaign-realtime-end-date,.campaign-group-target-field{min-width:0;max-width:none;flex-basis:auto!important}.zalo-friend-blocklist-picker{align-items:stretch;flex-direction:column}.schedule-time-field,.schedule-date-field,.schedule-end-date-field{flex-basis:auto!important}.schedule-placeholder-field{display:none}.content-editor-toolbar-row{align-items:stretch;flex-direction:column}.ai-content-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 68px}.ai-content-action-button{grid-column:1 / -1}.content-template-inline-toolbar{overflow-x:auto;flex-wrap:nowrap}.content-template-inline-button{flex:0 0 auto}.message-personalization-popover{position:fixed;top:auto;right:10px;bottom:calc(74px + env(safe-area-inset-bottom));left:10px;width:auto}.stepper-grid-toolbar .btn{flex:1 0 auto}.campaign-grid{min-width:680px}}.campaign-action-menu-item,.campaign-action-menu a.campaign-action-menu-item{min-height:32px;display:flex;width:100%;align-items:center;gap:8px;padding:8px;color:var(--text-secondary);border:0;border-radius:7px;background:transparent;font-size:11px;text-align:left}.campaign-action-menu-item:hover{color:var(--text-primary);background:var(--bg-hover)}.campaign-action-menu-item.disabled,.campaign-action-menu-item:disabled{cursor:not-allowed;opacity:.45}.campaign-action-menu-item.danger{color:var(--accent-error)}.campaign-action-menu-separator{height:1px;margin:4px 0;background:var(--border-default)}.campaign-progress-fill{background:var(--accent-success)}.campaign-note-badge{max-width:210px;overflow:hidden;padding:2px 6px;color:var(--accent-warning);border-radius:4px;background:color-mix(in srgb,var(--accent-warning) 12%,transparent);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.campaign-schedule-badge{width:fit-content;margin-top:2px!important;padding:2px 5px;color:var(--accent-primary)!important;border-radius:4px;background:var(--bg-accent-subtle);font-weight:650}.campaign-bulk-action-bar .danger{color:#faa}.campaign-clear-selection{color:var(--text-tertiary)!important}.is-spinning svg{animation:spin .8s linear infinite}.campaign-detail-dock{min-height:220px;max-height:42%;flex:0 0 240px;display:flex;flex-direction:column;color:var(--text-secondary);border-top:1px solid var(--border-default);background:var(--bg-secondary)}.detail-dock-resize-handle{height:5px;flex:0 0 5px;cursor:ns-resize;background:transparent;transition:background var(--transition-fast)}.detail-dock-resize-handle:hover,.detail-dock-resize-handle:active{background:var(--accent-primary)}.campaign-detail-dock.is-collapsed{min-height:42px;max-height:42px;flex-basis:42px}.campaign-detail-dock-header{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;border-bottom:1px solid var(--border-default);cursor:pointer}.campaign-detail-dock.is-collapsed .campaign-detail-dock-header{border-bottom:0}.campaign-detail-dock.is-collapsed .campaign-detail-dock-header svg{transform:rotate(180deg)}.campaign-detail-title{min-width:0;display:flex;align-items:center;gap:8px}.campaign-detail-title strong{overflow:hidden;color:var(--text-primary);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.campaign-detail-header-actions{display:flex;align-items:center;gap:6px}.campaign-detail-tabs{display:flex;gap:2px;padding:5px 8px 0;overflow-x:auto;border-bottom:1px solid var(--border-default)}.campaign-detail-tabs button{min-height:31px;display:inline-flex;align-items:center;gap:5px;padding:0 9px;color:var(--text-tertiary);border:0;border-bottom:2px solid transparent;background:transparent;font-size:10px;white-space:nowrap}.campaign-detail-tabs button.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary);font-weight:700}.campaign-detail-body{min-height:0;flex:1;overflow:auto;padding:0;background:var(--bg-secondary)}.campaign-detail-info-grid{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr));gap:7px}.campaign-detail-value{min-width:0;display:grid;gap:3px;padding:8px 9px;border:1px solid var(--border-default);border-radius:6px;background:var(--bg-tertiary)}.campaign-detail-value.is-wide{grid-column:1 / -1}.campaign-detail-value span{color:var(--text-tertiary);font-size:9px;text-transform:uppercase}.campaign-detail-value strong{overflow:hidden;color:var(--text-primary);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.campaign-detail-empty{margin:24px 0;color:var(--text-tertiary);font-size:11px;text-align:center}.campaign-detail-table{min-width:620px}.campaign-detail-table-head,.campaign-detail-table-row{display:grid;grid-template-columns:minmax(140px,1.3fr) minmax(120px,1fr) 100px minmax(140px,1fr);gap:8px;align-items:center;min-height:34px;padding:4px 8px;border-bottom:1px solid var(--border-default);font-size:10px}.campaign-detail-table-head{color:var(--text-tertiary);background:var(--bg-tertiary);font-weight:700;text-transform:uppercase}.campaign-detail-table-row strong{color:var(--text-primary)}.campaign-detail-history{display:grid;gap:5px}.campaign-detail-history-row{display:grid;grid-template-columns:126px minmax(0,1fr);gap:10px;padding:7px 8px;border-radius:6px;background:var(--bg-tertiary);font-size:10px}.campaign-detail-history-row time{color:var(--text-tertiary)}.campaign-detail-history-row.error span{color:var(--accent-error)}.campaign-detail-history-row.success span{color:var(--accent-success)}.campaign-detail-tab-panel{min-height:100%}.campaign-info-view{display:flex;flex-direction:column;gap:12px;padding:12px 14px 18px}.campaign-info-section-grid{display:grid;grid-template-columns:1fr;gap:12px;align-items:start}.campaign-info-card{min-width:0;overflow:hidden;border:1px solid var(--border-default);border-radius:8px;background:var(--bg-primary)}.campaign-info-card h4{margin:0;padding:10px 12px;color:var(--text-secondary);border-bottom:1px solid var(--border-default);background:var(--bg-secondary);font-size:12px;font-weight:700;line-height:1.3;text-transform:uppercase}.campaign-info-card-body{display:grid;grid-template-columns:1fr;max-width:860px}.campaign-info-row{min-width:0;display:grid;grid-template-columns:220px minmax(0,1fr);align-items:start;gap:28px;padding:11px 24px;border-bottom:1px solid var(--border-default)}.campaign-info-row:last-child{border-bottom:0}.campaign-info-label{min-width:0;color:var(--text-secondary);font-size:12px;font-weight:600}.campaign-info-value{min-width:0;max-width:100%;color:var(--text-primary);font-size:12px;line-height:1.45;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere}.campaign-info-chip-list{min-width:0;display:inline-flex;flex-wrap:wrap;justify-content:flex-start;gap:6px}.campaign-info-chip{min-height:22px;max-width:100%;display:inline-flex;align-items:center;padding:2px 8px;color:var(--text-primary);border:1px solid var(--border-default);border-radius:6px;background:var(--bg-tertiary);overflow-wrap:anywhere}.campaign-detail-data-view,.campaign-results-view,.campaign-run-history-view{min-height:100%;display:flex;flex-direction:column}.detail-export-bar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px;padding:10px 14px 12px;border-bottom:1px solid var(--border-default)}.detail-filter-controls{min-width:0;display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.detail-filter-dropdown-field{position:relative;display:flex;flex-direction:column;gap:4px}.detail-filter-dropdown-field>span,.report-date-grid label>span{color:var(--text-secondary);font-size:11px;font-weight:600}.detail-filter-range-field{width:220px}.detail-filter-status-field{width:180px}.detail-filter-search-field{width:260px}.campaign-detail-search-box{display:flex;align-items:center;gap:8px;width:100%;height:30px;padding:0 8px;color:var(--text-tertiary);border:1px solid var(--border-default);border-radius:6px;background:var(--bg-tertiary)}.campaign-detail-search-box:focus-within{border-color:var(--accent-primary)}.campaign-detail-search-box input{min-width:0;flex:1;height:100%;padding:0;color:var(--text-primary);border:0;outline:0;background:transparent;font-size:11px}.campaign-detail-search-box input::placeholder{color:var(--text-tertiary)}.report-filter-button.detail-filter-button{width:100%;height:30px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 8px;color:var(--text-primary);border:1px solid var(--border-default);border-radius:6px;background:var(--bg-tertiary);font-size:11px;text-align:left;cursor:pointer}.report-filter-button.detail-filter-button:hover,.report-filter-button.detail-filter-button.active{border-color:var(--accent-primary)}.report-filter-button.detail-filter-button strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-filter-popover.detail-filter-popover{position:absolute;top:calc(100% + 6px);left:0;z-index:90;width:100%;min-width:180px;overflow:hidden;padding:8px;border:1px solid var(--border-default);border-radius:8px;background:var(--bg-elevated);box-shadow:var(--shadow-lg)}.report-option-list{display:flex;flex-direction:column;gap:4px}.report-option-button{width:100%;min-height:30px;padding:5px 8px;color:var(--text-secondary);border:0;border-radius:5px;background:transparent;font-size:11px;text-align:left;cursor:pointer}.report-option-button:hover,.report-option-button.selected{color:var(--text-primary);background:var(--bg-hover)}.report-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border-default)}.report-date-grid label{min-width:0;display:flex;flex-direction:column;gap:4px}.report-date-grid input{min-width:0;width:100%;height:30px;padding:4px 6px;color:var(--text-primary);border:1px solid var(--border-default);border-radius:5px;background:var(--bg-tertiary);font-size:10px}.detail-filter-actions{margin-left:auto;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.input-data-origin-filter{width:auto;min-width:150px;min-height:30px;padding:0 8px;font-size:12px}.input-data-action-spinner{color:var(--text-tertiary)}.campaign-detail-notice{margin:0 14px 10px;padding:8px 10px;color:var(--text-secondary);border:1px solid var(--border-default);border-radius:6px;background:var(--bg-tertiary);font-size:11px}.campaign-detail-table-scroll{min-height:0;flex:1;overflow:auto}.campaign-detail-table-scroll .campaign-grid{min-width:720px;font-size:11px}.campaign-detail-table-scroll .campaign-grid th{position:sticky;top:0;z-index:1;background:var(--bg-tertiary)}.campaign-detail-data-table{min-width:1000px!important}.campaign-results-table{min-width:900px!important}.campaign-run-history-table{min-width:620px!important}.campaign-detail-checkbox-col{width:36px;min-width:36px}.campaign-detail-data-table input[type=checkbox]{width:14px;min-width:14px;height:14px;padding:0}.input-data-selected-row{background:color-mix(in srgb,var(--accent-primary) 8%,transparent)}.campaign-detail-content-cell{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.campaign-detail-nowrap{white-space:nowrap}.campaign-detail-log-cell{min-width:260px;max-width:360px;white-space:pre-line;overflow-wrap:anywhere}.campaign-detail-status{white-space:nowrap}.campaign-detail-status.status-thành-công,.campaign-detail-status.status-đã-gửi,.campaign-detail-status.status-đã-nhận,.campaign-detail-status.status-đã-xem,.campaign-detail-status.status-đã-click,.campaign-detail-status.status-hoàn-thành{color:var(--accent-success)}.campaign-detail-status.status-đang-chạy{color:var(--accent-primary)}.campaign-detail-status.status-thất-bại,.campaign-detail-status.status-không-tồn-tại,.campaign-detail-status.status-tạm-dừng{color:var(--accent-warning)}.campaign-detail-status.status-lỗi{color:var(--accent-error)}.campaign-detail-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 14px;color:var(--text-secondary);border-top:1px solid var(--border-default);font-size:11px}.campaign-detail-pagination>div{display:flex;align-items:center;gap:8px}.account-info-dock-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border-default)}.account-info-dock-title{color:var(--text-primary);font-size:13px;font-weight:600}.account-info-subtitle{margin-top:3px;color:var(--text-secondary);font-size:12px}.account-info-header-actions{display:flex;align-items:center;gap:6px}.account-info-body{display:flex;flex-direction:column;gap:14px}.account-info-body-dock{padding:12px 14px 16px}.account-info-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.account-info-field{min-width:0;padding:10px 12px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-elevated)}.account-info-field span{display:block;margin-bottom:4px;color:var(--text-tertiary);font-size:10px;text-transform:uppercase}.account-info-field strong{color:var(--text-primary);font-size:13px;overflow-wrap:anywhere}.account-info-error{display:flex;align-items:center;gap:8px;padding:9px 11px;color:var(--accent-error);border:1px solid rgba(244,63,94,.2);border-radius:var(--radius-md);background:#f43f5e14;font-size:12px}.account-info-actions-title{color:var(--text-primary);font-size:13px;font-weight:600}.account-info-loading{padding:18px 0}.account-info-actions-table{font-size:12px}.account-info-run-now-btn{white-space:nowrap}.account-info-status{display:inline-flex;align-items:center;gap:5px;font-weight:600;white-space:nowrap}.account-info-status-ok{color:var(--accent-success)}.account-info-status-limited{color:var(--accent-warning)}@media(max-width:900px){.campaign-info-row{grid-template-columns:minmax(150px,34%) minmax(0,1fr);gap:12px;padding:11px 12px}.account-info-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.campaign-info-view{padding:9px}.campaign-info-row{grid-template-columns:1fr;gap:5px}.detail-export-bar{align-items:stretch;flex-direction:column;padding:9px}.detail-filter-controls,.detail-filter-actions{width:100%}.detail-filter-range-field,.detail-filter-status-field{width:calc(50% - 4px)}.detail-filter-search-field{width:100%}.detail-filter-actions .btn{flex:1}.campaign-detail-pagination{align-items:stretch;flex-direction:column}.campaign-detail-pagination>div{justify-content:space-between}.account-info-summary{grid-template-columns:1fr}}.mobile-filter-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:220;display:none;align-items:flex-end;background:#05081094;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.mobile-filter-sheet{width:100%;max-height:91dvh;display:flex;flex-direction:column;color:var(--text-primary);border-radius:16px 16px 0 0;background:var(--bg-secondary);box-shadow:0 -18px 50px #00000042}.mobile-filter-sheet>header{min-height:50px;display:flex;align-items:center;justify-content:space-between;padding:8px 13px;border-bottom:1px solid var(--border-default)}.mobile-filter-sheet>header strong{font-size:13px}.mobile-filter-content{min-height:0;overflow-y:auto;padding:12px 12px 18px}.mobile-filter-sheet>footer{display:grid;grid-template-columns:1fr 1.4fr;gap:8px;padding:9px 12px calc(9px + env(safe-area-inset-bottom));border-top:1px solid var(--border-default)}.mobile-filter-group{min-width:0;margin:0 0 15px;padding:0;border:0}.mobile-filter-group legend{display:flex;align-items:center;gap:6px;margin-bottom:8px;color:var(--text-secondary);font-size:11px;font-weight:700}.mobile-filter-chip-grid{display:flex;flex-wrap:wrap;gap:6px}.mobile-filter-chip-grid button{min-height:34px;padding:0 10px;color:var(--text-secondary);border:1px solid var(--border-default);border-radius:999px;background:var(--bg-tertiary);font-size:10px}.mobile-filter-chip-grid button.selected{color:var(--accent-primary);border-color:var(--accent-primary);background:var(--bg-accent-subtle);font-weight:700}.mobile-filter-option-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.mobile-filter-option-list button{min-width:0;min-height:38px;display:flex;align-items:center;gap:7px;padding:6px 8px;color:var(--text-secondary);border:1px solid var(--border-default);border-radius:7px;background:var(--bg-tertiary);font-size:10px;text-align:left}.mobile-filter-option-list button.selected{color:var(--accent-primary);border-color:color-mix(in srgb,var(--accent-primary) 50%,var(--border-default))}.mobile-custom-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:-6px 0 15px}.mobile-custom-date-grid label{display:grid;gap:4px;color:var(--text-tertiary);font-size:9px}.mobile-custom-date-grid input{min-height:38px;padding:0 8px;color:var(--text-primary);border-color:var(--border-default);background:var(--bg-tertiary);font-size:10px}@media(max-width:719px){.detail-dock-resize-handle,.desktop-campaign-filters{display:none}.campaign-filter-mobile-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.mobile-filter-backdrop{display:flex}.campaign-list-filter-panel{position:sticky;top:calc(52px + env(safe-area-inset-top));z-index:30;padding:7px}.campaign-mobile-filter-button{min-width:92px}.campaign-work-area.has-detail.detail-open .campaign-table-scroll{display:none}.campaign-work-area.has-detail .campaign-detail-dock.is-open{position:fixed;inset:calc(52px + env(safe-area-inset-top)) 0 calc(62px + env(safe-area-inset-bottom));z-index:120;height:auto!important;max-height:none;flex-basis:auto!important;border-top:0;background:var(--bg-primary)}.campaign-work-area:not(.has-detail) .campaign-detail-dock{display:none}.campaign-detail-dock.is-collapsed{display:none}.campaign-detail-dock-header{min-height:50px;padding:8px 12px}.campaign-detail-tabs{padding-inline:7px}.campaign-detail-tabs button{min-height:38px}.campaign-detail-body{padding:9px}.campaign-detail-info-grid{grid-template-columns:1fr 1fr}.campaign-detail-edit{min-height:32px}.compact-campaign-table{gap:8px;padding:7px}.campaign-table-row{grid-template-columns:minmax(0,1fr) auto}.campaign-table-row .col-toggle{grid-column:2;grid-row:1;align-self:start}.campaign-table-row .col-progress{grid-column:1 / -1;grid-row:2;padding-top:8px;border-top:1px dashed var(--border-default)}.campaign-table-row .col-assistant{grid-column:1 / -1;grid-row:3}.campaign-table-row .col-action{grid-column:1 / -1;grid-row:4;justify-content:flex-start}.campaign-table-row .col-account{grid-column:1 / -1;grid-row:5}.campaign-table-row .col-send-date{grid-column:1 / -1;grid-row:6}.campaign-table-row .col-update-date{display:none}.campaign-row-action-button{min-height:34px}.campaign-action-menu{top:37px;right:auto;left:0}.campaign-table-row:nth-last-child(-n+3) .campaign-action-menu{top:auto;bottom:37px}.campaign-bulk-action-bar.selection-bar{align-items:flex-start}.campaign-bulk-action-bar .bulk-action-buttons{flex-wrap:wrap;justify-content:flex-end}.campaign-bulk-action-bar .bulk-action-buttons button{min-height:30px}}*{box-sizing:border-box}html{min-height:100%;background:#dfe8f2}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 80% -10%,#e7eef7 0,transparent 26rem),#dfe8f2}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}svg{flex:0 0 auto}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:20;width:252px;display:flex;flex-direction:column;padding:24px 16px 18px;color:#e8e8f0;border-right:1px solid #2a2a3e;background:linear-gradient(180deg,#12121a,#0a0a0f)}.brand{display:flex;align-items:center;gap:11px;padding:0 10px 27px}.brand-mark{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:10px;color:#fff;font-size:24px;font-weight:700;background:linear-gradient(145deg,#7c5cfc,#5c8cfc);box-shadow:0 8px 18px #7c5cfc4d}.brand div{display:grid;line-height:1.2}.brand strong{color:#fff;font-size:18px}.brand small{color:#a0a0b8;font-size:11px;letter-spacing:.04em;text-transform:uppercase}.sidebar nav{display:grid;gap:5px}.nav-link{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 13px;border-radius:8px;color:#a0a0b8;font-size:14px;font-weight:500;transition:.18s}.nav-link:hover{color:#fff;background:#ffffff0f}.nav-link.active{color:#fff;background:#7c5cfc38;box-shadow:inset 0 0 0 1px #a78bfa33}.sidebar-foot{margin-top:auto;padding-top:18px;border-top:1px solid rgba(255,255,255,.08)}.server-state{display:flex;align-items:center;gap:8px;margin:0 8px 16px;color:#a0a0b8;font-size:11px}.server-state>span{width:8px;height:8px;border-radius:50%;background:#7d89a8}.server-state.connected>span{background:#36d49c;box-shadow:0 0 0 4px #36d49c21}.server-state.connecting>span{background:#f4ba4a}.user-mini{display:flex;align-items:center;gap:10px;padding:10px 8px;border-radius:12px;background:#ffffff0a}.user-mini div{display:grid;min-width:0}.user-mini strong{overflow:hidden;color:#fff;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.user-mini small{color:#a0a0b8;font-size:10px}.avatar{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;color:#fff;background:linear-gradient(145deg,#8b5cf6,#6366f1);font-weight:700;text-transform:uppercase}.avatar.small{width:32px;height:32px;font-size:12px}.avatar.large{width:58px;height:58px;font-size:22px}.main-column{min-height:100vh;margin-left:252px}.content{width:min(1400px,100%);margin:0 auto;padding:38px 40px 70px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px}.eyebrow{display:block;margin-bottom:7px;color:var(--blue);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.page-header h1{margin:0;color:#0f172a;font-size:clamp(27px,3vw,36px);line-height:1.15;letter-spacing:-.035em}.page-header p{max-width:680px;margin:7px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.page-actions{display:flex;align-items:center;gap:9px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 16px;border:1px solid transparent;border-radius:8px;color:#fff;background:var(--blue);font-size:13px;font-weight:600;transition:.15s}.button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 18px #6366f133}.button.secondary{color:#34405c;border-color:#dce2ed;background:#fff}.button.danger{color:#fff;background:var(--red)}.button.small{min-height:34px;padding:0 12px;font-size:12px}.button.full{width:100%}.icon-button{display:inline-grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:6px;color:#66738e;background:transparent}.icon-button:hover{background:#eef2f8}.icon-button.danger,.text-danger{color:var(--red)!important}.icon-button.inverse{color:#fff}.text-success{color:var(--green)}.card{border:1px solid var(--line);border-radius:12px;background:#f5f8fcf5;box-shadow:var(--shadow)}.campaign-summary{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr)) 1.5fr;gap:12px;margin-bottom:16px}.campaign-summary>.card{display:flex;align-items:center;justify-content:space-between;min-height:76px;padding:16px 18px}.campaign-summary span{color:var(--muted);font-size:12px}.campaign-summary strong{color:#1d2b4d;font-size:26px}.campaign-summary .server-card div{display:flex;gap:6px}.campaign-summary .server-card b{padding:6px 9px;border-radius:8px;color:var(--blue);background:var(--blue-soft);font-size:11px}.toolbar-card{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding:11px;box-shadow:none}.search-box{display:flex;flex:1;align-items:center;gap:9px;min-width:180px;height:40px;padding:0 12px;border:1px solid #e1e6ef;border-radius:10px;color:#8b95aa;background:#f8fafc}.search-box input{width:100%;border:0;outline:0;color:var(--ink);background:transparent;font-size:13px}select,input,textarea{width:100%;border:1px solid #c8d5e3;border-radius:8px;outline:none;color:#24304b;background:#fff}input,select{min-height:42px;padding:0 12px}input[type=checkbox],input[type=radio]{width:auto;min-width:0;height:auto;min-height:0;padding:0}textarea{resize:vertical;padding:11px 12px;line-height:1.6}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #6366f11f}.toolbar-card select{width:auto;min-width:155px;color:#56627b;background:#f8fafc}.selection-bar{position:sticky;top:10px;z-index:8;display:flex;align-items:center;gap:10px;margin:0 auto 14px;padding:10px 14px;border-radius:12px;color:#fff;background:#203567;box-shadow:0 12px 32px #1828513d}.selection-bar strong{margin-right:auto;font-size:12px}.selection-bar button{display:flex;align-items:center;gap:6px;border:0;color:#fff;background:transparent;font-size:12px}.table-card{overflow:visible;padding:0;box-shadow:0 7px 24px #283d6f0d}.data-table{min-width:870px}.table-card{overflow-x:auto}.table-head,.table-row{display:grid;align-items:center;gap:14px;min-height:60px;padding:0 18px;border-bottom:1px solid #edf0f5}.campaign-table .table-head,.campaign-table .table-row{grid-template-columns:26px minmax(230px,1.5fr) minmax(130px,.7fr) 90px 132px 115px 32px}.table-head{min-height:45px;color:#8a94a8;background:#f9fafc;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.table-row{color:#4d5870;font-size:12px}.table-row:last-child{border-bottom:0}.table-row:hover{background:#fbfcff}.table-row input[type=checkbox],.table-head input[type=checkbox]{width:16px;min-height:16px;accent-color:var(--blue)}.campaign-name{display:grid;gap:5px}.campaign-name>a{color:#1e2b4b;font-size:13px;font-weight:600}.campaign-name>a:hover{color:var(--blue)}.campaign-name small{display:flex;align-items:center;gap:5px;color:#7a859c;font-size:10px}.zalo-glyph{display:inline-grid;place-items:center;width:17px;height:17px;border-radius:5px;color:#fff;background:#2c6bed;font-size:10px;font-weight:700}.table-row span>b{display:block;color:#2e3a56}.table-row span>small{display:block;margin-top:3px;font-size:9px}.status-pill{display:inline-flex;width:fit-content;align-items:center;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:700;white-space:nowrap}.status-pill.success{color:#087652;background:#e4f8f0}.status-pill.running{color:#2450c6;background:#e8efff}.status-pill.paused{color:#7b5b22;background:#fff2d9}.status-pill.danger{color:#b13232;background:#ffeded}.status-pill.pending{color:#616d83;background:#edf0f5}.row-menu-wrap{position:relative}.row-menu{position:absolute;top:36px;right:0;z-index:10;width:160px;padding:5px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 12px 30px #1c2a4e29}.row-menu button{display:flex;width:100%;align-items:center;gap:8px;padding:8px;border:0;border-radius:7px;color:#46516a;background:transparent;font-size:11px;text-align:left}.row-menu button:hover{background:#f3f6fb}.row-menu svg{width:14px}.row-menu .danger{color:var(--red)}.full-loader{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--muted)}.full-loader .brand-mark{margin-right:6px}.state-block{display:flex;min-height:130px;align-items:center;justify-content:center;gap:10px;color:var(--muted);font-size:13px}.state-error{justify-content:flex-start;min-height:auto;padding:18px;border:1px solid #f2caca;border-radius:13px;color:#9a3535;background:#fff7f7}.state-error div{flex:1}.state-error p{margin:3px 0 0;font-size:11px}.empty-state{display:flex;min-height:300px;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center}.capability-locked-page{display:flex;flex:1;align-items:center;justify-content:center;min-height:calc(100dvh - 140px)}.empty-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:20px;color:var(--blue);background:var(--blue-soft)}.empty-state h3{margin:16px 0 6px;font-size:16px}.empty-state p{max-width:400px;margin:0 0 18px;color:var(--muted);font-size:12px;line-height:1.6}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.1fr) minmax(420px,.9fr);background:#fff}.login-showcase{position:relative;overflow:hidden;display:flex;min-height:100vh;flex-direction:column;padding:42px clamp(40px,6vw,90px);color:#fff;background:radial-gradient(circle at 80% 15%,rgba(124,92,252,.32),transparent 25rem),linear-gradient(145deg,#12121a,#1a1a28 75%)}.login-showcase:after{position:absolute;right:-10rem;bottom:-12rem;width:36rem;height:36rem;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 60px #ffffff06,0 0 0 120px #ffffff05;content:""}.brand.light{padding-left:0}.showcase-copy{position:relative;z-index:1;margin:auto 0 45px}.eyebrow.light{color:#8eabff}.showcase-copy h1{max-width:700px;margin:0;font-size:clamp(38px,5vw,66px);line-height:1.12;letter-spacing:-.05em}.showcase-copy p{max-width:600px;margin:24px 0 0;color:#b7c3e1;font-size:15px;line-height:1.8}.showcase-features{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.showcase-features>span{display:grid;grid-template-columns:34px 1fr;column-gap:10px;align-items:center;padding:15px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:#ffffff0d}.showcase-features svg{grid-row:span 2;color:#84a3ff}.showcase-features b{font-size:12px}.showcase-features small{color:#8f9dbc;font-size:9px}.showcase-note{position:relative;z-index:1;display:flex;align-items:center;gap:7px;color:#97a6c8;font-size:10px}.login-panel{display:grid;place-items:center;padding:40px}.login-card{width:min(410px,100%)}.login-card h2{margin:0;font-size:30px;letter-spacing:-.035em}.login-card>p{margin:8px 0 28px;color:var(--muted);font-size:13px}.login-card form{display:grid;gap:18px}.field{display:grid;gap:7px;color:#35415a;font-size:12px;font-weight:600}.field-label{padding-left:2px}.field-hint{color:#8993a7;font-size:10px;font-weight:400}.field-error{color:var(--red);font-size:10px;font-weight:500}.password-field{position:relative}.password-field input{padding-right:48px}.password-field button{position:absolute;right:5px;top:4px;display:grid;width:34px;height:34px;place-items:center;border:0;color:#7c879d;background:transparent}.password-field svg{width:18px}.login-button{width:100%;min-height:48px;margin-top:4px}.login-help{display:block;margin-top:22px;color:#8a94a8;font-size:10px;line-height:1.6;text-align:center}.mobile-login-brand{display:none}.form-alert{padding:11px 13px;border:1px solid #f0c5c5;border-radius:10px;color:#a43737;background:#fff5f5;font-size:11px;line-height:1.5}.form-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:18px;align-items:start}.form-main{display:grid;gap:16px}.form-section{padding:22px}.form-section>header{display:flex;align-items:flex-start;gap:12px;margin-bottom:19px}.form-section h2,.form-aside h3{margin:0;color:#25314d;font-size:15px}.form-section header p,.form-aside p{margin:5px 0 0;color:var(--muted);font-size:10px;line-height:1.55}.step-number{display:inline-grid;flex:0 0 28px;width:28px;height:28px;place-items:center;border-radius:9px;color:var(--blue);background:var(--blue-soft);font-size:11px;font-weight:700}.action-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;max-height:440px;overflow-y:auto;padding:2px}.action-option{position:relative;display:flex;align-items:flex-start;gap:10px;min-height:78px;padding:12px;border:1px solid #e1e6ef;border-radius:12px;color:#4a566e;background:#fff;text-align:left}.action-option:hover{border-color:#b9c8f5}.action-option.selected{border-color:var(--blue);background:#f5f7ff;box-shadow:0 0 0 2px #6366f11a}.action-option>span{display:grid;flex:0 0 31px;height:31px;place-items:center;border-radius:9px;color:#fff;background:#2d6cef;font-size:10px;font-weight:700}.action-option>span.sms{background:#1a9d73;font-size:8px}.action-option>div{display:grid;gap:4px}.action-option strong{color:#26324c;font-size:11px}.action-option small{color:#7d879c;font-size:9px;line-height:1.45}.action-option>svg{position:absolute;top:8px;right:8px;color:var(--blue)}.field-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:12px}.account-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:18px 0 0;padding:12px;border:1px solid var(--line);border-radius:12px}.account-picker legend{padding:0 5px;color:#606c84;font-size:10px;font-weight:600}.account-picker label{display:flex;align-items:center;gap:8px;padding:9px;border:1px solid #e7ebf2;border-radius:10px;cursor:pointer}.account-picker label:has(input:checked){border-color:#8099e9;background:#f5f7ff}.account-picker input{width:15px;min-height:15px;accent-color:var(--blue)}.account-picker label div{display:grid;gap:2px}.account-picker label strong{font-size:10px}.account-picker label small{color:var(--muted);font-size:8px}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px;padding:12px;border-radius:11px;background:#f7f9fc}.switch-row span{display:grid;gap:3px}.switch-row strong{color:#37435d;font-size:11px}.switch-row small{color:var(--muted);font-size:9px;font-weight:400}.switch-row input{width:38px;min-height:20px;accent-color:var(--blue)}.variant-list{display:grid;gap:14px}.textarea-with-action{display:flex;align-items:flex-start;gap:6px}.variant-editor{display:grid;gap:10px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fbfcff}.variant-title{display:flex;align-items:center;justify-content:space-between}.variant-title strong{color:#35415a;font-size:11px}.campaign-media-control{display:grid;gap:10px;padding-top:10px;border-top:1px dashed #dfe5ee}.campaign-media-control.simple{margin-top:14px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fbfcff}.media-control-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.media-control-head>div{display:grid;gap:3px}.media-control-head strong{color:#35415a;font-size:10px}.media-control-head small{color:var(--muted);font-size:8px}.media-mode-row{display:flex;gap:9px}.media-mode-row label{display:grid;gap:4px;color:var(--muted);font-size:8px}.media-mode-row label:first-child{flex:1}.media-mode-row select,.media-mode-row input{min-height:34px}.media-mode-row input{width:90px}.selected-media-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.selected-media-list>div{display:flex;min-width:0;align-items:center;gap:7px;padding:6px;border:1px solid #e2e7f0;border-radius:9px;background:#fff}.selected-media-list>div>span{display:grid;flex:0 0 34px;width:34px;height:34px;place-items:center;overflow:hidden;border-radius:7px;color:#8792a7;background:#edf0f5}.selected-media-list img{width:100%;height:100%;object-fit:cover}.selected-media-list strong{overflow:hidden;flex:1;color:#4a566e;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.selected-media-list .icon-button{width:26px;min-height:26px}.selected-media-list .icon-button svg{width:13px}.campaign-media-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.campaign-media-picker label{position:relative;display:grid;min-width:0;gap:6px;padding:7px;border:1px solid var(--line);border-radius:10px;cursor:pointer}.campaign-media-picker label.selected{border-color:var(--blue);background:#f2f5ff;box-shadow:0 0 0 2px #6366f11a}.campaign-media-picker input{position:absolute;opacity:0;pointer-events:none}.campaign-media-picker label>span{display:grid;aspect-ratio:4/3;place-items:center;overflow:hidden;border-radius:7px;color:#8490a6;background:#edf0f5}.campaign-media-picker label>span img{width:100%;height:100%;object-fit:cover}.campaign-media-picker label>strong{overflow:hidden;color:#4b566d;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.campaign-media-picker label>svg{position:absolute;top:10px;right:10px;width:18px;padding:3px;border-radius:50%;color:#fff;background:var(--blue)}.media-picker-empty{display:flex;min-height:250px;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center}.media-picker-empty>svg{width:42px;height:42px;color:#8b96aa}.media-picker-empty strong{font-size:12px}.media-picker-empty p{margin:0 0 5px;color:var(--muted);font-size:9px}.form-aside{position:sticky;top:16px}.form-aside .card{padding:18px}.platform-badge{display:inline-flex;margin-bottom:12px;padding:5px 8px;border-radius:7px;color:#2558d4;background:#edf2ff;font-size:9px;font-weight:700}.platform-badge.sms{color:#087552;background:#e7f8f1}.form-aside dl{display:grid;gap:0;margin:15px 0}.form-aside dl div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #edf0f5;font-size:10px}.form-aside dt{color:var(--muted)}.form-aside dd{margin:0;color:#2d3954;font-weight:600;text-align:right}.text-link{display:flex;align-items:center;gap:6px;color:var(--blue);font-size:10px;font-weight:600}.text-link svg{width:14px}.mobile-save-bar{display:none}code{padding:2px 5px;border-radius:5px;color:var(--blue);background:var(--blue-soft);font-size:.9em}.history-list{display:grid}.history-list>div{display:grid;grid-template-columns:10px 130px 1fr;gap:8px;align-items:start;padding:10px 0;border-top:1px solid #edf0f5}.history-list>div:first-child{border-top:0}.history-dot{width:7px;height:7px;margin-top:5px;border-radius:50%;background:var(--blue)}.history-dot.success{background:var(--green)}.history-dot.error{background:var(--red)}.history-list time{color:var(--muted);font-size:9px}.history-list p{margin:0;color:#455169;font-size:10px;line-height:1.5}.import-row{display:flex;align-items:center;gap:9px;margin-top:10px}.import-row>small{color:var(--muted);font-size:8px}.runtime-options{display:grid;gap:12px}.option-panel{display:grid;gap:12px;padding:14px;border:1px solid #e5e9f1;border-radius:12px;background:#fbfcfe}.option-panel h3{margin:0;color:#35415a;font-size:11px}.option-panel .switch-row{margin:0;background:#fff}.option-grid{display:grid;gap:10px}.option-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.option-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.option-note,.auto-data-note span{margin:0;color:var(--muted);font-size:9px;line-height:1.55}.personalization-tokens{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.personalization-tokens button{min-height:25px;padding:3px 7px;border:1px solid #dce3ef;border-radius:7px;color:#4965b8;background:#f6f8ff;font:600 8px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.personalization-tokens button:hover{border-color:#9eb0e9;background:#edf2ff}.choice-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.choice-cards label{display:flex;align-items:flex-start;gap:8px;padding:10px;border:1px solid #e1e6ef;border-radius:10px;background:#fff;cursor:pointer}.choice-cards label:has(input:checked){border-color:#8099e9;background:#f5f7ff}.choice-cards input,.check-list input{width:15px;min-height:15px;accent-color:var(--blue)}.choice-cards span{display:grid;gap:3px}.choice-cards strong{color:#35415a;font-size:10px}.choice-cards small{color:var(--muted);font-size:8px;line-height:1.45}.check-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:245px;overflow:auto;padding:9px;border:1px solid #e3e8f0;border-radius:10px;background:#fff}.check-list.compact{max-height:180px}.check-list>p{grid-column:1 / -1;margin:0 0 2px;color:#626e85;font-size:9px;font-weight:700}.check-list>label{display:flex;align-items:flex-start;gap:7px;min-width:0;padding:7px;border-radius:8px;color:#4d5870;font-size:9px;cursor:pointer}.check-list>label:hover{background:#f4f7fb}.check-list>label>span{display:grid;min-width:0;gap:2px}.check-list>label strong{overflow:hidden;color:#35415a;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.check-list>label small{overflow:hidden;color:var(--muted);font-size:7px;text-overflow:ellipsis;white-space:nowrap}.check-list>em{grid-column:1 / -1;color:var(--muted);font-size:9px;font-style:normal}.input-contact-picker{margin-top:12px}.data-group-import{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--blue-soft)}.data-group-import>p{margin:0 0 8px;color:var(--muted);font-size:12px;font-weight:700}.data-group-import>div{display:flex;flex-wrap:wrap;gap:8px}.auto-data-note{display:grid;gap:5px;padding:14px;border:1px solid #dbe5fa;border-radius:11px;color:#3157b1;background:#f4f7ff}.auto-data-note strong{font-size:11px}.utility-row{display:flex;align-items:center;gap:10px;margin-top:12px}.utility-row small{color:var(--muted);font-size:8px}.utility-input-row{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:8px;margin-top:10px}.tabs{display:flex;gap:4px;width:fit-content;margin-bottom:16px;padding:4px;border-radius:12px;background:#e8edf5}.tabs button{display:flex;align-items:center;gap:7px;min-height:36px;padding:0 14px;border:0;border-radius:9px;color:#667188;background:transparent;font-size:11px;font-weight:600}.tabs button.active{color:#24314d;background:#fff;box-shadow:0 3px 10px #2b3e661a}.runtime-banner,.activity-connection{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:13px 16px;border:1px solid #dfe5ee;border-radius:13px;background:#fff}.runtime-banner>span{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;color:#68758e;background:#edf0f5}.runtime-banner.connected>span{color:var(--green);background:#e7f8f1}.runtime-banner div,.activity-connection div{display:grid;gap:3px}.runtime-banner strong,.activity-connection strong{font-size:11px}.runtime-banner p,.activity-connection span{margin:0;color:var(--muted);font-size:9px}.inline-notice{margin-bottom:12px;padding:10px 13px;border:1px solid #d4def7;border-radius:10px;color:#3655a5;background:#f2f5ff;font-size:10px}.account-grid{display:grid;grid-template-columns:repeat(2,minmax(300px,1fr));gap:14px}.account-card{padding:17px}.account-card>header{display:flex;align-items:center;gap:10px}.account-card header>div{flex:1;min-width:0}.account-card h3{overflow:hidden;margin:0;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.account-card header p{margin:4px 0 0;color:var(--muted);font-size:9px}.account-logo{display:inline-grid;flex:0 0 40px;width:40px;height:40px;place-items:center;border-radius:12px;color:#fff;background:#2d6cef;font-weight:700}.account-logo.sms{background:#15966a}.account-logo svg{width:20px}.account-card dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.account-card dl div{padding:10px;border-radius:9px;background:#f7f9fc}.account-card dt{color:#8993a7;font-size:8px}.account-card dd{overflow:hidden;margin:4px 0 0;color:#3d4962;font-size:10px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.account-card footer{display:flex;flex-wrap:wrap;gap:5px;padding-top:12px;border-top:1px solid #edf0f5}.account-card footer button{display:flex;align-items:center;gap:5px;min-height:30px;padding:0 8px;border:1px solid #e0e5ee;border-radius:8px;color:#56627a;background:#fff;font-size:8px}.account-card footer button:hover{color:var(--blue);border-color:#b8c7f0}.account-card footer button svg{width:13px}.device-ok,.device-off{display:flex;align-items:center;gap:5px;margin-right:auto;color:var(--green);font-size:9px}.device-off{color:var(--amber)}.device-ok svg,.device-off svg{width:15px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:18px;background:#0d142794;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{width:min(520px,100%);max-height:calc(100vh - 36px);overflow:auto;border-radius:17px;background:#fff;box-shadow:0 24px 70px #0a122647}.modal>header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:17px 19px;border-bottom:1px solid #edf0f5;background:#fff}.modal h2{margin:0;font-size:15px}.modal-body{padding:19px}.modal-body form{display:grid;gap:16px}.modal>footer{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:8px;padding:12px 19px;border-top:1px solid #edf0f5;background:#fff}.form-note{margin:0;padding:10px;border-radius:9px;color:#68758e;background:#f4f6fa;font-size:9px;line-height:1.6}.qr-panel{display:flex;min-height:300px;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center}.qr-panel>img:not(.qr-avatar){width:min(280px,80vw);border-radius:12px}.qr-panel .qr-avatar{width:58px;height:58px;border-radius:50%;object-fit:cover}.qr-panel strong{font-size:13px}.qr-panel p{max-width:350px;margin:0;color:var(--muted);font-size:10px;line-height:1.6}.operation-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:12px 15px;border:1px solid #cdd9fa;border-radius:12px;background:#f2f5ff}.operation-strip>div{display:grid;grid-template-columns:24px auto;gap:2px 8px;align-items:center}.operation-strip div svg{grid-row:span 2;color:var(--blue)}.operation-strip strong{font-size:10px}.operation-strip span{color:var(--muted);font-size:8px}.operation-strip button{display:flex;align-items:center;gap:5px;border:0;color:var(--red);background:transparent;font-size:9px}.operation-strip button svg{width:15px}.data-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}.data-summary .card{display:flex;align-items:center;gap:11px;padding:14px}.summary-icon{display:inline-grid;flex:0 0 38px;width:38px;height:38px;place-items:center;border-radius:11px}.summary-icon svg{width:19px}.summary-icon.blue{color:var(--blue);background:var(--blue-soft)}.summary-icon.violet{color:var(--violet);background:#f1edff}.summary-icon.amber{color:var(--amber);background:#fff3de}.summary-icon.green{color:var(--green);background:#e7f8f1}.data-summary .card div{display:grid}.data-summary strong{font-size:20px}.data-summary small{color:var(--muted);font-size:8px}.contact-table{min-width:720px}.catalog-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.catalog-grid .card{padding:14px;box-shadow:none}.catalog-grid header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.catalog-grid header>div{display:grid;gap:3px}.catalog-grid h3{margin:0;font-size:11px}.catalog-grid header small,.chip-list em{color:var(--muted);font-size:8px;font-style:normal}.chip-list{display:flex;flex-wrap:wrap;gap:6px}.chip-list>span{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border-radius:8px;color:#46526b;background:#f2f5fa;font-size:9px}.chip-list span small{padding:2px 4px;border-radius:4px;color:var(--blue);background:#e4ebff;font-size:6px}.manage-chips>span{cursor:pointer}.manage-chips>span.selected{color:#264fae;box-shadow:inset 0 0 0 1px #8ca4e8;background:#edf2ff}.manage-chips>span>button{display:grid;width:18px;height:18px;padding:0;place-items:center;border:0;border-radius:5px;color:#8792a8;background:transparent}.manage-chips>span>button:hover{color:var(--blue);background:#fff}.manage-chips>span>button:last-child:hover{color:var(--red)}.manage-chips>span>button svg{width:10px}.data-manage-bar{position:sticky;top:10px;z-index:8;display:flex;align-items:center;gap:8px;margin-bottom:12px;padding:10px 12px;border-radius:12px;color:#fff;background:#203567;box-shadow:0 12px 30px #18285133}.data-manage-bar>strong{flex:0 0 auto;font-size:10px}.data-manage-bar>select{width:auto;min-width:150px;min-height:34px;font-size:9px}.data-manage-bar>button{display:inline-flex;align-items:center;gap:4px;min-height:31px;padding:0 8px;border:1px solid rgba(255,255,255,.25);border-radius:8px;color:#fff;background:transparent;font-size:8px;white-space:nowrap}.data-manage-bar>button svg{width:12px}.tag-choice-list{display:flex;flex:1;flex-wrap:wrap;gap:5px;max-height:56px;overflow:auto}.tag-choice-list label{display:inline-flex;align-items:center;gap:3px;padding:4px 6px;border-radius:6px;background:#ffffff1a;font-size:7px}.tag-choice-list input{width:12px;min-height:12px;accent-color:#fff}.inline-notice{margin-bottom:12px;padding:9px 12px;border:1px solid #ccd9f4;border-radius:10px;color:#3556a0;background:#f3f6ff;font-size:9px}.contact-name>input{width:15px;min-height:15px;margin-right:2px;accent-color:var(--blue)}.contact-name strong{display:grid;gap:2px}.contact-name strong small{color:var(--blue);font-size:7px;font-weight:500}.data-filter-toolbar{flex-wrap:wrap}.data-filter-toolbar .search-box{min-width:230px}.data-filter-toolbar select{min-width:145px;flex:1 1 145px}.contact-state-cell{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.contact-state-cell>small{color:var(--text-tertiary);font-size:8px}.contact-table .table-head,.contact-table .table-row{grid-template-columns:minmax(180px,1.3fr) minmax(160px,1fr) 100px 130px 130px}.contact-name{display:flex;align-items:center;gap:8px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.inline-empty{margin:0;padding:18px;color:var(--muted);font-size:11px;text-align:center}.template-grid{display:grid;grid-template-columns:repeat(3,minmax(230px,1fr));gap:14px}.template-card{min-height:180px;padding:17px}.template-card header{display:flex;justify-content:space-between;gap:8px}.template-card header>div:first-child{min-width:0}.template-card header>div:last-child{display:flex}.template-card h3{overflow:hidden;margin:0;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.template-card header small{color:var(--muted);font-size:8px}.template-card p{display:-webkit-box;overflow:hidden;margin:16px 0 0;color:#626d82;font-size:10px;line-height:1.7;white-space:pre-wrap;-webkit-box-orient:vertical;-webkit-line-clamp:5}.media-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px}.media-card{overflow:hidden}.media-preview{display:grid;aspect-ratio:4/3;place-items:center;color:#9ba5b7;background:#eef1f6}.media-preview img{width:100%;height:100%;object-fit:cover}.media-card footer{display:flex;align-items:center;gap:8px;padding:12px}.media-card footer>div{display:grid;flex:1;min-width:0}.media-card strong{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.media-card small{color:var(--muted);font-size:8px}.media-preview video{width:100%;height:100%;object-fit:cover}.media-tabs{display:flex;overflow-x:auto;gap:6px;margin-bottom:14px;padding-bottom:3px}.media-tabs button{display:flex;flex:0 0 auto;align-items:center;gap:6px;min-height:36px;padding:0 10px;border:1px solid #dfe5ee;border-radius:10px;color:#59657c;background:#fff;font-size:9px}.media-tabs button.active{color:var(--blue);border-color:#aebff0;background:#f2f5ff}.media-tabs button>svg{width:15px}.media-tabs button small{display:grid;min-width:18px;height:18px;place-items:center;border-radius:99px;background:#edf0f5;font-size:7px}.media-tabs button>span{display:grid;width:21px;height:21px;place-items:center;margin-right:-5px;border-radius:6px;color:#9a6d6d}.media-tabs button>span:hover{color:var(--red);background:#ffeded}.media-tabs button>span svg{width:12px}.media-group-select{width:calc(100% - 20px);min-height:32px;margin:0 10px 10px;font-size:8px}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.metric-card{position:relative;overflow:hidden;display:grid;gap:7px;padding:17px}.metric-card:after{position:absolute;top:-25px;right:-20px;width:85px;height:85px;border-radius:50%;background:currentColor;content:"";opacity:.06}.metric-card>span{color:var(--muted);font-size:9px}.metric-card strong{color:#22304e;font-size:25px}.metric-card small{color:#8590a5;font-size:8px}.metric-card.tone-blue{color:var(--blue)}.metric-card.tone-green{color:var(--green)}.metric-card.tone-amber{color:var(--amber)}.metric-card.tone-violet{color:var(--violet)}.report-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:14px}.chart-card,.report-health{padding:20px}.chart-card header{display:flex;justify-content:space-between}.chart-card h2,.report-health h2,.settings-card h2{margin:0;font-size:14px}.chart-card header p,.settings-card header p{margin:5px 0 0;color:var(--muted);font-size:9px}.chart-card header>svg{color:var(--blue)}.bar-chart{display:grid;gap:24px;margin-top:28px}.bar-label{display:flex;justify-content:space-between;margin-bottom:8px;font-size:10px}.bar-label span{color:var(--muted);font-size:8px}.bar-track{overflow:hidden;height:11px;border-radius:99px;background:#edf0f5}.bar-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue-deep),#818cf8)}.bar-track span.sms{background:linear-gradient(90deg,#15966a,#4fc398)}.report-health{display:grid;gap:14px}.report-health>div{display:flex;align-items:center;gap:10px}.report-health p{display:grid;gap:3px;margin:0}.report-health strong{font-size:10px}.report-health small{color:var(--muted);font-size:8px}.activity-connection>svg{color:var(--muted)}.activity-connection.connected>svg{color:var(--green)}.activity-card{overflow:hidden}.activity-row{display:grid;grid-template-columns:34px 62px 1fr;gap:10px;align-items:start;min-height:66px;padding:13px 16px;border-bottom:1px solid #edf0f5}.activity-row:last-child{border-bottom:0}.activity-icon{display:grid;width:31px;height:31px;place-items:center;border-radius:10px;color:var(--blue);background:var(--blue-soft)}.activity-row.success .activity-icon{color:var(--green);background:#e7f8f1}.activity-row.error .activity-icon,.activity-row.warning .activity-icon{color:var(--amber);background:#fff2dc}.activity-icon svg{width:16px}.activity-row time{display:grid;gap:3px;padding-top:3px;color:#667188;font-size:9px}.activity-row time small{width:fit-content;padding:2px 4px;border-radius:4px;color:#fff;background:#243763;font-size:6px;letter-spacing:.08em}.activity-row p{margin:2px 0 5px;color:#344059;font-size:10px;line-height:1.5}.activity-row div>small{color:#96a0b2;font-size:8px}.settings-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:16px;align-items:start}.settings-layout>div{display:grid;gap:14px}.profile-card{display:flex;align-items:center;gap:13px;padding:18px}.profile-card h2{margin:0;font-size:16px}.profile-card p{margin:4px 0 0;color:var(--muted);font-size:10px}.settings-card{padding:18px}.settings-card>header{display:flex;justify-content:space-between;margin-bottom:18px}.settings-card>header>svg{color:var(--blue)}.capability-list{display:grid;gap:8px}.capability-list>div{display:flex;align-items:center;gap:11px;padding:11px;border:1px solid #e7ebf2;border-radius:11px}.capability-list>div>div{display:grid;flex:1;gap:3px}.capability-list strong{font-size:10px}.capability-list small{color:var(--muted);font-size:8px}.session-list{display:grid}.session-list>div{display:flex;align-items:center;gap:10px;padding:12px 0;border-top:1px solid #edf0f5}.session-list>div:first-child{border-top:0}.session-list>div>div{display:grid;flex:1;min-width:0;gap:3px}.session-list strong{font-size:10px}.session-list strong em{margin-left:5px;padding:2px 5px;border-radius:5px;color:var(--green);background:#e7f8f1;font-size:7px;font-style:normal}.session-list small{overflow:hidden;color:var(--muted);font-size:7px;text-overflow:ellipsis;white-space:nowrap}.settings-side{margin-bottom:10px;padding:18px}.settings-side h3{margin:0;font-size:12px}.settings-side p{margin:8px 0 14px;color:var(--muted);font-size:9px;line-height:1.6}.settings-side a{display:flex;align-items:center;gap:5px;color:var(--blue);font-size:9px;font-weight:600}.settings-side .button{margin-bottom:13px}.settings-side a svg{width:13px}.install-banner{position:fixed;top:max(8px,env(safe-area-inset-top));left:50%;z-index:180;display:flex;width:min(640px,calc(100% - 20px));align-items:center;gap:12px;padding:13px 15px;border-radius:14px;color:#fff;background:#101a2d;box-shadow:0 14px 38px #0b122347;transform:translate(-50%)}.install-banner>div{display:grid;flex:1;gap:2px}.install-banner strong{font-size:11px}.install-banner span{color:#b9c2d3;font-size:9px}.install-fab{position:fixed;right:18px;bottom:18px;z-index:70;display:flex;align-items:center;gap:7px;padding:11px 14px;border:0;border-radius:99px;color:#fff;background:#17264c;box-shadow:0 12px 30px #12224840;font-size:10px;font-weight:600}@media(max-width:1099px){.sidebar{width:76px;padding-inline:10px}.sidebar .brand{justify-content:center;padding-inline:0}.sidebar .brand div,.nav-link span,.sidebar-foot .server-state,.user-mini div{display:none}.sidebar .nav-link{justify-content:center;padding:0}.sidebar .user-mini{justify-content:center;padding:8px 0;background:transparent}.main-column{margin-left:76px}.content{padding-inline:28px}.campaign-summary{grid-template-columns:repeat(3,1fr)}.campaign-summary .server-card{display:none}.form-layout{grid-template-columns:minmax(0,1fr)}.form-aside{display:none}.template-grid{grid-template-columns:repeat(2,1fr)}.media-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:719px){body{background:#edf3fa}.sidebar{display:none}.main-column{margin-left:0}.mobile-header{position:sticky;top:0;z-index:18;display:flex;height:calc(58px + env(safe-area-inset-top));align-items:flex-end;justify-content:space-between;padding:env(safe-area-inset-top) 16px 10px;border-bottom:1px solid rgba(219,225,236,.8);background:#ffffffe6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand.compact{gap:7px;padding:0}.brand.compact .brand-mark{width:30px;height:30px;border-radius:9px;font-size:18px}.brand.compact strong{color:#1d2943;font-size:15px}.capability-badges{display:flex;gap:4px}.capability-badges span{display:flex;align-items:center;gap:3px;padding:4px 6px;border-radius:7px;color:#4762af;background:#edf2ff;font-size:7px;font-weight:700}.content{width:100%;padding:20px 13px calc(90px + env(safe-area-inset-bottom))}.bottom-nav{position:fixed;inset:auto 0 0;z-index:30;display:grid;grid-template-columns:repeat(5,1fr);height:calc(62px + env(safe-area-inset-bottom));padding:6px 5px env(safe-area-inset-bottom);border-top:1px solid #dde3ed;background:#fffffff5;box-shadow:0 -8px 24px #27395e14;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.bottom-nav a,.bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;color:#8a94a9;background:transparent;font-size:8px}.bottom-nav .active{color:var(--blue);font-weight:700}.page-header{align-items:flex-start;margin-bottom:18px}.page-header h1{font-size:26px}.page-header p{font-size:10px}.page-actions{position:fixed;right:14px;bottom:calc(74px + env(safe-area-inset-bottom));z-index:14}.page-actions .button.primary{min-width:48px;height:48px;padding:0 14px;border-radius:15px;box-shadow:0 12px 28px #6366f147}.page-actions .button.secondary{display:none}.campaign-summary{grid-template-columns:repeat(3,1fr);gap:7px}.campaign-summary>.card{min-height:66px;flex-direction:column;align-items:flex-start;padding:11px}.campaign-summary strong{font-size:21px}.toolbar-card{align-items:stretch;flex-wrap:wrap}.toolbar-card .search-box{flex:1 0 100%}.toolbar-card select{flex:1;min-width:0}.table-card{overflow:visible;border:0;background:transparent;box-shadow:none}.data-table{min-width:0}.table-head{display:none}.campaign-table .table-row{position:relative;display:grid;grid-template-columns:22px 1fr auto;min-height:0;margin-bottom:9px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 6px 18px #293b620d}.campaign-table .table-row>span:nth-child(3),.campaign-table .table-row>span:nth-child(4),.campaign-table .table-row>span:nth-child(5){grid-column:2 / 4;padding-top:7px;border-top:1px dashed #e6eaf1}.campaign-table .table-row>span:nth-child(3):before{content:"Tài khoản: ";color:var(--muted)}.campaign-table .table-row>span:nth-child(4):before{content:"Tiến độ: ";color:var(--muted)}.campaign-table .table-row>span:nth-child(5):before{content:"Lịch: ";color:var(--muted)}.campaign-table .table-row>span:nth-child(6){position:absolute;top:12px;right:43px}.campaign-table .table-row>span:nth-child(7){position:absolute;top:9px;right:7px}.selection-bar{bottom:calc(71px + env(safe-area-inset-bottom));top:auto}.login-page{display:block;background:linear-gradient(160deg,#eef3ff,#fff 45%)}.login-showcase{display:none}.login-panel{min-height:100vh;padding:28px 22px}.mobile-login-brand{display:flex;align-items:center;gap:9px;margin-bottom:44px}.mobile-login-brand strong{font-size:18px}.login-card h2{font-size:28px}.action-grid{grid-template-columns:1fr;max-height:370px}.field-grid,.account-picker,.option-grid.two,.option-grid.four,.choice-cards,.check-list{grid-template-columns:1fr}.utility-input-row{grid-template-columns:1fr 1fr}.utility-input-row>input:first-child{grid-column:1 / -1}.selected-media-list,.campaign-media-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.media-control-head{align-items:flex-start;flex-direction:column}.form-section{padding:17px 14px}.desktop-only-actions{display:none}.mobile-save-bar{position:fixed;right:0;bottom:calc(62px + env(safe-area-inset-bottom));left:0;z-index:25;display:flex;gap:8px;padding:9px 13px;border-top:1px solid #dfe5ee;background:#fffffff5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-save-bar .button{flex:1}.tabs{width:100%}.tabs button{flex:1;justify-content:center}.account-grid{grid-template-columns:1fr}.account-card footer button{min-height:34px}.data-summary{grid-template-columns:repeat(3,1fr);gap:7px}.data-summary .card{gap:6px;padding:10px 7px}.data-summary .summary-icon{width:30px;height:30px;flex-basis:30px}.data-summary strong{font-size:15px}.operation-strip{align-items:flex-start;flex-direction:column}.contact-table .table-row{display:grid;grid-template-columns:1fr auto;min-height:0;margin-bottom:8px;padding:13px;border:1px solid var(--line);border-radius:13px;background:#fff}.contact-table .table-row>span:nth-child(2),.contact-table .table-row>span:nth-child(4),.contact-table .table-row>span:nth-child(5){grid-column:1 / -1;margin-top:5px}.contact-table .table-row>span:nth-child(3){grid-row:1;grid-column:2}.catalog-grid{grid-template-columns:1fr}.data-manage-bar{bottom:calc(71px + env(safe-area-inset-bottom));top:auto;flex-wrap:wrap}.data-manage-bar>select{flex:1}.tag-choice-list{flex-basis:100%;order:5}.template-grid{grid-template-columns:1fr}.media-grid,.metrics-grid{grid-template-columns:repeat(2,1fr)}.report-grid,.settings-layout{grid-template-columns:1fr}.activity-row{grid-template-columns:32px 1fr}.activity-row time{grid-column:2;grid-row:1;display:flex;gap:5px}.activity-row>div{grid-column:2}.modal-backdrop{align-items:end;padding:0}.modal{width:100%;max-height:92vh;border-radius:20px 20px 0 0;padding-bottom:env(safe-area-inset-bottom)}.install-fab{bottom:calc(75px + env(safe-area-inset-bottom))}.more-sheet{position:absolute;right:0;bottom:0;left:0;padding:0 15px calc(16px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;background:#fff}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#0d142780}.more-sheet>header{display:flex;align-items:center;justify-content:space-between;min-height:58px}.more-sheet h2{margin:0;font-size:15px}.sheet-handle{position:absolute;top:7px;left:50%;width:38px;height:4px;border-radius:99px;background:#d6dce7;transform:translate(-50%)}.more-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:8px 0 18px}.more-grid a{display:flex;flex-direction:column;align-items:center;gap:6px;color:#4f5a70;font-size:9px;text-align:center}.more-grid a span{display:grid;width:45px;height:45px;place-items:center;border-radius:14px;color:var(--blue);background:var(--blue-soft)}.more-grid svg{width:20px}.user-sheet{width:100%;display:flex;align-items:center;gap:9px;padding:12px;color:inherit;border:0;border-radius:12px;background:#f5f7fa;text-align:left}.user-sheet div{display:grid;flex:1}.user-sheet strong{font-size:10px}.user-sheet small{color:var(--muted);font-size:8px}.user-sheet>svg{transition:transform var(--transition-fast)}.user-sheet.is-open>svg{transform:rotate(180deg)}.mobile-account-menu{display:grid;gap:4px;padding:5px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-secondary)}.mobile-account-menu>a,.mobile-account-menu>button{min-height:38px;display:flex;align-items:center;gap:8px;padding:0 11px;color:var(--text-primary);border:0;border-radius:var(--radius-sm);background:transparent;font-size:11px;text-decoration:none}.mobile-account-menu>a:hover,.mobile-account-menu>button:hover{background:var(--bg-hover)}.mobile-account-menu>.mobile-logout-button{color:var(--accent-error)}}@media(min-width:720px){.sheet-backdrop{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{color-scheme:dark;--bg-primary: #0a0a0f;--bg-secondary: #12121a;--bg-tertiary: #1a1a28;--bg-elevated: #222236;--bg-hover: #2a2a42;--bg-accent-subtle: rgba(124, 92, 252, .15);--accent-primary: #7c5cfc;--accent-primary-hover: #9178ff;--accent-secondary: #5c8cfc;--accent-success: #34d399;--accent-warning: #fbbf24;--accent-error: #f43f5e;--accent-info: #38bdf8;--text-primary: #e8e8f0;--text-secondary: #a0a0b8;--text-tertiary: #6b6b82;--text-inverse: #0a0a0f;--border-default: #2a2a3e;--border-hover: #3a3a54;--border-active: #7c5cfc;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .6);--card-radius: 8px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--blue: var(--accent-primary);--blue-deep: var(--accent-primary-hover);--blue-soft: var(--bg-accent-subtle);--ink: var(--text-primary);--muted: var(--text-secondary);--line: var(--border-default);--surface: var(--bg-secondary);--green: var(--accent-success);--amber: var(--accent-warning);--red: var(--accent-error);--violet: #a78bfa;--shadow: var(--shadow-sm)}body.theme-light{color-scheme:light;--bg-primary: #dfe8f2;--bg-secondary: #f5f8fc;--bg-tertiary: #e7eef7;--bg-elevated: #edf3fa;--bg-hover: rgba(79, 70, 229, .09);--bg-accent-subtle: rgba(99, 102, 241, .12);--accent-primary: #6366f1;--accent-primary-hover: #4f46e5;--accent-secondary: #3b82f6;--accent-success: #10b981;--accent-warning: #f59e0b;--accent-error: #ef4444;--accent-info: #0ea5e9;--text-primary: #0f172a;--text-secondary: #475569;--text-tertiary: #7b8ca3;--text-inverse: #fff;--border-default: #c8d5e3;--border-hover: #aebed0;--border-active: #6366f1;--shadow-sm: 0 1px 3px rgba(15, 23, 42, .11);--shadow-md: 0 8px 20px rgba(15, 23, 42, .1), 0 1px 3px rgba(15, 23, 42, .08);--shadow-lg: 0 16px 42px rgba(15, 23, 42, .15), 0 4px 12px rgba(15, 23, 42, .1)}html,body,#root{width:100%;min-width:320px;min-height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:13px;line-height:1.5;color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased}body{min-height:100dvh;overflow-x:hidden;background:var(--bg-primary)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{border-radius:999px;background:var(--border-default)}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}.app-logo{display:block;width:34px;height:34px;flex:0 0 34px;border-radius:10px;object-fit:cover;box-shadow:var(--shadow-sm)}.content{width:100%;max-width:none;min-width:0;min-height:0;margin:0;padding:12px;color:var(--text-primary);background:var(--bg-primary)}.page-header{min-height:46px;align-items:center;gap:12px;margin:0 0 10px;padding:8px 14px;border:1px solid var(--border-default);border-radius:var(--card-radius);background:var(--bg-secondary);box-shadow:var(--shadow-sm)}.eyebrow{display:none}.page-header h1{color:var(--text-primary);font-size:14px;line-height:1.25;letter-spacing:0}.page-header p{max-width:none;margin-top:2px;color:var(--text-tertiary);font-size:10px;line-height:1.35}.page-actions{gap:7px}.button{min-height:32px;padding:5px 12px;border-radius:var(--radius-sm);color:#fff;background:var(--accent-primary);font-size:12px;font-weight:600;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.button:hover:not(:disabled){transform:none;background:var(--accent-primary-hover);box-shadow:0 0 20px #7c5cfc26}.button.secondary{color:var(--text-primary);border-color:var(--border-default);background:var(--bg-tertiary)}.button.secondary:hover:not(:disabled){border-color:var(--border-hover);background:var(--bg-hover)}.button.small{min-height:28px;padding:4px 10px;font-size:11px}.button.danger{background:var(--accent-error)}.icon-button{width:28px;height:28px;color:var(--text-tertiary);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent}.icon-button:hover{color:var(--text-primary);border-color:var(--border-default);background:var(--bg-hover)}select,input,textarea{min-height:34px;padding:7px 10px;color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-tertiary);font-size:12px}input,select{min-height:34px}textarea{padding:9px 10px}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}input:focus,select:focus,textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #7c5cfc1f}.field{gap:6px;color:var(--text-secondary);font-size:12px}.field-label{padding:0}.field-hint{color:var(--text-tertiary);font-size:10px}.password-field button{top:0;right:1px;color:var(--text-tertiary)}.card,.form-section,.form-aside,.option-panel,.settings-card,.settings-side,.profile-card,.chart-card,.report-health{color:var(--text-primary);border-color:var(--border-default);border-radius:var(--card-radius);background:var(--bg-secondary);box-shadow:var(--shadow-sm)}.toolbar-card{min-height:44px;gap:8px;margin-bottom:10px;padding:7px 8px;background:var(--bg-secondary)}.search-box{height:34px;padding:0 10px;color:var(--text-tertiary);border-color:var(--border-default);border-radius:var(--radius-sm);background:var(--bg-tertiary)}.search-box input{min-height:30px;padding:0;color:var(--text-primary);background:transparent;font-size:12px}.toolbar-card select{min-height:34px;color:var(--text-primary);background:var(--bg-tertiary)}.table-card{border-color:var(--border-default);border-radius:var(--card-radius);background:var(--bg-secondary);box-shadow:var(--shadow-sm)}.table-head,.table-row{gap:12px;min-height:52px;padding:0 12px;color:var(--text-secondary);border-color:var(--border-default)}.table-head{min-height:40px;color:var(--text-tertiary);background:var(--bg-tertiary);font-size:10px}.table-row{font-size:12px;background:var(--bg-secondary)}.table-row:hover{background:var(--bg-hover)}.campaign-name>a,.table-row span>b{color:var(--text-primary)}.campaign-name small,.table-row span>small{color:var(--text-tertiary)}.row-menu{color:var(--text-primary);border-color:var(--border-default);border-radius:var(--radius-md);background:var(--bg-secondary);box-shadow:var(--shadow-lg)}.row-menu button{color:var(--text-primary)}.row-menu button:hover{background:var(--bg-hover)}.status-pill{padding:3px 7px;border-radius:999px;font-size:9px}.status-pill.success{color:var(--accent-success);background:#34d3991f}.status-pill.running{color:var(--accent-info);background:#38bdf81f}.status-pill.paused{color:var(--accent-warning);background:#fbbf241f}.status-pill.danger{color:var(--accent-error);background:#f43f5e1f}.status-pill.pending{color:var(--text-secondary);background:var(--bg-tertiary)}.inline-notice,.form-note,.option-note,.auto-data-note{color:var(--text-secondary);border-color:var(--border-default);border-radius:var(--radius-sm);background:var(--bg-tertiary)}.state-block{color:var(--text-secondary)}.state-error,.form-alert{color:var(--accent-error);border-color:#f43f5e42;background:#f43f5e14}.empty-icon{color:var(--accent-primary);background:var(--bg-accent-subtle)}.empty-state h3{color:var(--text-primary)}.empty-state p{color:var(--text-secondary)}.tabs{margin-bottom:10px;border-color:var(--border-default)}.tabs button{min-height:34px;color:var(--text-secondary);border-color:var(--border-default);background:var(--bg-secondary);font-size:11px}.tabs button.active{color:var(--accent-primary);background:var(--bg-accent-subtle)}.runtime-banner,.activity-connection,.operation-strip{color:var(--text-primary);border-color:var(--border-default);border-radius:var(--card-radius);background:var(--bg-secondary)}.runtime-banner p,.activity-connection span{color:var(--text-secondary)}.account-grid{gap:8px}.account-card{padding:12px}.account-card h3,.template-card h3,.chart-card h2,.report-health h2,.settings-card h2{color:var(--text-primary)}.account-card p,.account-card dt,.account-card dd,.template-card p,.chart-card header p,.settings-card header p{color:var(--text-secondary)}.account-card dl,.account-card footer,.capability-list>div,.session-list>div{border-color:var(--border-default)}.account-card footer button,.media-tabs button{color:var(--text-secondary);border-color:var(--border-default);background:var(--bg-tertiary)}.account-card footer button:hover,.media-tabs button:hover{color:var(--text-primary);background:var(--bg-hover)}.form-layout,.form-main{gap:10px}.form-section{padding:16px}.form-section>header{margin-bottom:14px}.form-section h2,.form-aside h3,.action-option strong,.variant-title strong,.media-control-head strong,.switch-row strong{color:var(--text-primary)}.form-section header p,.form-aside p,.action-option small,.media-control-head small,.switch-row small{color:var(--text-secondary)}.action-option,.account-picker,.account-picker label,.variant-editor,.campaign-media-control.simple,.selected-media-list>div,.campaign-media-picker label,.choice-cards label,.check-list label,.utility-row,.import-row,.switch-row{color:var(--text-secondary);border-color:var(--border-default);border-radius:var(--card-radius);background:var(--bg-tertiary)}.action-option:hover,.action-option.selected,.account-picker label:has(input:checked),.campaign-media-picker label.selected,.choice-cards label:has(input:checked){border-color:var(--accent-primary);background:var(--bg-accent-subtle)}.selected-media-list>div>span,.campaign-media-picker label>span,.media-preview,.bar-track{background:var(--bg-primary)}.modal-backdrop{z-index:2500;padding:20px;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{width:min(560px,calc(100vw - 32px));max-height:min(85vh,760px);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-secondary);box-shadow:var(--shadow-lg)}.modal>header{padding:14px 18px;color:var(--text-primary);border-color:var(--border-default);background:var(--bg-secondary)}.modal h2{color:var(--text-primary);font-size:15px}.modal-body{padding:16px 18px}.modal>footer{padding:12px 18px;border-color:var(--border-default);background:var(--bg-secondary)}.metric-card strong,.profile-card h2{color:var(--text-primary)}.metric-card>span,.metric-card small,.profile-card p,.report-health small,.bar-label span{color:var(--text-secondary)}.activity-row{color:var(--text-primary);border-color:var(--border-default)}.activity-row p{color:var(--text-primary)}.activity-row time,.activity-row div>small{color:var(--text-tertiary)}.full-loader{color:var(--text-secondary);background:var(--bg-primary)}.full-loader .app-logo{width:36px;height:36px;flex-basis:36px}.install-banner{color:#fff;background:#101827;box-shadow:0 14px 38px #00000052}.install-banner span{color:#b9c2d3}.install-fab{color:#fff;background:#17264c}.aka-app-shell{position:relative;display:flex;width:100%;height:100dvh;min-height:0;overflow:hidden;background:var(--bg-primary)}.app-sidebar.sidebar{position:relative;inset:auto;z-index:120;width:64px;height:100%;flex:0 0 64px;display:flex;flex-direction:column;gap:12px;padding:12px 8px;overflow:visible;color:var(--text-primary);border-right:1px solid var(--border-default);background:var(--bg-primary);box-shadow:none;transition:width .25s ease,flex-basis .25s ease}.app-sidebar.sidebar.is-expanded{width:240px;flex-basis:240px}.app-sidebar-header{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0}.app-sidebar.is-expanded .app-sidebar-header{flex-direction:row;justify-content:space-between}.app-sidebar-brand.brand{width:100%;min-width:0;display:flex;align-items:center;justify-content:center;gap:10px;padding:0}.app-sidebar.is-expanded .app-sidebar-brand{width:auto;flex:1;justify-content:flex-start}.app-sidebar-logo{display:inline-flex;width:34px;height:34px;flex:0 0 34px;align-items:center;justify-content:center;overflow:hidden;border-radius:10px;box-shadow:var(--shadow-sm)}.app-sidebar-logo img{display:block;width:100%;height:100%;object-fit:cover}.app-sidebar-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-sidebar-brand-name{color:var(--text-primary);font-size:15px;font-weight:750}.app-sidebar.is-collapsed .app-sidebar-label,.app-sidebar.is-collapsed .app-sidebar-account-chevron{display:none}.app-sidebar-toggle{display:inline-flex;width:36px;height:32px;flex:0 0 auto;align-items:center;justify-content:center;padding:0;color:var(--text-secondary);border:1px solid var(--border-default);border-radius:9px;background:var(--bg-primary)}.app-sidebar-toggle:hover{color:var(--text-primary);border-color:var(--border-hover);background:var(--bg-hover)}.app-sidebar-nav{display:flex;min-width:0;flex-direction:column;gap:5px}.app-sidebar .app-sidebar-nav-item,.app-sidebar-account-button{width:100%;min-width:0;height:40px;min-height:40px;display:flex;align-items:center;gap:10px;padding:0 11px;color:var(--text-secondary);border:1px solid transparent;border-radius:9px;background:transparent;font-size:12.5px;font-weight:600;text-align:left;transition:background .15s ease,color .15s ease,border-color .15s ease}.app-sidebar.is-collapsed .app-sidebar-nav-item,.app-sidebar.is-collapsed .app-sidebar-account-button{justify-content:center;padding:0}.app-sidebar .app-sidebar-nav-item:hover,.app-sidebar-account-button:hover{color:var(--text-primary);background:var(--bg-hover)}.app-sidebar .app-sidebar-nav-item.active,.app-sidebar-account-button.active{color:var(--text-primary);border-color:#7c5cfc33;background:var(--bg-accent-subtle);box-shadow:inset 0 0 0 1px #7c5cfc1f}.app-sidebar .app-sidebar-nav-item.tablet-only{display:none}.app-sidebar-item-icon{display:inline-flex;width:18px;height:18px;flex:0 0 18px;align-items:center;justify-content:center}.app-sidebar-footer.sidebar-foot{position:relative;margin-top:auto;padding-top:10px;border-top:1px solid var(--border-default)}.app-sidebar-server-state.server-state{min-height:24px;margin:0 7px 6px;color:var(--text-tertiary);font-size:10px}.app-sidebar.is-collapsed .app-sidebar-server-state{justify-content:center;margin-inline:0}.app-sidebar-server-state>span:first-child{flex:0 0 7px;width:7px;height:7px}.app-sidebar-user-avatar,.app-sidebar-flyout-avatar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--accent-info);background:#38bdf81f}.app-sidebar-user-avatar{width:28px;height:28px;border-radius:9px}.app-sidebar-account-copy{flex:1;display:flex;flex-direction:column;gap:1px}.app-sidebar-account-copy strong{overflow:hidden;color:var(--text-primary);font-size:12px;line-height:1.2;text-overflow:ellipsis}.app-sidebar-account-copy span{overflow:hidden;color:var(--text-secondary);font-size:10px;line-height:1.2;text-overflow:ellipsis}.app-sidebar-account-chevron{flex:0 0 auto;color:var(--text-secondary)}.app-sidebar-account-flyout{position:absolute;left:calc(100% + 12px);bottom:0;z-index:2600;width:270px;padding:8px;color:var(--text-primary);border:1px solid var(--border-default);border-radius:12px;background:var(--bg-secondary);box-shadow:var(--shadow-lg)}.app-sidebar-flyout-header{display:flex;align-items:center;gap:10px;padding:9px 10px 11px}.app-sidebar-flyout-avatar{width:34px;height:34px;border-radius:12px}.app-sidebar-flyout-user{min-width:0;display:flex;flex-direction:column;gap:2px}.app-sidebar-flyout-user strong,.app-sidebar-flyout-user span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-sidebar-flyout-user strong{color:var(--text-primary);font-size:13px}.app-sidebar-flyout-user span{color:var(--text-secondary);font-size:11px}.app-sidebar-flyout-section{padding:6px 0;border-top:1px solid var(--border-default)}.app-sidebar-flyout-item{width:100%;height:34px;display:flex;align-items:center;gap:10px;padding:0 10px;color:var(--text-primary);border:0;border-radius:8px;background:transparent;font-size:12px;font-weight:600;text-align:left}.app-sidebar-flyout-item:hover{background:var(--bg-hover)}.app-sidebar-theme-toggle-item span:nth-child(2){flex:1}.app-sidebar-theme-switch{position:relative;width:34px;height:18px;flex:0 0 auto;border:1px solid var(--border-default);border-radius:999px;background:var(--bg-tertiary)}.app-sidebar-theme-switch.on{border-color:var(--accent-primary);background:var(--accent-primary)}.app-sidebar-theme-switch-thumb{position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--text-primary);transition:transform .15s ease}.app-sidebar-theme-switch.on .app-sidebar-theme-switch-thumb{transform:translate(16px);background:#fff}.app-sidebar-flyout-danger{color:var(--accent-error)}.app-sidebar-flyout-danger:hover{background:#f43f5e1a}.app-main-column.main-column{min-width:0;min-height:0;height:100%;flex:1;display:flex;flex-direction:column;margin-left:0}.web-utility-topbar{position:relative;z-index:110;height:36px;min-height:36px;display:flex;align-items:center;padding:0 12px;color:var(--text-primary);border-bottom:1px solid var(--border-default);background:var(--bg-secondary)}.web-utility-topbar .app-utility-title{position:absolute;left:50%;top:50%;color:var(--text-primary);font-size:13px;font-weight:750;transform:translate(-50%,-50%)}.web-utility-topbar .app-utility-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.web-runtime-status{display:inline-flex;min-height:26px;align-items:center;gap:6px;padding:0 8px;color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-tertiary);font-size:10px;font-weight:650}.web-runtime-status.connected{color:var(--accent-success)}.web-runtime-status.connecting{color:var(--accent-warning)}.web-capability-badges.capability-badges{display:flex;gap:5px}.web-capability-badges span{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;color:var(--accent-primary);border-radius:var(--radius-sm);background:var(--bg-accent-subtle);font-size:9px;font-weight:700}.app-web-content.content{flex:1;min-height:0;overflow:auto}.mobile-header,.bottom-nav{display:none}.aka-login-page.login-page{width:100%;min-height:100dvh;display:flex;align-items:stretch;justify-content:center;color:var(--text-primary);background:var(--bg-primary)}.aka-login-panel.login-panel{min-height:100dvh;flex:1;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg-primary)}.aka-login-card.login-card{width:100%;max-width:380px;padding:28px;color:var(--text-primary);border:1px solid var(--border-default);border-radius:8px;background:var(--bg-secondary);box-shadow:0 10px 40px #0000004d}.aka-login-brand{display:flex;align-items:center;gap:10px;margin-bottom:4px}.aka-login-logo{display:inline-flex;width:36px;height:36px;flex:0 0 36px;overflow:hidden;border-radius:8px}.aka-login-logo img{display:block;width:100%;height:100%;object-fit:cover}.aka-login-brand-copy{display:flex;flex-direction:column}.aka-login-brand-copy strong{color:var(--text-primary);font-size:16px;font-weight:650}.aka-login-brand-copy small{color:var(--text-tertiary);font-size:11px}.aka-login-form{display:flex;flex-direction:column;gap:16px}.aka-login-field{display:flex;flex-direction:column;gap:6px;color:var(--text-secondary);font-size:12px;font-weight:400}.aka-login-form input{min-height:38px;padding:9px 12px;color:var(--text-primary);border:1px solid var(--border-default);border-radius:6px;outline:none;background:var(--bg-primary);font-size:13px}.aka-login-alert{padding:8px 10px;border-radius:6px;font-size:12px}.aka-login-button.login-button{min-height:36px;margin-top:0;justify-content:center;font-size:13px}.aka-login-help.login-help{margin-top:16px;color:var(--text-tertiary);font-size:10px}.web-campaign-workspace.campaign-page{width:100%;height:100%;min-height:0;display:flex;gap:6px;padding:0;overflow:hidden;background:var(--bg-primary)}.campaign-page-panel{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--card-radius);background:var(--bg-secondary);box-shadow:var(--shadow-sm)}.campaign-accounts-pane{width:250px;flex:0 0 250px}.campaign-list-pane{flex:1 1 auto}.campaign-log-pane{width:300px;flex:0 0 300px}.campaign-pane-resize-handle{width:3px;flex:0 0 3px;margin:16px 0;cursor:col-resize;border-radius:4px;background:transparent;transition:background var(--transition-fast)}.campaign-pane-resize-handle:hover,.campaign-pane-resize-handle:active{background:var(--accent-primary)}.campaign-panel{min-width:0;min-height:0;flex:1;display:flex;flex-direction:column;background:var(--bg-secondary)}.campaign-panel-top{flex:0 0 auto}.campaign-panel-header{min-height:44px;display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border-default);background:var(--bg-secondary)}.campaign-panel-title{margin:0;color:var(--text-primary);font-size:13px;font-weight:700;line-height:1.3}.campaign-panel-count{display:inline-grid;min-width:21px;height:21px;place-items:center;padding:0 6px;color:var(--text-secondary);border-radius:999px;background:var(--bg-tertiary);font-size:10px;font-weight:700}.campaign-panel-header-actions{display:flex;align-items:center;gap:6px}.campaign-panel-content{min-width:0;min-height:0;flex:1;overflow:auto}.account-filter-list{padding:8px}.account-filter-card.account-card{position:relative;width:100%;min-height:58px;display:flex;align-items:center;gap:9px;margin:0 0 6px;padding:9px 10px;color:var(--text-primary);border:1px solid var(--border-default);border-left:3px solid var(--text-tertiary);border-radius:var(--card-radius);background:var(--bg-secondary);box-shadow:none;text-align:left}.account-filter-card:hover{border-color:var(--border-hover);background:var(--bg-hover)}.account-filter-card.selected{border-color:var(--accent-primary);background:var(--bg-accent-subtle)}.account-filter-card.status-pending{border-left-color:var(--accent-info)}.account-filter-card.status-running{border-left-color:var(--accent-warning)}.account-filter-card.status-paused{border-left-color:var(--accent-error)}.account-filter-card.status-completed{border-left-color:var(--accent-success)}.account-status-dot{display:inline-grid;width:24px;height:24px;flex:0 0 24px;place-items:center;border-radius:7px;background:var(--bg-tertiary)}.account-status-dot:not(.status-all){width:8px;height:8px;flex-basis:8px;border-radius:50%}.account-status-dot.status-pending{background:var(--accent-info);box-shadow:0 0 6px #38bdf873}.account-status-dot.status-running{background:var(--accent-warning);box-shadow:0 0 6px #fbbf2473}.account-status-dot.status-paused{background:var(--accent-error)}.account-status-dot.status-completed{background:var(--accent-success)}.account-card-info{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.account-card-name-text{overflow:hidden;color:var(--text-primary);font-size:12px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.account-card-meta{display:flex;align-items:center;gap:6px;color:var(--text-tertiary)}.account-card-meta small,.account-card-info>small{color:var(--text-tertiary);font-size:10px}.account-tag{padding:2px 5px;color:var(--accent-primary);border-radius:4px;background:var(--bg-accent-subtle);font-size:9px;font-weight:700}.account-list-empty.empty-state{min-height:120px;padding:18px 8px;color:var(--text-tertiary);font-size:11px}.campaign-list-filter-panel{padding:8px 10px;border-bottom:1px solid var(--border-default);background:var(--bg-secondary)}.campaign-filter-compact-row{display:grid;grid-template-columns:minmax(180px,1fr) 150px 150px;gap:7px}.campaign-filter-compact-row select{width:100%;min-width:0}.campaign-filter-search-box.search-box{min-width:0;width:100%}.campaign-filter-bar{min-height:32px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 10px;color:var(--text-secondary);border-bottom:1px solid var(--border-default);background:var(--bg-accent-subtle);font-size:10px}.campaign-filter-bar strong{color:var(--text-primary)}.campaign-list-pane .inline-notice{margin:7px 10px 0}.campaign-bulk-action-bar.selection-bar{position:relative;top:auto;margin:7px 10px 0;border-radius:var(--radius-sm);background:var(--bg-elevated);box-shadow:none}.bulk-action-buttons{display:flex;align-items:center;gap:8px}.campaign-work-area{min-width:0;min-height:0;flex:1;display:flex;overflow:hidden}.campaign-table-scroll{width:100%;background:var(--bg-secondary)}.compact-campaign-table{min-width:1280px;color:var(--text-secondary);background:var(--bg-secondary)}.campaign-table-header,.campaign-table-row{display:grid;grid-template-columns:minmax(230px,1.35fr) 78px 128px minmax(165px,.9fr) 145px 118px 118px 38px;align-items:stretch}.campaign-table-header{position:sticky;top:0;z-index:4;min-height:42px;color:var(--text-tertiary);border-bottom:1px solid var(--border-default);background:var(--bg-tertiary);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.campaign-table-header .col-toggle,.campaign-table-header .col-progress{justify-content:center;padding-inline:5px;text-align:center;white-space:nowrap}.campaign-table-row{position:relative;min-height:72px;color:var(--text-secondary);border-bottom:1px solid var(--border-default);border-left:3px solid var(--text-tertiary);background:var(--bg-secondary);font-size:11px}.campaign-table-row:hover{background:var(--bg-hover)}.campaign-table-row.status-pending{border-left-color:var(--accent-info)}.campaign-table-row.status-running{border-left-color:var(--accent-warning)}.campaign-table-row.status-paused{border-left-color:var(--accent-error)}.campaign-table-row.status-completed{border-left-color:var(--accent-success)}.campaign-col{min-width:0;display:flex;align-items:center;gap:8px;padding:8px 10px;border-right:1px solid color-mix(in srgb,var(--border-default) 72%,transparent)}.campaign-col:last-child{border-right:0}.col-campaign input{width:15px;min-height:15px;padding:0;accent-color:var(--accent-primary)}.campaign-main-cell{min-width:0;display:flex;flex-direction:column;gap:5px}.campaign-name-line{overflow:hidden;color:var(--text-primary);font-size:12px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.campaign-name-line:hover{color:var(--accent-primary)}.campaign-meta-line{display:flex;align-items:center;gap:5px;overflow:hidden;color:var(--text-tertiary);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.campaign-control-button{color:var(--text-secondary)}.campaign-status-stack{width:100%;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.campaign-progress-count{color:var(--text-primary);font-size:10px}.campaign-progress-track{width:100%;height:7px;overflow:hidden;border-radius:999px;background:var(--bg-primary)}.campaign-progress-fill{display:block;height:100%;border-radius:inherit;background:var(--accent-primary)}.campaign-two-line-cell{min-width:0;display:flex;flex-direction:column;gap:3px}.campaign-two-line-cell strong{overflow:hidden;color:var(--text-primary);font-size:11px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.campaign-two-line-cell small{color:var(--text-tertiary);font-size:9px}.campaign-action-menu{min-width:190px}.campaign-action-menu-item{min-height:32px}.campaign-list-pane .empty-state{min-height:240px}.log-panel-header{min-height:44px}.realtime-status-dot{width:8px;height:8px;border-radius:50%;background:var(--text-tertiary)}.realtime-status-dot.connected{background:var(--accent-success);box-shadow:0 0 6px var(--accent-success)}.realtime-status-dot.connecting{background:var(--accent-warning)}.campaign-import-modal{width:min(1120px,calc(100vw - 32px));max-height:min(860px,calc(100vh - 32px))}.campaign-import-body{display:flex;flex-direction:column;gap:14px}.campaign-import-tabs{display:flex;gap:14px;overflow-x:auto;border-bottom:1px solid var(--border-default)}.campaign-import-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--accent-primary);padding:12px 10px 13px;font-size:14px;white-space:nowrap;cursor:pointer}.campaign-import-tab.active{color:var(--text-primary);border:1px solid var(--border-default);border-bottom-color:var(--bg-secondary);border-radius:var(--radius-sm) var(--radius-sm) 0 0;margin-bottom:-1px}.campaign-import-tab-panel{display:grid;gap:10px}.campaign-import-label{color:var(--text-primary);font-weight:600}.campaign-import-textarea{min-height:220px;resize:vertical;width:100%;background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);padding:10px 12px;font:inherit;outline:none}.campaign-import-textarea:focus,.campaign-import-image-drop:focus{border-color:var(--accent-primary)}.campaign-import-hint,.campaign-import-file-name{color:var(--text-secondary);font-size:12px}.campaign-import-hint{font-style:italic}.campaign-import-file-button{width:fit-content}.campaign-import-template-file{position:relative;width:100%;min-height:76px;display:grid;grid-template-columns:minmax(0,1fr) 66px;align-items:center;padding:0;border:1px dashed var(--border-default);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;outline:none;transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.campaign-import-template-file:hover:not(:has(.campaign-import-template-file-input:disabled)){border-color:var(--border-hover);background:var(--bg-tertiary)}.campaign-import-template-file:focus-within{border-color:var(--border-active);box-shadow:0 0 0 2px var(--bg-accent-subtle)}.campaign-import-template-file:has(.campaign-import-template-file-input:disabled),.campaign-import-template-file[aria-disabled=true]{opacity:.6;cursor:not-allowed}.campaign-import-template-file-input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);border:0;white-space:nowrap}.campaign-import-template-file-picker{grid-column:1 / -1;grid-row:1;min-width:0;width:100%;min-height:74px;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:12px;padding:14px 66px 14px 16px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;outline:none}.campaign-import-template-file:not(.has-file) .campaign-import-template-file-picker{padding-right:16px}.campaign-import-template-file-picker:disabled{cursor:not-allowed}.campaign-import-template-file-icon{width:38px;height:38px;display:grid;place-items:center;color:var(--text-secondary);flex-shrink:0}.campaign-import-template-file-copy{min-width:0;display:grid;gap:2px}.campaign-import-template-file-title,.campaign-import-template-file-meta{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.campaign-import-template-file-title{color:var(--text-primary);font-size:13px;font-weight:600}.campaign-import-template-file-meta{color:var(--text-tertiary);font-size:12px}.campaign-import-template-file-remove{position:relative;z-index:1;grid-column:2;grid-row:1;justify-self:center;width:34px;height:34px;display:inline-grid;place-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;outline:none;transition:color var(--transition-fast),background var(--transition-fast)}.campaign-import-template-file-remove:hover:not(:disabled){color:var(--text-primary);background:var(--bg-hover)}.campaign-import-template-file-remove:focus-visible{box-shadow:0 0 0 2px var(--border-active)}.campaign-import-template-file-remove:disabled{opacity:.5;cursor:not-allowed}.campaign-import-template-status{min-height:20px;display:inline-flex;align-items:center;gap:7px;width:fit-content;font-size:13px;font-weight:600}.campaign-import-template-status svg{flex:0 0 auto}.campaign-import-template-status.success{color:var(--accent-success)}.campaign-import-template-status.error{color:var(--accent-error)}.campaign-import-template-status.reading{color:var(--text-secondary)}.campaign-import-image-drop{min-height:240px;border:1px dashed var(--border-default);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;background:var(--bg-primary);outline:none;padding:16px}.campaign-import-image-drop img{max-width:100%;max-height:280px;object-fit:contain}.campaign-import-empty-media{display:grid;place-items:center;gap:8px;color:var(--text-tertiary)}.campaign-import-skip-header{display:inline-flex;align-items:center;gap:8px;color:var(--text-primary);width:fit-content}.campaign-import-skip-header input{width:16px;height:16px}.campaign-import-column-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.campaign-import-column-field{display:grid;gap:4px}.campaign-import-column-field span{color:var(--text-secondary);font-size:12px}.campaign-import-excel-preview{display:grid;gap:8px}.campaign-import-preview-scroll{max-height:200px;overflow:auto;border:1px solid var(--border-default);border-radius:var(--radius-sm)}.campaign-import-format-row{display:flex;justify-content:flex-end}.campaign-import-preview-table{min-height:180px;max-height:360px;overflow:auto;border:1px solid var(--border-default);border-radius:var(--radius-sm)}.campaign-import-preview-table .campaign-grid{min-width:760px}.add-current-data-modal{width:min(880px,calc(100vw - 40px));max-height:min(820px,calc(100vh - 40px))}.add-current-data-modal-body{display:flex;flex-direction:column;gap:14px}.add-current-data-campaign-name{color:var(--text-secondary);font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-current-data-source-row{display:flex;flex-wrap:wrap;gap:8px}.add-current-data-preview-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.add-current-data-preview-header>span{color:var(--text-primary);font-weight:500}.add-current-data-preview{border:1px solid var(--border-default);border-radius:6px;max-height:min(320px,42vh);overflow:auto}.add-current-data-preview .campaign-grid{border:0}.add-current-data-checkbox{margin-top:2px}.add-current-data-checkbox-hint{font-size:12px;line-height:1.4;margin-top:-8px}.add-input-data-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.add-input-data-grid .stepper-form-group{margin-bottom:0}.add-current-data-modal .stepper-form-group>span{display:block;margin-bottom:8px}.add-input-data-empty{padding:14px;font-size:12px}@media(max-width:900px){.campaign-import-column-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.add-input-data-grid{grid-template-columns:1fr}}@media(max-width:640px){.campaign-import-column-grid{grid-template-columns:1fr}.campaign-import-modal,.add-current-data-modal{width:100%;max-height:100dvh;border-radius:0}}.log-empty-state.empty-state{min-height:180px;gap:6px;padding:20px 8px;color:var(--text-tertiary)}.log-empty-state small{color:var(--text-tertiary);font-size:9px;text-align:center}.mobile-account-actions{display:grid;gap:8px}.mobile-theme-button,.mobile-logout-button{min-height:38px;display:flex;align-items:center;gap:8px;padding:0 11px;color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-tertiary);font-size:11px}.mobile-logout-button{color:var(--accent-error)}@media(max-width:1199px){.app-sidebar .app-sidebar-nav-item.tablet-only{display:flex}.campaign-pane-resize-handle,.campaign-accounts-pane,.campaign-log-pane{display:none}.campaign-list-pane{width:100%;flex-basis:100%}.campaign-filter-compact-row{grid-template-columns:minmax(180px,1fr) 145px 145px}}@media(max-width:719px){.aka-app-shell{display:block;min-height:100dvh;height:auto;overflow:visible}.app-sidebar.sidebar{display:none}.app-main-column.main-column{min-height:100dvh;height:auto;margin-left:0}.web-utility-topbar{display:none}.mobile-header{position:sticky;top:0;z-index:100;height:calc(52px + env(safe-area-inset-top));display:flex;align-items:flex-end;justify-content:space-between;padding:env(safe-area-inset-top) 12px 8px;color:var(--text-primary);border-bottom:1px solid var(--border-default);background:color-mix(in srgb,var(--bg-secondary) 94%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.mobile-app-brand.brand{gap:7px;padding:0}.mobile-app-logo{display:inline-flex;width:30px;height:30px;overflow:hidden;border-radius:9px}.mobile-app-logo img{display:block;width:100%;height:100%;object-fit:cover}.mobile-app-brand strong{color:var(--text-primary);font-size:15px}.bottom-nav{position:fixed;inset:auto 0 0;z-index:130;height:calc(62px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,1fr);padding:6px 5px env(safe-area-inset-bottom)}.app-web-content.content{min-height:0;overflow:visible}.web-campaign-workspace.campaign-page{height:auto;min-height:calc(100dvh - 134px);overflow:visible}.campaign-page-panel{overflow:visible;border-radius:var(--card-radius)}.campaign-list-pane .campaign-panel,.campaign-work-area,.campaign-panel-content{overflow:visible}.campaign-list-filter-panel{padding:7px}.campaign-filter-compact-row{grid-template-columns:1fr 1fr}.campaign-filter-search-field{grid-column:1 / -1}.campaign-panel-header{min-height:42px;padding:7px 9px}.campaign-panel-header-actions .btn-primary{font-size:0}.campaign-panel-header-actions .btn-primary svg{width:17px;height:17px}.compact-campaign-table{min-width:0;display:grid;gap:7px;padding:7px;background:var(--bg-primary)}.campaign-table-header{display:none}.campaign-table-row{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 40px;padding:10px 9px;border:1px solid var(--border-default);border-left-width:3px;border-radius:var(--card-radius);box-shadow:var(--shadow-sm)}.campaign-table-row:hover{background:var(--bg-secondary)}.campaign-table-row .campaign-col{min-height:0;padding:7px 3px;border:0}.campaign-table-row .col-campaign{grid-column:1 / 2;grid-row:1;padding-top:1px}.campaign-table-row .col-menu{grid-column:2;grid-row:1;justify-content:flex-end;padding-top:0}.campaign-table-row .col-toggle{grid-column:2;grid-row:2;justify-content:flex-end}.campaign-table-row .col-progress{grid-column:1;grid-row:2}.campaign-table-row .col-action,.campaign-table-row .col-account,.campaign-table-row .col-send-date{grid-column:1 / -1;padding-top:8px;border-top:1px dashed var(--border-default)}.campaign-table-row .col-action:before{content:"Hành động";width:74px;flex:0 0 74px;color:var(--text-tertiary);font-size:9px;text-transform:uppercase}.campaign-table-row .col-account:before{content:"Tài khoản";width:74px;flex:0 0 74px;color:var(--text-tertiary);font-size:9px;text-transform:uppercase}.campaign-table-row .col-send-date:before{content:"Ngày gửi";width:74px;flex:0 0 74px;color:var(--text-tertiary);font-size:9px;text-transform:uppercase}.campaign-table-row .col-update-date{display:none}.campaign-status-stack{max-width:190px}.campaign-action-menu{right:0;top:30px}.campaign-filter-bar{font-size:9px}.campaign-bulk-action-bar.selection-bar{position:sticky;bottom:calc(68px + env(safe-area-inset-bottom));z-index:15}.aka-login-panel.login-panel{padding:18px}.aka-login-card.login-card{max-width:380px;padding:24px 20px}.aka-login-heading h1{font-size:17px}body,body.theme-light{background:var(--bg-primary)}.content{padding:10px 9px calc(72px + env(safe-area-inset-bottom))}.page-header{align-items:center;min-height:44px;margin-bottom:8px;padding:8px 10px}.page-header h1{font-size:14px}.page-header p{display:none}.page-actions{right:12px;bottom:calc(72px + env(safe-area-inset-bottom))}.page-actions .button.primary{min-width:44px;height:44px;border-radius:12px;box-shadow:var(--shadow-md)}.campaign-summary{display:none}.toolbar-card{gap:7px;margin-bottom:8px;padding:7px}.campaign-table .table-row,.contact-table .table-row{color:var(--text-secondary);border-color:var(--border-default);border-radius:var(--card-radius);background:var(--bg-secondary);box-shadow:var(--shadow-sm)}.campaign-table .table-row>span:nth-child(3),.campaign-table .table-row>span:nth-child(4),.campaign-table .table-row>span:nth-child(5){border-color:var(--border-default)}.modal-backdrop{align-items:flex-end;padding:0}.modal{width:100%;max-width:none;max-height:92dvh;border-radius:14px 14px 0 0;padding-bottom:env(safe-area-inset-bottom)}.mobile-save-bar,.bottom-nav,.mobile-header{color:var(--text-primary);border-color:var(--border-default);background:color-mix(in srgb,var(--bg-secondary) 94%,transparent)}.bottom-nav{box-shadow:0 -6px 18px #0000002e}.bottom-nav a,.bottom-nav button{color:var(--text-tertiary)}.bottom-nav .active{color:var(--accent-primary)}.brand.compact strong{color:var(--text-primary)}.capability-badges span{color:var(--accent-primary);background:var(--bg-accent-subtle)}.more-sheet{color:var(--text-primary);background:var(--bg-secondary)}.more-grid a{color:var(--text-secondary)}.more-grid a span{color:var(--accent-primary);background:var(--bg-accent-subtle)}.user-sheet{background:var(--bg-tertiary)}.sheet-handle{background:var(--border-hover)}.login-page,.login-panel{background:var(--bg-primary)}.login-panel{padding:18px}.login-card{max-width:380px}.form-section{padding:13px 11px}.account-card{padding:11px}}.campaign-filter-compact-row{grid-template-columns:minmax(210px,1fr) minmax(180px,1fr) minmax(180px,1fr);grid-template-areas:"search time status" "account platform action"}.campaign-table-header,.campaign-table-row{grid-template-columns:minmax(280px,2.2fr) 92px minmax(150px,1fr) 112px 126px minmax(170px,1.2fr) minmax(160px,1fr) minmax(132px,.9fr);column-gap:8px}.campaign-col{border-right:0}.campaign-table-row{--campaign-row-accent: var(--text-tertiary);--campaign-row-bg: transparent;--campaign-row-hover-bg: var(--bg-hover);--campaign-row-selected-bg: rgba(99, 102, 241, .08);--campaign-row-multi-bg: rgba(99, 102, 241, .05);--campaign-row-status-bg: rgba(0, 0, 0, .04);background:var(--campaign-row-bg)}.campaign-table-row.status-pending{--campaign-row-accent: var(--accent-info);--campaign-row-bg: rgba(56, 189, 248, .025);--campaign-row-hover-bg: rgba(56, 189, 248, .065);--campaign-row-selected-bg: rgba(56, 189, 248, .11);--campaign-row-multi-bg: rgba(56, 189, 248, .08);--campaign-row-status-bg: rgba(56, 189, 248, .12);border-left-color:var(--campaign-row-accent)}.campaign-table-row.status-running{--campaign-row-accent: var(--accent-warning);--campaign-row-bg: rgba(251, 191, 36, .03);--campaign-row-hover-bg: rgba(251, 191, 36, .075);--campaign-row-selected-bg: rgba(251, 191, 36, .12);--campaign-row-multi-bg: rgba(251, 191, 36, .09);--campaign-row-status-bg: rgba(251, 191, 36, .13);border-left-color:var(--campaign-row-accent)}.campaign-table-row.status-completed{--campaign-row-accent: var(--accent-success);--campaign-row-bg: rgba(52, 211, 153, .025);--campaign-row-hover-bg: rgba(52, 211, 153, .065);--campaign-row-selected-bg: rgba(52, 211, 153, .11);--campaign-row-multi-bg: rgba(52, 211, 153, .08);--campaign-row-status-bg: rgba(52, 211, 153, .12);border-left-color:var(--campaign-row-accent)}.campaign-table-row.status-paused,.campaign-table-row.status-error{--campaign-row-accent: var(--accent-error);--campaign-row-bg: rgba(244, 63, 94, .025);--campaign-row-hover-bg: rgba(244, 63, 94, .065);--campaign-row-selected-bg: rgba(244, 63, 94, .11);--campaign-row-multi-bg: rgba(244, 63, 94, .08);--campaign-row-status-bg: rgba(244, 63, 94, .12);border-left-color:var(--campaign-row-accent)}.campaign-table-row:hover{background:var(--campaign-row-hover-bg)}.campaign-table-row.selected{background:var(--campaign-row-selected-bg);border-left:3px solid var(--accent-primary)}.campaign-table-row.multi-selected{background:var(--campaign-row-multi-bg)}.campaign-table-row.multi-selected.selected{background:var(--campaign-row-selected-bg)}.status-badge{color:var(--campaign-row-accent);padding:2px 7px;border-radius:10px;background:var(--campaign-row-status-bg);font-size:10px;font-weight:600;white-space:nowrap}.campaign-progress-count{color:var(--text-secondary);font-size:13px;font-weight:600;line-height:1.2}.campaign-progress-track{width:100%;height:7px;overflow:hidden;border-radius:999px;background:#94a3b829}.campaign-progress-fill{display:block;height:100%;border-radius:inherit;background:#22c55e;transition:width var(--transition-fast)}.campaign-table-loading-row{min-height:76px;display:flex;align-items:center;justify-content:center;gap:8px;padding:18px 12px;color:var(--text-secondary);border-bottom:1px solid var(--border-default)}.campaign-work-area{flex-direction:column}.campaign-filter-mobile-bar{display:none}@media(max-width:1180px)and (min-width:720px){.campaign-filter-compact-row{grid-template-columns:repeat(2,minmax(180px,1fr));grid-template-areas:"search time" "status account" "platform action"}}@media(max-width:719px){.desktop-campaign-filters{display:none}.campaign-filter-mobile-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.mobile-filter-backdrop{display:flex}.campaign-list-filter-panel{position:sticky;top:calc(52px + env(safe-area-inset-top));z-index:30;padding:7px}.campaign-work-area.has-detail.detail-open .campaign-table-scroll{display:none}.campaign-work-area.has-detail .campaign-detail-dock.is-open{position:fixed;inset:calc(52px + env(safe-area-inset-top)) 0 calc(62px + env(safe-area-inset-bottom));z-index:120;height:auto!important;max-height:none;flex-basis:auto!important;border-top:0;background:var(--bg-primary)}.campaign-work-area:not(.has-detail) .campaign-detail-dock{display:none}.campaign-detail-dock.is-collapsed{display:none}.campaign-table-row{grid-template-columns:minmax(0,1fr) auto}.campaign-table-row .col-campaign{grid-column:1;grid-row:1}.campaign-table-row .col-toggle{grid-column:2;grid-row:1;align-self:start}.campaign-table-row .col-progress{grid-column:1 / -1;grid-row:2;padding-top:8px;border-top:1px dashed var(--border-default)}.campaign-table-row .col-assistant{grid-column:1 / -1;grid-row:3}.campaign-table-row .col-action{grid-column:1 / -1;grid-row:4;justify-content:flex-start}.campaign-table-row .col-account{grid-column:1 / -1;grid-row:5}.campaign-table-row .col-send-date{grid-column:1 / -1;grid-row:6}.campaign-table-row .col-update-date{display:none}.campaign-action-menu{top:37px;right:auto;left:0}}.search-box .search-clear{display:grid;flex:0 0 24px;width:24px;min-height:24px;padding:0;place-items:center;color:var(--text-tertiary);border:0;border-radius:var(--radius-sm);background:transparent}.search-box .search-clear:hover{color:var(--text-primary);background:var(--bg-hover)}.search-box .search-clear svg{width:13px;height:13px}.template-toolbar .search-box{max-width:620px}.template-toolbar>span,.media-page-toolbar>span{flex:0 0 auto;color:var(--text-tertiary);font-size:10px;white-space:nowrap}.media-alert{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px;white-space:pre-line}.media-alert .icon-button{flex:0 0 auto}.media-page-toolbar .search-box{min-width:260px}.media-page-toolbar .button.compact{min-height:34px;padding:0 10px;font-size:10px}.media-page-toolbar .button.compact svg{width:14px;height:14px}.media-tabs{align-items:stretch}.media-tab-group{display:flex;flex:0 0 auto;align-items:stretch;overflow:hidden;border:1px solid var(--border-default);border-radius:10px;color:var(--text-secondary);background:var(--bg-tertiary)}.media-tab-group.active{color:var(--accent-primary);border-color:color-mix(in srgb,var(--accent-primary) 48%,var(--border-default));background:var(--bg-accent-subtle)}.media-tab-group .media-tab-select{min-height:36px;max-width:220px;padding:0 8px 0 10px;color:inherit;border:0;border-radius:0;background:transparent}.media-tab-group .media-tab-select>span{overflow:hidden;max-width:126px;text-overflow:ellipsis;white-space:nowrap}.media-tab-group .media-tab-select:hover{color:var(--text-primary);background:var(--bg-hover)}.media-tab-group .media-tab-select>svg{width:15px;height:15px}.media-tab-group .media-tab-select>small{display:grid;min-width:18px;height:18px;place-items:center;border-radius:99px;background:var(--bg-primary);font-size:7px}.media-tab-actions{display:flex;align-items:center;padding:0 3px;border-left:1px solid var(--border-default)}.media-tab-group .media-tab-actions button{display:grid;width:25px;min-height:26px;padding:0;place-items:center;color:var(--text-tertiary);border:0;border-radius:6px;background:transparent}.media-tab-group .media-tab-actions button:hover{color:var(--text-primary);background:var(--bg-hover)}.media-tab-group .media-tab-actions button.danger:hover{color:var(--accent-error);background:#f43f5e17}.media-tab-group .media-tab-actions svg{width:12px;height:12px}.media-card-actions{display:flex;flex:0 0 auto;align-items:center;gap:2px}.media-card-actions .icon-button svg{width:14px;height:14px}@media(max-width:719px){.template-toolbar,.media-page-toolbar{align-items:stretch;flex-wrap:wrap;gap:7px}.template-toolbar .search-box,.media-page-toolbar .search-box{flex-basis:100%;max-width:none;min-width:0}.template-toolbar>span,.media-page-toolbar>span{display:flex;flex:1;align-items:center}.media-tabs{margin-inline:-12px;padding-inline:12px;scroll-padding-inline:12px}.page-actions .button.secondary.media-create-folder-action{display:flex;height:44px;padding:0 11px;border-radius:12px;box-shadow:var(--shadow-md)}.media-tab-group .media-tab-select{max-width:190px}.media-tab-actions{display:flex}.media-card footer{align-items:flex-start}}.account-card{position:relative}.account-card.actions-open{z-index:1600}.zalo-account-action-bar{position:relative;width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.account-card footer .account-qr-action{justify-content:center;min-height:34px;color:#fff;border-color:var(--accent-primary);background:var(--accent-primary);font-size:9px;font-weight:700}.account-card footer .account-qr-action:hover:not(:disabled){color:#fff;border-color:var(--accent-primary-hover);background:var(--accent-primary-hover)}.account-card footer .account-more-action{min-height:34px;padding-inline:10px;color:var(--text-primary);background:var(--bg-tertiary);font-size:9px;font-weight:650}.account-card footer .account-more-action>svg{width:13px;transition:transform .15s ease}.account-card footer .account-more-action[aria-expanded=true]>svg{transform:rotate(180deg)}.account-card footer .account-action-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;display:block;width:auto;min-height:0;padding:0;border:0;border-radius:0;background:transparent}.account-card footer .account-action-menu{position:absolute;right:0;bottom:42px;z-index:2;width:min(310px,calc(100vw - 36px));overflow:hidden;padding:5px;color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:var(--shadow-lg)}.account-action-menu-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 7px 8px;border-bottom:1px solid var(--border-default)}.account-action-menu-head>div{min-width:0;display:grid;gap:2px}.account-action-menu-head strong{overflow:hidden;color:var(--text-primary);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.account-action-menu-head span{color:var(--text-tertiary);font-size:9px}.account-card footer .account-action-menu-head>button{display:grid;width:26px;min-height:26px;padding:0;place-items:center;color:var(--text-tertiary);border:0;background:transparent}.account-card footer .account-action-menu>button{width:100%;min-height:43px;display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px;padding:6px 8px;color:var(--text-secondary);border:0;border-radius:var(--radius-sm);background:transparent;text-align:left}.account-card footer .account-action-menu>button:hover:not(:disabled){color:var(--text-primary);background:var(--bg-hover)}.account-card footer .account-action-menu>button>svg{width:15px;justify-self:center}.account-card footer .account-action-menu>button>span{min-width:0;display:grid;gap:2px}.account-card footer .account-action-menu>button strong{color:inherit;font-size:10px}.account-card footer .account-action-menu>button small{color:var(--text-tertiary);font-size:8px;font-weight:400}.account-card footer .account-action-menu>button.danger{color:var(--accent-error)}.account-card footer .account-action-menu>button.danger:hover:not(:disabled){color:var(--accent-error);background:#f43f5e17}@media(max-width:719px){.zalo-account-action-bar{grid-template-columns:minmax(0,1fr) minmax(112px,auto)}.account-card footer .account-qr-action,.account-card footer .account-more-action{min-height:38px}.account-card footer .account-action-backdrop{z-index:2100;background:#00000094;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.account-card footer .account-action-menu{position:fixed;right:0;bottom:0;left:0;z-index:2101;width:100%;max-height:min(82dvh,620px);overflow-y:auto;padding:7px 10px calc(10px + env(safe-area-inset-bottom));border:0;border-radius:16px 16px 0 0}.account-action-menu-head{min-height:52px;padding:6px 8px 10px}.account-action-menu-head strong{font-size:13px}.account-action-menu-head span{font-size:10px}.account-card footer .account-action-menu>button{min-height:52px;grid-template-columns:28px minmax(0,1fr);padding:7px 9px}.account-card footer .account-action-menu>button>svg{width:18px}.account-card footer .account-action-menu>button strong{font-size:12px}.account-card footer .account-action-menu>button small{font-size:9px}}.web-campaign-form-layout{grid-template-columns:232px minmax(0,1fr);gap:12px;align-items:start}.web-campaign-form-stepper{position:sticky;top:12px;align-self:start}.web-campaign-form-stepper-card{overflow:hidden;padding:8px}.web-campaign-form-step-list{display:grid;gap:3px}.web-campaign-form-step-list>button{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:9px;align-items:center;min-height:58px;padding:8px;color:var(--text-secondary);border:1px solid transparent;border-radius:var(--radius-md);background:transparent;text-align:left}.web-campaign-form-step-list>button:hover{color:var(--text-primary);background:var(--bg-hover)}.web-campaign-form-step-list>button.active{color:var(--text-primary);border-color:color-mix(in srgb,var(--accent-primary) 24%,var(--border-default));background:var(--bg-accent-subtle)}.web-campaign-form-step-number{display:grid;width:28px;height:28px;place-items:center;color:var(--text-secondary);border:2px solid var(--border-default);border-radius:50%;background:var(--bg-tertiary);font-size:11px;font-style:normal;font-weight:700}.web-campaign-form-step-number.complete{color:#fff;border-color:var(--accent-success);background:var(--accent-success)}.web-campaign-form-step-copy{display:grid;min-width:0;gap:3px}.web-campaign-form-step-copy strong{overflow:hidden;color:inherit;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.web-campaign-form-step-copy small{overflow:hidden;color:var(--text-tertiary);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.web-campaign-form-step-list>button>em{padding:2px 6px;color:var(--text-tertiary);border-radius:999px;background:var(--bg-tertiary);font-size:8px;font-style:normal}.web-campaign-form-summary{display:grid;gap:7px;margin-top:9px;padding:13px 9px 5px;border-top:1px solid var(--border-default)}.web-campaign-form-summary .platform-badge{width:fit-content;margin:0}.web-campaign-form-summary>strong{overflow:hidden;color:var(--text-primary);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.web-campaign-form-summary dl{display:grid;gap:0;margin:3px 0 0}.web-campaign-form-summary dl div{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-top:1px solid var(--border-default);font-size:9px}.web-campaign-form-summary dt{color:var(--text-tertiary)}.web-campaign-form-summary dd{overflow:hidden;margin:0;color:var(--text-secondary);font-weight:600;text-align:right;text-overflow:ellipsis;white-space:nowrap}.web-campaign-form-section-anchor{scroll-margin-top:74px}.web-campaign-form-section{overflow:hidden;padding:0}.web-campaign-form-section>header{align-items:center;min-height:50px;margin:0;padding:10px 14px;border-bottom:1px solid var(--border-default);background:linear-gradient(135deg,#34d3991a,#38bdf80d)}.web-campaign-form-section>header+*{margin-top:16px}.web-campaign-form-section>header~*{margin-right:16px;margin-left:16px}.web-campaign-form-section>header~*:last-child{margin-bottom:16px}.web-campaign-form-section .step-number{flex-basis:25px;width:25px;height:25px;color:#fff;border-radius:50%;background:var(--accent-success)}.web-campaign-form-section>header h2{font-size:13px}.web-campaign-form-section>header p{margin-top:2px;font-size:9px}.web-campaign-platform-switcher{display:flex;flex-wrap:wrap;gap:7px}.web-campaign-platform-switcher button{display:inline-flex;min-height:32px;align-items:center;gap:7px;padding:0 12px;color:var(--text-secondary);border:1px solid var(--border-default);border-radius:999px;background:var(--bg-tertiary);font-size:10px;font-weight:700}.web-campaign-platform-switcher button:hover:not(:disabled){color:var(--text-primary);border-color:var(--border-hover);background:var(--bg-hover)}.web-campaign-platform-switcher button.active{color:var(--text-primary);border-color:color-mix(in srgb,var(--accent-info) 45%,var(--border-default));background:color-mix(in srgb,var(--accent-info) 12%,var(--bg-secondary))}.web-campaign-platform-switcher button>span{width:8px;height:8px;border-radius:50%;background:var(--accent-info)}.web-campaign-platform-switcher button>span.sms{background:var(--accent-success)}.web-campaign-general-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.web-campaign-action-description{min-height:28px;color:var(--text-tertiary);font-size:9px;font-weight:400;line-height:1.45}.web-campaign-account-picker{margin-top:15px}.web-campaign-account-picker legend{width:calc(100% - 10px)}.web-campaign-account-picker legend>span{float:left;padding-top:4px}.web-campaign-account-picker legend>button{float:right;min-height:25px;padding:2px 7px;color:var(--accent-primary);border:0;border-radius:var(--radius-sm);background:transparent;font-size:9px;font-weight:700}.web-campaign-account-picker legend>button:hover{background:var(--bg-accent-subtle)}.web-campaign-form .runtime-options{gap:0}.web-campaign-form .runtime-options>.option-panel{gap:11px;padding:14px 0;border:0;border-top:1px solid var(--border-default);border-radius:0;background:transparent;box-shadow:none}.web-campaign-form .runtime-options>.option-panel:first-child{padding-top:0;border-top:0}.web-campaign-form .runtime-options>.option-panel:last-child{padding-bottom:0}.web-campaign-template-bar{display:grid;grid-template-columns:minmax(150px,1fr) minmax(180px,.9fr) auto auto;gap:8px;align-items:center;padding:10px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-tertiary)}.web-campaign-template-bar>div{display:grid;gap:2px}.web-campaign-template-bar>div strong{color:var(--text-primary);font-size:10px}.web-campaign-template-bar>div small{color:var(--text-tertiary);font-size:8px}.web-campaign-template-bar .text-link{white-space:nowrap}.web-campaign-form-mobile-nav{display:none}.web-campaign-mobile-save-bar>span{display:none}@media(max-width:1099px){.web-campaign-form-layout{grid-template-columns:minmax(0,1fr)}.web-campaign-form-stepper{display:none}.web-campaign-form-mobile-nav{position:sticky;top:8px;z-index:35;display:flex;gap:5px;overflow-x:auto;margin-bottom:9px;padding:6px;border:1px solid var(--border-default);border-radius:var(--card-radius);background:color-mix(in srgb,var(--bg-secondary) 94%,transparent);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);scrollbar-width:none}.web-campaign-form-mobile-nav::-webkit-scrollbar{display:none}.web-campaign-form-mobile-nav button{display:inline-flex;flex:0 0 auto;min-height:32px;align-items:center;gap:6px;padding:0 9px;color:var(--text-tertiary);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;font-size:9px;font-weight:700}.web-campaign-form-mobile-nav button.active{color:var(--accent-primary);border-color:color-mix(in srgb,var(--accent-primary) 24%,var(--border-default));background:var(--bg-accent-subtle)}.web-campaign-form-mobile-nav button>span{display:grid;width:18px;height:18px;place-items:center;border-radius:50%;background:var(--bg-tertiary);font-size:8px}.web-campaign-form-mobile-nav button.active>span{color:#fff;background:var(--accent-primary)}}@media(max-width:719px){.web-campaign-form{padding-bottom:66px}.web-campaign-form-mobile-nav{top:calc(52px + env(safe-area-inset-top));margin-right:-2px;margin-left:-2px;border-radius:0 0 var(--card-radius) var(--card-radius)}.web-campaign-form-section-anchor{scroll-margin-top:calc(98px + env(safe-area-inset-top))}.web-campaign-form-section>header{padding:9px 11px}.web-campaign-form-section>header~*{margin-right:11px;margin-left:11px}.web-campaign-form-section>header~*:last-child{margin-bottom:12px}.web-campaign-general-grid{grid-template-columns:1fr;gap:9px}.web-campaign-account-picker{grid-template-columns:1fr}.web-campaign-template-bar{grid-template-columns:minmax(0,1fr) auto}.web-campaign-template-bar>div{grid-column:1 / -1}.web-campaign-template-bar>select{grid-column:1 / -1}.web-campaign-template-bar .text-link{justify-self:end}.web-campaign-form .check-list,.web-campaign-form .action-grid{max-height:none;overflow:visible}.web-campaign-form .runtime-options>.option-panel{padding:12px 0}.web-campaign-mobile-save-bar{align-items:center}.web-campaign-mobile-save-bar>.icon-button{flex:0 0 38px;width:38px;min-height:38px}.web-campaign-mobile-save-bar>span{display:grid;flex:1;min-width:0;gap:1px}.web-campaign-mobile-save-bar>span small{color:var(--text-tertiary);font-size:8px}.web-campaign-mobile-save-bar>span strong{overflow:hidden;color:var(--text-primary);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.web-campaign-mobile-save-bar .button{flex:0 0 auto;min-width:112px}}@media(max-width:719px){.data-filter-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:7px}.data-filter-toolbar .search-box{grid-column:1 / -1;min-width:0}.data-filter-toolbar select{width:100%;min-width:0;min-height:38px;margin:0;padding-inline:8px;font-size:10px}.data-filter-toolbar~.table-card{margin-bottom:76px}}.report-period-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:14px;padding:10px 12px;box-shadow:none}.report-period-title{min-width:145px;display:flex;align-items:center;gap:8px;color:var(--accent-primary)}.report-period-title>span{display:grid;gap:2px}.report-period-title strong{color:var(--text-primary);font-size:10px}.report-period-title small{color:var(--text-tertiary);font-size:8px}.report-period-presets{display:flex;flex-wrap:wrap;gap:5px}.report-period-presets button{min-height:32px;padding:0 10px;color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-tertiary);font-size:10px}.report-period-presets button.active{color:var(--accent-primary);border-color:var(--accent-primary);background:var(--bg-accent-subtle);font-weight:700}.report-period-dates{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-left:auto}.report-period-dates label{display:grid;gap:3px;color:var(--text-tertiary);font-size:8px}.report-period-dates input{min-height:32px;padding:0 8px;color:var(--text-primary);border-color:var(--border-default);background:var(--bg-tertiary);font-size:9px}@media(max-width:719px){.report-period-toolbar{align-items:stretch;flex-direction:column;gap:9px}.report-period-title{min-width:0}.report-period-presets{display:grid;grid-template-columns:repeat(4,1fr)}.report-period-presets button{min-width:0;padding:0 4px}.report-period-dates{width:100%;margin-left:0}.campaign-table-row:nth-last-child(-n+3) .campaign-action-menu{top:auto;bottom:37px}}.campaign-table-row:nth-last-child(-n+3) .campaign-action-menu{top:auto;bottom:36px}.modal.media-library-modal{width:min(1180px,calc(100vw - 32px));height:min(860px,calc(100vh - 32px));max-height:min(860px,calc(100vh - 32px));overflow:hidden}@media(max-width:720px){.modal.media-library-modal{width:calc(100vw - 16px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}}.web-log-panel{min-height:0;overflow:hidden}.web-log-panel:not(.embedded-log-panel){height:100%}.log-panel-content{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;padding:10px 12px;font-family:var(--font-family);font-size:12px;line-height:1.55;-webkit-overflow-scrolling:touch}.log-entry:last-child{border-bottom:0}@media(max-width:719px){.web-log-panel:not(.embedded-log-panel){height:calc(100dvh - 134px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}body:has(.install-fab) .web-log-panel:not(.embedded-log-panel) .log-panel-content{padding-bottom:72px;scroll-padding-bottom:72px}}.campaign-data-source-panel{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 10px;margin-bottom:8px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-tertiary);font-size:12px}.campaign-data-source-summary{display:flex;align-items:center;gap:6px;min-width:0;flex:1 1 320px}.campaign-data-source-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.campaign-data-source-status.is-active{color:var(--accent-success)}.campaign-data-source-status.is-stopped{color:var(--accent-warning)}.campaign-data-source-link{margin-left:6px;color:var(--accent-primary)}.campaign-data-source-panel .campaign-detail-notice{flex:1 1 100%}.campaign-voice-call-note{margin-bottom:14px;padding:10px 12px;font-size:13px;line-height:1.5;border:1px solid var(--accent-warning);border-radius:var(--radius-sm);background:#f59e0b1a;color:var(--text-primary)}.data-groups-provenance-link{padding:0;border:none;background:none;color:var(--accent-primary);font:inherit;text-align:left;cursor:pointer;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-groups-provenance-link:hover{text-decoration:underline}.data-groups-provenance-modal{width:min(480px,92vw)}.data-groups-provenance-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.data-groups-provenance-item{padding:10px 12px;border:1px solid var(--border-default);border-radius:10px;background:var(--bg-tertiary);display:flex;flex-direction:column;gap:4px}.data-groups-provenance-item.is-current{border-color:var(--accent-primary);background:var(--bg-accent-subtle)}.data-groups-provenance-head{display:flex;align-items:center;gap:8px}.data-groups-provenance-kind{font-weight:600;font-size:13px;color:var(--text-primary)}.data-groups-provenance-badge{padding:1px 8px;border-radius:999px;font-size:11px;font-weight:600;color:var(--accent-primary);background:var(--bg-accent-subtle);border:1px solid var(--accent-primary)}.data-groups-provenance-name{font-size:13px;color:var(--text-secondary)}.data-groups-provenance-meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;color:var(--text-tertiary)}
