html, body {
    margin: 0;
    padding: 0;
}
body.lt-body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    color: rgba(0, 0, 0, .87);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
                 "Helvetica Neue", Arial, "PingFang SC", "Microsoft YaHei", sans-serif;
    font-size: 14px;
    line-height: 1.6;
}
.lt-main {
    flex: 1 0 auto;
    padding: 24px 0 40px;
}
.d-none { display: none !important; }
.lt-muted { color: rgba(0, 0, 0, .5); }
.lt-topbar {
    position: sticky;
    top: 0;
    z-index: 3000;
    flex: 0 0 auto;
    background: #fff;
    border-bottom: 1px solid #e0e0e0;
}
.lt-topbar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 56px;
}
.lt-topbar .mdui-container {
    width: 100%;
    max-width: none;
    padding-left: 24px;
    padding-right: 24px;
}
@media (max-width: 640px) {
    .lt-topbar .mdui-container {
        padding-left: 16px;
        padding-right: 16px;
    }
}

.lt-topbar-left {
    display: flex;
    align-items: center;
    gap: 4px;
    min-width: 0;
}
.lt-brand {
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    color: inherit;
    min-width: 0;
}
.lt-logo {
    height: 32px;
    width: auto;
    object-fit: contain;
    display: block;
}
.lt-brand-name {
    font-size: 17px;
    font-weight: 600;
    white-space: nowrap;
}
.lt-topbar-right {
    display: flex;
    align-items: center;
    gap: 10px;
}
.lt-topbar .mdui-btn {
    color: inherit;
}
.lt-btn-login,
.lt-btn-register {
    min-width: 0;
}

.lt-user {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    padding: 4px 6px;
    border-radius: 4px;
}
.lt-user:hover { background: rgba(0, 0, 0, .06); }
.lt-user-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    line-height: 1.25;
}
.lt-user-name { font-size: 13px; font-weight: 600; }
.lt-user-balance { font-size: 12px; opacity: .85; }
.lt-avatar {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    object-fit: cover;
    background: #fff;
    flex: 0 0 auto;
}

@media (max-width: 767px) {
    .lt-brand-name,
    .lt-user-meta { display: none; }
}

.lt-auth {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 48px;
    max-width: 940px;
    margin: 8px auto 0;
}
.lt-auth-panel {
    flex: 1 1 380px;
    max-width: 420px;
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .12);
    padding: 24px 24px 20px;
}
.lt-auth-title {
    margin: 0 0 16px;
    font-size: 22px;
    font-weight: 600;
}
.lt-auth-intro {
    margin: -8px 0 16px;
    color: rgba(0, 0, 0, .55);
    font-size: 13px;
}
.lt-auth-aside { display: none; }
.lt-aside-h1 {
    margin: 0 0 12px;
    font-size: 32px;
    font-weight: 700;
}
.lt-aside-h2 {
    margin: 0;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    color: rgba(0, 0, 0, .55);
}
@media (min-width: 768px) {
    .lt-auth-aside {
        display: block;
        flex: 1 1 auto;
        min-width: 0;
    }
}

.lt-field { margin-bottom: 16px; }

.lt-field-row,
.lt-captcha-row {
    display: flex;
    align-items: flex-end;
    gap: 10px;
}
.lt-grow { flex: 1 1 auto; min-width: 0; }
.lt-send-btn { flex: 0 0 auto; white-space: nowrap; }

.lt-send-btn.lt-busy { pointer-events: none; cursor: default; }

.lt-captcha { margin: 0 0 16px; }
.lt-captcha-img {
    flex: 0 0 auto;
    border-radius: 4px;
    cursor: pointer;
    border: 1px solid #dee2e6;
}
.lt-captcha-tip {
    margin-top: 4px;
    font-size: 12px;
    color: rgba(0, 0, 0, .5);
}
.lt-inline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 16px;
}
.lt-mini-link { color: #2196f3; text-decoration: none; font-size: 13px; }
.lt-mini-link:hover { text-decoration: underline; }
.lt-alt {
    margin: 16px 0 0;
    font-size: 13px;
    color: rgba(0, 0, 0, .55);
}
.lt-alt a { color: #2196f3; text-decoration: none; }
.lt-alt a:hover { text-decoration: underline; }
.lt-submit { margin-top: 8px; }

.lt-hero {
    text-align: center;
    padding: 48px 16px 32px;
}
.lt-hero-title {
    margin: 0 0 12px;
    font-size: 34px;
    font-weight: 700;
}
.lt-hero-sub {
    margin: 0 0 24px;
    color: rgba(0, 0, 0, .55);
}
.lt-hero-actions {
    display: flex;
    gap: 12px;
    justify-content: center;
}

.lt-rows { display: flex; flex-direction: column; }
.lt-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(0, 0, 0, .06);
}
.lt-row:last-child { border-bottom: 0; }
.lt-row-label { color: rgba(0, 0, 0, .55); flex: 0 0 auto; }
.lt-row-value { text-align: right; word-break: break-all; }
.lt-balance { font-weight: 700; color: #d32f2f; }

.lt-drawer {
    top: 57px;
    bottom: 0;
    width: 240px;
    max-width: none;
    z-index: 3000;
    background: #fff;
    border-right: 1px solid #e0e0e0;
    box-shadow: none !important;
    overflow-x: hidden;
    overflow-y: auto;
}

body.lt-body.mdui-drawer-body-left { padding-left: 0; }

.lt-nav { padding: 8px 0; }
.lt-nav-item {
    display: flex;
    align-items: center;
    padding: 0 16px;
    color: rgba(0, 0, 0, .87);
    text-decoration: none;
    cursor: pointer;
}
.lt-nav-item .mdui-list-item-icon { margin-right: 24px; }
.lt-nav-item .mdui-list-item-content { font-size: 14px; }

.lt-nav-toggle {
    display: inline-flex;
    flex: 0 0 auto;
    margin: 0;
}

.lt-user-body { padding: 0 16px; }

.lt-admin-body { padding: 0 16px; }

@media (min-width: 1024px) {
    .lt-drawer { transform: none !important; }
    .lt-nav-toggle { display: none; }
    .lt-user-body { margin-left: 240px; padding: 0 24px; }
    .lt-admin-body { margin-left: 240px; padding: 0 24px; }
    body[data-lt-page="user"] .lt-footer { margin-left: 240px; }
    body[data-lt-page="admin"] .lt-footer { margin-left: 240px; }
}

.lt-page-head { margin: 0 0 18px; }
.lt-page-h1 { margin: 0; font-size: 24px; font-weight: 600; }
.lt-page-sub { margin: 4px 0 0; font-size: 13px; color: rgba(0, 0, 0, .55); }

.lt-tiles {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 16px;
    margin-bottom: 20px;
}
.lt-tile {
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .12);
    padding: 16px 18px;
}
.lt-tile-icon { font-size: 22px; color: #2196f3; }
.lt-tile-label { margin-top: 8px; font-size: 13px; color: rgba(0, 0, 0, .55); }
.lt-tile-value { margin-top: 2px; font-size: 18px; font-weight: 600; word-break: break-all; }
.lt-tile-money { color: #d32f2f; }

.lt-panel { padding: 20px; }
.lt-panel-title { margin: 0 0 12px; font-size: 16px; font-weight: 600; }

.lt-page-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}
.lt-page-acts {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}
.lt-del-btn { color: #d32f2f; }

.lt-crumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 2px;
    margin-top: 6px;
    font-size: 13px;
}
.lt-crumb-item { color: #2196f3; cursor: pointer; }
.lt-crumb-item:hover { text-decoration: underline; }
.lt-crumb-sep { color: rgba(0, 0, 0, .3); padding: 0 2px; }

.lt-empty {
    text-align: center;
    padding: 48px 16px;
}
.lt-empty-icon {
    display: block;
    font-size: 48px;
    color: rgba(0, 0, 0, .16);
}
.lt-empty-title {
    margin-top: 8px;
    font-size: 16px;
    font-weight: 600;
    color: rgba(0, 0, 0, .7);
}
.lt-empty-sub {
    margin-top: 4px;
    font-size: 13px;
    color: rgba(0, 0, 0, .55);
}

.lt-ws-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 16px;
}
.lt-ws-card {
    display: flex;
    flex-direction: column;
    gap: 14px;
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .12);
    padding: 16px 18px;
}
.lt-ws-card-head {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}
.lt-ws-icon { font-size: 30px; color: #2196f3; flex: 0 0 auto; }
.lt-ws-card-meta { min-width: 0; }
.lt-ws-name { font-size: 15px; font-weight: 600; word-break: break-all; }
.lt-ws-sub { margin-top: 2px; font-size: 12px; color: rgba(0, 0, 0, .55); }
.lt-ws-card-acts { display: flex; justify-content: flex-end; gap: 8px; }

.lt-table-wrap { margin-top: 4px; }
.lt-ws-table { font-size: 14px; }
.lt-ws-table th,
.lt-ws-table td { padding: 8px 12px; }
.lt-th-check, .lt-td-check { width: 48px; }
.lt-th-size, .lt-td-size { width: 100px; white-space: nowrap; }
.lt-th-time, .lt-td-time { width: 150px; white-space: nowrap; }
.lt-th-act, .lt-td-act { width: 140px; white-space: nowrap; }
.lt-td-act { text-align: right; }
.lt-file-name {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}
.lt-file-icon { font-size: 20px; color: rgba(0, 0, 0, .45); flex: 0 0 auto; }
.lt-file-text { word-break: break-all; }
.lt-file-link { color: #2196f3; cursor: pointer; }
.lt-file-link:hover { text-decoration: underline; }
.lt-row-btn {
    width: 32px;
    height: 32px;
    min-width: 32px;
    font-size: 18px;
}

.lt-up {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.lt-up-input { display: block; width: 100%; font-size: 13px; }
.lt-up-tip { font-size: 12px; color: rgba(0, 0, 0, .55); }
.lt-up-bar { height: 6px; }
.lt-up-state { min-height: 16px; font-size: 12px; color: rgba(0, 0, 0, .6); }

.lt-up-bar { background-color: rgba(33, 150, 243, .2); }
.lt-up-bar .mdui-progress-determinate { background-color: #2196f3; }
.lt-up-bar.mdui-progress-indeterminate { background-color: #2196f3; }

.lt-enc-panel,
.lt-enc-src { max-width: 720px; }
.lt-enc-src { margin-top: 16px; }

.lt-form-row { margin-bottom: 16px; }
.lt-form-label { margin-bottom: 6px; font-size: 13px; color: rgba(0, 0, 0, .6); }
.lt-form-body { min-width: 0; }
.lt-form-hint { margin-top: 4px; font-size: 12px; color: rgba(0, 0, 0, .5); }

.lt-form-body .form-control { max-width: 100%; }
.lt-form-body .mdui-chooser { width: 100%; max-width: 100%; }

.lt-ver-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 20px;
}
.lt-ver-item { margin: 0; }

.lt-enc-pick {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}
.lt-enc-picked { font-size: 14px; word-break: break-all; }
.lt-enc-calc { margin-top: 12px; }
.lt-enc-warn { margin-top: 8px; font-size: 13px; color: #d32f2f; }
.lt-enc-submit { margin-top: 16px; }

.lt-enc-fields { margin-top: 4px; }
.lt-enc-fields:empty { margin-top: 0; }
.lt-enc-subhead {
    margin: 12px 0 4px;
    padding-top: 12px;
    border-top: 1px solid rgba(0, 0, 0, .08);
    font-size: 13px;
    font-weight: 600;
    color: rgba(0, 0, 0, .62);
}
.lt-enc-area {
    min-height: 72px;
    max-width: 100%;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 13px;
}

.lt-lic-list { max-width: 720px; }
.lt-lic-row { align-items: center; gap: 8px; }
.lt-lic-main { min-width: 0; flex: 1 1 auto; }
.lt-lic-main .lt-row-label { word-break: break-all; }

.lt-pk { min-width: 0; }
.lt-pk-tip { margin-bottom: 8px; font-size: 12px; color: rgba(0, 0, 0, .55); }
.lt-pk-box {
    min-height: 200px;
    max-height: 320px;
    overflow: auto;
}
.lt-pk-list { display: flex; flex-direction: column; }
.lt-pk-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 6px;
    border-radius: 4px;
    cursor: pointer;
}
.lt-pk-item:hover { background: rgba(0, 0, 0, .05); }
.lt-pk-icon { flex: 0 0 auto; font-size: 20px; color: #2196f3; }
.lt-pk-name { flex: 1 1 auto; min-width: 0; word-break: break-all; }
.lt-pk-count { flex: 0 0 auto; font-size: 12px; color: rgba(0, 0, 0, .5); }
.lt-pk-hint { padding: 8px 6px; font-size: 13px; color: rgba(0, 0, 0, .5); }

.lt-pk-modes,
.lt-lic-tabs { display: flex; gap: 8px; margin-bottom: 8px; }
.lt-pk-mode,
.lt-lic-tab {
    flex: 0 0 auto;
    padding: 5px 14px;
    border: 1px solid rgba(0, 0, 0, .18);
    border-radius: 15px;
    background: transparent;
    color: rgba(0, 0, 0, .65);
    font-size: 13px;
    line-height: 1.6;
    cursor: pointer;
}
.lt-pk-mode:hover,
.lt-lic-tab:hover { background: rgba(0, 0, 0, .04); }
.lt-pk-mode-on,
.lt-lic-tab-on {
    border-color: #2196f3;
    background: rgba(33, 150, 243, .1);
    color: #1976d2;
}

.lt-lic-tabbody { margin-top: 12px; min-height: 120px; }

.lt-pk-item-on { background: rgba(33, 150, 243, .12); }

.lt-task {
    max-width: 820px;
    margin-bottom: 12px;
    padding: 16px 18px;
}
.lt-task-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.lt-task-title { min-width: 0; font-size: 15px; font-weight: 600; word-break: break-all; }
.lt-badge {
    flex: 0 0 auto;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 12px;
    background: rgba(0, 0, 0, .08);
    color: rgba(0, 0, 0, .7);
}
.lt-badge-warn { background: rgba(255, 152, 0, .16); color: #e65100; }
.lt-badge-run { background: rgba(33, 150, 243, .16); color: #1565c0; }
.lt-badge-ok { background: rgba(76, 175, 80, .16); color: #2e7d32; }
.lt-badge-bad { background: rgba(211, 47, 47, .14); color: #c62828; }
.lt-task-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 16px;
    margin-top: 8px;
    font-size: 12px;
    color: rgba(0, 0, 0, .55);
}
.lt-task-refund { color: #2e7d32; }
.lt-task-bar { margin-top: 12px; }
.lt-task-step { margin-top: 6px; font-size: 12px; color: rgba(0, 0, 0, .6); }
.lt-task-note { margin-top: 8px; font-size: 12px; color: rgba(0, 0, 0, .6); word-break: break-all; }
.lt-task-error { margin-top: 8px; font-size: 13px; color: #c62828; word-break: break-all; }
.lt-task-acts {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 12px;
}

.lt-logs { max-height: 60vh; overflow: auto; }
.lt-log-hint { margin-bottom: 10px; font-size: 12px; color: rgba(0, 0, 0, .5); }
.lt-log-empty { padding: 12px 0; font-size: 13px; color: rgba(0, 0, 0, .5); }
.lt-log {
    padding: 10px 12px;
    margin-bottom: 8px;
    border-left: 3px solid #90a4ae;
    background: rgba(0, 0, 0, .02);
    border-radius: 2px;
}
.lt-log-bad { border-left-color: #c62828; }
.lt-log-head {
    display: flex;
    align-items: baseline;
    gap: 10px;
    font-size: 12px;
    color: rgba(0, 0, 0, .6);
}
.lt-log-step { min-width: 0; font-weight: 600; color: rgba(0, 0, 0, .87); }
.lt-log-code { flex: 0 0 auto; }
.lt-log-time { flex: 0 0 auto; margin-left: auto; }
.lt-log-sum {
    margin-top: 6px;
    font-size: 13px;
    white-space: pre-wrap;
    word-break: break-all;
}
.lt-log-res {
    margin: 6px 0 0;
    padding: 8px;
    max-height: 160px;
    overflow: auto;
    font-size: 12px;
    line-height: 1.5;
    white-space: pre-wrap;
    word-break: break-all;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, .08);
    border-radius: 2px;
}
.lt-log-err { margin-top: 6px; font-size: 13px; color: #c62828; word-break: break-all; }

.lt-dlg-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.lt-404 { text-align: center; padding: 64px 16px; }
.lt-404-code {
    font-size: 72px;
    font-weight: 700;
    color: rgba(0, 0, 0, .12);
    line-height: 1;
    margin-bottom: 12px;
}

.lt-footer {
    flex: 0 0 auto;
    border-top: 1px solid rgba(0, 0, 0, .08);
    background: #fff;
    padding: 16px 0;
}

.lt-footer-inner {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 8px 16px;
    font-size: 12px;
    color: rgba(0, 0, 0, .5);
}
.lt-footer-meta { display: flex; gap: 16px; flex-wrap: wrap; }

.lt-adm-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(33, 150, 243, .12);
    color: #1976d2;
    font-size: 20px;
    flex: 0 0 auto;
}

.lt-adm-tag {
    flex: 0 0 auto;
    padding: 1px 8px;
    border-radius: 10px;
    font-size: 12px;
    background: rgba(33, 150, 243, .14);
    color: #1565c0;
}

.lt-adm-login { max-width: 420px; margin: 48px auto 0; }
.lt-adm-login .lt-submit { width: 100%; }

body.lt-adm-guest .lt-drawer,
body.lt-adm-guest .lt-nav-toggle { display: none; }
body.lt-adm-guest .lt-admin-body,
body.lt-adm-guest .lt-footer { margin-left: 0; }

.lt-adm-bar {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}
.lt-adm-bar-item { flex: 0 0 auto; }
.lt-adm-bar-grow { flex: 1 1 200px; min-width: 120px; }
.lt-adm-bar input.form-control { height: 34px; font-size: 13px; }
.lt-adm-bar-end { margin-left: auto; display: flex; gap: 8px; }

.lt-adm-chooser { flex: 0 0 180px; }
.lt-adm-chooser .mdui-chooser { width: 100%; max-width: none; min-width: 0; }

.lt-adm-tablewrap {
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .12);
    overflow-x: auto;
}
.lt-adm-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.lt-adm-table th,
.lt-adm-table td {
    padding: 8px 12px;
    text-align: left;
    vertical-align: middle;
    border-bottom: 1px solid rgba(0, 0, 0, .06);
    white-space: nowrap;
}
.lt-adm-table th { font-weight: 600; color: rgba(0, 0, 0, .6); background: rgba(0, 0, 0, .02); }
.lt-adm-table tbody tr:last-child td { border-bottom: 0; }
.lt-adm-table tbody tr:hover { background: rgba(33, 150, 243, .04); }
.lt-adm-table .lt-adm-num { text-align: right; font-variant-numeric: tabular-nums; }

.lt-adm-table .lt-adm-wrap { white-space: normal; word-break: break-all; min-width: 200px; }
.lt-adm-table .lt-adm-act { text-align: right; }
.lt-adm-table .lt-adm-act .mdui-btn { min-width: 0; }

.lt-adm-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 16px;
    margin-bottom: 20px;
}
.lt-adm-card {
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .12);
    padding: 16px 18px;
}
.lt-adm-card-go { cursor: pointer; }
.lt-adm-card-go:hover { box-shadow: 0 2px 10px rgba(0, 0, 0, .16); }

.lt-adm-panel {
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .12);
    padding: 18px 20px;
    margin-bottom: 16px;
}
.lt-adm-panel-title { margin: 0 0 14px; font-size: 15px; font-weight: 600; }

.lt-adm-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 0 24px;
}
.lt-adm-ctl { width: 100%; }

.lt-adm-flag {
    display: inline-block;
    padding: 1px 8px;
    border-radius: 10px;
    font-size: 12px;
    background: rgba(0, 0, 0, .08);
    color: rgba(0, 0, 0, .65);
}
.lt-adm-flag-ok { background: rgba(76, 175, 80, .16); color: #2e7d32; }
.lt-adm-flag-bad { background: rgba(211, 47, 47, .14); color: #c62828; }
.lt-adm-flag-warn { background: rgba(255, 152, 0, .16); color: #e65100; }

.lt-adm-plug-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}
.lt-adm-plug-name { font-size: 15px; font-weight: 600; word-break: break-all; }
.lt-adm-plug-meta { margin-top: 6px; font-size: 12px; color: rgba(0, 0, 0, .55); word-break: break-all; }
.lt-adm-plug-acts { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 14px; }

.lt-adm-pager {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 14px;
    font-size: 13px;
    color: rgba(0, 0, 0, .6);
}
.lt-adm-muted { font-size: 12px; color: rgba(0, 0, 0, .5); }
.lt-adm-hint { margin-top: 4px; font-size: 12px; color: rgba(0, 0, 0, .5); }

.lt-adm-off { opacity: .45; cursor: default; }

.lt-adm-pre {
    margin: 0;
    padding: 10px;
    max-height: 50vh;
    overflow: auto;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 12px;
    line-height: 1.5;
    white-space: pre-wrap;
    word-break: break-all;
    background: rgba(0, 0, 0, .03);
    border: 1px solid rgba(0, 0, 0, .08);
    border-radius: 2px;
}

.lt-adm-vars { margin-top: 6px; font-size: 12px; color: rgba(0, 0, 0, .55); word-break: break-all; }

.lt-adm-bill-in { color: #2e7d32; }
.lt-adm-bill-out { color: #d32f2f; }

.lt-bill-filter { flex: 0 0 auto; min-width: 140px; }
.lt-bill-filter .mdui-chooser { width: 100%; max-width: none; min-width: 0; }

.lt-bill-rows { display: block; }
.lt-bill-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(0, 0, 0, .06);
}
.lt-bill-row:last-child { border-bottom: 0; }

.lt-bill-main { flex: 1 1 auto; min-width: 0; }
.lt-bill-title { font-size: 14px; color: rgba(0, 0, 0, .87); word-break: break-all; }
.lt-bill-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 4px;
    font-size: 12px;
    color: rgba(0, 0, 0, .55);
}
.lt-bill-tag {
    padding: 1px 8px;
    border-radius: 10px;
    background: rgba(0, 0, 0, .05);
}
.lt-bill-void { text-decoration: line-through; }
.lt-bill-remark { margin-top: 4px; font-size: 12px; color: rgba(0, 0, 0, .5); word-break: break-all; }

.lt-bill-amt {
    flex: 0 0 auto;
    font-size: 15px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    text-align: right;
}
.lt-bill-bal {
    flex: 0 0 100px;
    text-align: right;
    font-size: 12px;
    color: rgba(0, 0, 0, .5);
    font-variant-numeric: tabular-nums;
}
.lt-bill-in { color: #2e7d32; }
.lt-bill-out { color: #d32f2f; }

.lt-bill-pager { margin-top: 16px; }
@media (max-width: 640px) {
    .lt-bill-bal { display: none; }
}

.mdui-dialog.lt-dlg-wide { width: min(760px, 92%); }
.mdui-dialog.lt-dlg-wide > .mdui-dialog-content {
    max-height: calc(80vh - 130px);
    overflow-y: auto;
}

.lt-adm-code {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    letter-spacing: 1px;
    white-space: nowrap;
}

.lt-adm-sep {
    height: 1px;
    background: rgba(0, 0, 0, .08);
    margin: 16px 0;
}

.lt-adm-method {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(0, 0, 0, .06);
}

.lt-adm-method:last-of-type { border-bottom: 0; }
.lt-adm-method-name {
    flex: 0 0 160px;
    min-width: 0;
    font-weight: 500;
}
.lt-adm-method-ctl {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 16px;
}
.lt-adm-method-sortwrap {
    flex: 0 0 96px;
    margin-left: auto;
}
.lt-adm-method-sort { text-align: center; }
@media (max-width: 640px) {
    .lt-adm-method { flex-wrap: wrap; }
    .lt-adm-method-name { flex: 1 1 100%; }
    .lt-adm-method-sortwrap { flex: 0 0 96px; margin-left: 0; }
}

.lt-rc-line {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.lt-rc-line > .form-control {
    flex: 1 1 220px;
    min-width: 0;
}
.lt-rc-go { flex: 0 0 auto; }

.lt-rc-opts {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    flex: 1 1 100%;
}
.lt-rc-opt {
    font-size: 13px;
    padding: 4px 12px;
    height: 30px;
    line-height: 22px;
    min-width: 0;
}

.lt-rc-methods {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}
.lt-rc-method { min-width: 0; }

.lt-rc-method-def {
    box-shadow: 0 0 0 2px rgba(33, 150, 243, .45);
}

.lt-rc-orders { margin-bottom: 16px; }

.lt-home-hero {
    text-align: center;
    padding: 56px 16px 40px;
}
.lt-home-hero-title {
    margin: 0 0 14px;
    font-size: 38px;
    font-weight: 700;
    line-height: 1.25;
}
.lt-home-hero-sub {
    margin: 0 auto 28px;
    max-width: 640px;
    font-size: 16px;
    color: rgba(0, 0, 0, .55);
}
.lt-home-hero-acts {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}

.lt-home-sec { margin-bottom: 44px; }
.lt-home-sec-title {
    margin: 0 0 20px;
    font-size: 22px;
    font-weight: 600;
    text-align: center;
}

.lt-home-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 16px;
}
.lt-home-card {
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .12);
    padding: 20px 18px;
}
.lt-home-card-icon {
    font-size: 26px;
    color: #2196f3;
}
.lt-home-card-title {
    margin: 10px 0 0;
    font-size: 16px;
    font-weight: 600;
}
.lt-home-card-sub {
    margin: 6px 0 0;
    font-size: 13px;
    color: rgba(0, 0, 0, .55);
}

.lt-home-steps {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.lt-home-step {
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .12);
    padding: 20px 18px;
}

.lt-home-step-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #2196f3;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
}
.lt-home-step-title {
    margin: 10px 0 0;
    font-size: 16px;
    font-weight: 600;
}
.lt-home-step-sub {
    margin: 6px 0 0;
    font-size: 13px;
    color: rgba(0, 0, 0, .55);
}

.lt-home-faq {
    border-radius: 6px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .12);
}
.lt-home-faq .mdui-panel-item-title {
    width: 100%;
    min-width: 100%;

    padding-right: 40px;
    font-size: 15px;
    font-weight: 600;
}
.lt-home-faq .mdui-panel-item-body {
    font-size: 13px;
    color: rgba(0, 0, 0, .6);
}

.lt-home-cta {
    margin-bottom: 20px;
    padding: 32px 20px;
    border-radius: 6px;
    background: rgba(33, 150, 243, .06);
    text-align: center;
}
.lt-home-cta-title {
    margin: 0 0 8px;
    font-size: 22px;
    font-weight: 600;
}
.lt-home-cta-sub {
    margin: 0 0 20px;
    color: rgba(0, 0, 0, .55);
}
.lt-home-cta-acts {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}

@media (max-width: 640px) {
    .lt-home-hero { padding: 36px 8px 28px; }
    .lt-home-hero-title { font-size: 28px; }
    .lt-home-hero-sub { font-size: 14px; }
    .lt-home-sec-title { font-size: 19px; }
    .lt-home-sec { margin-bottom: 32px; }
    .lt-home-cta { padding: 24px 14px; }
    .lt-home-cta-title { font-size: 19px; }

    .lt-home-hero-acts .mdui-btn,
    .lt-home-cta-acts .mdui-btn { flex: 1 1 0; min-width: 0; }
}

.lt-oauth { margin-top: 4px; }
.lt-oauth-sep {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 18px 0 14px;
    color: rgba(0, 0, 0, .45);
    font-size: 12px;
    white-space: nowrap;
}
.lt-oauth-sep::before,
.lt-oauth-sep::after {
    content: '';
    flex: 1 1 auto;
    height: 1px;
    background: rgba(0, 0, 0, .1);
}
.lt-oauth-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.lt-oauth-btn {
    justify-content: center;
    color: #fff;
}
.lt-oauth-rows { display: flex; flex-direction: column; }
.lt-oauth-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(0, 0, 0, .06);
}
.lt-oauth-row:last-child { border-bottom: 0; }
.lt-oauth-info { min-width: 0; }
.lt-oauth-name { font-size: 14px; font-weight: 600; }
.lt-oauth-sub { margin-top: 4px; font-size: 12px; word-break: break-all; }
.lt-oauth-on { color: #2e7d32; }
.lt-oauth-off { color: rgba(0, 0, 0, .45); }

