/* Shared presentation layer. No routing, visibility-state or business logic. */
:root {
    color-scheme: light;
    --ui-bg: #f6f8f7;
    --ui-surface: #ffffff;
    --ui-text: #25332e;
    --ui-muted: #65736d;
    --ui-line: #dfe7e2;
    --ui-green: #246b57;
    --ui-green-hover: #1c5645;
    --ui-mint: #edf5f1;
    --ui-purple: #75609e;
    --ui-lavender: #f1edf7;
    --ui-red: #b4424d;
    --ui-amber: #946318;
    --ui-shadow: 0 6px 24px rgba(34, 64, 50, .045), 0 1px 3px rgba(34, 64, 50, .035);
    --pirate-gold: var(--ui-green);
    --pirate-blue: var(--ui-purple);
    --pirate-red: var(--ui-red);
    --deep-ocean: var(--ui-bg);
    --ship-deck: var(--ui-surface);
    --treasure-bg: var(--ui-bg);
    --card-glass: var(--ui-surface);
    --success: var(--ui-green);
    --warning: var(--ui-amber);
    --gold: var(--ui-green);
    --blue: var(--ui-purple);
    --green: var(--ui-green);
    --red: var(--ui-red);
    --bg: var(--ui-bg);
    --panel: var(--ui-surface);
    --line: var(--ui-line);
    --border-radius: 16px;
    --shadow: var(--ui-shadow);
    --transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}

html { background: var(--ui-bg); scrollbar-color: #bbc9c1 transparent; }
body.site-theme {
    background: var(--ui-bg);
    color: var(--ui-text);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", "PingFang SC", sans-serif;
    font-size: 15px;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
body.site-theme::before { content: none; }
*, *::before, *::after { box-sizing: border-box; }
::selection { background: #d7e9df; color: #153b2f; }
a { color: var(--ui-green); text-underline-offset: 4px; }
a:hover { color: var(--ui-green-hover); }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
:where(button, a, input, select, textarea, [tabindex]):focus-visible {
    outline: 3px solid #a99bc8 !important;
    outline-offset: 3px;
}
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea {
    background: #fff !important;
    color: var(--ui-text) !important;
    border: 1px solid #cfdad3 !important;
    border-radius: 9px !important;
    box-shadow: 0 1px 2px rgba(34, 64, 50, .025) !important;
    font-size: 14px !important;
    line-height: 1.6;
    min-height: 44px;
    padding: 11px 14px;
    max-width: 100%;
    transition: var(--transition);
}
input::placeholder, textarea::placeholder { color: #7b8981 !important; opacity: 1; }
input:focus, select:focus, textarea:focus {
    border-color: var(--ui-green) !important;
    box-shadow: 0 0 0 3px rgba(36,107,87,.10) !important;
}
input:disabled, select:disabled, textarea:disabled { background: #eff2f0 !important; opacity: .65; cursor: not-allowed; }
input[type="checkbox"], input[type="radio"] {
    accent-color: var(--ui-green);
    width: 17px;
    height: 17px;
    flex: 0 0 auto;
    box-shadow: none;
    vertical-align: middle;
}
input[type="file"] { padding: 8px !important; }
input::file-selector-button {
    padding: 7px 12px; margin-right: 12px; border: 0; border-radius: 6px;
    background: var(--ui-lavender); color: var(--ui-purple); font: inherit; cursor: pointer;
}
textarea { resize: vertical; }
option { color: var(--ui-text); background: #fff; }
label, .form-group label, .field label { color: #40534a; font-weight: 550; font-size: 14px; }
.form-group, .field { margin-bottom: 22px; }
button, .btn-primary, .btn-reg, .btn-code, .nav-btn, .tool-link {
    background: var(--ui-green) !important;
    border: 1px solid var(--ui-green) !important;
    color: #fff !important;
    border-radius: 9px !important;
    box-shadow: none !important;
    font-weight: 600;
    font-size: 14px;
    letter-spacing: .1px;
    line-height: 1.5;
    cursor: pointer;
    transition: var(--transition);
    text-decoration: none;
    text-shadow: none;
}
button:hover, .btn-primary:hover, .btn-reg:hover, .btn-code:hover, .nav-btn:hover, .tool-link:hover {
    background: var(--ui-green-hover) !important;
    border-color: var(--ui-green-hover) !important;
    transform: none;
    box-shadow: 0 3px 10px rgba(36,107,87,.12) !important;
}
button:disabled, .btn-code:disabled { opacity: .5; cursor: not-allowed; box-shadow: none !important; }
button::before, button::after, .btn-reg::before, .btn-reg::after { content: none; }
.btn-secondary, .btn-info, .btn-import, .upload-btn, .btn-copy, .btn-code, #upgrade-entry {
    background: var(--ui-lavender) !important;
    color: #6e5798 !important;
    border-color: #ddd4eb !important;
}
.btn-secondary:hover, .btn-info:hover, .btn-import:hover, .upload-btn:hover, .btn-copy:hover, .btn-code:hover, #upgrade-entry:hover {
    background: #e7dff2 !important; color: #5b4582 !important; border-color: #c4b5d9 !important;
}
.btn-success, .btn-good, .nav-btn.login {
    color: var(--ui-green) !important; background: var(--ui-mint) !important; border-color: #cfe2d7 !important;
}
.btn-success:hover, .btn-good:hover, .nav-btn.login:hover { color: #194c3d !important; background: #dcece3 !important; border-color: #abcdbb !important; }
.btn-danger { color: var(--ui-red) !important; background: #fff1f1 !important; border-color: #edcbd0 !important; }
.btn-danger:hover { background: #f8e0e3 !important; color: #963640 !important; border-color: #dda8b1 !important; }
.btn-warning, .btn-warn { color: #855b1d !important; background: #fbf3e6 !important; border-color: #ecdbbc !important; }
.btn-warning:hover, .btn-warn:hover { color: #714b17 !important; background: #f3e6cd !important; border-color: #dfc697 !important; }
.btn-muted, .btn-outline, .btn-text, .nav-btn.back, .nav-btn.logout {
    color: #58695f !important; background: #fff !important; border-color: #d6dfd9 !important;
}
.btn-muted:hover, .btn-outline:hover, .btn-text:hover, .nav-btn.back:hover, .nav-btn.logout:hover {
    color: #324b3e !important; background: #eff4f0 !important; border-color: #b8ccc0 !important;
}
.tab-btn, .scope-btn { color: var(--ui-muted) !important; background: transparent !important; border-color: transparent !important; }
.tab-btn:hover, .scope-btn:hover { background: var(--ui-mint) !important; color: var(--ui-green) !important; }
.tab-btn.active, .scope-btn.active { background: var(--ui-green) !important; color: #fff !important; border-color: var(--ui-green) !important; }
.scope-switch, .tab-container, .tabs-container { background: #edf1ee; border-color: var(--ui-line); border-radius: 10px; }
.tab-container, .tabs-container { padding: 5px; gap: 5px; flex-wrap: wrap; }

h1, h2, h3, h4, .page-title, .card-title, .platform-title, .tool-title, .task-config-title {
    color: var(--ui-text);
    background: none;
    -webkit-text-fill-color: currentColor;
    letter-spacing: -.4px;
    text-shadow: none;
    line-height: 1.45;
}
h1 { font-weight: 750; }
h2, h3, h4 { font-weight: 650; }
.card, .stat-card, .stat-box, .dash-card, .login-container {
    background: var(--ui-surface);
    border: 1px solid var(--ui-line);
    border-radius: 16px;
    box-shadow: var(--ui-shadow);
    backdrop-filter: none;
    color: var(--ui-text);
}
.card::before, .card::after { content: none; }
.card:hover, .stat-card:hover, .tool-card:hover { transform: none; border-color: #cddbd2; box-shadow: var(--ui-shadow); }
.card-header { border-bottom: 1px solid var(--ui-line); gap: 16px; flex-wrap: wrap; padding-bottom: 18px; }
.card-title { font-size: 17px; font-weight: 650; }
.card-title i, .page-title i, .platform-title i, .task-config-title i { color: var(--ui-green); }
.card-subtitle, .stat-label, .dash-title, .package-meta, .claim-meta, .back-link, .footer, .tool-file, .tutorial-text { color: var(--ui-muted); }
.stat-value, .dash-value, .stat-card .stat-value { color: var(--ui-green); font-variant-numeric: tabular-nums; font-weight: 700; letter-spacing: -.7px; }
.stat-card .stat-icon { color: var(--ui-green); font-size: 23px; margin-bottom: 14px; }
.stat-card { text-align: left; padding: 24px; }
.stat-card:nth-child(even) .stat-icon, .stat-card:nth-child(even) .stat-value { color: var(--ui-purple); }
.metric-row, .claim-progress, .package-title, .claim-title, .user-workid { color: var(--ui-text); }
.bar-track, .progress-bg { background: #e8eee9; }
.bar-fill, .progress-bar { background: var(--ui-green); }
.badge, .pwd-highlight { background: var(--ui-lavender); color: var(--ui-purple); border: 1px solid #e3dbef; box-shadow: none; }
.badge.on, .badge-vip { background: var(--ui-mint); color: var(--ui-green); }
.badge.off, .badge-zombie { background: #fff0f1; color: var(--ui-red); }
.status-active, .role-user { color: var(--ui-green); }
.status-inactive { color: var(--ui-red); }
.role-admin, .role-subadmin { color: var(--ui-purple); }
.package-item, .episode-item, .claim-item, .task-config-block, .group-card, .user-card {
    background: #fcfdfc; border-color: var(--ui-line); border-radius: 10px; box-shadow: none; color: var(--ui-text);
}
.package-item.active { border-color: var(--ui-green); background: var(--ui-mint); }
.group-card.error, .user-card.is-zombie { background: #fff7f7; border-color: #edcbd0; }
.group-missing { color: #6c6154; background: #fbf6ed; }
.empty, .empty-state { color: var(--ui-muted); padding: 56px 24px; font-size: 14px; }
.empty-state i { color: #acbdb2; font-size: 36px; }
.toast { color: #fff; box-shadow: var(--ui-shadow); max-width: calc(100vw - 32px); }
.toast.success { background: var(--ui-green); }
.toast.error { background: var(--ui-red); }

/* Public pages: restrained centered composition and comfortable forms. */
.public-site { padding: 60px 28px 28px; }
.public-site .container { max-width: 1000px; }
.public-site .header-decor { margin: 0 auto 34px; }
.public-site h1 { font-size: clamp(28px, 3.7vw, 46px); margin: 0 0 14px; animation: none; }
.public-site .floating { animation: none; }
.public-site .fade-in { opacity: 1 !important; transform: none !important; animation: none; }
.public-site .header-decor::after { content: none; }
.public-site .subtitle { font-size: 17px; font-weight: 400; color: var(--ui-muted); text-shadow: none; letter-spacing: .5px; margin: 0; }
.public-site .card { padding: 34px; margin-bottom: 24px; overflow: visible; }
.public-site .card h3 { color: var(--ui-text); font-size: 23px; padding-bottom: 18px; margin-bottom: 24px; border-bottom: 1px solid var(--ui-line); }
.public-site .card h3::after { content: none; }
.public-site .card h3 > i { color: var(--ui-green); font-size: .85em; }
.public-site #home-page .card { padding: 48px 44px; text-align: center; }
.public-site #home-page h3 { display: block; font-size: clamp(21px, 2.3vw, 29px); border: 0; margin-bottom: 24px; padding: 0; }
.public-site .welcome-text { color: var(--ui-muted); font-size: 16px; line-height: 1.9; text-align: center; margin: 0; }
.public-site .welcome-text p { margin: 8px 0; }
.public-site .nav-container { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 26px; justify-content: center; }
.public-site .nav-btn { padding: 12px 22px; font-size: 14px; min-height: 46px; }
.public-site #home-page .nav-container { margin-top: 34px; }
.public-site #home-page .nav-btn { flex: 1; min-width: 0; max-width: none; margin: 0; font-size: 16px; min-height: 54px; }
.public-site #home-page .nav-btn:last-child { background: var(--ui-lavender) !important; color: var(--ui-purple) !important; border-color: #e0d6ed !important; }
.public-site #home-page .nav-btn:last-child:hover { background: #e7dff2 !important; }
.public-site .footer { margin: 32px auto 0; padding: 0 12px 20px; font-size: 12px; line-height: 1.9; border: 0; text-shadow: none; }
.public-site .footer div:first-child { font-size: 13px; color: #52675c; }
.public-site .footer i { font-size: 11px; opacity: .7; }
.public-site #register-page, .public-site #login-page, .public-site #upgrade-page { max-width: 640px; margin: 0 auto; }
.public-site .form-group label { font-size: 14px; margin-bottom: 8px; letter-spacing: 0; }
.public-site input:not([type="checkbox"]), .public-site select { min-height: 47px; }
.public-site .btn-reg { padding: 14px 20px; min-height: 48px; font-size: 15px; letter-spacing: .5px; }
.public-site .btn-code { min-height: 42px; padding: 10px 16px; }
.public-site #noThreshold { transform: none !important; }
.public-site #group-select { min-width: 0; }
.public-site #group-nickname { max-width: none !important; }
.public-site #upgrade-page > .card > p { margin-bottom: 22px; color: var(--ui-muted); }
.public-site #dashboard-page h3 { border: 0; padding: 0; }
.public-site #upgrade-entry { width: auto; font-size: 13px; padding: 9px 14px; min-height: 40px; margin: 0; }
.public-site #user_display { margin-left: auto; font-size: 13px; }
.public-site .stat-box { padding: 22px; background: var(--ui-mint); border: 1px solid #dce9e1; text-align: left; box-shadow: none; }
.public-site .stat-box:nth-child(2) { background: var(--ui-lavender); border-color: #e6dff0; }
.public-site #coin_display { font-size: 32px !important; font-weight: 700; }
.public-site .recharge-box { background: #f8faf9; padding: 24px; border: 1px solid var(--ui-line); border-radius: 12px; box-shadow: none; }
.public-site .recharge-box h4 { font-size: 17px; margin-bottom: 20px; }
.public-site .recharge-box input { margin-bottom: 14px; }
.public-site .platform-title { font-size: 20px; border-bottom: 1px solid var(--ui-line); padding: 0 0 14px; margin: 24px 0; }
.public-site .platform-title::before { background: var(--ui-green); }
.public-site .tool-card { background: #fff; border: 1px solid var(--ui-line); border-radius: 12px; padding: 24px; box-shadow: none; color: var(--ui-text); }
.public-site .tool-title { font-size: 18px; }
.public-site .tool-link { display: inline-block; padding: 10px 16px; word-break: break-word; }
.public-site .tool-file { overflow-wrap: anywhere; font-size: 13px; }
.public-site .copy-tip { color: var(--ui-muted); font-size: 12px; }
.public-site .tutorial-item { display: block; color: var(--ui-muted); padding-left: 20px; }
.public-site .tutorial-item strong { display: inline; }
.public-site .tutorial-item[style*="padding-left: 0"]::before { content: none; }
.public-site .tutorial-item strong { color: var(--ui-text); }
.public-site .tutorial-item::before { color: var(--ui-purple); }
.public-site .download-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 20px; }
.public-site #tools-section { margin-top: 0 !important; }
.public-site #tools-section .platform-section { margin-bottom: 0; }
.public-site #tools-section .tool-card { max-width: none !important; border: 0; padding: 0; }
.public-site #tools-section h3 { margin-bottom: 28px; }
.public-site #tools-section .platform-title { border: 0; padding: 0; margin-top: 0; font-size: 18px; }
.public-site #tools-section .platform-title::before { content: none; }
.public-site #inputUrl { padding: 18px; min-height: 220px !important; }
.public-site #outputResults { overflow-wrap: anywhere; }
.public-site #outputResults > div { border: 1px solid var(--ui-line) !important; padding: 18px !important; }
.public-site #resetModal { padding: 20px; overflow-y: auto; background: rgba(28,44,36,.32) !important; backdrop-filter: blur(3px); }
.public-site #resetModal > div { background: #fff !important; border: 1px solid var(--ui-line) !important; border-radius: 16px !important; max-height: calc(100dvh - 40px); overflow-y: auto; box-shadow: 0 24px 70px rgba(28,44,36,.18); }

/* Existing inline presentation (including server-rendered templates) is normalized without changing scripts. */
.site-theme :is(div, p, span, i, label)[style*="color: #aaa"],
.site-theme :is(div, p, span, i, label)[style*="color: #888"],
.site-theme :is(div, p, span, i, label)[style*="color: #666"],
.site-theme :is(div, p, span, i, label)[style*="color:#aaa"],
.site-theme :is(div, p, span, i, label)[style*="color:#888"],
.site-theme :is(div, p, span, i, label)[style*="color:#666"],
.site-theme :is(div, p, span, i, label)[style*="color:#8892a6"],
.site-theme :is(div, p, span, i, label)[style*="color:#9f"],
.site-theme :is(div, p, span, i, label)[style*="color: #9f"] { color: var(--ui-muted) !important; }
.site-theme :is(div, p, span, h3, h4, label)[style*="color: #FFD700"],
.site-theme :is(div, p, span, h3, h4, label)[style*="color: #3498db"],
.site-theme :is(div, p, span, h3, h4, label)[style*="color: #a0d2ff"] { color: var(--ui-green) !important; }
.site-theme :is(strong, i)[style*="color: #FFD700"] { color: var(--ui-green) !important; }
.site-theme [style*="color: #e74c3c"] { color: var(--ui-red) !important; }
.public-site a[style*="background: rgba(46, 204"] { background: var(--ui-green) !important; color: #fff !important; border-color: var(--ui-green) !important; }
.public-site a[style*="background: rgba(30, 50"] { background: var(--ui-lavender) !important; color: var(--ui-purple) !important; border-color: #e3dbef !important; }
.site-theme :is(div, p, span, label)[style*="color: white"],
.site-theme :is(div, p, span, label)[style*="color:white"],
.site-theme :is(div, p, span, label)[style*="color: #e6f7ff"] { color: var(--ui-text) !important; }
.site-theme :is(div, p, span)[style*="background: rgba(25, 35"],
.site-theme :is(div, p, span)[style*="background: rgba(30, 45"],
.site-theme :is(div, p, span)[style*="background: rgba(30, 50"],
.site-theme :is(div, p, span)[style*="background: rgba(20, 30"] { background: #fff !important; border-color: var(--ui-line) !important; }
.site-theme :is(div, span)[style*="background: linear-gradient(120deg"] { background: var(--ui-lavender) !important; color: var(--ui-purple) !important; border: 1px solid #e3dbef !important; }
.site-theme :is(div, span)[style*="background: rgba(52, 152"] { background: var(--ui-mint) !important; }

/* Administration: the same palette, denser working rhythm. */
.admin-site { display: flex; padding: 0; min-height: 100dvh; }
.admin-site .sidebar {
    width: 236px; position: fixed; inset: 0 auto 0 0; height: 100dvh;
    background: #fff; border-right: 1px solid var(--ui-line); padding: 28px 16px 20px;
    display: flex; flex-direction: column; overflow-y: auto; z-index: 30;
}
.admin-site .sidebar h2 { color: var(--ui-text); font-size: 19px; gap: 10px; padding: 0 12px 26px; margin-bottom: 18px; border-bottom: 1px solid var(--ui-line); white-space: nowrap; }
.admin-site .sidebar h2 i { color: var(--ui-green); font-size: 23px; }
.admin-site .sidebar li { margin: 4px 0; }
.admin-site .sidebar a { color: #52665a; font-size: 14px; padding: 12px 15px; border-radius: 8px; min-height: 46px; position: relative; gap: 12px; }
.admin-site .sidebar a i { width: 18px; text-align: center; font-size: 16px; }
.admin-site .sidebar a:hover { background: #f3f6f4; color: var(--ui-green); }
.admin-site .sidebar a.active { background: var(--ui-mint); color: var(--ui-green); font-weight: 650; }
.admin-site .sidebar a.active::before { content: ""; position: absolute; left: 0; top: 12px; bottom: 12px; width: 3px; background: var(--ui-green); border-radius: 3px; }
.admin-site .sidebar .logout-btn { margin-top: auto; border-top: 1px solid var(--ui-line); border-radius: 0; padding-top: 20px; background: transparent; color: #76847c; }
.admin-site .sidebar .logout-btn:hover { color: var(--ui-red); background: #fff8f8; }
.admin-site :is(.main-content, .main) { margin-left: 236px; padding: 34px 36px; width: calc(100% - 236px); min-width: 0; flex: 1; }
.admin-site .page-title { font-size: 28px; margin-bottom: 28px; font-weight: 700; gap: 12px; }
.admin-site .page-title > i { font-size: 23px; }
.admin-site .card { padding: 24px; margin-bottom: 24px; min-width: 0; }
.admin-site button { min-height: 36px; padding: 8px 13px; font-size: 13px; white-space: normal; }
.admin-site .search-box, .admin-site .toolbar { gap: 10px; align-items: center; margin-bottom: 22px; }
.admin-site div.search-box { background: transparent; border: 0; box-shadow: none; padding: 0; }
.admin-site .search-box input, .admin-site .search-box select { max-width: 100%; }
.admin-site .search-box input { flex: 1 1 220px; max-width: 350px; }
.admin-site .search-box .days-input { flex: 0 1 148px; min-width: 130px; }
.admin-site .control-panel { background: transparent; border: 0; padding: 0; gap: 12px; box-shadow: none; }
.admin-site .layout { grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr); gap: 24px; }
.admin-site .layout > *, .admin-site .grid-2 > *, .admin-site .grid-4 > * { min-width: 0; }
.admin-site .stats-grid { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }
.admin-site .stats-grid:has(> :nth-child(5):last-child) { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.admin-site .stats-grid:has(> :nth-child(6):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.admin-site .stat-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; margin-bottom: 24px; }
.admin-site .insight-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.admin-site .dashboard { gap: 18px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.admin-site .dash-card { border-color: var(--ui-line); padding: 24px; text-align: left; }
.admin-site .dash-card.zombie { background: #fffafa; }
.admin-site .dash-card.zombie .dash-value { color: var(--ui-red); }
.admin-site .dash-card.total .dash-value { color: var(--ui-purple); }
.admin-site .group-name { color: var(--ui-text); }
.admin-site .task-total-cell { background: var(--ui-mint); color: var(--ui-green); }
.admin-site .card:has(> table) { overflow-x: auto; }
.admin-site table { display: table; overflow: visible; color: var(--ui-text); width: 100%; border-collapse: separate; border-spacing: 0; }
.admin-site :is(th, td), .admin-site .task-table :is(th, td) { font-size: 13px; padding: 13px 14px; border-bottom: 1px solid #e8eee9; vertical-align: middle; line-height: 1.6; }
.admin-site th, .admin-site .task-table th { color: #53655a; background: #f3f7f4; font-size: 12px; font-weight: 650; white-space: nowrap; }
.admin-site td, .admin-site .task-table td { color: var(--ui-text); background: transparent; font-variant-numeric: tabular-nums; }
.admin-site tr:hover { background: #f8faf8; }
.admin-site th:first-child { border-top-left-radius: 8px; }
.admin-site th:last-child { border-top-right-radius: 8px; }
.admin-site td .btn-secondary, .admin-site td .btn-info, .admin-site td .btn-warning, .admin-site td .btn-danger { padding: 5px 9px; font-size: 12px; min-height: 30px; }
.admin-site td:has(.user-check) { width: 36px; }
.admin-site table:has(#users-table-body) { min-width: 1060px; }
.admin-site table:has(#users-table-body) td { white-space: nowrap; }
.admin-site table:has(#users-table-body) td:last-child { min-width: 210px; }
.admin-site table:has(#users-table-body) td:last-child { white-space: normal; }
.admin-site td.empty-state { color: var(--ui-muted); text-align: center; padding: 66px 24px; }
.admin-site .table-wrap, .admin-site .task-table-wrap { border-color: var(--ui-line); scrollbar-color: #bacbc0 transparent; }
.admin-site .modal-overlay { background: rgba(28,44,36,.32); padding: 20px; backdrop-filter: blur(3px); overflow-y: auto; }
.admin-site .modal { background: #fff; color: var(--ui-text); border: 1px solid var(--ui-line); box-shadow: 0 24px 70px rgba(28,44,36,.18); border-radius: 16px; width: min(100%, 560px); max-width: 560px; max-height: calc(100dvh - 40px); overflow-y: auto; }
.admin-site .modal-header { border-bottom: 1px solid var(--ui-line); }
.admin-site .modal-title { color: var(--ui-text); }
.admin-site .modal-close { color: var(--ui-muted); border-radius: 6px; padding: 0 7px; }
.admin-site .sortable-ghost { background: var(--ui-mint); }
.admin-site .sortable-chosen { background: var(--ui-lavender); }
.login-site { padding: 28px; }
.login-site .login-container { max-width: 460px; width: 100%; padding: 38px; }
.login-site .login-container h2 { font-size: 26px; color: var(--ui-text); margin-bottom: 32px; }
.login-site .login-container h2 i { color: var(--ui-green); }
.login-site .btn-primary { min-height: 48px; letter-spacing: .5px; }
.login-site .back-link { padding-top: 10px; font-size: 13px; }

@media (min-width: 901px) {
    .public-site:has(#home-page.active) { padding-top: clamp(60px, 8vh, 90px); }
    .public-site:has(#home-page.active) .container { max-width: 1120px; }
    .public-site:has(#home-page.active) h1 { font-size: 56px; }
    .public-site:has(#home-page.active) .subtitle { font-size: 20px; }
    .public-site:has(#home-page.active) .header-decor { margin-bottom: 44px; }
    .public-site #home-page .card { padding: 58px 52px; }
    .public-site #home-page h3 { font-size: 33px; }
    .public-site #home-page .welcome-text { font-size: 18px; }
    .public-site #home-page .nav-container { margin-top: 40px; gap: 20px; }
    .public-site #home-page .nav-btn { min-height: 58px; font-size: 17px; }
    .public-site:has(#home-page.active) .footer { margin-top: 38px; }
    .public-site:has(#home-page.active) .footer div:first-child { font-size: 14px; }
}
@media (max-width: 1200px) {
    .admin-site :is(.main-content, .main) { padding: 28px 24px; }
    .admin-site .stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .admin-site .layout { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
    .admin-site { display: block; }
    .admin-site .sidebar { position: relative; inset: auto; width: 100%; height: auto; padding: 18px 20px 14px; border-right: 0; border-bottom: 1px solid var(--ui-line); overflow: visible; }
    .admin-site .sidebar h2 { padding: 0; margin: 0 0 14px; border: 0; font-size: 18px; }
    .admin-site .sidebar ul { display: flex; flex-wrap: wrap; gap: 5px; }
    .admin-site .sidebar li { margin: 0; }
    .admin-site .sidebar a { padding: 8px 11px; min-height: 38px; font-size: 13px; gap: 7px; }
    .admin-site .sidebar .logout-btn { position: absolute; right: 20px; top: 13px; margin: 0; padding: 7px 10px; border: 0; }
    .admin-site :is(.main-content, .main) { margin-left: 0; width: 100%; padding: 26px 20px; }
    .admin-site .page-title { font-size: 25px; margin-bottom: 22px; }
    .admin-site .stats-grid:has(> :nth-child(5):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .admin-site .table-wrap { max-height: 65vh; }
    .admin-site .control-panel { flex-wrap: wrap; }
}
@media (max-width: 600px) {
    .public-site { padding: 30px 16px 20px; }
    .public-site .header-decor { margin-bottom: 26px; }
    .public-site h1 { font-size: 28px; letter-spacing: -.7px; }
    .public-site .subtitle { font-size: 12px; line-height: 1.8; letter-spacing: 0; }
    .public-site .card, .public-site #home-page .card { padding: 25px 21px; border-radius: 14px; }
    .public-site .card h3 { font-size: 20px; }
    .public-site #home-page h3 { font-size: 21px; line-height: 1.6; }
    .public-site .welcome-text { font-size: 14px; }
    .public-site #home-page .nav-container { flex-direction: column; gap: 10px; margin-top: 26px; }
    .public-site #home-page .nav-btn { width: 100%; min-height: 46px; flex: auto; font-size: 14px; }
    .public-site .nav-btn { padding: 10px 14px; max-width: 100%; }
    .public-site .footer { font-size: 11px; margin-top: 24px; padding: 0; }
    .public-site .footer div:first-child { font-size: 12px; }
    .public-site .stat-box { padding: 17px; }
    .public-site .recharge-box { padding: 18px; }
    .public-site #user_display { width: 100%; margin: 0; }
    .public-site #dashboard-page h3 { font-size: 20px; }
    .public-site #upgrade-entry { padding: 8px 10px; font-size: 12px; }
    .public-site #download-page > .card > div[style*="justify-content"] { gap: 14px; }
    .public-site #noThresholdDownload-page > div > div[style*="padding: 30px"] { padding: 22px !important; }
    .public-site #noThresholdDownload-page h3 { font-size: 22px !important; }
    .public-site #tools-section .card { padding: 24px 20px; }
    .public-site #tools-section h3 { font-size: 21px; }
    .public-site #tools-section .platform-title { font-size: 17px; }
    .public-site #tools-section .tool-card { padding: 0; }
    .admin-site .sidebar { padding: 16px 12px 12px; }
    .admin-site .sidebar .logout-btn { right: 10px; top: 10px; }
    .admin-site .sidebar a { font-size: 12px; padding: 7px 9px; }
    .admin-site .sidebar h2 { font-size: 17px; }
    .admin-site .sidebar h2 i { font-size: 20px; }
    .admin-site :is(.main-content, .main) { padding: 24px 14px; }
    .admin-site .page-title { font-size: 24px; }
    .admin-site .card { padding: 18px; border-radius: 12px; }
    .admin-site .search-box { flex-direction: row; flex-wrap: wrap; align-items: stretch; }
    .admin-site .search-box input { flex: 1 1 100%; min-width: 0; max-width: none; }
    .admin-site .search-box .days-input { flex: 1 1 130px; max-width: none; }
    .admin-site .search-box button { flex: 1 1 auto; margin: 0; }
    .admin-site .control-panel { flex-direction: column; align-items: stretch; }
    .admin-site .toolbar { align-items: stretch; }
    .admin-site .toolbar input { min-width: 0; max-width: 100%; }
    .admin-site .stats-grid, .admin-site .stat-grid, .admin-site .dashboard { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .admin-site .stats-grid:has(> :nth-child(5):last-child), .admin-site .stats-grid:has(> :nth-child(6):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admin-site .stat-card, .admin-site .dash-card { padding: 18px; }
    .admin-site .stat-card .stat-value { font-size: 26px; }
    .admin-site .grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admin-site .grid-2, .admin-site .form-row { grid-template-columns: 1fr; }
    .admin-site .task-config-title, .admin-site .card-title { flex-wrap: wrap; }
    .admin-site .task-table, .admin-site .table-wrap table { min-width: 700px; }
    .admin-site .report-list { grid-template-columns: 1fr; }
    .admin-site .modal-overlay { padding: 12px; }
    .admin-site .modal { padding: 22px; max-height: calc(100dvh - 24px); }
    .login-site { padding: 20px; }
    .login-site .login-container { padding: 30px 24px; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
