:root {
    --aux-primary: #111827;
    --aux-accent: #ed7103;
    --aux-bg: #f5f7fb;
    --aux-border: #d8dde7;
    --aux-text: #1f2937;
    --aux-muted: #667085;
}
html, body { background: var(--aux-bg); color: var(--aux-text); }
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
.tm-shell { min-height: 100vh; display: flex; flex-direction: column; }
.tm-header { background: linear-gradient(135deg, #111827 0%, #1f2937 100%); box-shadow: 0 10px 35px rgba(17,24,39,.18); }
.tm-header .uk-navbar-container { background: transparent; }
.tm-logo { height: 42px; width: auto; margin-right: 12px; }
.tm-userbox { margin-right: 14px; text-align: right; }
.tm-userbox__name { font-weight: 700; color: #fff; line-height: 1.1; }
.tm-userbox__meta { font-size: .82rem; color: rgba(255,255,255,.72); }
.tm-footer { margin-top: auto; padding: 18px 0; background: #fff; border-top: 1px solid var(--aux-border); color: var(--aux-muted); }
.tm-footer-note { font-size: .88rem; }
.tm-card { border: 1px solid var(--aux-border); border-radius: 18px; background: #fff; box-shadow: 0 10px 30px rgba(15,23,42,.05); }
.tm-card .uk-card-body { padding: 28px; }
.tm-stat { font-size: 1.9rem; font-weight: 800; line-height: 1; }
.tm-muted { color: var(--aux-muted); }
.tm-grid-gap { gap: 18px; }
.tm-login-wrap { min-height: 100vh; display: grid; place-items: center; padding: 30px 16px; }
.tm-login-card { width: min(460px, 100%); border-radius: 22px; background: #fff; box-shadow: 0 18px 60px rgba(15,23,42,.12); border: 1px solid var(--aux-border); }
.tm-login-brand { display:flex; align-items:center; gap:14px; margin-bottom: 24px; }
.tm-login-brand img { height:56px; }
.tm-subtitle { color: var(--aux-muted); margin-top: 4px; }
.tm-badge { border-radius: 999px; padding: 3px 10px; font-size: .78rem; font-weight: 700; }
.tm-table-wrap { overflow-x: auto; }
.uk-table td, .uk-table th { vertical-align: middle; }
.tm-section-title { margin-bottom: 16px; }
.tm-toolbar { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom: 18px; flex-wrap: wrap; }
.tm-form-grid > * { margin-bottom: 14px; }
.tm-preview-frame { max-width: 100%; border: 1px dashed var(--aux-border); border-radius: 16px; background: #fff; }
.tm-code-preview { background: #0f172a; color: #fff; padding: 18px; border-radius: 16px; }
@media (max-width: 959px) {
  .tm-userbox { display:none; }
}
