/*
 * Horizon BuilderKit adapter for TrungTamDev.
 * Visual source: horizon-builderkit-full-clone.zip supplied by the user.
 * Keeps PHP/API/business logic intact while mapping existing views to Horizon tokens.
 */
@font-face{font-family:Inter;src:url('/assets/fonts/horizon/InterVariable.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Inter;src:url('/assets/fonts/horizon/InterVariable-Italic.woff2') format('woff2');font-style:italic;font-weight:100 900;font-display:swap}
@font-face{font-family:'Commit Mono';src:url('/assets/fonts/horizon/CommitMonoVariable.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}

.horizon{
  --hz-primary:var(--ui-accent,#3e63dd);
  --hz-primary-rgb:var(--ui-accent-rgb,62,99,221);
  --hz-success:#29a383;
  --hz-danger:#e5484d;
  --hz-warning:#f5a524;
  --hz-info:#0091ff;
  --hz-radius:8px;
  --hz-radius-sm:6px;
  /* Compatibility aliases for existing page-level styles; values come from Horizon. */
  --ui-bg:var(--hz-bg);
  --ui-surface:var(--hz-surface);
  --ui-surface-soft:var(--hz-card);
  --ui-card:var(--hz-surface);
  --ui-text:var(--hz-text);
  --ui-text-soft:var(--hz-muted);
  --ui-text-faint:var(--hz-faint);
  --ui-border:var(--hz-border);
  --ui-shadow:0 1px 3px var(--hz-shadow);
  --admin-canvas:var(--hz-bg);
  --admin-paper:var(--hz-surface);
  --admin-paper-2:var(--hz-card);
  --admin-ink:var(--hz-text);
  --admin-ink-2:var(--hz-text);
  --admin-muted:var(--hz-muted);
  --admin-faint:var(--hz-faint);
  --admin-line:var(--hz-border);
  --admin-line-strong:var(--hz-border);
  --admin-radius-sm:6px;
  --admin-radius:8px;
  --admin-radius-lg:12px;
  --admin-shadow:0 1px 3px var(--hz-shadow);
  --admin-shadow-lg:0 8px 26px var(--hz-shadow);
  --hz-font:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-family:var(--hz-font)!important;
  font-size:13px!important;
  line-height:20px!important;
  font-weight:450!important;
}
.horizon[data-theme="dark"]{--hz-primary:var(--ui-accent,#6e8bff);--hz-success:#43c59e;--hz-danger:#ff6369;--hz-warning:#ffc53d;--hz-info:#52bfff}
html,body{min-height:100%;}
html{background:var(--hz-bg,#f7f7f8)!important}
body.horizon{margin:0!important;background:var(--hz-bg)!important;color:var(--hz-text)!important;overflow-x:hidden}
body.horizon *,body.horizon *::before,body.horizon *::after{box-sizing:border-box}
body.horizon a{color:inherit}
body.horizon a:hover{color:var(--hz-primary)}
body.horizon :is(h1,h2,h3,h4,h5,h6){color:var(--hz-text)!important;font-family:var(--hz-font)!important;letter-spacing:-.018em;font-weight:650!important}
body.horizon :is(p,small,.text-muted,.text-secondary,.dashboard-subtitle,.admin-subtitle,.page-subtitle){color:var(--hz-muted)!important}
body.horizon code,body.horizon pre,body.horizon kbd{font-family:'Commit Mono',ui-monospace,SFMono-Regular,Menlo,monospace!important}
body.horizon hr{border-color:var(--hz-border)!important}
body.horizon ::selection{background:rgba(var(--hz-primary-rgb),.18)}

/* Source-primary substitutions so admin-selected accent remains the single source of truth. */
.horizon button:focus-visible,.horizon a:focus-visible,.horizon select:focus-visible,.horizon input:focus-visible,.horizon textarea:focus-visible{outline-color:var(--hz-primary)!important}
.horizon .hz-primary-button,.horizon .btn-primary,.horizon .btn-gradient,.horizon .btn-gradient-sm,.horizon .btn-save,.horizon .login-do-btn,.horizon .btn-login,.horizon .btn-reset{background:var(--hz-primary)!important;border-color:color-mix(in srgb,var(--hz-primary) 80%,#000)!important;color:#fff!important}
.horizon .hz-settings>nav a.active{border-bottom-color:var(--hz-primary)!important}
.horizon .hz-toggle.on{background:var(--hz-primary)!important}
.horizon .hz-day.today>span{background:var(--hz-primary)!important}

/* ===== Shared Horizon shell ===== */
.hz-site-sidebar{scrollbar-width:none}
.hz-site-sidebar::-webkit-scrollbar{display:none}
.hz-brand-link{display:flex;align-items:center;gap:10px;min-width:0;color:var(--hz-text)!important;text-decoration:none!important}
.hz-brand-link img{width:30px;height:30px;max-width:30px;max-height:30px;object-fit:contain;flex:0 0 30px;border-radius:6px}
.hz-brand-copy{display:flex;flex-direction:column;min-width:0;line-height:16px}
.hz-brand-copy strong{font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hz-brand-copy small{font-size:10px;color:var(--hz-muted)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hz-nav-section-label{padding:0 6px 4px;color:var(--hz-muted);font-size:11px;line-height:16px;font-weight:550}
.hz-site-sidebar .hz-nav-row{border:0;background:transparent;font-family:inherit;font-size:13px;width:100%}
.hz-site-sidebar .hz-nav-row.active,.hz-site-sidebar .hz-nav-row.is-active{background:var(--hz-card);color:var(--hz-text)!important}
.hz-site-sidebar .hz-nav-row.active::before,.hz-site-sidebar .hz-nav-row.is-active::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:2px;border-radius:2px;background:var(--hz-primary)}
.hz-site-sidebar .hz-nav-row.active>.hz-nav-label,.hz-site-sidebar .hz-nav-row.is-active>.hz-nav-label{font-weight:650}
.hz-site-sidebar .hz-nav-row .ti,.hz-site-sidebar .hz-nav-row .fas,.hz-site-sidebar .hz-nav-row .fa{width:20px;text-align:center;color:var(--hz-muted);font-size:15px}
.hz-site-sidebar .hz-nav-row.active .ti,.hz-site-sidebar .hz-nav-row.active .fas,.hz-site-sidebar .hz-nav-row.is-active .ti,.hz-site-sidebar .hz-nav-row.is-active .fas{color:var(--hz-primary)}
.hz-site-sidebar .hz-nav-caret{margin-left:auto!important;width:14px!important;transition:transform .2s ease}
.hz-site-sidebar .hz-nav-dropdown.is-open>.hz-nav-row .hz-nav-caret{transform:rotate(90deg)}
.hz-site-sidebar .hz-subnav{display:none;padding:2px 0 3px 24px}
.hz-site-sidebar .hz-nav-dropdown.is-open>.hz-subnav{display:block}
.hz-site-sidebar .hz-subnav a{min-height:30px;display:flex;align-items:center;padding:5px 9px;border-radius:6px;text-decoration:none;color:var(--hz-muted);font-size:12px;position:relative}
.hz-site-sidebar .hz-subnav a::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--hz-faint);margin-right:9px;flex:0 0 4px}
.hz-site-sidebar .hz-subnav a:hover,.hz-site-sidebar .hz-subnav a.is-active{background:var(--hz-card);color:var(--hz-text)}
.hz-site-sidebar .hz-subnav a.is-active::before{background:var(--hz-primary)}
.hz-site-sidebar .hz-user{padding:14px 16px 16px}
.hz-site-sidebar .hz-user-button{border:0;background:transparent;color:inherit;text-decoration:none}
.hz-site-sidebar .hz-user-button:hover{color:inherit}
.hz-site-sidebar .hz-avatar{border-radius:6px;filter:none!important;background:var(--hz-card)}
.hz-user-actions{display:flex;gap:4px}
.hz-user-actions .hz-icon-button{width:28px;height:28px}
.hz-user-actions .hz-icon-button.active{background:var(--hz-card);color:var(--hz-primary)}
.hz-sidebar-promo{margin:0 14px;padding:14px 16px;background:var(--hz-border);border:1px solid var(--hz-border);border-radius:8px;color:var(--hz-text)}
.hz-sidebar-promo strong{display:block;font-size:12px;font-weight:650}.hz-sidebar-promo p{margin:5px 0 0;font-size:11px;line-height:17px;color:var(--hz-muted)!important}
.hz-backdrop-site{display:none;position:fixed;inset:0;z-index:35;background:#0006;border:0}
.hz-panel{overflow:visible}
.hz-app-content{max-width:1280px;margin:0 auto;padding:8px 24px 24px;min-height:calc(100vh - 56px)}
.hz-app-content>.dashboard-container,.hz-app-content>.main-content-wrapper,.hz-app-content>.dash-container,.hz-app-content>.page-block,.hz-app-content>.content-wrapper,.hz-app-content>.admin-content-wrapper,.hz-app-content>.admin-dashboard,.hz-app-content>.admin-basic-page,.hz-app-content>.container-fluid{max-width:none!important;width:100%!important;margin:0!important;padding:0!important;background:transparent!important}
.hz-app-content>.dashboard-container{padding-top:0!important}
.hz-app-content .dashboard-container,.hz-app-content .main-content-wrapper,.hz-app-content .dash-container{transition:none!important}
.hz-desktop-tools{display:none}
.hz-mobile-bar{border-bottom:1px solid transparent}
.hz-mobile-brand{margin-right:auto;display:flex;align-items:center;gap:8px;font-weight:650;min-width:0}
.hz-mobile-brand img{width:26px;height:26px;object-fit:contain;border-radius:5px}
.hz-mobile-bar>.hz-icon-button:first-of-type{margin-right:0!important}
.hz-tool-menu{position:relative}
.hz-tool-popover{display:none;position:absolute;right:0;top:34px;z-index:80;min-width:154px;padding:4px;background:var(--hz-surface);border:1px solid var(--hz-border);border-radius:8px;box-shadow:0 8px 26px var(--hz-shadow)}
.hz-tool-menu.is-open .hz-tool-popover{display:block}
.hz-tool-popover a,.hz-tool-popover button{width:100%;height:32px;display:flex;align-items:center;gap:8px;padding:6px 8px;border:0;border-radius:6px;background:transparent;color:var(--hz-text);text-decoration:none;text-align:left;font:inherit}
.hz-tool-popover a:hover,.hz-tool-popover button:hover{background:var(--hz-card)}
.hz-tool-popover .is-active{background:var(--hz-card);color:var(--hz-primary)}

/* ===== Universal content rhythm ===== */
.horizon .page-header,.horizon .dashboard-header,.horizon .admin-header,.horizon .admin-page-heading{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important;margin:0 0 24px!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.horizon .page-title,.horizon .dashboard-title,.horizon .admin-title,.horizon .admin-page-heading h1{margin:0!important;font-size:20px!important;line-height:24px!important;font-weight:650!important;letter-spacing:-.6px!important}
.horizon .page-subtitle,.horizon .dashboard-subtitle,.horizon .admin-subtitle{margin:2px 0 0!important;font-size:13px!important;line-height:20px!important}
.horizon .breadcrumb-glass,.horizon .breadcrumb{padding:0!important;margin:0 0 16px!important;border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;font-size:12px!important}
.horizon .breadcrumb a{color:var(--hz-muted)!important}.horizon .breadcrumb .active{color:var(--hz-text)!important}

/* ===== Cards: outer gray layer + inner white surface, as Horizon source ===== */
.horizon :is(.card,.glass-card,.admin-card,.admin-basic-card,.data-card,.stat-card,.admin-kpi-card,.admin-health-card,.profile-card-v3,.bank-card-glass,.captcha-card,.setting-section,.client-theme-setting,.theme-preview,.api-card,.content-card){
  border:0!important;border-radius:12px!important;background:var(--hz-card)!important;box-shadow:none!important;color:var(--hz-text)!important;overflow:hidden;
}
.horizon :is(.card,.glass-card,.admin-card,.admin-basic-card,.data-card,.admin-health-card,.profile-card-v3,.captcha-card,.setting-section,.client-theme-setting,.theme-preview,.api-card,.content-card){padding:4px!important}
.horizon :is(.card-body,.card-body-custom,.admin-basic-card__body,.data-card__body,.admin-card>.p-4,.glass-card>.card-body,.captcha-card__body,.setting-section>form,.theme-preview__body){
  background:var(--hz-surface)!important;border:1px solid var(--hz-border)!important;border-radius:8px!important;box-shadow:0 1px 3px var(--hz-shadow),0 1px 2px -1px var(--hz-shadow)!important;color:var(--hz-text)!important;
}
.horizon .card>.card-body,.horizon .glass-card{padding:4px!important}
.horizon .glass-card>*:not(style):not(script){position:relative}
.horizon .glass-card{transform:none!important;backdrop-filter:none!important}
.horizon .glass-card:hover,.horizon .bank-card-glass:hover{transform:none!important;box-shadow:none!important}
.horizon :is(.card-header,.card-header-custom,.admin-basic-card__header,.data-card__header){min-height:40px!important;display:flex!important;align-items:center!important;gap:8px!important;padding:8px 12px!important;border:0!important;background:transparent!important;color:var(--hz-text)!important;font-size:13px!important;font-weight:550!important}
.horizon :is(.card-header,.card-header-custom,.admin-basic-card__header) .card-title{margin:0!important;font-size:13px!important;font-weight:550!important}
.horizon :is(.stat-card,.admin-kpi-card){padding:4px!important;min-height:128px!important}
.horizon :is(.stat-card,.admin-kpi-card)>.stat-info,.horizon .admin-kpi-card>div:last-child{height:100%;padding:16px!important;border:1px solid var(--hz-border);border-radius:8px;background:var(--hz-surface);box-shadow:0 1px 3px var(--hz-shadow)}
.horizon .stat-value,.horizon .admin-kpi-card strong{font-size:24px!important;line-height:32px!important;font-weight:650!important}
.horizon .stat-label,.horizon .admin-kpi-card span{font-size:12px!important;color:var(--hz-muted)!important}
.horizon .stat-icon,.horizon .admin-kpi-card__icon{width:30px!important;height:30px!important;border-radius:7px!important;background:var(--hz-card)!important;color:var(--hz-muted)!important}

/* ===== Forms ===== */
.horizon :is(.form-group,.profile-form-field-v3,.tcb-field){margin-bottom:20px!important}
.horizon :is(label,.form-label,.form-group>label,.profile-form-field-v3>label,.tcb-field>label){display:block;color:var(--hz-text)!important;font-size:12px!important;line-height:18px!important;font-weight:550!important;margin:0 0 7px!important}
.horizon :is(input:not([type=checkbox]):not([type=radio]):not([type=color]),textarea,select,.form-control,.form-select,.custom-select,.choices__inner,.select2-selection){
  min-height:34px!important;padding:6px 10px!important;border:1px solid #d2d5dc!important;border-radius:8px!important;background:var(--hz-surface)!important;color:var(--hz-text)!important;box-shadow:0 1px 2px var(--hz-shadow)!important;font:inherit!important;font-size:13px!important;line-height:20px!important;
}
.horizon[data-theme="dark"] :is(input:not([type=checkbox]):not([type=radio]):not([type=color]),textarea,select,.form-control,.form-select,.custom-select,.choices__inner,.select2-selection){border-color:var(--hz-border)!important}
.horizon textarea,.horizon textarea.form-control{min-height:92px!important;resize:vertical}
.horizon :is(input,textarea)::placeholder{color:var(--hz-faint)!important;opacity:1!important}
.horizon :is(input:not([type=checkbox]):not([type=radio]),textarea,select,.form-control,.form-select,.custom-select):focus{border-color:var(--hz-primary)!important;box-shadow:0 0 0 2px rgba(var(--hz-primary-rgb),.14)!important;outline:0!important}
.horizon input[type=checkbox],.horizon input[type=radio]{width:16px;height:16px;accent-color:var(--hz-primary)}
.horizon input[type=color]{width:38px!important;height:34px!important;padding:3px!important;border:1px solid var(--hz-border)!important;border-radius:8px!important;background:var(--hz-surface)!important}
.horizon .input-group{display:flex!important;align-items:stretch!important;flex-wrap:nowrap!important}
.horizon .input-group>.form-control{border-radius:8px!important}
.horizon .input-group>.input-icon,.horizon .auth-input-icon{display:grid!important;place-items:center!important;width:36px!important;min-width:36px!important;color:var(--hz-muted)!important;background:var(--hz-card)!important;border:1px solid var(--hz-border)!important;border-right:0!important;border-radius:8px 0 0 8px!important}
.horizon .input-group>.input-icon+.form-control,.horizon .auth-input-wrap .form-control{border-top-left-radius:0!important;border-bottom-left-radius:0!important}
.horizon .form-text,.horizon .invalid-feedback,.horizon .valid-feedback{font-size:11px!important;line-height:16px!important}
.horizon .invalid-feedback{color:var(--hz-danger)!important}.horizon .valid-feedback{color:var(--hz-success)!important}
.horizon .form-check{display:flex;align-items:center;gap:8px;padding-left:0!important}.horizon .form-check-input{position:static!important;margin:0!important;flex:0 0 16px}.horizon .form-check-label{margin:0!important;font-weight:450!important;color:var(--hz-muted)!important}
.horizon .form-grid,.horizon .admin-form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px 24px!important}
.horizon .form-actions{display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:12px!important;padding-top:20px!important;margin-top:24px!important;border-top:1px solid var(--hz-border)!important}
.horizon .prefix-field,.horizon .input-group-text{background:var(--hz-card)!important;border-color:var(--hz-border)!important;color:var(--hz-muted)!important}
.horizon .custom-file-label{border-color:var(--hz-border)!important;background:var(--hz-surface)!important;color:var(--hz-muted)!important;border-radius:8px!important}

/* ===== Buttons ===== */
.horizon :is(.btn,.hz-adapter-button,.btn-gradient,.btn-gradient-sm,.btn-save,.login-do-btn,.btn-login,.btn-reset,.action-icon,.btn-icon){
  min-height:32px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;padding:5px 11px!important;border:1px solid var(--hz-border)!important;border-radius:8px!important;background:var(--hz-surface)!important;color:var(--hz-text)!important;box-shadow:0 1px 2px var(--hz-shadow)!important;font-family:var(--hz-font)!important;font-size:12px!important;line-height:20px!important;font-weight:550!important;text-decoration:none!important;transition:background .15s ease,border-color .15s ease,color .15s ease!important;
}
.horizon :is(.btn,.btn-gradient,.btn-gradient-sm,.btn-save,.login-do-btn,.btn-login,.btn-reset):hover{background:var(--hz-bg)!important;color:var(--hz-text)!important;transform:none!important}
.horizon :is(.btn-primary,.btn-gradient,.btn-gradient-sm,.btn-save,.login-do-btn,.btn-login,.btn-reset){background:var(--hz-primary)!important;border-color:color-mix(in srgb,var(--hz-primary) 80%,#000)!important;color:#fff!important}
.horizon :is(.btn-primary,.btn-gradient,.btn-gradient-sm,.btn-save,.login-do-btn,.btn-login,.btn-reset):hover{background:color-mix(in srgb,var(--hz-primary) 90%,#000)!important;color:#fff!important}
.horizon .btn-danger{background:var(--hz-danger)!important;border-color:color-mix(in srgb,var(--hz-danger) 85%,#000)!important;color:#fff!important}
.horizon .btn-success{background:var(--hz-success)!important;border-color:color-mix(in srgb,var(--hz-success) 85%,#000)!important;color:#fff!important}
.horizon .btn-warning{background:var(--hz-warning)!important;border-color:color-mix(in srgb,var(--hz-warning) 85%,#000)!important;color:#2b2400!important}
.horizon :is(.btn-outline-secondary,.btn-secondary){background:var(--hz-surface)!important;color:var(--hz-text)!important;border-color:var(--hz-border)!important}
.horizon :is(.btn-outline-danger){background:transparent!important;color:var(--hz-danger)!important;border-color:color-mix(in srgb,var(--hz-danger) 42%,var(--hz-border))!important}
.horizon .btn-sm{min-height:28px!important;padding:3px 8px!important}
.horizon .btn-lg{min-height:38px!important;padding:7px 14px!important}
.horizon .action-icon,.horizon .btn-icon{width:32px!important;min-width:32px!important;padding:0!important}

/* ===== Tables / DataTables ===== */
.horizon .table-responsive,.horizon .data-table-wrapper,.horizon .modern-table{width:100%!important;overflow-x:auto!important;border-radius:8px!important;background:transparent!important;box-shadow:none!important;border:0!important}
.horizon table:not(.ui-datepicker-calendar){width:100%;border-collapse:collapse!important;background:transparent!important;color:var(--hz-text)!important;font-size:12px!important}
.horizon table:not(.ui-datepicker-calendar) th{height:40px!important;padding:0 10px!important;border:0!important;border-bottom:1px solid var(--hz-border)!important;background:transparent!important;color:var(--hz-faint)!important;font-size:12px!important;font-weight:550!important;vertical-align:middle!important;white-space:nowrap}
.horizon table:not(.ui-datepicker-calendar) td{min-height:48px!important;padding:10px!important;border:0!important;border-bottom:1px solid var(--hz-card)!important;background:transparent!important;color:var(--hz-text)!important;vertical-align:middle!important}
.horizon table:not(.ui-datepicker-calendar) tbody tr:hover td{background:var(--hz-card)!important}
.horizon .table-striped tbody tr:nth-of-type(odd){background:transparent!important}
.horizon .table-bordered{border:0!important}
.horizon .dataTables_wrapper{color:var(--hz-text)!important}
.horizon .dataTables_wrapper .dataTables_filter,.horizon .dataTables_wrapper .dataTables_length,.horizon .dataTables_wrapper .dataTables_info,.horizon .dataTables_wrapper .dataTables_paginate{color:var(--hz-muted)!important;font-size:12px!important}
.horizon .dataTables_wrapper .dataTables_filter input,.horizon .dataTables_wrapper .dataTables_length select{min-height:30px!important;margin-left:6px!important}
.horizon .dataTables_wrapper .dataTables_paginate .paginate_button{min-width:30px!important;height:30px!important;padding:4px 8px!important;margin:0 2px!important;border:1px solid transparent!important;border-radius:7px!important;background:transparent!important;color:var(--hz-muted)!important}
.horizon .dataTables_wrapper .dataTables_paginate .paginate_button.current,.horizon .dataTables_wrapper .dataTables_paginate .paginate_button:hover{background:var(--hz-card)!important;border-color:var(--hz-border)!important;color:var(--hz-text)!important}
.horizon .ant-table,.horizon .ant-table-container,.horizon .ant-table-content{background:transparent!important;color:var(--hz-text)!important;border:0!important}
.horizon .ant-table-thead>tr>th{background:transparent!important;color:var(--hz-faint)!important;border-bottom-color:var(--hz-border)!important}
.horizon .ant-table-tbody>tr>td{background:transparent!important;color:var(--hz-text)!important;border-bottom-color:var(--hz-card)!important}

/* ===== Badges / status ===== */
.horizon :is(.badge,.badge-status,.status-badge,.admin-panel__badge){display:inline-flex!important;align-items:center!important;gap:5px!important;min-height:20px!important;padding:2px 6px!important;border:1px solid var(--hz-border)!important;border-radius:5px!important;background:var(--hz-card)!important;color:var(--hz-text)!important;font-size:11px!important;line-height:16px!important;font-weight:550!important}
.horizon :is(.badge-success,.bg-success,.badge-status.success){background:#c4e8d1!important;border-color:#9dd3b0!important;color:#176b46!important}
.horizon :is(.badge-danger,.bg-danger,.badge-status.danger){background:#ffcdce!important;border-color:#f3a6a8!important;color:#9e2a2f!important}
.horizon :is(.badge-warning,.bg-warning,.badge-status.warning){background:#ffe3a2!important;border-color:#f3cd78!important;color:#7d5b00!important}
.horizon :is(.badge-info,.bg-info,.badge-primary,.bg-primary){background:#c2e5ff!important;border-color:#92c9ef!important;color:#0b5f91!important}
.horizon[data-theme="dark"] :is(.badge-success,.badge-danger,.badge-warning,.badge-info,.badge-primary,.bg-success,.bg-danger,.bg-warning,.bg-info,.bg-primary){filter:saturate(.78);color:#1d232b!important}

/* ===== Alerts ===== */
.horizon .alert{border:1px solid var(--hz-border)!important;border-radius:8px!important;background:var(--hz-card)!important;color:var(--hz-text)!important;padding:10px 12px!important;font-size:12px!important}
.horizon .alert-success{border-color:color-mix(in srgb,var(--hz-success) 40%,var(--hz-border))!important}.horizon .alert-danger{border-color:color-mix(in srgb,var(--hz-danger) 40%,var(--hz-border))!important}.horizon .alert-warning{border-color:color-mix(in srgb,var(--hz-warning) 45%,var(--hz-border))!important}

/* ===== Modals / dropdowns / popovers ===== */
.horizon .modal-backdrop.show{opacity:.35!important;backdrop-filter:blur(2px)}
.horizon .modal-content{border:1px solid var(--hz-border)!important;border-radius:12px!important;background:var(--hz-surface)!important;color:var(--hz-text)!important;box-shadow:0 18px 60px #0004!important;overflow:hidden}
.horizon .modal-header,.horizon .modal-footer{border-color:var(--hz-border)!important;background:var(--hz-surface)!important;padding:14px 16px!important}
.horizon .modal-body{padding:16px!important;background:var(--hz-surface)!important;color:var(--hz-text)!important}
.horizon .modal-title{font-size:15px!important;font-weight:650!important}
.horizon .dropdown-menu,.horizon .popover,.horizon .choices__list--dropdown,.horizon .select2-dropdown{border:1px solid var(--hz-border)!important;border-radius:8px!important;background:var(--hz-surface)!important;color:var(--hz-text)!important;box-shadow:0 8px 26px var(--hz-shadow)!important}
.horizon .dropdown-item{color:var(--hz-text)!important}.horizon .dropdown-item:hover{background:var(--hz-card)!important}

/* ===== Tabs ===== */
.horizon :is(.nav-tabs,.tab-links,.setting-tabs){display:flex!important;gap:8px!important;border-bottom:1px solid var(--hz-border)!important;background:transparent!important;padding:0!important;margin-bottom:24px!important;overflow-x:auto}
.horizon :is(.nav-tabs .nav-link,.tab-link,.setting-tabs a){min-height:34px!important;padding:6px 8px 8px!important;border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;background:transparent!important;color:var(--hz-muted)!important;font-size:12px!important;font-weight:550!important;white-space:nowrap!important;text-decoration:none!important}
.horizon :is(.nav-tabs .nav-link.active,.tab-link.active,.setting-tabs a.active){border-bottom-color:var(--hz-primary)!important;color:var(--hz-text)!important;background:transparent!important}

/* ===== Client-specific page adapters ===== */
.horizon .dashboard-container{max-width:none!important;padding:0!important}
.horizon .grid-2cols{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;margin-bottom:16px!important}
.horizon .glass-card{margin-bottom:16px!important}
.horizon .bank-card-glass{flex:1 1 142px!important;width:auto!important;min-height:132px!important;padding:4px!important;background:var(--hz-card)!important;border-radius:12px!important;border:0!important}
.horizon .bank-card-glass::before,.horizon .bank-card-glass::after{display:none!important}
.horizon .bank-card-glass>.bank-icon,.horizon .bank-card-glass>.bank-name,.horizon .bank-card-glass>.bank-count,.horizon .bank-card-glass>.bank-card-content{position:relative;z-index:1}
.horizon .bank-card-glass{box-shadow:none!important}
.horizon .bank-card-glass .bank-icon{margin:10px auto 7px!important;width:52px!important;height:52px!important;border:1px solid var(--hz-border)!important;border-radius:8px!important;background:var(--hz-surface)!important;padding:8px!important}
.horizon .bank-card-glass .bank-icon img{max-width:100%!important;max-height:100%!important;object-fit:contain!important}
.horizon .bank-card-glass .bank-name{font-size:12px!important;font-weight:650!important}.horizon .bank-card-glass .bank-count{font-size:11px!important;color:var(--hz-muted)!important}
.horizon .banks-grid{gap:12px!important;justify-content:flex-start!important}
.horizon .avatar-circle-glass{width:56px!important;height:56px!important;border-radius:8px!important;background:var(--hz-card)!important;box-shadow:none!important}.horizon .avatar-circle-glass img{width:52px!important;height:52px!important;border:0!important;border-radius:7px!important}
.horizon .progress-glass{height:6px!important;border-radius:3px!important;background:var(--hz-card)!important}.horizon .progress-fill-gradient{border-radius:3px!important;background:var(--hz-primary)!important}
.horizon .badge-soft-orange{background:var(--hz-card)!important;color:var(--hz-text)!important;border:1px solid var(--hz-border)!important;border-radius:5px!important}
.horizon .info-list-glass li,.horizon .log-table-glass td{border-bottom-color:var(--hz-border)!important}
.horizon .account-token-control{border:1px solid var(--hz-border)!important;border-radius:8px!important;background:var(--hz-surface)!important;box-shadow:none!important}
.horizon .captcha-head-chip{border-radius:5px!important;background:var(--hz-card)!important;border:1px solid var(--hz-border)!important;color:var(--hz-text)!important}

/* ===== Admin-specific page adapters ===== */
.horizon .admin-content-wrapper,.horizon .content-wrapper{margin:0!important;min-height:0!important;background:transparent!important;padding:0!important}
.horizon .content,.horizon .content-header{padding:0!important;margin:0!important;background:transparent!important}
.horizon .admin-dashboard,.horizon .dashboard-container{padding:0!important;max-width:none!important}
.horizon .admin-panel{padding:4px!important;border:0!important;border-radius:12px!important;background:var(--hz-card)!important;box-shadow:none!important;margin-bottom:16px!important}
.horizon .admin-panel>*:not(.admin-panel__kicker):not(.admin-panel__badge){background:var(--hz-surface)}
.horizon .admin-panel__kicker{color:var(--hz-muted)!important;font-size:11px!important;letter-spacing:0!important;text-transform:none!important}
.horizon .info-box{min-height:112px!important;padding:4px!important;margin:0!important;border:0!important;border-radius:12px!important;background:var(--hz-card)!important;box-shadow:none!important}
.horizon .info-box-icon{width:44px!important;margin:8px!important;border-radius:8px!important;background:var(--hz-surface)!important;border:1px solid var(--hz-border)!important;color:var(--hz-muted)!important;box-shadow:0 1px 2px var(--hz-shadow)!important}
.horizon .info-box-content{margin:4px 4px 4px 0!important;padding:12px!important;border:1px solid var(--hz-border)!important;border-radius:8px!important;background:var(--hz-surface)!important;box-shadow:0 1px 2px var(--hz-shadow)!important}
.horizon .info-box-text{color:var(--hz-muted)!important;font-size:12px!important}.horizon .info-box-number{color:var(--hz-text)!important;font-size:22px!important;font-weight:650!important}
.horizon .admin-clean-table{border-collapse:collapse!important}
.horizon .admin-overview__button{min-height:32px!important;border-radius:8px!important}

/* ===== Horizon-styled footers ===== */
.hz-site-footer{margin-top:28px;border-top:1px solid var(--hz-border);padding:18px 0 4px;color:var(--hz-muted);font-size:11px}
.hz-site-footer__row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.hz-site-footer__brand{display:flex;align-items:center;gap:8px}.hz-site-footer__brand img{width:24px;height:24px;object-fit:contain;border-radius:5px}.hz-site-footer__brand strong{color:var(--hz-text);font-size:12px;font-weight:650}.hz-site-footer__links{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.hz-site-footer__links a{text-decoration:none;color:var(--hz-muted)}.hz-site-footer__links a:hover{color:var(--hz-text)}
.api-floating-support{right:18px!important;bottom:18px!important}.api-floating-support a{width:38px!important;height:38px!important;border-radius:8px!important;background:var(--hz-surface)!important;border:1px solid var(--hz-border)!important;box-shadow:0 2px 10px var(--hz-shadow)!important}

/* ===== Authentication: Horizon surface, compact forms ===== */
body.auth-page.horizon{display:grid!important;place-items:center!important;min-height:100vh!important;padding:24px!important;background:var(--hz-bg)!important}
body.auth-page.horizon::before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 50% -20%,rgba(var(--hz-primary-rgb),.10),transparent 34rem)}
body.auth-page.horizon :is(.login-container,.reset-container,.custom-login,.custom-wrapper,.custom-login-inner){position:relative!important;width:100%!important;max-width:440px!important;min-height:0!important;margin:0 auto!important;padding:0!important;background:transparent!important;box-shadow:none!important;border:0!important}
body.auth-page.horizon .custom-row{display:block!important;min-height:0!important}
body.auth-page.horizon :is(.login-card,.reset-card,.auth-card,.custom-row>.card,.custom-wrapper>.card){width:100%!important;max-width:440px!important;margin:0!important;padding:4px!important;border:0!important;border-radius:12px!important;background:var(--hz-card)!important;box-shadow:none!important;overflow:hidden!important}
body.auth-page.horizon :is(.login-card,.reset-card,.auth-card,.custom-row>.card)>.card-body,body.auth-page.horizon .login-card,body.auth-page.horizon .reset-card{background:var(--hz-surface)!important;border:1px solid var(--hz-border)!important;border-radius:8px!important;box-shadow:0 1px 3px var(--hz-shadow),0 1px 2px -1px var(--hz-shadow)!important}
body.auth-page.horizon .login-card,body.auth-page.horizon .reset-card{padding:28px!important}
body.auth-page.horizon .auth-card>.card-body{padding:28px!important}
body.auth-page.horizon :is(.bg-login,.bg-primary){display:none!important}
body.auth-page.horizon .logo-area,body.auth-page.horizon .text-center:first-child{margin-bottom:20px!important;text-align:left!important}
body.auth-page.horizon :is(.logo-area .logo,.auth-brand-logo){max-width:128px!important;max-height:42px!important;object-fit:contain!important}
body.auth-page.horizon :is(.login-title,.reset-title,.f-w-600){margin:0 0 3px!important;font-size:20px!important;line-height:24px!important;font-weight:650!important;letter-spacing:-.6px!important;text-align:left!important}
body.auth-page.horizon :is(.login-subtitle,.reset-subtitle,.auth-subtitle){margin:0 0 24px!important;text-align:left!important;color:var(--hz-muted)!important;font-size:12px!important}
body.auth-page.horizon .divider{display:flex!important;align-items:center!important;gap:10px!important;color:var(--hz-muted)!important;font-size:11px!important;margin:18px 0!important}.horizon .divider::before,.horizon .divider::after{content:"";height:1px;flex:1;background:var(--hz-border)}
body.auth-page.horizon .google-btn{width:100%!important;min-height:34px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;border:1px solid var(--hz-border)!important;border-radius:8px!important;background:var(--hz-surface)!important;color:var(--hz-text)!important;box-shadow:0 1px 2px var(--hz-shadow)!important;font-size:12px!important;font-weight:550!important}
body.auth-page.horizon :is(.register-link,.login-link,.my-3.text-center){margin-top:18px!important;color:var(--hz-muted)!important;font-size:12px!important;text-align:center!important}
body.auth-page.horizon :is(.register-link,.login-link,.my-3.text-center) a{color:var(--hz-primary)!important;font-weight:550!important}
body.auth-page.horizon .forgot-link{color:var(--hz-primary)!important;font-size:11px!important}
body.auth-page.horizon .btn-login,body.auth-page.horizon .btn-reset,body.auth-page.horizon .login-do-btn{width:100%!important;min-height:36px!important}
body.auth-page.horizon .loader-wrapper{background:color-mix(in srgb,var(--hz-bg) 88%,transparent)!important;backdrop-filter:blur(3px)}

/* ===== Landing page, built with same Horizon design system ===== */
body.horizon-landing{background:var(--hz-bg)!important;color:var(--hz-text)!important}
.hz-landing-shell{max-width:1280px;margin:8px auto;min-height:calc(100vh - 16px);background:var(--hz-surface);border:1px solid var(--hz-border);border-radius:8px;box-shadow:0 1px 2px var(--hz-shadow);overflow:hidden}
.hz-landing-container{width:min(1120px,calc(100% - 48px));margin:0 auto}
.hz-landing-nav{height:64px;display:flex;align-items:center;gap:28px;border-bottom:1px solid var(--hz-border)}
.hz-landing-brand{display:flex;align-items:center;gap:10px;color:var(--hz-text)!important;text-decoration:none!important;margin-right:auto}.hz-landing-brand img{width:30px;height:30px;object-fit:contain;border-radius:6px}.hz-landing-brand strong{font-size:15px;font-weight:700}
.hz-landing-links{display:flex;align-items:center;gap:22px}.hz-landing-links a{font-size:12px;text-decoration:none;color:var(--hz-muted)}.hz-landing-links a:hover{color:var(--hz-text)}
.hz-landing-actions{display:flex;align-items:center;gap:8px}.hz-landing-actions .hz-icon-button{border:1px solid var(--hz-border);width:32px;height:32px;background:var(--hz-surface);box-shadow:0 1px 2px var(--hz-shadow)}
.hz-landing-hero{padding:84px 0 70px;display:grid;grid-template-columns:1.08fr .92fr;gap:64px;align-items:center}
.hz-landing-eyebrow{display:inline-flex;align-items:center;gap:6px;padding:3px 7px;border:1px solid var(--hz-border);border-radius:5px;background:var(--hz-card);font-size:11px;font-weight:550;color:var(--hz-muted)}.hz-landing-eyebrow i{color:var(--hz-primary)}
.hz-landing-hero h1{margin:18px 0 0!important;font-size:clamp(38px,5.6vw,68px)!important;line-height:.98!important;letter-spacing:-.055em!important;font-weight:700!important;max-width:690px}.hz-landing-hero h1 span{color:var(--hz-primary)}
.hz-landing-lead{max-width:620px;margin:22px 0 0!important;font-size:15px!important;line-height:24px!important;color:var(--hz-muted)!important}
.hz-landing-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.hz-landing-cta .btn{min-height:36px!important}
.hz-landing-meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:28px;color:var(--hz-muted);font-size:11px}.hz-landing-meta span{display:flex;align-items:center;gap:6px}.hz-landing-meta i{color:var(--hz-success)}
.hz-preview-card{padding:4px;border-radius:12px;background:var(--hz-card)}
.hz-preview-inner{border:1px solid var(--hz-border);border-radius:8px;background:var(--hz-surface);box-shadow:0 1px 3px var(--hz-shadow);overflow:hidden}
.hz-preview-head{height:42px;display:flex;align-items:center;gap:8px;padding:0 12px;border-bottom:1px solid var(--hz-border);font-size:12px;font-weight:550}.hz-preview-head>span:first-child{width:8px;height:8px;border-radius:50%;background:var(--hz-success)}
.hz-preview-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px}.hz-preview-metric{padding:12px;border:1px solid var(--hz-border);border-radius:8px;background:var(--hz-surface);box-shadow:0 1px 2px var(--hz-shadow)}.hz-preview-metric small{display:block;font-size:10px;color:var(--hz-muted)!important}.hz-preview-metric strong{display:block;margin-top:3px;font-size:20px;font-weight:650}
.hz-preview-table{padding:0 14px 14px}.hz-preview-row{min-height:38px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;border-bottom:1px solid var(--hz-card);font-size:11px}.hz-preview-row:last-child{border-bottom:0}.hz-preview-row span:first-child{display:flex;align-items:center;gap:8px}.hz-preview-row i{width:7px;height:7px;border-radius:50%;background:var(--hz-success)}.hz-preview-row b{font-weight:550;color:var(--hz-muted)}
.hz-landing-section{padding:72px 0;border-top:1px solid var(--hz-border)}.hz-landing-section h2{margin:0!important;font-size:28px!important;line-height:34px!important;letter-spacing:-.035em!important}.hz-landing-section>p,.hz-landing-section .hz-section-copy{max-width:620px;margin:8px 0 0;color:var(--hz-muted)!important}
.hz-landing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:28px}.hz-feature-card{padding:4px;border-radius:12px;background:var(--hz-card)}.hz-feature-card>div{height:100%;padding:18px;border:1px solid var(--hz-border);border-radius:8px;background:var(--hz-surface);box-shadow:0 1px 2px var(--hz-shadow)}.hz-feature-card i{width:30px;height:30px;display:grid;place-items:center;border-radius:7px;background:var(--hz-card);color:var(--hz-muted);font-size:15px}.hz-feature-card h3{margin:14px 0 4px!important;font-size:14px!important;line-height:20px!important}.hz-feature-card p{margin:0!important;font-size:12px!important;line-height:19px!important;color:var(--hz-muted)!important}
.hz-bank-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:24px}.hz-bank-item{height:72px;padding:10px;border:1px solid var(--hz-border);border-radius:8px;background:var(--hz-surface);display:grid;place-items:center;box-shadow:0 1px 2px var(--hz-shadow)}.hz-bank-item img{max-width:100%;max-height:32px;object-fit:contain}
.hz-landing-footer{border-top:1px solid var(--hz-border);padding:24px 0;color:var(--hz-muted);font-size:11px}.hz-landing-footer .hz-landing-container{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.hz-landing-footer nav{display:flex;gap:14px}.hz-landing-footer a{text-decoration:none;color:var(--hz-muted)}

/* ===== Theme menu on public/auth surfaces ===== */
.hz-theme-inline{display:flex;gap:4px}.hz-theme-inline button{width:30px;height:30px;border:1px solid var(--hz-border);border-radius:7px;background:var(--hz-surface);color:var(--hz-muted);display:grid;place-items:center}.hz-theme-inline button.is-active{background:var(--hz-card);color:var(--hz-primary)}

/* ===== Mobile ===== */
@media (min-width:1024px){
  .hz-app-content{padding:32px 40px 40px;min-height:calc(100vh - 16px)}
  .hz-desktop-tools{display:flex;position:absolute;top:26px;right:40px;z-index:20;align-items:center;gap:6px}
  .hz-panel{position:relative}
}
@media (max-width:1023px){
  .hz-backdrop-site{display:none}.horizon.sidebar-open .hz-backdrop-site,.horizon.api-sidebar-open .hz-backdrop-site,.horizon.admin-sidebar-open .hz-backdrop-site{display:block}
  .horizon.sidebar-open .hz-sidebar,.horizon.api-sidebar-open .hz-sidebar,.horizon.admin-sidebar-open .hz-sidebar{transform:translateX(0)}
  .hz-app-content{padding:20px 20px 28px}
  .hz-desktop-tools{display:none!important}
}
@media (max-width:767px){
  .hz-app-content{padding:16px 14px 24px}
  .horizon .grid-2cols,.horizon .form-grid,.horizon .admin-form-grid{grid-template-columns:1fr!important}
  .horizon .page-header,.horizon .dashboard-header,.horizon .admin-header,.horizon .admin-page-heading{flex-direction:column!important}
  .hz-landing-shell{margin:0;border-radius:0;border-inline:0;min-height:100vh}
  .hz-landing-container{width:min(100% - 28px,1120px)}
  .hz-landing-links{display:none}.hz-landing-nav{height:58px}.hz-landing-actions .hz-adapter-button.secondary{display:none!important}
  .hz-landing-hero{grid-template-columns:1fr;gap:34px;padding:56px 0 48px}.hz-landing-hero h1{font-size:42px!important}.hz-landing-section{padding:52px 0}.hz-landing-grid{grid-template-columns:1fr}.hz-bank-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hz-preview-card{max-width:520px;width:100%}
  body.auth-page.horizon{padding:12px!important}.horizon .auth-card>.card-body,body.auth-page.horizon .login-card,body.auth-page.horizon .reset-card{padding:22px!important}
}
@media (max-width:479px){
  .hz-app-content{padding:14px 10px 22px}
  .horizon :is(.card,.glass-card,.admin-card,.admin-basic-card,.data-card,.captcha-card){border-radius:10px!important}
  .horizon table:not(.ui-datepicker-calendar) th,.horizon table:not(.ui-datepicker-calendar) td{padding-left:8px!important;padding-right:8px!important}
  .hz-landing-hero h1{font-size:36px!important}
  .hz-preview-metrics{grid-template-columns:1fr}
}

/* ===== Legacy shell reset: Horizon owns page positioning ===== */
body.client-app.horizon,
body.admin-basic.horizon {
  margin: 0 !important;
  padding: 0 !important;
  min-height: 100vh !important;
  overflow-x: hidden !important;
  background: var(--hz-bg) !important;
  color: var(--hz-text) !important;
  font-family: var(--hz-font) !important;
}

body.client-app.horizon .hz-app-content :is(.main-content-wrapper,.content-wrapper,.dash-container,.dashboard-container,section.dash-container,.page-block),
body.admin-basic.horizon .hz-app-content :is(.content-wrapper,.admin-content-wrapper,.content-wrapper-modern,.admin-dashboard,.dashboard-container,.container-fluid,.content,.admin-page-inner) {
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

body.admin-basic.horizon .hz-app-content :is(.content-wrapper,.admin-content-wrapper,.content-wrapper-modern,.admin-dashboard) {
  margin: 0 !important;
  padding: 0 !important;
}

body.client-app.horizon .hz-app-content .dash-content,
body.admin-basic.horizon .hz-app-content .dashboard-container {
  width: 100% !important;
  max-width: none !important;
}

/* Keep Horizon shell independent from legacy fixed headers/sidebars. */
body.client-app.horizon :is(.main-header,.main-sidebar,.api-shell-header,.api-shell-sidebar),
body.admin-basic.horizon :is(.main-header,.main-sidebar,.admin-topbar,.admin-sidebar) {
  display: none !important;
}


/* ===== Standalone system errors ===== */
body.horizon.hz-error-page{display:grid!important;place-items:center!important;min-height:100vh!important;padding:24px!important;background:var(--hz-bg)!important;color:var(--hz-text)!important}
.hz-error-box{width:min(100%,560px);padding:4px;border-radius:12px;background:var(--hz-card)}
.hz-error-inner{padding:28px;border:1px solid var(--hz-border);border-radius:8px;background:var(--hz-surface);box-shadow:0 1px 3px var(--hz-shadow),0 1px 2px -1px var(--hz-shadow)}
.hz-error-icon{width:38px;height:38px;display:grid;place-items:center;margin-bottom:18px;border:1px solid var(--hz-border);border-radius:8px;background:var(--hz-card);color:var(--hz-primary);font-size:12px;font-weight:700}
.hz-error-inner h1{margin:0 0 8px!important;font-size:20px!important;line-height:26px!important}.hz-error-inner p{margin:0 0 14px!important;color:var(--hz-muted)!important}.hz-error-inner code{padding:2px 5px;border:1px solid var(--hz-border);border-radius:4px;background:var(--hz-card);color:var(--hz-text)}
.hz-adapter-button{min-height:32px;display:inline-flex;align-items:center;justify-content:center;padding:5px 10px;border:1px solid var(--hz-border);border-radius:8px;background:var(--hz-surface);color:var(--hz-text)!important;text-decoration:none!important;font-size:12px;font-weight:550;box-shadow:0 1px 2px var(--hz-shadow)}
.hz-adapter-button.primary{background:var(--hz-primary)!important;border-color:color-mix(in srgb,var(--hz-primary) 80%,#000)!important;color:#fff!important}.hz-adapter-button.secondary:hover{background:var(--hz-card)!important}

/* ===== Page families normalized to Horizon ===== */
.horizon .bank-login-brand{display:flex!important;align-items:center!important;gap:12px!important;margin:0 0 16px!important;padding:4px!important;border:0!important;border-radius:12px!important;background:var(--hz-card)!important;box-shadow:none!important}
.horizon .bank-login-brand>div:not(.bank-login-brand-logo){padding:10px 10px 10px 0!important}
.horizon .bank-login-brand-logo{width:52px!important;height:52px!important;flex:0 0 52px!important;padding:7px!important;border:1px solid var(--hz-border)!important;border-radius:8px!important;background:var(--hz-surface)!important;box-shadow:0 1px 2px var(--hz-shadow)!important}
.horizon .bank-login-brand h2{font-size:15px!important;line-height:20px!important;font-weight:650!important}.horizon .bank-login-brand p{margin:2px 0 0!important;color:var(--hz-muted)!important;font-size:12px!important}

.horizon .tcb-page{max-width:none!important;margin:0!important;padding:0!important}.horizon .tcb-panel{padding:4px!important;border:0!important;border-radius:12px!important;background:var(--hz-card)!important;box-shadow:none!important;overflow:hidden!important}.horizon .tcb-hero{gap:12px!important;padding:14px!important;border:1px solid var(--hz-border)!important;border-radius:8px 8px 0 0!important;background:var(--hz-surface)!important}.horizon .tcb-body{padding:16px!important;border:1px solid var(--hz-border)!important;border-top:0!important;border-radius:0 0 8px 8px!important;background:var(--hz-surface)!important}.horizon .tcb-logo{width:46px!important;height:46px!important;flex-basis:46px!important;border:1px solid var(--hz-border)!important;border-radius:8px!important;box-shadow:none!important}.horizon .tcb-title{font-size:15px!important;font-weight:650!important}.horizon .tcb-subtitle{color:var(--hz-muted)!important;font-size:12px!important}.horizon :is(.tcb-stat,.tcb-account-card,.tcb-history-toolbar){border:1px solid var(--hz-border)!important;border-radius:8px!important;background:var(--hz-surface)!important;box-shadow:0 1px 2px var(--hz-shadow)!important}.horizon :is(.tcb-btn,.tcb-icon-btn,.tcb-page-btn){border-radius:8px!important;box-shadow:0 1px 2px var(--hz-shadow)!important}.horizon .tcb-btn-primary,.horizon .tcb-page-btn.active{background:var(--hz-primary)!important;border-color:var(--hz-primary)!important;color:#fff!important}.horizon .tcb-btn-soft{background:var(--hz-card)!important;border-color:var(--hz-border)!important;color:var(--hz-text)!important}.horizon .tcb-table th{background:transparent!important;color:var(--hz-faint)!important}.horizon .tcb-table td{color:var(--hz-text)!important;border-color:var(--hz-card)!important}

.horizon :is(.captcha-panel,.captcha-service-card,.captcha-token-card,.captcha-code-card,.pricing-box,.product-card){border:0!important;border-radius:12px!important;background:var(--hz-card)!important;box-shadow:none!important;padding:4px!important}.horizon :is(.captcha-panel__body,.captcha-service-card>*:not(.captcha-service-card__top),.captcha-token-card>*:not(.captcha-token-row),.captcha-code-card__body){background:var(--hz-surface)!important}.horizon .captcha-panel__head,.horizon .captcha-code-card__head{border:1px solid var(--hz-border)!important;border-radius:8px 8px 0 0!important;background:var(--hz-surface)!important}.horizon .captcha-panel__body,.horizon .captcha-code-card__body{border:1px solid var(--hz-border)!important;border-top:0!important;border-radius:0 0 8px 8px!important}.horizon :is(.captcha-btn,.captcha-icon-btn,.captcha-copy-btn,.captcha-primary-action,.captcha-control){border-radius:8px!important}.horizon :is(.captcha-btn--primary,.captcha-primary-action,.captcha-icon-btn--accent){background:var(--hz-primary)!important;border-color:var(--hz-primary)!important;color:#fff!important}.horizon :is(.captcha-notice,.captcha-api-tip,.captcha-empty){border:1px solid var(--hz-border)!important;border-radius:8px!important;background:var(--hz-card)!important;color:var(--hz-text)!important}

.horizon .profile-page-v3{padding:0!important;max-width:none!important}.horizon :is(.profile-hero-v3,.profile-panel-v3,.profile-side-v3,.profile-metric-v3){border:1px solid var(--hz-border)!important;border-radius:8px!important;background:var(--hz-surface)!important;box-shadow:0 1px 2px var(--hz-shadow)!important}.horizon .profile-panel-v3{overflow:hidden!important}.horizon .profile-control-v3{border-radius:8px!important;background:var(--hz-surface)!important;color:var(--hz-text)!important;border-color:var(--hz-border)!important}.horizon .profile-btn-v3{border-radius:8px!important;box-shadow:0 1px 2px var(--hz-shadow)!important}.horizon .profile-btn-v3--primary{background:var(--hz-primary)!important;border-color:var(--hz-primary)!important;color:#fff!important}

.horizon :is(.api-docs-page,.module-library-page){max-width:none!important;margin:0!important;padding:0!important}.horizon :is(.page-header-modern,.breadcrumb-modern){background:transparent!important;border:0!important;box-shadow:none!important}.horizon :is(.module-card,.your-key-box,.cron-wrapper,.key-box-main,.code-copy-box-dark){border:1px solid var(--hz-border)!important;border-radius:8px!important;background:var(--hz-surface)!important;box-shadow:0 1px 2px var(--hz-shadow)!important}.horizon :is(.btn-copy,.btn-download,.btn-renew){border-radius:8px!important}

/* Primary interactions stay accented on hover, while neutral buttons follow Horizon. */
.horizon :is(.hz-primary-button,.btn-primary,.btn-gradient,.btn-gradient-sm,.btn-save,.login-do-btn,.btn-login,.btn-reset,.profile-btn-v3--primary,.captcha-btn--primary,.captcha-primary-action,.tcb-btn-primary):hover{background:color-mix(in srgb,var(--hz-primary) 88%,#000)!important;color:#fff!important;border-color:color-mix(in srgb,var(--hz-primary) 78%,#000)!important}
