/* Techipay Signature — shared appearance layer. All financial status colours retain their meaning. */
html[data-tp-theme="sapphire"] { --brand:#3156d3; --brand-rgb:49,86,211; --brand-bright:#9aafff; --brand-accent:#76c9e8; --brand-support:#007d86; --brand-support-rgb:0,125,134; --brand-canvas:#eaf2f8; --brand-nav:#1b426d; --brand-nav-end:#102640; }
html[data-tp-theme="emerald"] { --brand:#087c65; --brand-rgb:8,124,101; --brand-bright:#74d9be; --brand-accent:#70d4bf; --brand-support:#146d91; --brand-support-rgb:20,109,145; --brand-canvas:#eaf5f1; --brand-nav:#185049; --brand-nav-end:#0c2c2d; }
html[data-tp-theme="amethyst"] { --brand:#7940c8; --brand-rgb:121,64,200; --brand-bright:#c5a4ff; --brand-accent:#c0a0ec; --brand-support:#5962b3; --brand-support-rgb:89,98,179; --brand-canvas:#f0edf8; --brand-nav:#493568; --brand-nav-end:#271e3c; }
html[data-tp-theme="ocean"] { --brand:#087a9c; --brand-rgb:8,122,156; --brand-bright:#76d2ed; --brand-accent:#72d4dc; --brand-support:#007f78; --brand-support-rgb:0,127,120; --brand-canvas:#e8f4f7; --brand-nav:#19495f; --brand-nav-end:#102d3e; }
html[data-tp-theme="rose"] { --brand:#b53569; --brand-rgb:181,53,105; --brand-bright:#f6a0c4; --brand-accent:#efacc9; --brand-support:#7a529b; --brand-support-rgb:122,82,155; --brand-canvas:#f7edf2; --brand-nav:#63364f; --brand-nav-end:#341f31; }
html[data-tp-theme="amber"] { --brand:#a65b16; --brand-rgb:166,91,22; --brand-bright:#f2c086; --brand-accent:#ebc28d; --brand-support:#287570; --brand-support-rgb:40,117,112; --brand-canvas:#f5f0e7; --brand-nav:#594731; --brand-nav-end:#30291f; }

html[data-tp-theme] body {
    --tp-font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    --tp-heading-font:'Manrope','Inter',sans-serif;
    --tp-primary:var(--brand); --tp-primary-rgb:var(--brand-rgb);
    --tp-primary-hover:color-mix(in srgb,var(--brand),#000 14%);
    --tp-primary-active:color-mix(in srgb,var(--brand),#000 22%);
    --tp-primary-soft:rgba(var(--brand-rgb),.075); --tp-primary-soft-2:rgba(var(--brand-rgb),.14);
    --tp-on-primary:#fff; --tp-focus-ring:0 0 0 4px rgba(var(--brand-rgb),.2);
    --tp-radius-sm:8px; --tp-radius:10px; --tp-radius-lg:18px;
    --tp-fs-xs:12px; --tp-fs-sm:13px; --tp-fs-md:14px; --tp-fs-lg:17px; --tp-fs-xl:30px;
    --tp-shadow-xs:0 3px 18px rgba(21,33,62,.035);
    --tp-shadow-sm:0 6px 24px rgba(21,33,62,.055);
    --tp-shadow-md:0 12px 38px rgba(21,33,62,.085);
    --tp-sidebar-w:280px; --tp-sidebar-bg:var(--brand-nav); --tp-sidebar-text:#e1ebf8; --tp-sidebar-muted:#bbcee3;
    --tp-sidebar-hover:rgba(255,255,255,.07); --tp-sidebar-active-bg:var(--brand); --tp-sidebar-active-text:#fff;
    --tp-topbar-h:72px;
    --bs-primary:var(--brand); --bs-primary-rgb:var(--brand-rgb); --bs-link-color:var(--tp-primary);
    --primary:var(--brand-rgb);
    font-size:14px; line-height:1.6;
}
html[data-tp-mode="light"] body {
    --tp-bg:var(--brand-canvas); --tp-surface:#fff; --tp-surface-2:color-mix(in srgb,var(--brand-canvas),#fff 48%); --tp-surface-3:var(--brand-canvas);
    --tp-border:color-mix(in srgb,var(--brand-nav) 13%,#fff); --tp-border-strong:#b7ccdc; --tp-text:#153149; --tp-text-2:#405b73; --tp-text-3:#526d84;
    --tp-overlay:rgba(15,23,42,.42); color-scheme:light;
    --tp-glass:rgba(255,255,255,.91);
}
html[data-tp-mode="dark"] body {
    --tp-bg:#0c1220; --tp-surface:#151e30; --tp-surface-2:#1b263b; --tp-surface-3:#232f46;
    --tp-border:#2c3850; --tp-border-strong:#435371; --tp-text:#edf2fc; --tp-text-2:#c3cede; --tp-text-3:#a4b1c6;
    --tp-primary:var(--brand-bright); --tp-primary-hover:#fff; --tp-primary-active:var(--brand-bright);
    --tp-primary-soft:rgba(var(--brand-rgb),.2); --tp-primary-soft-2:rgba(var(--brand-rgb),.3);
    --tp-shadow-xs:0 3px 18px #00000016; --tp-shadow-sm:0 6px 24px #00000020; --tp-shadow-md:0 12px 38px #00000030;
    --tp-glass:rgba(21,30,48,.93); --tp-overlay:rgba(2,6,18,.72); color-scheme:dark;
}
html[data-tp-theme] .app-wrapper { --primary:var(--brand-rgb); }
html[data-tp-theme] :is(h1,h2,h3,.tp-kpi__value,.tp-page-title,.tp-health-card>strong) { font-family:var(--tp-heading-font); }
html[data-tp-theme] body { background:var(--tp-bg)!important; }
html[data-tp-theme] .tp-main { padding-top:28px!important; min-width:0; }
html[data-tp-theme] :focus-visible { outline:3px solid var(--tp-primary); outline-offset:3px; }

/* Readable navigation, with blue and teal detailing inspired by the operations console. */
html[data-tp-theme] .app-wrapper nav.tp-sidebar { background:linear-gradient(165deg,var(--brand-nav),var(--brand-nav-end))!important; border:0; border-right:1px solid #ffffff26; box-shadow:5px 0 24px #15344a12!important; }
html[data-tp-theme] .tp-sidebar__brand { border-bottom:1px solid #ffffff14; padding-inline:22px!important; }
html[data-tp-theme] .tp-sidebar__brand .logo { height:auto; padding:7px 13px!important; border-radius:11px; background:#fff; box-shadow:0 3px 12px #00000010; }
html[data-tp-theme] .tp-sidebar__brand img { max-height:29px!important; max-width:164px!important; }
html[data-tp-theme] .tp-sidebar__nav { padding:17px 13px 24px!important; scrollbar-width:thin; scrollbar-color:#91b9d955 transparent; }
html[data-tp-theme] .tp-nav__label { display:flex; align-items:center; gap:12px; font-size:11px; font-weight:700; letter-spacing:.08em; color:var(--tp-sidebar-muted); margin-top:13px; padding:17px 11px 9px; }
html[data-tp-theme] .tp-nav__label:first-child { margin-top:0; }
html[data-tp-theme] .tp-nav__label::after { content:""; flex:1; height:1px; background:#ffffff16; }
html[data-tp-theme] .tp-nav__item { margin:3px 0; }
html[data-tp-theme] .tp-nav__link { border:1px solid transparent; border-radius:9px!important; font-family:var(--tp-font); font-size:15px!important; font-weight:600; letter-spacing:-.015em; line-height:1.4; min-height:46px; padding:10px 11px!important; gap:10px; transition:background .18s,color .18s,border-color .18s!important; }
html[data-tp-theme] .tp-nav__link>i:first-child { color:#8dbdff; width:22px; flex:0 0 22px; font-size:21px; }
html[data-tp-theme] .tp-nav__text { white-space:normal; overflow:visible; text-overflow:clip; }
html[data-tp-theme] .tp-nav__link>i:is(.ph-arrows-clockwise,.ph-upload-simple,.ph-hand-coins,.ph-wallet,.ph-heartbeat,.ph-webhooks-logo) { color:#6be3da; }
html[data-tp-theme] .tp-nav__link>i:is(.ph-hourglass-medium,.ph-gauge,.ph-receipt) { color:#ffd18c; }
html[data-tp-theme] .tp-nav__link>i.ph-check-circle { color:#84e6bb; }
html[data-tp-theme] .tp-nav__link>i:is(.ph-x-circle,.ph-sign-out) { color:#ffadbd; }
html[data-tp-theme] .tp-nav__link:is(:hover,:focus-visible,.is-parent-active) { color:#fff!important; background:#ffffff0c; border-color:#ffffff1b; }
html[data-tp-theme] .tp-nav__link:is(:hover,:focus-visible)>i:first-child { color:#fff; }
html[data-tp-theme] .tp-nav__link:is(.sidemenu-active,.is-active) { background:linear-gradient(105deg,rgba(var(--brand-support-rgb),.55),#ffffff08)!important; color:#fff!important; border-color:color-mix(in srgb,var(--brand-accent) 46%,transparent); box-shadow:inset 0 1px #ffffff06,0 4px 13px #061c3412; font-weight:700; }
html[data-tp-theme] .tp-nav__link:is(.sidemenu-active,.is-active)::before { display:block; left:-1px; top:11px; bottom:11px; width:3px; border-radius:4px; background:var(--brand-accent); box-shadow:0 0 12px var(--brand-accent); }
html[data-tp-theme] .tp-nav__link:is(.sidemenu-active,.is-active)>i:first-child { color:var(--brand-accent)!important; }
html[data-tp-theme] .tp-nav__link--danger:hover { background:#ff80931c; border-color:#ffadbd44; color:#ffdbe3!important; }
html[data-tp-theme] .tp-nav__sub { margin:5px 0 9px 22px; border-left:1px solid #b5cfea35; }
html[data-tp-theme] .tp-nav__sub>li>a { padding:9px 10px 9px 26px!important; font-size:13px; line-height:1.4; color:#d6e7f7!important; }
html[data-tp-theme] .tp-nav__sub>li>a::before { left:10px; width:4px; height:4px; background:#9dbbda; }
html[data-tp-theme] .tp-nav__sub>li>a:hover { color:#fff!important; background:#ffffff0d; }
html[data-tp-theme] .tp-nav__sub>li.active>a,html[data-tp-theme] .tp-nav__sub>li>a.is-active { color:#fff!important; background:rgba(var(--brand-support-rgb),.5); }
html[data-tp-theme] .tp-nav__sub>li.active>a::before,html[data-tp-theme] .tp-nav__sub>li>a.is-active::before { background:var(--brand-accent); }
html[data-tp-theme] .tp-sidebar :focus-visible { outline-color:var(--brand-accent); outline-offset:-2px; }
html[data-tp-theme] .tp-sidebar__close:hover { color:#fff; }
html[data-tp-theme] .tp-sidebar__footer { font-size:12px; color:var(--tp-sidebar-muted); border-color:#ffffff1a; background:#061a2d24; padding:15px 24px; }
html[data-tp-theme] header.tp-topbar.header-main { background:var(--tp-glass)!important; backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); border-bottom:1px solid var(--tp-border); }
html[data-tp-theme] .tp-wallet-pill { border-radius:12px; background:var(--tp-surface); box-shadow:0 2px 8px #14213b04; padding:8px 12px; }
html[data-tp-theme] .tp-wallet-pill__icon { border-radius:9px; color:var(--tp-primary); background:var(--tp-primary-soft); }
html[data-tp-theme] .tp-avatar-btn img { border:2px solid var(--tp-surface); box-shadow:0 0 0 1px var(--tp-border); }
html[data-tp-theme] .tp-avatar-btn__name { max-width:130px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
html[data-tp-theme] .avatar-preview #imgPreview .text-muted { color:#fff!important; font-weight:600; }

/* Consistent page introductions across admin, users, reports and settings. */
html[data-tp-theme] .app-wrapper>.app-content { background:radial-gradient(ellipse at 95% 3%,rgba(var(--brand-support-rgb),.07),transparent 45%),linear-gradient(180deg,var(--tp-bg),color-mix(in srgb,var(--tp-bg),var(--tp-surface) 38%))!important; }
html[data-tp-theme] .tp-page-header { position:relative; isolation:isolate; padding:25px 28px; border:1px solid var(--tp-border); border-radius:18px; background:linear-gradient(115deg,var(--tp-surface) 30%,color-mix(in srgb,var(--tp-surface) 92%,var(--brand-support))); box-shadow:0 4px 22px #15344a04; overflow:hidden; margin-bottom:26px; align-items:center; }
html[data-tp-theme] .tp-page-header::before { content:""; position:absolute; inset:0 auto 0 0; width:4px; background:linear-gradient(var(--brand),var(--brand-support)); }
html[data-tp-theme] .tp-page-header::after { content:""; position:absolute; z-index:-1; width:250px; height:250px; border:36px solid rgba(var(--brand-rgb),.035); border-radius:50%; right:30px; top:-140px; pointer-events:none; }
html[data-tp-theme] .tp-breadcrumb { margin-bottom:9px; font-size:11px; gap:8px; }
html[data-tp-theme] .tp-page-title { font-size:clamp(25px,2.2vw,33px); letter-spacing:-.045em; font-weight:800; line-height:1.25; }
html[data-tp-theme] .tp-page-subtitle { margin-top:8px; line-height:1.7; }
html[data-tp-theme] :is(.card,.tp-card,.tp-kpi,.tp-health-card) { box-shadow:var(--tp-shadow-xs)!important; border-color:var(--tp-border)!important; }
html[data-tp-theme] :is(.card-header,.tp-card__header) { padding:19px 23px!important; background:linear-gradient(110deg,var(--tp-surface),var(--tp-surface-2))!important; }
html[data-tp-theme] .tp-card__header { border-radius:17px 17px 0 0; }
html[data-tp-theme] :is(.card-header h5,.tp-card__title) { font-family:var(--tp-heading-font); font-weight:750; letter-spacing:-.02em; }
html[data-tp-theme] .tp-kpi { --tile-tone:var(--brand); --tile-wash:var(--tp-primary-soft); position:relative; border-radius:15px; padding:21px; overflow:hidden; border-top:3px solid var(--tile-tone)!important; background:linear-gradient(115deg,var(--tp-surface),color-mix(in srgb,var(--tp-surface) 40%,var(--tile-wash))); }
html[data-tp-theme] .tp-kpi--success { --tile-tone:var(--tp-success); --tile-wash:var(--tp-success-soft); }
html[data-tp-theme] .tp-kpi--warning { --tile-tone:var(--tp-warning); --tile-wash:var(--tp-warning-soft); }
html[data-tp-theme] .tp-kpi--danger { --tile-tone:var(--tp-danger); --tile-wash:var(--tp-danger-soft); }
html[data-tp-theme] .tp-kpi--info { --tile-tone:var(--tp-info); --tile-wash:var(--tp-info-soft); }
html[data-tp-theme] .tp-kpi--accent::after { content:""; width:105px; height:105px; position:absolute; pointer-events:none; left:auto; right:-25px; top:auto; bottom:-43px; border:17px solid var(--tile-tone); border-radius:50%; background:none; opacity:.08; }
html[data-tp-theme] .tp-kpi__value { font-weight:800; font-size:clamp(25px,2.2vw,34px); letter-spacing:-.045em; }
@supports(font-size:1cqw) {
    html[data-tp-theme] .tp-kpi { container-type:inline-size; }
    html[data-tp-theme] .tp-kpi__value { font-size:clamp(16px,13cqw,32px); }
}
html[data-tp-theme] .tp-kpi__icon { width:43px; height:43px; border-radius:13px; }
html[data-tp-theme] .tp-kpi__label { font-weight:600; font-size:12px; letter-spacing:.015em; }
html[data-tp-theme] a.tp-kpi:hover { transform:translateY(-2px)!important; box-shadow:var(--tp-shadow-md)!important; }
html[data-tp-theme] :is(.table thead th,table.dataTable thead th) { background:var(--tp-surface-2)!important; font-size:11px; text-transform:uppercase; letter-spacing:.045em; font-weight:650; padding-top:14px!important; padding-bottom:14px!important; }
html[data-tp-theme] :is(.table td,table.dataTable td) { padding-top:13px; padding-bottom:13px; }
html[data-tp-theme] :is(.table tbody tr:hover td,table.dataTable tbody tr:hover td) { background-color:var(--tp-primary-soft)!important; }
html[data-tp-theme] :is(.form-control,.form-select,.select2-container--default .select2-selection--single) { border-radius:10px!important; min-height:41px; }
html[data-tp-theme] :is(.form-control,.form-select):focus { border-color:var(--brand-accent)!important; box-shadow:var(--tp-focus-ring)!important; }
html[data-tp-theme] .btn { border-radius:10px!important; font-weight:600; transition:background .18s,box-shadow .18s,border-color .18s,transform .18s; }
html[data-tp-theme] .btn-primary,html[data-tp-theme] .temp_primary_bg { background:linear-gradient(120deg,var(--brand),color-mix(in srgb,var(--brand),#000 8%))!important; border-color:var(--brand)!important; color:#fff!important; box-shadow:0 4px 10px rgba(var(--brand-rgb),.16)!important; }
html[data-tp-theme] .btn-primary:hover { background:color-mix(in srgb,var(--brand),#000 14%)!important; box-shadow:0 6px 16px rgba(var(--brand-rgb),.23)!important; }
html[data-tp-theme] .tp-page-header__actions .btn-primary { background:linear-gradient(115deg,var(--brand-support),color-mix(in srgb,var(--brand-support),#000 6%))!important; border-color:var(--brand-support)!important; box-shadow:0 4px 12px rgba(var(--brand-support-rgb),.14)!important; }
html[data-tp-theme] .tp-page-header__actions .btn-primary:hover { background:color-mix(in srgb,var(--brand-support),#000 14%)!important; }
html[data-tp-theme] .btn:disabled { box-shadow:none!important; }
html[data-tp-theme] :is(.modal-content,.swal2-popup,.offcanvas) { border-radius:20px!important; background:var(--tp-surface)!important; color:var(--tp-text)!important; }
html[data-tp-theme] .modal-header { padding:22px 26px!important; }
html[data-tp-theme] .modal-title { font-family:var(--tp-heading-font); font-weight:750; }
html[data-tp-theme] .tp-filter-bar { background:var(--tp-surface-2); border-radius:14px; }
html[data-tp-theme] :is(.tp-health-banner,.tp-health-panel,.tp-health-card) { background:var(--tp-surface); border-color:var(--tp-border); }
html[data-tp-theme] .tp-health-banner { background:linear-gradient(110deg,var(--tp-primary-soft),var(--tp-surface)); }
html[data-tp-theme] :is(.tp-health-banner h2,.tp-health-panel h3,.tp-health-card>strong,.tp-health-delivery strong) { color:var(--tp-text); }
html[data-tp-theme] :is(.tp-health-card>span,.tp-health-label,.tp-health-panel p,.tp-health-banner p,.tp-health-delivery span,.tp-health-footnote) { color:var(--tp-text-3); }
html[data-tp-theme] .tp-health-eyebrow { color:var(--tp-primary); }
html[data-tp-theme] .tp-health-delivery>div { background:var(--tp-surface-2); }
html[data-tp-theme] .tp-health-note { border-color:var(--tp-border); }

/* Sign-in is part of the same visual system. */
html[data-tp-theme] .tp-auth__aside { background:radial-gradient(ellipse at 15% 5%,rgba(var(--brand-rgb),.7),transparent 60%),radial-gradient(ellipse at 100% 100%,rgba(var(--brand-rgb),.5),transparent 65%),linear-gradient(150deg,var(--brand-nav),var(--brand-nav-end)); }
html[data-tp-theme] .tp-auth__aside::before { content:""; position:absolute; width:540px; height:540px; right:-310px; top:20%; border:1px solid #ffffff16; border-radius:50%; box-shadow:0 0 0 50px #ffffff03,0 0 0 100px #ffffff03,0 0 0 150px #ffffff02; pointer-events:none; }
html[data-tp-theme] .tp-auth__pitch h2 { font-family:var(--tp-heading-font); font-size:clamp(34px,3.6vw,54px); line-height:1.14; font-weight:800; letter-spacing:-.05em; max-width:15ch; }
html[data-tp-theme] .tp-auth__pitch p { color:#dce3f0; font-size:15px; line-height:1.8; }
html[data-tp-theme] .tp-auth__points li { color:#e3eaf5; }
html[data-tp-theme] .tp-auth__legal { color:#c1cde1; }
html[data-tp-theme] .tp-auth__main { background:radial-gradient(ellipse at 100% 0,var(--tp-primary-soft),transparent 65%),var(--tp-surface); padding-top:90px; }
html[data-tp-theme] .tp-auth__card { max-width:430px; }
html[data-tp-theme] .tp-auth__title { font-family:var(--tp-heading-font); font-weight:800; font-size:29px; letter-spacing:-.045em; }
html[data-tp-theme] .tp-auth .form-control { min-height:49px; }
html[data-tp-theme] .tp-auth form>.btn { min-height:49px; }
html[data-tp-mode="dark"] .tp-auth__logo { background:#fff; border-radius:12px; padding:9px 15px; }

/* Appearance control uses a native modal dialog: focus stays inside until closed. */
.tp-appearance-trigger { display:inline-flex; align-items:center; justify-content:center; gap:9px; border:1px solid var(--tp-border); border-radius:11px; background:var(--tp-surface); color:var(--tp-text-2); min-height:40px; padding:8px 12px; font-size:12px; font-weight:650; cursor:pointer; white-space:nowrap; }
.tp-appearance-trigger:hover { border-color:var(--brand-accent); background:var(--tp-primary-soft); color:var(--tp-primary); }
.tp-appearance-trigger--floating { position:fixed; right:28px; top:24px; z-index:1030; box-shadow:var(--tp-shadow-sm); }
.tp-theme-orbit { display:grid; grid-template-columns:repeat(2,6px); gap:3px; transform:rotate(-12deg); }
.tp-theme-orbit i { width:6px; height:6px; border-radius:2px; background:var(--brand); }
.tp-theme-orbit i:nth-child(2) { background:var(--brand-accent); }.tp-theme-orbit i:nth-child(3) { background:var(--brand-nav); }.tp-theme-orbit i:nth-child(4) { background:var(--brand-bright); }
.tp-appearance-dialog { position:fixed; inset:0; width:min(580px,calc(100% - 32px)); max-width:580px; max-height:calc(100dvh - 32px); padding:29px; margin:auto; border:1px solid var(--tp-border); border-radius:24px; color:var(--tp-text); background:var(--tp-surface); box-shadow:0 30px 100px #02061745; overflow:auto; overscroll-behavior:contain; }
.tp-appearance-dialog::backdrop { background:var(--tp-overlay); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
.tp-appearance-dialog[open] { animation:tp-dialog-in .18s ease-out; }
.tp-appearance-head { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; }
.tp-appearance-kicker { color:var(--tp-primary); font-size:10px; font-weight:750; letter-spacing:.16em; }
.tp-appearance-head h2 { margin:7px 0 0; font-family:var(--tp-heading-font); font-weight:800; font-size:25px; line-height:1.25; letter-spacing:-.045em; color:var(--tp-text); }
.tp-appearance-close { width:33px; height:33px; flex-shrink:0; display:grid; place-items:center; border:1px solid var(--tp-border); background:var(--tp-surface-2); color:var(--tp-text-2); border-radius:50%; cursor:pointer; }
#tp-appearance-description { color:var(--tp-text-3); font-size:13px; margin:13px 0 25px; }
.tp-appearance-label { display:flex; justify-content:space-between; gap:10px; margin:0 0 12px; font-size:12px; font-weight:700; color:var(--tp-text); }
.tp-appearance-label span { color:var(--tp-text-3); font-size:11px; font-weight:400; }
.tp-theme-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:24px; }
.tp-theme-option { text-align:left; border:1px solid var(--tp-border); background:var(--tp-surface); color:var(--tp-text); border-radius:12px; padding:6px 6px 12px; cursor:pointer; transition:border-color .15s,box-shadow .15s; }
.tp-theme-option:hover { border-color:var(--swatch-accent); box-shadow:var(--tp-shadow-sm); }
.tp-theme-option[aria-checked="true"] { border:2px solid var(--tp-primary); padding:5px 5px 11px; background:var(--tp-primary-soft); }
.tp-theme-option__name { display:block; font-size:12px; font-weight:700; padding:9px 5px 0; }
.tp-theme-option__note { display:block; font-size:10px; color:var(--tp-text-3); padding:2px 5px 0; }
.tp-theme-preview { display:flex; height:72px; border-radius:7px; background:#f3f5fa; overflow:hidden; position:relative; }
.tp-theme-preview__nav { display:flex; flex-direction:column; gap:5px; width:27%; padding:10px 6px; background:var(--swatch-nav); }
.tp-theme-preview__nav i { display:block; height:3px; border-radius:3px; background:#ffffff30; }.tp-theme-preview__nav i:first-child { background:var(--swatch-accent); width:70%; margin-bottom:6px; }
.tp-theme-preview__page { display:flex; flex-direction:column; gap:7px; padding:10px 8px; flex:1; }.tp-theme-preview__page>i { width:45%; height:4px; background:var(--swatch); border-radius:3px; }.tp-theme-preview__page>span { display:flex; gap:5px; }.tp-theme-preview__page b { background:#fff; height:18px; border-radius:4px; width:50%; border-top:2px solid var(--swatch-accent); }.tp-theme-preview__page>em { background:#dfe5ef; height:3px; border-radius:3px; width:75%; }
.tp-theme-check { display:none; position:absolute; bottom:5px; right:5px; align-items:center; justify-content:center; width:17px; height:17px; border-radius:50%; background:var(--swatch); color:#fff; font-size:11px; }
.tp-theme-option[aria-checked="true"] .tp-theme-check { display:flex; }
.tp-mode-group { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:5px; gap:4px; border:1px solid var(--tp-border); border-radius:12px; background:var(--tp-surface-2); }
.tp-mode-group button { display:flex; align-items:center; justify-content:center; gap:8px; min-height:39px; border:1px solid transparent; border-radius:8px; background:transparent; color:var(--tp-text-3); font-size:12px; font-weight:600; cursor:pointer; }
.tp-mode-group button>span { font-size:18px; line-height:1; }.tp-mode-group button[aria-checked="true"] { color:var(--tp-primary); border-color:var(--tp-border); background:var(--tp-surface); box-shadow:0 2px 7px #14213b08; }
.tp-appearance-foot { display:flex; justify-content:space-between; align-items:center; margin-top:25px; padding-top:20px; border-top:1px solid var(--tp-border); }.tp-appearance-done { min-width:94px; }
.tp-theme-reset { padding:8px 0; border:0; background:transparent; color:var(--tp-text-3); text-decoration:underline; text-underline-offset:3px; font-size:12px; cursor:pointer; }
.tp-theme-status { margin:16px 0 0; text-align:center; color:var(--tp-text-3); font-size:10px; min-height:15px; }
@keyframes tp-dialog-in { from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none} }
@media(min-width:768px) {
    html[data-tp-theme] .app-wrapper nav.tp-sidebar.semi-nav:not(:hover) .tp-sidebar__brand .logo { padding:0!important; height:40px; justify-content:center; }
    html[data-tp-theme] .app-wrapper nav.tp-sidebar.semi-nav:not(:hover) .tp-sidebar__brand img { display:none!important; }
    html[data-tp-theme] .app-wrapper nav.tp-sidebar.semi-nav:not(:hover) .tp-sidebar__brand .logo::after { content:"TP"; font-family:var(--tp-heading-font); font-size:16px; font-weight:800; color:var(--brand-nav); letter-spacing:-.04em; }
    html[data-tp-theme] .app-wrapper nav.tp-sidebar.semi-nav:not(:hover) .tp-nav__label { display:block; margin-top:10px; padding:10px 0!important; }
    html[data-tp-theme] .app-wrapper nav.tp-sidebar.semi-nav:not(:hover) .tp-nav__label::after { width:24px; margin:0 auto; background:#ffffff26; }
}
@media(min-width:1500px) { html[data-tp-theme] .tp-main { padding:32px!important; } }
@media(max-width:1100px) { html[data-tp-theme] .tp-topbar__title { display:none; }.tp-appearance-trigger__label { display:none; }.tp-appearance-trigger { width:40px; padding:8px; } }
@media(max-width:767.98px) {
    html[data-tp-theme] body { --tp-topbar-h:64px; }
    html[data-tp-theme] .tp-main { padding:18px 14px!important; }
    html[data-tp-theme] .tp-page-header { padding:21px; border-radius:16px; gap:18px; }
    html[data-tp-theme] .tp-page-title { font-size:26px; }
    html[data-tp-theme] .tp-page-header__actions { width:100%; }.tp-page-header__actions .btn { flex:1 1 auto; }
    html[data-tp-theme] .tp-kpi { padding:19px; }
    html[data-tp-theme] .tp-topbar__actions { gap:6px; }
    html[data-tp-theme] .tp-wallet-pill { font-size:12px; padding:6px 8px; min-height:40px; }
    html[data-tp-theme] .tp-auth__main { padding:92px 26px 40px; }
    .tp-appearance-trigger--floating { top:18px; right:18px; }
}
@media(max-width:480px) {
    .tp-appearance-dialog { padding:22px 18px; width:calc(100% - 20px); border-radius:19px; max-height:calc(100dvh - 20px); }
    .tp-appearance-head h2 { font-size:22px; }.tp-theme-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-bottom:20px; }
    .tp-theme-preview { height:57px; }.tp-theme-option__note { font-size:10px; }.tp-appearance-label span { font-size:10px; }
    .tp-appearance-foot { margin-top:18px; padding-top:16px; }.tp-appearance-dialog #tp-appearance-description { margin-bottom:20px; }
    html[data-tp-theme] .tp-health-delivery { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(prefers-reduced-motion:reduce) { .tp-appearance-dialog[open] { animation:none; } }
@media print { .tp-appearance-trigger,.tp-appearance-dialog { display:none!important; } }
