:root {
    --tl-bg: #f8f9fb;
    --tl-surface: #ffffff;
    --tl-text: #202330;
    --tl-muted: #737987;
    --tl-border: #e7e9ee;
    --tl-input: #e2e5ea;
    --tl-primary: #4a7660;
    --tl-primary-hover: #020618;
    --tl-primary-soft: #d9efe6;
    --tl-primary-soft-text: #213d30;
    --tl-danger: #c94a4a;
    --tl-warning: #a86f13;
    --tl-success: #2f8b5d;
    --tl-radius: 8px;
    --tl-shadow: 0 1px 2px rgba(16,24,40,.035);
    --tl-sidebar-width: 240px;
}

.tl-shell, .tl-shell * { box-sizing: border-box; }
.tl-shell { min-height:100vh; display:flex; background:var(--tl-bg); color:var(--tl-text); font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.tl-app { min-width:0; flex:1; display:flex; flex-direction:column; }
.tl-main { flex:1; min-width:0; }
.tl-content { width:100%; max-width:1500px; margin:0 auto; padding:24px 28px 42px; }

.tl-sidebar { width:var(--tl-sidebar-width); flex:0 0 var(--tl-sidebar-width); height:100vh; position:sticky; top:0; z-index:1030; display:flex; flex-direction:column; background:var(--tl-surface); border-right:1px solid var(--tl-border); }
.tl-sidebar-brand { height:56px; flex:0 0 56px; display:flex; align-items:center; padding:0 20px; border-bottom:1px solid var(--tl-border); }
.tl-sidebar-brand a { display:inline-flex; align-items:center; }
.tl-sidebar-brand img { display:block; width:auto; height:31px; max-width:170px; }
.tl-sidebar-nav { flex:1; overflow:auto; padding:16px 12px; }
.tl-nav-group { margin-bottom:20px; }
.tl-nav-label { margin:0 12px 8px; color:var(--tl-muted); font-size:10px; line-height:1; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.tl-nav-link { min-height:34px; display:flex; align-items:center; gap:10px; padding:7px 12px; margin:2px 0; border-radius:6px; color:var(--tl-muted)!important; font-size:13px; font-weight:600; text-decoration:none!important; transition:background-color .15s,color .15s; }
.tl-nav-link i { width:17px; font-size:17px; line-height:1; }
.tl-nav-link:hover { background:#f3f4f6; color:var(--tl-text)!important; }
.tl-nav-link.active { background:var(--tl-primary-soft); color:var(--tl-primary-soft-text)!important; }
.tl-sidebar-profile { min-height:65px; display:flex; align-items:center; gap:10px; padding:10px 12px; border-top:1px solid var(--tl-border); }
.tl-avatar { width:32px; height:32px; flex:0 0 32px; display:grid; place-items:center; border-radius:50%; color:#fff; background:linear-gradient(135deg,var(--tl-primary),#597a91); font-size:11px; font-weight:700; }
.tl-profile-copy { min-width:0; flex:1; display:flex; flex-direction:column; line-height:1.3; }
.tl-profile-copy strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; font-weight:700; }
.tl-profile-copy span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--tl-muted); font-size:10px; }

.tl-topbar { height:56px; position:sticky; top:0; z-index:1020; display:flex; align-items:center; gap:12px; padding:0 24px; background:rgba(255,255,255,.92); border-bottom:1px solid var(--tl-border); backdrop-filter:blur(10px); }
.tl-searchbox { width:min(450px,45vw); height:32px; position:relative; display:flex; align-items:center; }
.tl-searchbox>i { position:absolute; left:11px; z-index:1; color:var(--tl-muted); font-size:14px; }
.tl-searchbox input { width:100%; height:32px; padding:0 50px 0 33px; border:1px solid transparent; border-radius:6px; outline:none; background:#f3f4f6; color:var(--tl-text); font-size:12px; transition:border-color .15s,box-shadow .15s,background .15s; }
.tl-searchbox input:hover { background:#eef0f3; }
.tl-searchbox input:focus { background:#fff; border-color:#cbd7d1; box-shadow:0 0 0 3px rgba(74,118,96,.12); }
.tl-search-shortcut { position:absolute; right:8px; padding:2px 5px; border:1px solid var(--tl-border); border-radius:4px; background:#fff; color:var(--tl-muted); font:10px/1.3 "JetBrains Mono",monospace; }
.tl-topbar-actions { margin-left:auto; display:flex; align-items:center; gap:8px; }
.tl-icon-btn { width:32px; height:32px; flex:0 0 32px; display:inline-grid; place-items:center; padding:0; border:0; border-radius:6px; background:transparent; color:var(--tl-muted); cursor:pointer; transition:background .15s,color .15s; }
.tl-icon-btn:hover { background:#f3f4f6; color:var(--tl-text); }
.tl-icon-btn i { font-size:17px; }
.tl-btn { height:32px; display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:0 12px; border:1px solid transparent; border-radius:6px; font-size:12px; font-weight:700; line-height:1; cursor:pointer; transition:background .15s,border-color .15s,color .15s; }
.tl-btn-primary { background:var(--tl-primary); color:#fff; }
.tl-btn-primary:hover { background:var(--tl-primary-hover); color:#fff; }
.tl-mobile-menu { display:none; width:32px; height:32px; padding:0; border:0; border-radius:6px; background:transparent; color:var(--tl-muted); font-size:20px; }
.tl-sidebar-overlay { display:none; }

/* Existing page chrome */
.tl-shell .container-fluid { padding:0; }
.tl-shell .content-page, .tl-shell .content { margin:0!important; padding:0!important; min-height:0!important; }
.tl-shell footer, .tl-shell .footer { display:none!important; }
.tl-shell .page-title-box { min-height:0; margin:0 0 22px; padding:0; display:flex; align-items:flex-end; justify-content:space-between; }
.tl-shell .page-title-box .page-title { margin:0; padding:0; color:var(--tl-text); font-size:20px; line-height:1.3; font-weight:700; letter-spacing:-.02em; }
.tl-shell .page-title-right { order:2; }
.tl-shell .breadcrumb { margin:0!important; padding:0; background:transparent; font-size:11px; }
.tl-shell .breadcrumb-item, .tl-shell .breadcrumb-item a { color:var(--tl-muted); text-decoration:none; }
.tl-shell .breadcrumb-item.active { color:var(--tl-muted); }

/* Cards and sections */
.tl-shell .card { border:1px solid var(--tl-border)!important; border-radius:var(--tl-radius)!important; background:var(--tl-surface)!important; box-shadow:var(--tl-shadow)!important; }
.tl-shell .card-body { padding:20px; }
.tl-shell .card-header { min-height:44px; padding:12px 20px; border-bottom:1px solid var(--tl-border)!important; background:#fafbfc!important; color:var(--tl-muted); font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.tl-shell .card h4, .tl-shell .card h5, .tl-shell .card h6 { color:var(--tl-text); }
.tl-shell h4:not(.page-title) { color:var(--tl-text); font-size:20px; font-weight:700; letter-spacing:-.02em; }
.tl-shell h5 { font-size:13px; font-weight:700; }
.tl-shell .text-muted { color:var(--tl-muted)!important; }

/* Buttons */
.tl-shell .btn { min-height:32px; padding:6px 12px; border-radius:6px; box-shadow:none!important; font-size:12px; font-weight:700; line-height:1.35; }
.tl-shell .btn-primary, .tl-shell .btn-tertiary { border-color:var(--tl-primary)!important; background:var(--tl-primary)!important; color:#fff!important; }
.tl-shell .btn-primary:hover, .tl-shell .btn-tertiary:hover { border-color:var(--tl-primary-hover)!important; background:var(--tl-primary-hover)!important; }
.tl-shell .btn-light, .tl-shell .btn-outline-primary, .tl-shell .btn-outline-secondary { border:1px solid var(--tl-border)!important; background:#fff!important; color:var(--tl-text)!important; }
.tl-shell .btn-light:hover, .tl-shell .btn-outline-primary:hover, .tl-shell .btn-outline-secondary:hover { background:#f5f6f8!important; }
.tl-shell .btn-danger { border-color:var(--tl-danger)!important; background:var(--tl-danger)!important; }

/* Tables */
.tl-shell .table-responsive { border:1px solid var(--tl-border); border-radius:var(--tl-radius); background:#fff; overflow:auto; }
.tl-shell .card .table-responsive { border-radius:6px; }
.tl-shell table.table { margin:0!important; color:var(--tl-text); font-size:12px; }
.tl-shell .table>:not(caption)>*>* { padding:11px 14px; border-bottom-color:var(--tl-border); vertical-align:middle; }
.tl-shell .table thead th, .tl-shell .table-primary th { border-top:0; border-bottom:1px solid var(--tl-border)!important; background:#fafbfc!important; color:var(--tl-muted)!important; font-size:10px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; white-space:nowrap; }
.tl-shell .table tbody tr:last-child td { border-bottom:0; }
.tl-shell .table tbody tr { transition:background .12s; }
.tl-shell .table tbody tr:hover { background:#fafbfc; }
.tl-shell .action-icon { display:inline-grid; width:30px; height:30px; place-items:center; margin-right:2px; border-radius:6px; font-size:17px!important; text-decoration:none; transition:background .15s; }
.tl-shell .action-icon:hover { background:#f2f3f5; }
.tl-shell .text-tertiary { color:var(--tl-primary)!important; }
.tl-shell .text-danger { color:var(--tl-danger)!important; }
.tl-shell .text-warning { color:var(--tl-warning)!important; }

/* Forms */
.tl-shell label { margin-bottom:6px; color:var(--tl-text); font-size:11px; font-weight:700; }
.tl-shell .form-control, .tl-shell .form-select { min-height:36px; border:1px solid var(--tl-input); border-radius:6px; background:#fff; color:var(--tl-text); font-size:12px; box-shadow:none!important; }
.tl-shell .form-control:focus, .tl-shell .form-select:focus { border-color:#91ab9e; box-shadow:0 0 0 3px rgba(74,118,96,.11)!important; }
.tl-shell textarea.form-control { min-height:82px; }
.tl-shell .form-check-input { width:16px; height:16px; margin-top:0; border-color:#cfd4da; box-shadow:none!important; }
.tl-shell .form-check-input:checked { border-color:var(--tl-primary); background-color:var(--tl-primary); }
.tl-shell input[type=file] { max-width:100%; color:var(--tl-muted); font-size:11px; }
.tl-shell input[type=file]::file-selector-button { margin-right:10px; padding:6px 10px; border:1px solid var(--tl-border); border-radius:6px; background:#fff; color:var(--tl-text); font-weight:700; }

/* Radzen controls */
.tl-shell .rz-datepicker, .tl-shell .rz-dropdown, .tl-shell .rz-multiselect { width:100%; min-height:36px; border:1px solid var(--tl-input)!important; border-radius:6px!important; background:#fff!important; box-shadow:none!important; }
.tl-shell .rz-inputtext { min-height:34px; border:0!important; background:transparent!important; color:var(--tl-text)!important; font-size:12px!important; box-shadow:none!important; }
.tl-shell .rz-state-focused, .tl-shell .rz-dropdown:focus-within, .tl-shell .rz-datepicker:focus-within { border-color:#91ab9e!important; box-shadow:0 0 0 3px rgba(74,118,96,.11)!important; }

/* Filter area */
.tl-shell .card-body>.row.mb-2:first-child + .row.mb-2, .tl-shell .tl-filter-bar { padding:12px; border:1px solid var(--tl-border); border-radius:7px; background:#fafbfc; }
.tl-shell .col-auto>div>label { display:block; margin:0 0 5px!important; }

/* Modal */
.tl-shell .modal-content { overflow:hidden; border:1px solid var(--tl-border); border-radius:10px; box-shadow:0 18px 50px rgba(16,24,40,.15); }
.tl-shell .modal-header { border-bottom:1px solid var(--tl-border); background:#fff; }
.tl-shell .modal-footer { border-top:1px solid var(--tl-border); background:#fafbfc; }

/* Small design utilities */
.tl-shell .tl-dashboard-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.tl-shell .tl-dashboard-card { min-height:124px; padding:18px; border:1px solid var(--tl-border); border-radius:var(--tl-radius); background:#fff; cursor:pointer; transition:transform .15s,box-shadow .15s,border-color .15s; }
.tl-shell .tl-dashboard-card:hover { transform:translateY(-1px); border-color:#d5ddd9; box-shadow:0 8px 18px rgba(16,24,40,.06); }
.tl-shell .tl-dashboard-card i { display:grid; width:34px; height:34px; place-items:center; margin-bottom:16px; border-radius:7px; background:var(--tl-primary-soft); color:var(--tl-primary-soft-text); font-size:18px; }
.tl-shell .tl-dashboard-card strong { display:block; margin-bottom:4px; font-size:14px; }
.tl-shell .tl-dashboard-card span { color:var(--tl-muted); font-size:11px; line-height:1.45; }

@keyframes tlEntrance { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:translateY(0); } }
.tl-shell .animate-entrance { animation:tlEntrance .4s cubic-bezier(.16,1,.3,1) both; }

@media (max-width:1100px) {
    .tl-shell .tl-dashboard-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:767.98px) {
    .tl-sidebar { position:fixed; left:calc(var(--tl-sidebar-width) * -1); transition:left .2s ease; box-shadow:0 18px 45px rgba(16,24,40,.15); }
    body.tl-sidebar-open .tl-sidebar { left:0; }
    .tl-sidebar-overlay { position:fixed; inset:0; z-index:1025; border:0; background:rgba(15,23,42,.28); }
    body.tl-sidebar-open .tl-sidebar-overlay { display:block; }
    .tl-mobile-menu { display:inline-grid; place-items:center; }
    .tl-topbar { padding:0 14px; }
    .tl-searchbox { width:min(420px,calc(100vw - 170px)); }
    .tl-search-shortcut { display:none; }
    .tl-searchbox input { padding-right:10px; }
    .tl-content { padding:20px 14px 34px; }
    .tl-shell .page-title-box { align-items:flex-start; flex-direction:column; gap:5px; }
    .tl-shell .page-title-right { order:0; }
    .tl-shell .tl-dashboard-grid { grid-template-columns:1fr; }
}

@media (max-width:520px) {
    .tl-searchbox { flex:1; width:auto; }
    .tl-topbar-actions .tl-btn span { display:none; }
    .tl-topbar-actions .tl-btn { width:32px; padding:0; }
    .tl-shell .card-body { padding:15px; }
}

/* Login */
.login-layout.container { width:100%; max-width:none; min-height:100vh; margin:0; padding:0; }
.tl-login-page, .tl-login-page * { box-sizing:border-box; }
.tl-login-page { min-height:100vh; background:#f8f9fb; color:var(--tl-text); font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.tl-login-shell { width:100%; min-height:100vh; display:grid; grid-template-columns:minmax(420px,46%) 1fr; }
.tl-login-brand-panel { position:relative; min-height:100vh; overflow:hidden; display:flex; flex-direction:column; justify-content:space-between; padding:56px clamp(38px,5vw,78px); background:#eaf2ee; border-right:1px solid #dbe5e0; }
.tl-login-brand-panel::before { content:""; position:absolute; width:460px; height:460px; right:-190px; top:-155px; border:1px solid rgba(74,118,96,.16); border-radius:50%; box-shadow:0 0 0 70px rgba(74,118,96,.035),0 0 0 140px rgba(74,118,96,.025); }
.tl-login-brand-content { position:relative; z-index:1; max-width:520px; }
.tl-login-logo { display:block; width:auto; height:36px; margin-bottom:clamp(80px,15vh,150px); }
.tl-login-kicker { margin-bottom:16px; color:var(--tl-primary); font-size:11px; line-height:1; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.tl-login-brand-content h1 { max-width:500px; margin:0 0 20px; color:#1d3328; font-size:clamp(38px,4.1vw,62px); line-height:1.02; font-weight:700; letter-spacing:-.045em; }
.tl-login-brand-content p { max-width:430px; margin:0; color:#587064; font-size:14px; line-height:1.7; }
.tl-login-preview { position:relative; z-index:1; width:min(430px,90%); margin-top:60px; border:1px solid rgba(74,118,96,.15); border-radius:12px; background:rgba(255,255,255,.68); box-shadow:0 16px 48px rgba(31,61,48,.07); backdrop-filter:blur(10px); }
.tl-login-preview-head { height:34px; display:flex; align-items:center; gap:6px; padding:0 12px; border-bottom:1px solid rgba(74,118,96,.11); }
.tl-login-preview-head span { width:6px; height:6px; border-radius:50%; background:#aec3b9; }
.tl-login-preview-body { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:16px; }
.tl-login-preview-stat { padding:13px; border:1px solid rgba(74,118,96,.1); border-radius:7px; background:rgba(255,255,255,.7); }
.tl-login-preview-stat small { display:block; margin-bottom:6px; color:#71867b; font-size:8px; font-weight:800; letter-spacing:.12em; }
.tl-login-preview-stat strong { color:#274b39; font:600 19px/1 "JetBrains Mono",monospace; }
.tl-login-preview-line { grid-column:1/-1; height:7px; width:72%; margin-top:4px; border-radius:5px; background:#dce8e2; }
.tl-login-preview-line.wide { width:100%; margin-top:10px; }
.tl-login-preview-line.short { width:48%; }
.tl-login-form-panel { min-height:100vh; display:grid; place-items:center; padding:44px clamp(28px,6vw,90px); background:#fff; }
.tl-login-card { width:100%; max-width:410px; }
.tl-login-mobile-brand { display:none; }
.tl-login-heading { margin-bottom:34px; }
.tl-login-heading>span { display:block; margin-bottom:10px; color:var(--tl-primary); font-size:10px; line-height:1; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.tl-login-heading h2 { margin:0 0 8px; color:var(--tl-text); font-size:28px; line-height:1.2; font-weight:700; letter-spacing:-.035em; }
.tl-login-heading p { margin:0; color:var(--tl-muted); font-size:12px; line-height:1.55; }
.tl-login-form { width:100%; }
.tl-login-field { margin-bottom:18px; }
.tl-login-field label { display:block; margin:0 0 7px; color:#323641; font-size:11px; font-weight:700; }
.tl-login-field .form-control { width:100%; height:42px; padding:0 12px; border:1px solid #dfe3e8; border-radius:7px; outline:none; background:#fff; color:var(--tl-text); font-size:12px; box-shadow:none!important; transition:border-color .15s,box-shadow .15s; }
.tl-login-field .form-control::placeholder { color:#a2a7b0; }
.tl-login-field .form-control:focus { border-color:#91ab9e; box-shadow:0 0 0 3px rgba(74,118,96,.11)!important; }
.tl-login-password { position:relative; }
.tl-login-password .form-control { padding-right:42px; }
.tl-login-eye { position:absolute; top:5px; right:5px; width:32px; height:32px; display:grid; place-items:center; padding:0; border:0; border-radius:6px; background:transparent; color:#818792; cursor:pointer; }
.tl-login-eye:hover { background:#f3f4f6; color:#323641; }
.tl-login-eye i { font-size:16px; }
.tl-login-validation { margin:-4px 0 14px; padding:0; color:var(--tl-danger); font-size:11px; list-style:none; }
.tl-login-validation ul { margin:0; padding-left:18px; }
.tl-login-error { display:flex; align-items:flex-start; gap:8px; margin:0 0 16px; padding:10px 11px; border:1px solid #f2cccc; border-radius:7px; background:#fff6f6; color:#a73737; font-size:11px; line-height:1.4; }
.tl-login-error i { margin-top:1px; font-size:15px; }
.tl-login-submit { width:100%; height:42px; display:flex; align-items:center; justify-content:center; gap:8px; margin-top:6px; padding:0 14px; border:1px solid var(--tl-primary); border-radius:7px; background:var(--tl-primary); color:#fff; font-size:12px; font-weight:700; cursor:pointer; transition:background .15s,border-color .15s,transform .15s; }
.tl-login-submit:hover { border-color:#315642; background:#315642; }
.tl-login-submit:active { transform:translateY(1px); }
.tl-login-submit i { font-size:15px; }
.tl-login-foot { margin-top:28px; color:#a0a5ae; font-size:10px; text-align:center; }

@media (max-width:900px) {
    .tl-login-shell { display:block; }
    .tl-login-brand-panel { display:none; }
    .tl-login-form-panel { min-height:100vh; padding:36px 22px; background:#f8f9fb; }
    .tl-login-card { max-width:430px; padding:28px; border:1px solid var(--tl-border); border-radius:12px; background:#fff; box-shadow:0 12px 34px rgba(16,24,40,.055); }
    .tl-login-mobile-brand { display:block; margin-bottom:45px; }
    .tl-login-mobile-brand img { width:auto; height:34px; }
}

@media (max-width:480px) {
    .tl-login-form-panel { padding:0; background:#fff; }
    .tl-login-card { max-width:none; min-height:100vh; padding:30px 22px; border:0; border-radius:0; box-shadow:none; }
}

/* Ticket Categories & Pricing - aligned with the designer admin console */
.tl-pricing-page { width:100%; }
.tl-config-page-header { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:24px; }
.tl-config-page-header h2 { margin:0; color:var(--tl-text); font-size:20px; line-height:1.25; font-weight:700; letter-spacing:-.025em; }
.tl-config-page-header p { max-width:720px; margin:5px 0 0; color:var(--tl-muted); font-size:12px; line-height:1.55; }
.tl-config-page-header p strong { color:var(--tl-text); font-weight:600; }
.tl-config-event-chip { max-width:320px; display:inline-flex; align-items:center; gap:7px; padding:6px 10px; border:1px solid var(--tl-border); border-radius:999px; background:#fff; color:var(--tl-muted); font-size:11px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.tl-config-event-dot { width:6px; height:6px; flex:0 0 6px; border-radius:50%; background:var(--tl-primary); }

.tl-pricing-layout { display:grid; grid-template-columns:minmax(280px,340px) minmax(0,1fr); gap:16px; align-items:start; }
.tl-pricing-main { min-width:0; display:grid; gap:16px; }
.tl-config-section { min-width:0; overflow:hidden; border:1px solid var(--tl-border); border-radius:8px; background:#fff; box-shadow:var(--tl-shadow); }
.tl-config-section-head { min-height:58px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 16px; border-bottom:1px solid var(--tl-border); background:#fafbfc; }
.tl-config-section-head h3 { margin:0; color:var(--tl-muted); font-size:10px; line-height:1.2; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.tl-config-section-head p { margin:4px 0 0; color:var(--tl-muted); font-size:11px; line-height:1.4; }
.tl-config-section-head p strong { color:var(--tl-text); font-weight:600; }
.tl-button-plus { font-size:16px; line-height:0; font-weight:500; transform:translateY(-1px); }

.tl-category-list { padding:8px; }
.tl-category-item { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:58px; padding:8px 9px; border:1px solid transparent; border-radius:7px; cursor:pointer; transition:background-color .15s,border-color .15s,box-shadow .15s; }
.tl-category-item + .tl-category-item { margin-top:3px; }
.tl-category-item:hover { background:#f7f8f9; }
.tl-category-item.is-active { border-color:#c9ded3; background:#edf6f2; box-shadow:inset 3px 0 0 var(--tl-primary); }
.tl-category-item-main { min-width:0; display:flex; align-items:center; gap:10px; }
.tl-category-glyph { width:30px; height:30px; flex:0 0 30px; display:grid; place-items:center; border:1px solid var(--tl-border); border-radius:6px; background:#fff; color:var(--tl-muted); font:600 11px/1 "JetBrains Mono",monospace; }
.tl-category-item.is-active .tl-category-glyph { border-color:#bfd7ca; color:var(--tl-primary-soft-text); background:#fff; }
.tl-category-item-main>div { min-width:0; }
.tl-category-item-main strong { display:block; overflow:hidden; color:var(--tl-text); font-size:12px; line-height:1.3; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.tl-category-item-main span:not(.tl-category-glyph) { display:block; margin-top:2px; overflow:hidden; color:var(--tl-muted); font-size:10px; line-height:1.3; text-overflow:ellipsis; white-space:nowrap; }
.tl-category-actions { flex:0 0 auto; display:flex; align-items:center; gap:3px; }
.tl-selected-pill { display:inline-flex!important; align-items:center; gap:5px; margin:0 4px 0 0!important; padding:3px 7px; border-radius:999px; background:#dff1e8; color:#2d684c!important; font-size:9px!important; line-height:1!important; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.tl-selected-pill>span { width:5px; height:5px; margin:0!important; border-radius:50%; background:currentColor; }

.tl-row-action { min-height:27px; padding:4px 7px; border:1px solid transparent; border-radius:5px; background:transparent; color:var(--tl-muted); font-size:10px; line-height:1; font-weight:700; cursor:pointer; transition:background .15s,border-color .15s,color .15s; }
.tl-row-action:hover { border-color:var(--tl-border); background:#fff; color:var(--tl-text); }
.tl-row-action.primary { border-color:#c8ddd2; background:#edf6f2; color:#315f49; }
.tl-row-action.primary:hover { border-color:var(--tl-primary); background:var(--tl-primary); color:#fff; }
.tl-row-action.danger { color:#a24b4b; }
.tl-row-action.danger:hover { border-color:#f0d2d2; background:#fff5f5; color:var(--tl-danger); }

.tl-config-table-wrap { width:100%; overflow-x:auto; }
.tl-config-table { width:100%; margin:0; border-collapse:collapse; table-layout:auto; color:var(--tl-text); font-size:12px; }
.tl-config-table th { padding:9px 14px; border-bottom:1px solid var(--tl-border); background:#fff; color:var(--tl-muted); font-size:9px; line-height:1.2; font-weight:800; letter-spacing:.09em; text-align:left; text-transform:uppercase; white-space:nowrap; }
.tl-config-table td { padding:11px 14px; border-bottom:1px solid var(--tl-border); vertical-align:middle; }
.tl-config-table tbody tr:last-child td { border-bottom:0; }
.tl-config-table tbody tr { transition:background .12s; }
.tl-config-table tbody tr:hover { background:#fafbfc; }
.tl-cell-title { color:var(--tl-text); font-size:12px; font-weight:600; }
.tl-cell-note { margin-top:3px; color:var(--tl-muted); font-size:9px; line-height:1.35; }
.tl-cell-note.warning { color:#9a6612; }
.tl-action-column { width:148px; text-align:right!important; }
.tl-table-actions { display:flex; align-items:center; justify-content:flex-end; gap:3px; }
.tl-mono, .tl-money { font-family:"JetBrains Mono",ui-monospace,monospace; font-size:11px; font-variant-numeric:tabular-nums; }
.tl-money { color:var(--tl-text); }
.tl-money.muted { color:var(--tl-muted); }
.tl-money.total { font-weight:700; }

.tl-type-pill, .tl-status-pill, .tl-currency-chip { display:inline-flex; align-items:center; width:max-content; border-radius:999px; font-size:9px; line-height:1; font-weight:800; letter-spacing:.04em; text-transform:uppercase; white-space:nowrap; }
.tl-type-pill { padding:4px 7px; background:#f1f3f5; color:#69707c; }
.tl-type-pill.general { background:#edf6f2; color:#37654f; }
.tl-type-pill.numbered { background:#fff7e8; color:#916416; }
.tl-currency-chip { padding:5px 8px; border:1px solid var(--tl-border); background:#fff; color:var(--tl-muted); font-family:"JetBrains Mono",monospace; }
.tl-status-pill { gap:5px; padding:4px 7px; }
.tl-status-pill>span { width:5px; height:5px; border-radius:50%; background:currentColor; opacity:.78; }
.tl-status-pill.success { background:#e8f5ee; color:#2f7954; }
.tl-status-pill.warning { border:1px solid #f2dfb5; background:#fff8e8; color:#946715; }
.tl-status-pill.danger { background:#fff0f0; color:#b04646; }

.tl-config-empty { min-height:150px; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:28px 20px; text-align:center; }
.tl-config-empty.compact { min-height:190px; }
.tl-config-empty-icon { width:34px; height:34px; display:grid; place-items:center; margin-bottom:10px; border:1px solid var(--tl-border); border-radius:8px; background:#fafbfc; color:#8a909b; font:600 11px/1 "JetBrains Mono",monospace; }
.tl-config-empty strong { color:var(--tl-text); font-size:12px; font-weight:650; }
.tl-config-empty span { max-width:340px; margin-top:4px; color:var(--tl-muted); font-size:10px; line-height:1.45; }
.tl-config-loading { min-height:240px; display:flex; align-items:center; justify-content:center; gap:8px; color:var(--tl-muted); font-size:12px; }
.tl-config-loading-dot { width:7px; height:7px; border-radius:50%; background:var(--tl-primary); animation:tlPulse 1.2s ease-in-out infinite; }
@keyframes tlPulse { 0%,100% { opacity:.35; transform:scale(.85); } 50% { opacity:1; transform:scale(1); } }

/* Compact designer-style dialogs used by pricing */
.tl-dialog-backdrop { position:fixed; inset:0; z-index:1100; display:grid; place-items:center; padding:20px; background:rgba(18,24,31,.42); backdrop-filter:blur(2px); }
.tl-dialog { width:min(460px,100%); overflow:hidden; border:1px solid var(--tl-border); border-radius:10px; background:#fff; box-shadow:0 24px 70px rgba(16,24,40,.18); animation:tlDialogIn .18s cubic-bezier(.16,1,.3,1) both; }
@keyframes tlDialogIn { from { opacity:0; transform:translateY(6px) scale(.99); } to { opacity:1; transform:translateY(0) scale(1); } }
.tl-dialog-head { padding:17px 18px 14px; border-bottom:1px solid var(--tl-border); }
.tl-dialog-head h4 { margin:0; color:var(--tl-text); font-size:14px!important; line-height:1.35; font-weight:700; letter-spacing:-.015em; }
.tl-dialog-head p { margin:4px 0 0; color:var(--tl-muted); font-size:10px; line-height:1.45; }
.tl-dialog-body { display:grid; gap:14px; padding:17px 18px; }
.tl-dialog-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.tl-dialog-field { display:flex; flex-direction:column; gap:6px; margin:0!important; }
.tl-dialog-field>span { color:var(--tl-text); font-size:10px; font-weight:700; }
.tl-dialog-field>small { margin-top:-1px; color:var(--tl-muted); font-size:9px; line-height:1.4; }
.tl-dialog-field .form-control { height:36px; min-height:36px; }
.tl-check-row { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:0!important; padding:11px 12px; border:1px solid var(--tl-border); border-radius:7px; background:#fff; cursor:pointer; }
.tl-check-row>div { min-width:0; }
.tl-check-row strong { display:block; color:var(--tl-text); font-size:10px; font-weight:700; }
.tl-check-row span { display:block; margin-top:3px; color:var(--tl-muted); font-size:9px; font-weight:400; line-height:1.35; }
.tl-check-row .form-check-input { flex:0 0 16px; }
.tl-price-summary { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:12px; border:1px solid #d5e4dc; border-radius:7px; background:#f3f8f5; }
.tl-price-summary span { display:block; color:#315a46; font-size:10px; font-weight:700; }
.tl-price-summary small { display:block; margin-top:2px; color:#728279; font-size:9px; }
.tl-price-summary strong { color:#274b39; font:700 17px/1 "JetBrains Mono",monospace; white-space:nowrap; }
.tl-dialog-footer { display:flex; justify-content:flex-end; gap:7px; padding:11px 18px; border-top:1px solid var(--tl-border); background:#fafbfc; }
.tl-dialog-button { min-height:31px; padding:6px 11px; border:1px solid transparent; border-radius:6px; font-size:10px; line-height:1.2; font-weight:700; cursor:pointer; transition:background .15s,border-color .15s,color .15s; }
.tl-dialog-button.secondary { border-color:var(--tl-border); background:#fff; color:var(--tl-text); }
.tl-dialog-button.secondary:hover { background:#f4f5f7; }
.tl-dialog-button.primary { border-color:var(--tl-primary); background:var(--tl-primary); color:#fff; }
.tl-dialog-button.primary:hover { border-color:var(--tl-primary-hover); background:var(--tl-primary-hover); }

@media (max-width:1180px) {
    .tl-pricing-layout { grid-template-columns:300px minmax(0,1fr); }
    .tl-selected-pill { display:none!important; }
}
@media (max-width:980px) {
    .tl-pricing-layout { grid-template-columns:1fr; }
    .tl-category-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; }
    .tl-category-item + .tl-category-item { margin-top:0; }
}
@media (max-width:650px) {
    .tl-config-page-header { align-items:flex-start; flex-direction:column; }
    .tl-config-event-chip { max-width:100%; }
    .tl-config-section-head { align-items:flex-start; }
    .tl-config-section-head .tl-btn { flex:0 0 auto; }
    .tl-category-list { grid-template-columns:1fr; }
    .tl-dialog-grid { grid-template-columns:1fr; }
    .tl-action-column { width:auto; }
}

/* ========================================================================== 
   v6 fidelity pass — mirrors the designer app typography and information hierarchy
   ========================================================================== */
:root {
    --tl-bg: oklch(0.985 0.002 248);
    --tl-surface: oklch(1 0 0);
    --tl-text: oklch(0.18 0.03 264);
    --tl-muted: oklch(0.50 0.02 260);
    --tl-border: oklch(0.92 0.008 250);
    --tl-input: oklch(0.93 0.008 250);
    --tl-blue: oklch(0.55 0.21 263);
    --tl-success: oklch(0.62 0.16 152);
    --tl-warning: oklch(0.78 0.15 75);
    --tl-danger: oklch(0.60 0.22 27);
    --tl-radius: 8px;
    --tl-shadow: none;
}

.tl-shell {
    font-family:"Inter",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-feature-settings:"cv02","cv03","cv04","cv11";
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}
.tl-shell :where(h1,h2,h3,h4,h5,h6,p,span,a,button,input,select,textarea,label,table,.btn,.form-control,.form-select,.dropdown-menu,.modal-content,.rz-component) {
    font-family:inherit;
}
.tl-shell :where(input,select,textarea,button,.btn,.form-control,.form-select,.rz-component) { font-family:inherit!important; }
.tl-font-mono, .tl-shell .font-monospace { font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace!important; font-variant-numeric:tabular-nums; }

.tl-content { max-width:none; padding:24px 24px 40px; }
@media (min-width:1024px) { .tl-content { padding:32px; } }

.tl-nav-label { font-size:10px; font-weight:700; letter-spacing:.1em; }
.tl-nav-link { min-height:32px; padding:6px 12px; font-size:14px; font-weight:500; }
.tl-nav-link i { font-size:16px; }
.tl-profile-copy strong { font-size:12px; font-weight:600; }
.tl-profile-copy span { font-size:10px; }
.tl-searchbox input { font-size:14px; }
.tl-btn { font-size:12px; font-weight:600; }

/* Designer PageHeader */
.tl-page-header, .tl-config-page-header {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px;
    margin:0 0 24px;
}
.tl-page-header-copy, .tl-config-page-header>div:first-child { min-width:0; }
.tl-page-header h2, .tl-config-page-header h2 {
    margin:0;
    color:var(--tl-text);
    font-size:20px!important;
    line-height:1.3;
    font-weight:600!important;
    letter-spacing:-.025em!important;
}
.tl-page-header p, .tl-config-page-header p {
    max-width:720px;
    margin:4px 0 0;
    color:var(--tl-muted);
    font-size:14px;
    line-height:1.5;
    font-weight:400;
}
.tl-page-header-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }

/* Legacy page titles remain compatible, but match the new hierarchy. */
.tl-shell .page-title-box { margin-bottom:24px; }
.tl-shell .page-title-box .page-title { font-size:20px; font-weight:600; letter-spacing:-.025em; }
.tl-shell .breadcrumb { display:none; }

/* Cards / filters / tables */
.tl-shell .card { border:1px solid var(--tl-border)!important; border-radius:8px!important; box-shadow:none!important; }
.tl-shell .card-body { padding:16px; }
.tl-shell .card-body>.row.mb-2:first-child + .row.mb-2,
.tl-shell .tl-filter-bar { padding:12px; background:color-mix(in oklab,var(--tl-bg) 65%,white); }
.tl-shell table.table { font-size:14px; }
.tl-shell .table>:not(caption)>*>* { padding:12px 14px; }
.tl-shell .table thead th, .tl-shell .table-primary th {
    padding-top:10px;
    padding-bottom:10px;
    background:color-mix(in oklab,var(--tl-bg) 75%,white)!important;
    font-size:10px;
    font-weight:700;
    letter-spacing:.1em;
}
.tl-shell .table tbody td { color:var(--tl-text); }
.tl-shell .table tbody tr:hover { background:color-mix(in oklab,var(--tl-bg) 72%,white); }
.tl-shell .form-control, .tl-shell .form-select { min-height:36px; font-size:14px; }
.tl-shell label { font-size:12px; font-weight:600; }
.tl-shell h5 { font-size:13px; font-weight:600; }
.tl-shell .badge { border-radius:999px; padding:4px 7px; font-size:10px; font-weight:700; letter-spacing:.02em; }
.tl-shell .action-icon { width:28px; height:28px; display:inline-grid; place-items:center; margin:0 1px; border-radius:5px; font-size:16px!important; text-decoration:none!important; transition:background .15s,color .15s; }
.tl-shell .action-icon:hover { background:#f3f4f6; }
.tl-shell .dropdown-item { font-size:12px; }

/* Designer section primitive */
.tl-designer-section {
    overflow:hidden;
    border:1px solid var(--tl-border);
    border-radius:8px;
    background:var(--tl-surface);
}
.tl-designer-section-head {
    min-height:47px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:11px 20px;
    border-bottom:1px solid var(--tl-border);
    background:color-mix(in oklab,var(--tl-bg) 68%,white);
}
.tl-designer-section-head h3, .tl-scan-card-body>h3 {
    margin:0;
    color:var(--tl-muted);
    font-size:12px;
    line-height:1.25;
    font-weight:700;
    letter-spacing:.1em;
    text-transform:uppercase;
}
.tl-designer-section-head p { margin:2px 0 0; color:var(--tl-muted); font-size:11px; line-height:1.35; }
.tl-section-count { color:var(--tl-muted); font:400 11px/1.3 "JetBrains Mono",ui-monospace,monospace; white-space:nowrap; }
.tl-designer-table-wrap { width:100%; overflow:auto; }
.tl-designer-table { width:100%; margin:0; border-collapse:collapse; color:var(--tl-text); font-size:14px; text-align:left; }
.tl-designer-table th { padding:10px 20px; background:color-mix(in oklab,var(--tl-bg) 72%,white); color:var(--tl-muted); font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; white-space:nowrap; }
.tl-designer-table td { padding:11px 20px; border-top:1px solid var(--tl-border); vertical-align:middle; }
.tl-designer-table tbody tr { transition:background .12s; }
.tl-designer-table tbody tr:hover { background:color-mix(in oklab,var(--tl-bg) 72%,white); }
.tl-table-primary { display:block; font-weight:500; line-height:1.25; }
.tl-table-secondary { display:block; margin-top:2px; color:var(--tl-muted); font-size:11px; line-height:1.25; }
.tl-table-secondary-single, .tl-table-date { color:var(--tl-muted); font-size:12px; }
.tl-muted-inline { display:inline-flex; align-items:center; gap:6px; color:var(--tl-muted); font-size:12px; }
.tl-muted-inline i { font-size:13px; }
.tl-empty-table-cell { padding:32px 20px!important; color:var(--tl-muted)!important; font-size:12px!important; text-align:center!important; }

/* Dashboard — follows the live designer's Operational Overview structure */
.tl-dashboard-page-header { margin-bottom:24px; }
.tl-dashboard-switchers { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.tl-dashboard-switcher {
    height:36px;
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin:0!important;
    padding:0 9px 0 11px;
    border:1px solid var(--tl-input);
    border-radius:6px;
    background:#fff;
    color:var(--tl-text);
    font-size:14px!important;
    font-weight:500!important;
    transition:background .15s,border-color .15s,box-shadow .15s;
}
.tl-dashboard-switcher:hover { background:#f6f7f8; }
.tl-dashboard-switcher:focus-within { border-color:#aeb8c8; box-shadow:0 0 0 3px rgba(73,96,220,.08); }
.tl-dashboard-switcher>i:first-child { color:var(--tl-muted); font-size:14px; }
.tl-dashboard-switcher>i:last-child { color:var(--tl-muted); font-size:15px; }
.tl-dashboard-switcher select { max-width:190px; height:34px; padding:0; border:0; outline:0; appearance:none; background:transparent; color:var(--tl-text); font-size:14px!important; font-weight:500; cursor:pointer; }

.tl-kpi-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-bottom:24px; }
.tl-kpi-card { min-width:0; padding:20px; border:1px solid var(--tl-border); border-radius:8px; background:#fff; }
.tl-kpi-card>p { margin:0; color:var(--tl-muted); font-size:10px; line-height:1.25; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.tl-kpi-card>h3 { margin:6px 0 0; color:var(--tl-text); font-size:24px; line-height:1.2; font-weight:700; letter-spacing:-.025em; }
.tl-kpi-foot { display:flex; align-items:center; gap:6px; margin-top:12px; color:var(--tl-muted); font-size:11px; }
.tl-kpi-foot>span:last-child { margin-left:auto; text-align:right; }
.tl-kpi-signal { display:inline-flex; align-items:center; gap:4px; font-family:"JetBrains Mono",ui-monospace,monospace; font-weight:600; white-space:nowrap; }
.tl-kpi-signal i { font-family:"unicons-line"!important; font-size:13px; }
.tl-kpi-signal.success { color:var(--tl-success); }
.tl-kpi-signal.neutral { color:var(--tl-muted); }

.tl-dashboard-main-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(260px,1fr); gap:24px; margin-bottom:24px; }
.tl-dashboard-table-scroll { max-height:288px; overflow-y:auto; }
.tl-fill-cell { width:108px; display:flex; align-items:center; gap:8px; }
.tl-fill-cell>.tl-font-mono { width:30px; color:var(--tl-muted); font-size:10px; }
.tl-progress { height:6px; flex:1; overflow:hidden; border-radius:999px; background:#eef0f3; }
.tl-progress>span { display:block; height:100%; }
.tl-progress>span.primary { background:var(--tl-blue); }
.tl-progress>span.success { background:var(--tl-success); }
.tl-progress>span.warning { background:var(--tl-warning); }
.tl-days-pill { display:inline-flex; align-items:center; padding:3px 8px; border-radius:999px; font-size:10px; line-height:1.2; font-weight:700; white-space:nowrap; }
.tl-days-pill.success { border:1px solid color-mix(in oklab,var(--tl-success) 30%,transparent); background:color-mix(in oklab,var(--tl-success) 14%,white); color:var(--tl-success); }
.tl-days-pill.warning { border:1px solid color-mix(in oklab,var(--tl-warning) 30%,transparent); background:color-mix(in oklab,var(--tl-warning) 14%,white); color:#76540f; }
.tl-days-pill.primary { border:1px solid color-mix(in oklab,var(--tl-blue) 20%,transparent); background:color-mix(in oklab,var(--tl-blue) 9%,white); color:var(--tl-blue); }
.tl-days-pill.neutral { background:#f1f2f4; color:var(--tl-muted); font-family:"JetBrains Mono",ui-monospace,monospace; }

.tl-scan-section { min-height:100%; }
.tl-scan-card-body { padding:24px; }
.tl-scan-card-body>h3 { margin-bottom:24px; color:var(--tl-text); font-size:14px; }
.tl-scan-list { display:grid; gap:18px; }
.tl-scan-row-label { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:6px; color:var(--tl-muted); font-size:12px; }
.tl-scan-row-label strong { color:var(--tl-text); font-size:12px; font-weight:600; }
.tl-scan-progress { height:6px; overflow:hidden; border-radius:999px; background:#eef0f3; }
.tl-scan-progress>span { display:block; height:100%; background:var(--tl-blue); }
.tl-scan-row:nth-child(2) .tl-scan-progress>span { background:var(--tl-success); }
.tl-scan-row:nth-child(3) .tl-scan-progress>span { background:var(--tl-warning); }
.tl-scan-row:nth-child(4) .tl-scan-progress>span { background:#3f8ca2; }
.tl-scan-empty { padding:34px 8px; color:var(--tl-muted); font-size:12px; text-align:center; }
.tl-scan-heartbeat { display:flex; align-items:center; gap:7px; margin-top:24px; padding-top:18px; border-top:1px solid var(--tl-border); color:var(--tl-muted); font-size:11px; }
.tl-scan-heartbeat i { color:var(--tl-success); font-size:15px; }

.tl-dashboard-loading { min-height:300px; display:flex; align-items:center; justify-content:center; gap:9px; color:var(--tl-muted); font-size:13px; }
.tl-dashboard-loading-dot { width:7px; height:7px; border-radius:50%; background:var(--tl-primary); animation:tlPulse 1.2s ease-in-out infinite; }

/* Status pills shared by dashboard and newer screens */
.tl-status-pill { display:inline-flex; align-items:center; gap:5px; padding:4px 7px; border-radius:999px; font-size:10px; line-height:1; font-weight:700; letter-spacing:.04em; text-transform:uppercase; white-space:nowrap; }
.tl-status-pill>span { width:5px; height:5px; border-radius:50%; background:currentColor; opacity:.72; }
.tl-status-pill.success { background:color-mix(in oklab,var(--tl-success) 12%,white); color:var(--tl-success); }
.tl-status-pill.warning { border:1px solid color-mix(in oklab,var(--tl-warning) 28%,transparent); background:color-mix(in oklab,var(--tl-warning) 14%,white); color:#76540f; }
.tl-status-pill.danger { background:color-mix(in oklab,var(--tl-danger) 10%,white); color:var(--tl-danger); }
.tl-status-pill.neutral { background:#f1f2f4; color:var(--tl-muted); }

/* Pricing typography harmonisation */
.tl-config-section-head h3 { font-size:12px; font-weight:700; letter-spacing:.1em; }
.tl-config-section-head p { font-size:11px; }
.tl-category-item-main strong, .tl-cell-title { font-size:13px; font-weight:500; }
.tl-category-item-main span:not(.tl-category-glyph), .tl-cell-note { font-size:10px; }
.tl-config-table { font-size:14px; }
.tl-config-table th { font-size:10px; font-weight:700; letter-spacing:.1em; }
.tl-config-table td { padding-top:12px; padding-bottom:12px; }

@media (max-width:1100px) {
    .tl-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .tl-dashboard-main-grid { grid-template-columns:1fr; }
}
@media (max-width:767.98px) {
    .tl-page-header, .tl-config-page-header { align-items:flex-start; flex-direction:column; }
    .tl-page-header-actions, .tl-dashboard-switchers { width:100%; }
    .tl-dashboard-switcher { flex:1; min-width:0; }
    .tl-dashboard-switcher select { flex:1; min-width:0; max-width:none; }
    .tl-designer-table th, .tl-designer-table td { padding-left:14px; padding-right:14px; }
}
@media (max-width:560px) {
    .tl-kpi-grid { grid-template-columns:1fr; }
    .tl-kpi-card { padding:18px; }
    .tl-page-header-actions .tl-btn { width:auto; }
}

/* Section labels for legacy Razor lists, matching the designer's Section component. */
.tl-legacy-section-title {
    margin:16px -16px 0;
    padding:11px 16px;
    border-top:1px solid var(--tl-border);
    border-bottom:1px solid var(--tl-border);
    background:color-mix(in oklab,var(--tl-bg) 68%,white);
    color:var(--tl-muted);
    font-size:10px;
    line-height:1.25;
    font-weight:700;
    letter-spacing:.1em;
    text-transform:uppercase;
}
.tl-legacy-section-title + .table-responsive { margin:0 -16px -16px; border:0!important; border-radius:0!important; }
.tl-empty-state { padding:28px 16px; color:var(--tl-muted); font-size:12px; text-align:center; }
.tl-legacy-section-title + .table-responsive .tl-empty-state { min-height:72px; display:grid; place-items:center; }

/* Ensure Bootstrap/Radzen never overrides the designer typography on auth screens. */
.tl-login-page, .tl-login-page :where(h1,h2,h3,h4,h5,h6,p,span,label,a,button,input,select,textarea,.btn,.form-control) {
    font-family:"Inter",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
    font-feature-settings:"cv02","cv03","cv04","cv11";
}

/* Final shell fidelity tweaks. */
.tl-sidebar-brand img { height:32px; }
.tl-topbar { background:rgba(255,255,255,.80); }


/* ========================================================================== 
   Compact data tables + icon actions
   ========================================================================== */
.tl-shell .tl-data-table { width:100%; table-layout:fixed; }
.tl-shell .tl-data-table > :not(caption) > * > * { padding:10px 10px; }
.tl-shell .tl-data-table thead th { white-space:normal; line-height:1.25; }
.tl-shell .tl-data-table td { overflow-wrap:anywhere; word-break:normal; }
.tl-shell .tl-actions-head { text-align:right!important; }
.tl-shell .tl-actions-cell { padding-left:4px!important; padding-right:6px!important; text-align:right; white-space:nowrap; }
.tl-table-icon-actions { display:flex; align-items:center; justify-content:flex-end; gap:2px; }
.tl-table-icon-btn { width:26px; height:26px; flex:0 0 26px; display:inline-grid; place-items:center; padding:0; border:1px solid transparent; border-radius:6px; background:transparent; color:#58606c; cursor:pointer; transition:background .15s,border-color .15s,color .15s; }
.tl-table-icon-btn i { display:block; font-size:16px!important; line-height:1!important; color:inherit; pointer-events:none; }
.tl-table-icon-btn:hover { border-color:var(--tl-border); background:#f5f7f8; color:var(--tl-text); }
.tl-table-icon-btn.edit { color:var(--tl-primary); }
.tl-table-icon-btn.edit:hover { border-color:#cddfd6; background:#edf6f2; color:#315f49; }
.tl-table-icon-btn.danger { color:#b54b4b; }
.tl-table-icon-btn.danger:hover { border-color:#f0d2d2; background:#fff5f5; color:var(--tl-danger); }

/* Tickets: column widths add up to 100%, including Action. */
.tl-shell .tl-tickets-table th:nth-child(1), .tl-shell .tl-tickets-table td:nth-child(1) { width:7%; }
.tl-shell .tl-tickets-table th:nth-child(2), .tl-shell .tl-tickets-table td:nth-child(2) { width:8%; }
.tl-shell .tl-tickets-table th:nth-child(3), .tl-shell .tl-tickets-table td:nth-child(3) { width:16%; }
.tl-shell .tl-tickets-table th:nth-child(4), .tl-shell .tl-tickets-table td:nth-child(4) { width:9%; }
.tl-shell .tl-tickets-table th:nth-child(5), .tl-shell .tl-tickets-table td:nth-child(5) { width:8%; }
.tl-shell .tl-tickets-table th:nth-child(6), .tl-shell .tl-tickets-table td:nth-child(6) { width:6%; }
.tl-shell .tl-tickets-table th:nth-child(7), .tl-shell .tl-tickets-table td:nth-child(7) { width:8%; }
.tl-shell .tl-tickets-table th:nth-child(8), .tl-shell .tl-tickets-table td:nth-child(8) { width:15%; }
.tl-shell .tl-tickets-table th:nth-child(9), .tl-shell .tl-tickets-table td:nth-child(9) { width:7%; }
.tl-shell .tl-tickets-table th:nth-child(10), .tl-shell .tl-tickets-table td:nth-child(10) { width:8%; }
.tl-shell .tl-tickets-table th:nth-child(11), .tl-shell .tl-tickets-table td:nth-child(11) { width:8%; }
.tl-shell .tl-tickets-table td:nth-child(3) a, .tl-shell .tl-tickets-table td:nth-child(4) a { overflow-wrap:anywhere; }
.tl-shell .tl-tickets-table td:nth-child(8) { font-size:10px; line-height:1.35; word-break:break-all; }
.tl-shell .tl-tickets-table td:nth-child(10) { font-size:10px; line-height:1.35; }

/* Orders: column widths add up to 100%, including Action. */
.tl-shell .tl-orders-table th:nth-child(1), .tl-shell .tl-orders-table td:nth-child(1) { width:6%; }
.tl-shell .tl-orders-table th:nth-child(2), .tl-shell .tl-orders-table td:nth-child(2) { width:17%; }
.tl-shell .tl-orders-table th:nth-child(3), .tl-shell .tl-orders-table td:nth-child(3) { width:32%; }
.tl-shell .tl-orders-table th:nth-child(4), .tl-shell .tl-orders-table td:nth-child(4) { width:8%; }
.tl-shell .tl-orders-table th:nth-child(5), .tl-shell .tl-orders-table td:nth-child(5) { width:8%; }
.tl-shell .tl-orders-table th:nth-child(6), .tl-shell .tl-orders-table td:nth-child(6) { width:7%; }
.tl-shell .tl-orders-table th:nth-child(7), .tl-shell .tl-orders-table td:nth-child(7) { width:16%; }
.tl-shell .tl-orders-table th:nth-child(8), .tl-shell .tl-orders-table td:nth-child(8) { width:6%; }
.tl-shell .tl-orders-table td:nth-child(3) { overflow-wrap:anywhere; }

/* Pricing uses the same icon language as the rest of the backoffice. */
.tl-category-actions .tl-table-icon-btn, .tl-table-actions .tl-table-icon-btn { width:27px; height:27px; flex-basis:27px; }
.tl-category-actions .tl-table-icon-btn i, .tl-table-actions .tl-table-icon-btn i { font-size:15px!important; }
.tl-action-column { width:92px; }

/* Below normal desktop content width, scroll the table instead of clipping Action. */
@media (max-width:1280px) {
    .tl-shell .tl-tickets-table { min-width:1180px; }
    .tl-shell .tl-orders-table { min-width:900px; }
}

/* ========================================================================== 
   Order refunds
   ========================================================================== */
.tl-table-icon-btn.refund { color:#2f7954; }
.tl-table-icon-btn.refund:hover:not(:disabled) { border-color:#bad8c8; background:#edf7f1; color:#245f41; }
.tl-table-icon-btn:disabled { cursor:not-allowed; opacity:.45; }

.tl-order-status { display:inline-flex; align-items:center; min-height:21px; padding:4px 7px; border-radius:999px; font-size:9px; line-height:1; font-weight:800; letter-spacing:.035em; text-transform:uppercase; white-space:nowrap; }
.tl-order-status.success { background:#e8f5ee; color:#2f7954; }
.tl-order-status.refund { background:#eef2ff; color:#4d5fa6; }
.tl-order-status.danger { background:#fff0f0; color:#b04646; }
.tl-order-status.neutral { background:#f1f3f5; color:#69707c; }

.tl-refund-dialog { width:min(820px,100%); max-height:calc(100vh - 40px); display:flex; flex-direction:column; }
.tl-refund-dialog-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.tl-dialog-close { width:28px; height:28px; flex:0 0 28px; display:grid; place-items:center; border:1px solid var(--tl-border); border-radius:6px; background:#fff; color:var(--tl-muted); cursor:pointer; }
.tl-dialog-close:hover:not(:disabled) { background:#f4f5f7; color:var(--tl-text); }
.tl-dialog-close:disabled { opacity:.45; cursor:not-allowed; }
.tl-refund-dialog-body { overflow:auto; }

.tl-refund-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); overflow:hidden; border:1px solid var(--tl-border); border-radius:8px; background:#fff; }
.tl-refund-facts>div { min-width:0; padding:11px 12px; border-right:1px solid var(--tl-border); }
.tl-refund-facts>div:last-child { border-right:0; }
.tl-refund-facts span { display:block; margin-bottom:4px; color:var(--tl-muted); font-size:9px; font-weight:700; letter-spacing:.035em; text-transform:uppercase; }
.tl-refund-facts strong { display:block; overflow:hidden; color:var(--tl-text); font-size:10px; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }

.tl-refund-warning { display:flex; align-items:flex-start; gap:9px; padding:10px 11px; border:1px solid #f0d49d; border-radius:7px; background:#fff8e8; color:#8b6113; }
.tl-refund-warning.neutral { border-color:#d8e0eb; background:#f6f8fb; color:#586779; }
.tl-refund-warning.danger { border-color:#f1c6c6; background:#fff2f2; color:#a13f3f; }
.tl-refund-warning>i { flex:0 0 auto; margin-top:1px; font-size:15px; }
.tl-refund-warning strong { display:block; font-size:10px; font-weight:800; }
.tl-refund-warning span { display:block; margin-top:2px; font-size:9px; line-height:1.45; }

.tl-refund-ticket-list { overflow:hidden; border:1px solid var(--tl-border); border-radius:8px; background:#fff; }
.tl-refund-section-head { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:11px 12px; border-bottom:1px solid var(--tl-border); background:#fafbfc; }
.tl-refund-section-head strong { display:block; color:var(--tl-text); font-size:10px; font-weight:800; }
.tl-refund-section-head span:not(.tl-refund-count) { display:block; margin-top:2px; color:var(--tl-muted); font-size:9px; }
.tl-refund-count { flex:0 0 auto; padding:4px 7px; border-radius:999px; background:#edf6f2; color:#37654f; font-size:9px; font-weight:800; white-space:nowrap; }
.tl-refund-table { min-width:660px; }
.tl-refund-table th { font-size:9px!important; }
.tl-refund-table td { font-size:10px!important; }
.tl-refund-table tr.is-refunded { opacity:.55; }
.tl-refund-note { min-height:72px!important; height:auto!important; resize:vertical; }

.tl-refund-total { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:13px 14px; border:1px solid #d5e4dc; border-radius:8px; background:#f3f8f5; }
.tl-refund-total span { display:block; color:#315a46; font-size:10px; font-weight:800; }
.tl-refund-total small { display:block; margin-top:2px; color:#728279; font-size:9px; }
.tl-refund-total strong { color:#274b39; font:700 18px/1 "JetBrains Mono",monospace; white-space:nowrap; }
.tl-refund-error { padding:10px 11px; border:1px solid #f1c6c6; border-radius:7px; background:#fff2f2; color:#a13f3f; font-size:10px; line-height:1.45; }
.tl-dialog-button.danger { border-color:#b84a4a; background:#b84a4a; color:#fff; }
.tl-dialog-button.danger:hover:not(:disabled) { border-color:#9f3e3e; background:#9f3e3e; }
.tl-dialog-button:disabled { cursor:not-allowed; opacity:.5; }

@media (max-width:760px) {
    .tl-refund-facts { grid-template-columns:1fr 1fr; }
    .tl-refund-facts>div:nth-child(2) { border-right:0; }
    .tl-refund-facts>div:nth-child(-n+2) { border-bottom:1px solid var(--tl-border); }
}

@media (max-width:480px) {
    .tl-refund-facts { grid-template-columns:1fr; }
    .tl-refund-facts>div { border-right:0; border-bottom:1px solid var(--tl-border); }
    .tl-refund-facts>div:last-child { border-bottom:0; }
    .tl-refund-total { align-items:flex-start; flex-direction:column; }
}
