/* 雪原工作台：页面共用视觉规范，业务布局保留在各页样式中。 */
:root {
  color-scheme: light;
  --bg: #f3f6f5; --paper: #f3f6f5; --surface: #fff; --field: #f6f8f7;
  --text: #233333; --text-2: #536767; --text-3: #5e706c; --muted: #5e706c;
  --ink: #263a39; --ink-2: #304745; --ink-3: #405854; --ink-line: #dce5e2;
  --on-ink: #f4f8f7; --on-ink-2: #c0d0cb;
  --line: #dfe7e3; --line-2: #cbd8d2; --line-strong: #cbd8d2;
  --blue: #13796d; --blue-dark: #0c6258; --blue-hover: #0c6258; --blue-soft: #e7f3ee;
  --green: #13796d; --green-hover: #0c6258; --teal: #178471; --teal-text: #117260; --teal-soft: #e6f3ec; --ok: #117260;
  --red: #d96661; --red-text: #b33f3b; --red-soft: #fceeea; --danger: #b33f3b;
  --gold: #d8a14f; --gold-text: #896022; --gold-soft: #fcf3e2;
  --r: 8px; --r-sm: 5px; --container: 1440px; --pad: 32px;
  --shadow-sm: 0 2px 6px #253d3210; --shadow: 0 8px 24px #253d3212; --shadow-md: var(--shadow);
  --ring: 0 0 0 3px #13796d24; --sf-nav-height: 76px;
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --bg: #171d1c; --paper: #171d1c; --surface: #222b29; --field: #1c2523;
  --text: #e4eeea; --text-2: #b3c5be; --text-3: #96aba2; --muted: #96aba2;
  --ink: #121a18; --ink-2: #24342e; --ink-3: #34483f; --ink-line: #38483f;
  --line: #36473e; --line-2: #4b6053; --line-strong: #4b6053;
  --blue: #67c7af; --blue-dark: #8fdec8; --blue-hover: #8fdec8; --blue-soft: #263f36;
  --green: #237d6b; --green-hover: #1f715f; --teal: #7bd3ab; --teal-text: #86d6b3; --teal-soft: #293e32; --ok: #86d6b3;
  --red: #e9897f; --red-text: #f0a097; --red-soft: #492e2a; --danger: #f0a097;
  --gold: #d8b574; --gold-text: #e5c286; --gold-soft: #413b2c;
  --shadow-sm: 0 2px 8px #00000014; --shadow: 0 8px 24px #00000026;
}
html { scroll-padding-top: 145px; }
body { background: var(--bg); color: var(--text); font-family: "Microsoft YaHei", "PingFang SC", "Segoe UI", sans-serif; font-size: 14px; letter-spacing: 0; }
body, button, input, select, textarea, h1, h2, h3, p { letter-spacing: 0; }
button, input, select, textarea { font: inherit; }
button { border-radius: 6px; transition: background .15s, border-color .15s, color .15s; }
button:active, .btn:active { transform: none; }
button:disabled { cursor: not-allowed; }
input:not([type="checkbox"]):not([type="radio"]), select, textarea { min-height: 44px; border: 1px solid var(--line-2); background: var(--field); color: var(--text); border-radius: 6px; }
input:focus, select:focus, textarea:focus { border-color: var(--blue); box-shadow: var(--ring); }
button:focus-visible, a:focus-visible, summary:focus-visible, input:focus-visible, select:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
h1 { font-size: 26px; } h2 { font-size: 19px; } h3 { font-size: 16px; }
[hidden] { display: none !important; }
.sf-message-dialog { width: min(440px, calc(100vw - 32px)); max-width: calc(100vw - 32px); padding: 24px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); color: var(--text); max-height: calc(100dvh - 32px); overflow: auto; box-shadow: var(--shadow); position: fixed; inset: 0; margin: auto; }
.sf-message-dialog::backdrop { background: #10201b80; }
.sf-message-dialog h2 { margin: 0 0 16px; }
.sf-message-dialog p { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.7; color: var(--text-2); margin: 0 0 20px; }
.sf-message-dialog input { width: 100%; box-sizing: border-box; }
.available-access-key-field select { background:var(--field); color:var(--text); border-color:var(--line-2); }
.sf-message-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 24px; }
.sf-message-actions button { min-height: 44px; min-width: 80px; padding: 8px 18px; border: 1px solid var(--line-2); background: var(--field); color: var(--text); }
.sf-message-actions .primary { background: var(--green); color: #fff; border-color: var(--green); }
svg.lucide { width: 18px; height: 18px; flex: 0 0 18px; vertical-align: middle; }
button:has(> svg), a:has(> svg) { display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.sf-icon-button { width: 44px; height: 44px; min-width: 44px; padding: 0; border: 1px solid var(--line); background: var(--surface); color: var(--text-2); display: inline-flex; align-items: center; justify-content: center; }
.sf-icon-button:hover { color: var(--blue); background: var(--blue-soft); border-color: var(--blue); }
.sf-theme { margin-left: auto; flex-shrink: 0; }
.gicon { width:32px; height:32px; object-fit:contain; flex:0 0 32px; }
svg.lucide.gicon { width:28px; height:28px; flex-basis:28px; }
svg.lucide.task-marker { width:44px; height:44px; flex-basis:44px; padding:10px; color:var(--blue); }
svg.lucide.row-label-icon { width:32px; height:32px; flex-basis:32px; color:var(--blue); }
.task-record-dialog h2 { display:flex; align-items:center; gap:10px; }
.sf-admin-status { margin-bottom:16px; color:var(--blue-dark); }
.sf-admin-status:empty { display:none; }
.sf-admin-status.err { color:var(--red-text); }
.config-actions .msg:empty { display:none; }
label.chk, .intelligence-setting, .subtask-option { min-height:44px; }
.config-template-save, .app-shell button.primary { background:var(--green); color:#fff; border-color:var(--green); }
.user-access-key-import { width:auto!important; min-width:116px; height:44px; flex:0 0 auto; padding:0 14px; white-space:nowrap; background:var(--green); color:#fff; }
.account-dashboard-top-actions { display:flex; align-items:center; }
.runtime-log-device-select select, select.runtime-log-device-select, .app-shell select.account-select { background:var(--field); color:var(--text); border-color:var(--line-2); }
.account-home-heading h2, .account-home-head h2, .account-home-header h2 { color:var(--text); }
.admin-section .off { color:var(--text-2); background:var(--field); }
.app-shell .topbar { display:block; padding:0; }
.role-topbar-inner { width:100%; max-width:var(--container); margin:auto; padding:16px var(--pad); display:flex; align-items:center; gap:16px; }
.app-shell .top-title { display:block; margin:0 auto 0 0; text-align:left; }
.app-shell .topbar { height:auto; min-height:56px; }
.app-shell .avatar { display:none; }
.app-shell .account-select { background:var(--field); color:var(--text); border-color:var(--line-2); }
.app-shell .back { width:44px; height:44px; flex:0 0 44px; border-radius:6px; background:var(--surface); color:var(--text); }
.app-shell .tabs { width:100%; max-width:none; height:58px; align-items:stretch; gap:28px; padding:0 max(var(--pad),calc((100% - var(--container))/2 + var(--pad))); }
.app-shell .tab { height:58px; padding:0 4px; }
.app-shell .workspace { width:100%; max-width:var(--container); }
.app-shell .config-page { width:100%; max-width:none; }
.app-shell .panel-title { border:0; padding:0; margin:0 0 18px; text-align:left; font-size:18px; }
.app-shell .panel-title::before, .app-shell .panel-title::after { display:none; }
.app-shell .app-status { padding:12px 0; margin-bottom:22px; }
.app-shell .app-status:empty { display:none; }
#summaryRows { display:grid; gap:28px; }
.role-profile { padding:24px 28px 18px; background:var(--surface); border:1px solid var(--line); border-radius:12px; }
.role-profile-top, .role-identity, .role-connection { display:flex; align-items:center; gap:16px; }
.role-profile-top { justify-content:space-between; gap:24px; }
.role-identity { min-width:0; }
.role-identity-copy { min-width:0; }
.role-avatar { width:56px; height:56px; flex:0 0 56px; display:grid; place-items:center; border-radius:14px; background:var(--blue-soft); color:var(--blue); }
.role-avatar svg.lucide { width:28px; height:28px; }
.role-eyebrow { font-size:12px; color:var(--text-3); }
.role-identity h2 { margin:4px 0 8px; font-size:24px; line-height:1.4; overflow-wrap:anywhere; }
.role-identity-meta { display:flex; flex-wrap:wrap; gap:6px 16px; color:var(--text-3); font-size:12px; }
.role-connection { flex-shrink:0; flex-wrap:wrap; gap:10px; color:var(--text-3); font-size:12px; }
.role-connection .toggle-switch { margin:0; }
.role-badge { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; min-height:26px; padding:4px 9px; border-radius:5px; color:var(--text-3); background:var(--field); font-size:12px; white-space:nowrap; }
.role-badge.ok { color:var(--teal-text); background:var(--teal-soft); }
.role-badge.busy { color:var(--gold-text); background:var(--gold-soft); }
.role-badge.fail { color:var(--red-text); background:var(--red-soft); }
.role-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:24px; padding-top:22px; border-top:1px solid var(--line); }
.role-stat { min-width:0; padding:0 24px; border-left:1px solid var(--line); display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.role-stat:first-child { padding-left:0; border:0; }
.role-stat:last-child { padding-right:0; }
.role-stat-label { display:flex; align-items:center; gap:7px; color:var(--text-3); font-size:12px; }
.role-stat-label svg { color:var(--blue); }
.role-stat strong { font-size:26px; line-height:1.3; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.role-stat[data-stat="alliance"] strong { font-size:20px; }
.role-stat small, .role-sync-note { color:var(--text-3); font-size:12px; line-height:1.6; }
.role-sync-note { margin:20px 0 0; }
.role-section-head { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:6px 16px; margin-bottom:14px; }
.role-section-head h3 { margin:0; font-size:17px; }
.role-section-head p { margin:0; color:var(--text-3); font-size:12px; }
.role-resource-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.role-resource-card { min-width:0; padding:20px; background:var(--surface); border:1px solid var(--line); border-radius:10px; }
.role-resource-title { display:flex; align-items:center; gap:10px; margin-bottom:16px; }
.role-resource-title h4 { margin:0; font-size:14px; font-weight:600; }
.role-resource-title .gicon { width:32px; height:32px; }
.role-resource-total { display:block; font-size:28px; line-height:1.3; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.role-resource-exact { display:block; margin-top:6px; font-size:12px; color:var(--text-3); overflow-wrap:anywhere; }
.role-resource-breakdown { margin:18px 0 0; padding-top:12px; border-top:1px solid var(--line); display:grid; gap:8px; font-size:12px; }
.role-resource-breakdown > div { display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 8px; }
.role-resource-breakdown dt { color:var(--text-3); }
.role-resource-breakdown dd { margin:0; color:var(--text-2); font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.role-queue-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.role-queue-panel { min-width:0; padding:20px; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.role-queue-panel h4 { margin:0 0 6px; font-size:14px; }
.role-queue-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 0; border-bottom:1px solid var(--line); }
.role-queue-row:last-child { border:0; padding-bottom:0; }
.role-queue-copy { display:grid; gap:6px; min-width:0; }
.role-queue-copy strong { font-size:13px; font-weight:500; }
.role-queue-copy small { color:var(--text-3); font-size:12px; line-height:1.5; }
.role-panel-note { margin:14px 0 0; color:var(--text-3); font-size:12px; line-height:1.7; }
.role-march-count { display:block; margin-top:28px; font-size:34px; line-height:1.2; font-variant-numeric:tabular-nums; }
.role-march-meter { display:flex; gap:6px; margin-top:22px; }
.role-march-meter span { flex:1; height:6px; border-radius:3px; background:var(--line); }
.role-march-meter span.busy { background:var(--blue); }
.app-shell .row-copy strong { color:var(--text); overflow-wrap:anywhere; }
.app-shell .row-control .pill { border-radius:4px; background:var(--field); color:var(--text-3); }
.app-shell .row-control .pill.ok { color:var(--teal-text); background:var(--teal-soft); }
.app-shell .row-control .pill.fail { color:var(--red-text); background:var(--red-soft); }
#buildingList { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
#buildingList .config-row { display:block; margin:0; padding:18px; }
#buildingList .row-label { width:100%; justify-content:flex-start; gap:12px; margin-bottom:12px; padding:0; text-align:left; }
#dailyList .row-label { justify-content:flex-start; padding:0; text-align:left; }
#buildingList .row-control { min-width:0; gap:10px; }
@media(max-width:900px) {
  #buildingList, .role-resource-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .role-profile-top { align-items:flex-start; }
  .role-connection { max-width:160px; justify-content:flex-end; }
  .role-queue-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .role-march-panel { grid-column:1/-1; }
  .role-march-count { margin-top:18px; }
}
@media(max-width:700px) {
  .app-shell { --pad:16px; }
  #buildingList { grid-template-columns:1fr; }
  .role-topbar-inner { flex-wrap:wrap; gap:10px; padding:12px var(--pad); }
  .role-profile { padding:18px; }
  .role-profile-top { flex-wrap:wrap; gap:18px; }
  .role-avatar { width:44px; height:44px; flex-basis:44px; border-radius:10px; }
  .role-identity h2 { font-size:20px; }
  .role-connection { max-width:none; width:100%; justify-content:flex-end; }
  .role-connection .role-badge { margin-right:auto; }
  .role-stats { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 0; margin-top:18px; padding-top:18px; }
  .role-stat { padding:0 16px; }
  .role-stat strong { font-size:23px; }
  .role-stat:last-child { grid-column:1/-1; border:0; border-top:1px solid var(--line); padding:16px 0 0; }
  .role-resource-grid { gap:12px; }
  .role-resource-card { padding:16px 14px; }
  .role-resource-total { font-size:24px; }
  .role-queue-grid { grid-template-columns:1fr; gap:12px; }
  .role-queue-panel { padding:18px; }
  .role-march-panel { grid-column:auto; }
  .app-shell .topbar { gap:10px; }
  .app-shell .top-actions { display:flex; flex-wrap:wrap; }
  .app-shell .account-select { flex-basis:100%; min-width:0; width:100%; }
  .app-shell .config-template-toolbar { gap:8px; }
}
.sf-nav-backdrop { position:fixed; inset:74px 0 0; z-index:49; background:#10201b66; border:0; border-radius:0; }
.admin-section .filters { display:flex; gap:10px; }
.admin-section .filters select { width:auto; min-width:160px; }
@media(min-width:901px) {
  #acctTbl td:first-child { min-width:90px; }
  #acctTbl td:nth-child(3) { min-width:90px; }
}
@media(max-width:900px) {
  .admin-section td > * { grid-column:2; }
  .admin-section td[colspan] > * { grid-column:auto; }
}
.account-dashboard-nav button svg, .config-nav button svg { color:currentColor; }
.gather-panel > .task-panel-body > .grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.gather-panel > .task-panel-body > .grid > .field-wide { grid-column:1/-1; }
.training-panel .task-panel-body > .grid { gap:0; }
.training-panel .task-panel-body > .grid > div:first-child { display:none; }
.training-hint { margin:10px 0; }
.training-row { padding:10px 0; }
.sf-segmented button, .sf-advanced summary, .sf-account-extra > summary { min-height:44px; }
.account-game-avatar { width:44px; height:44px; border-radius:6px; }
.account-game-avatar .gicon { width:40px; height:40px; }
.account-resource-item .gicon { width:28px; height:28px; margin:0 auto; }
.account-dashboard-brand strong { color:var(--text); }
.account-dashboard-service > div, .account-dashboard-service > p, .account-dashboard-service small { display:none; }
.tmf-top, .account-dashboard-sidebar, .config-sidebar { background: var(--surface); color: var(--text); border-bottom: 1px solid var(--line); box-shadow: none; }
.tmf-top-inner, .account-dashboard-sidebar, .config-sidebar { min-height: var(--sf-nav-height); padding: 14px max(var(--pad), calc((100% - var(--container)) / 2 + var(--pad))); }
.account-dashboard-sidebar, .config-sidebar { display: flex; align-items: center; gap: 24px; position: sticky; top: 0; z-index: 40; width: 100%; }
.config-shell, .account-home, .login-screen.account-home { display: block; background: var(--bg); min-height: 100vh; padding: 0; }
.account-dashboard-brand, .config-brand, .tmf-brand { padding: 0; margin: 0; gap: 10px; flex-shrink: 0; }
.account-dashboard-brand > span, .config-brand strong, .tmf-brand-text, .admin-brand strong { color: var(--text); font-size: 14px; line-height: 1.35; }
.account-dashboard-logo, .config-logo, .tmf-brand-logo, .admin-logo { width: 40px; height: 40px; flex-basis: 40px; background: transparent; padding: 0; border: 0; }
#dashboardMenuBtn:disabled { opacity: 1; cursor: default; }
.account-dashboard-nav-title, .config-nav-title { display: none; }
.account-dashboard-nav, .config-nav { display: flex; gap: 6px; align-items: center; width: auto; margin: 0; padding: 0; }
.account-dashboard-nav button, .config-nav button, .tmf-nav-item { height: 44px; min-height: 44px; width: auto; padding: 0 15px; gap: 8px; color: var(--text-2); font-size: 13px; border: 0; background: transparent; white-space: nowrap; }
.account-dashboard-nav button.active, .config-nav button.active { background: var(--blue-soft); color: var(--blue-dark); box-shadow: none; }
.account-dashboard-nav button:hover, .config-nav button:hover { color: var(--blue-dark); background: var(--field); }
.account-dashboard-nav em { background: var(--surface); color: var(--blue); border-radius: 4px; padding: 0 5px; }
.account-dashboard-service, .config-service { border: 0; padding: 0; margin: 0 0 0 auto; width: auto; color: var(--text-3); white-space: nowrap; font-size: 11px; }
.account-dashboard-service strong, .config-service strong { color: var(--teal-text); font-size: 12px; }
.account-dashboard-sidebar .sf-theme, .config-sidebar .sf-theme { margin-left: 0; }
.account-home-panel { width: min(100%, var(--container)); padding: 0 var(--pad) 36px; margin: 0 auto; }
.account-dashboard-topbar { padding: 20px 0 16px; margin: 0; min-height: 88px; border: 0; background: transparent; }
.account-dashboard-topbar h1 { font-size: 24px; color: var(--text); }
.account-dashboard-topbar p { color: var(--text-3); font-size: 13px; margin-top: 6px; }
.account-dashboard-user { color: var(--text-2); background: var(--surface); border: 1px solid var(--line); border-radius: 5px; padding: 8px 12px; }
.account-dashboard-overview { display: block; margin: 0 0 16px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
#dashboardStartAllBtn { min-height:44px; padding:0 12px; color:var(--blue-dark); background:var(--surface); border:1px solid var(--line-2); display:inline-flex; align-items:center; gap:7px; }
.account-dashboard-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; padding: 12px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: transparent; }
.account-dashboard-stats > div { min-height: 36px; padding: 0 20px; display: grid; align-items:center; grid-template-columns: 30px minmax(0,1fr) auto; grid-template-rows: auto; gap: 10px; border: 0; border-right: 1px solid var(--line); border-radius: 0; background: transparent; box-shadow: none; }
.account-dashboard-stats > div:last-child { border-right: 0; }
.account-dashboard-stats > div > span { width: 30px; height: 30px; grid-row:auto; align-self: center; background: var(--blue-soft); border-radius: 6px; }
.account-dashboard-stats small { color: var(--text-3); font-size: 12px; }
.account-dashboard-stats strong { font-size: 22px; line-height: 1.25; color: var(--text); font-variant-numeric: tabular-nums; }
.account-dashboard-stats .green { background: var(--teal-soft); }.account-dashboard-stats .amber { background: var(--gold-soft); }.account-dashboard-stats .red { background: var(--red-soft); }
.account-home-header { margin: 0 0 16px; padding:0; align-items: center; flex-wrap: wrap; }
.account-home-title h2 { font-size: 18px; }.account-home-title span { color: var(--text-3); }
.account-home-tools { display:flex; flex-direction:row; align-items:center; gap:12px; flex:0 0 auto; flex-wrap:nowrap; width:auto; margin-left:auto; }
.sf-search { width:230px; flex:0 0 230px; height:44px; padding:0 12px; }
.account-filter-list { flex-shrink:0; background:transparent; padding:0; border:0; gap:3px; max-width:none; }
.account-filter-list button { min-width:44px; min-height:44px; white-space:nowrap; color:var(--text-2); background:transparent; border-radius:5px; }
.account-filter-list button.active { color: var(--blue-dark); background: var(--blue-soft); box-shadow: none; }
.account-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; align-items: start; }
.account-card { min-width: 0; min-height: 0; padding: 20px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); box-shadow: var(--shadow-sm); }
.account-card:hover, .account-card.active { transform: none; border-color: var(--line-2); box-shadow: var(--shadow); }
.account-card.active { border-top: 3px solid var(--blue); padding-top: 18px; }
.account-card-title h3 { font-size: 16px; color:var(--text); white-space: normal; overflow-wrap: anywhere; }
.account-card-title p { font-size: 12px; color: var(--text-3); }
.account-role-avatar { background: var(--blue-soft); border: 0; border-radius: 7px; color: var(--blue); }
.account-meta-grid { gap: 8px; margin: 14px 0; }.account-meta-grid strong { color: var(--text); }
.account-card-section-head { color: var(--text-3); margin-top: 16px; font-size: 12px; }
.account-card-section-head strong { font-size: 12px; color: var(--text-2); }
.account-state-badge, .channel-badge { border-radius: 4px; font-weight: 500; }
.account-card-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)) 44px; gap:8px; padding-top:16px; margin-top:16px; border-color:var(--line); }
.account-card-button { min-height: 44px; padding: 0 12px; background: var(--surface); border: 1px solid var(--line-2); color: var(--text-2); border-radius: 5px; }
.account-card-button.primary, .account-dashboard-add-button, .dialog-submit { background: var(--green); color: #fff; border-color: var(--green); }
.sf-account-more { position: relative; margin-left: auto; }
.sf-account-more summary { list-style: none; cursor: pointer; }.sf-account-more summary::-webkit-details-marker { display:none; }
.sf-action-menu { position: absolute; right: 0; top: 48px; width: 170px; z-index: 12; display: grid; padding: 6px; background: var(--surface); border: 1px solid var(--line-2); border-radius: 7px; box-shadow: var(--shadow); }
.sf-action-menu button { justify-content: flex-start; border: 0; margin: 0; width: 100%; }
.sf-action-menu button:hover { background: var(--field); }
.sf-account-extra { margin-top: 16px; border-top: 1px solid var(--line); padding-top: 6px; }.sf-account-extra > summary { cursor: pointer; color: var(--text-3); font-size: 12px; min-height: 36px; display:flex; align-items:center; justify-content:space-between; }
.add-account-card { min-height: 156px; height: auto; border: 1px dashed var(--line-2); border-radius: 8px; background: transparent; color: var(--text-3); box-shadow: none; }
.add-account-card:hover { background: var(--blue-soft); border-color: var(--blue); color: var(--blue); }
.sf-empty { padding: 40px 20px; text-align: center; color: var(--text-3); grid-column: 1/-1; }
.config-topbar { position: static; border: 0; background: transparent; }.config-topbar-inner { max-width: var(--container); padding: 22px var(--pad) 0; margin:auto; color:var(--text); }.topbar-title { color: var(--text); }.topbar-action { color:var(--text-2); border-color:var(--line); background:var(--surface); }
.config-main { width: min(100%,var(--container)); margin: auto; padding: 22px var(--pad) 100px; }
.config-workspace, .config-content { width:100%; max-width:none; margin:0; padding:0; }
.device-context { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:0 0 26px; border:0; background:transparent; box-shadow:none; border-radius:0; }
.device-context h1 { font-size:26px; }.device-context p { margin-top:6px; color:var(--text-3); }.context-kicker { display:none; }.device-identity { background:transparent; border:0; color:var(--text-3); }
.section-kicker { display:none; }.task-settings { border:0; padding:0; background:transparent; }.section-heading { display:none; }
.config-content { display:block; padding-top:0; }
.sf-config-toolbar { display:flex; align-items:center; gap:12px; padding:0 0 18px; flex-wrap:wrap; }
.sf-config-groups { display:flex; gap:4px; min-width:0; overflow-x:auto; flex:1; }
.sf-config-groups button { min-height:44px; flex:0 0 auto; padding:0 14px; background:transparent; color:var(--text-2); border:0; border-radius:5px; }
.sf-config-groups button.active { background:var(--surface); color:var(--blue-dark); box-shadow:inset 0 -2px var(--blue); }
#taskSearch { width:210px; padding:0 12px; }#taskEnabledFilter { width:130px; padding:0 10px; }
.sf-config-count { margin:0 0 16px; font-size:12px; color:var(--text-3); }
.task-grid { --task-inset:20px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-items:stretch; }
.task-panel { min-width:0; min-height:0; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:8px; background:var(--surface); box-shadow:var(--shadow-sm); overflow:hidden; }
.task-panel.gather-panel, .task-panel.trap-panel { grid-column:auto; }
.task-panel.trap-panel:has(.sf-trap-body:not([hidden])) { grid-column:1/-1; }
.task-panel-header { min-height:84px; padding:var(--task-inset); background:transparent; border-bottom:1px solid var(--line); align-items:center; gap:12px; }
.task-panel-heading { display:flex; align-items:center; gap:12px; min-width:0; }
.task-marker { width:44px; height:44px; min-width:44px; padding:3px; border-radius:7px; background:var(--blue-soft); object-fit:contain; }
.defense-panel .task-marker, .trap-panel .task-marker { background:var(--gold-soft); }.reward-panel .task-marker { background:var(--field); }
.task-panel-heading h3 { color:var(--text); font-size:16px; line-height:1.4; }.task-panel-heading p { color:var(--text-3); font-size:11px; margin:4px 0 0; line-height:1.5; }
.task-switch { min-height:44px; padding:0; gap:5px; flex-shrink:0; }.task-switch-state { font-size:10px; color:var(--text-3); }
.task-panel .task-panel-body { padding:var(--task-inset); flex:1; }.task-panel .grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.task-panel label, .task-panel legend { color:var(--text-2); font-size:12px; margin-bottom:6px; }
.task-panel select, .task-panel input[type="number"] { padding:0 12px; height:44px; width:100%; }
.task-description { color:var(--text-3); font-size:12px; line-height:1.7; margin:0; }
.task-panel .hint, .training-hint { font-size:11px; color:var(--text-3); line-height:1.65; }
.resource-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.resource-list label.chk { position:relative; min-height:74px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; margin:0; padding:10px 5px; border:1px solid var(--line); border-radius:6px; background:var(--field); color:var(--text-2); cursor:pointer; }
.resource-list label:has(input:checked) { border-color:var(--blue); background:var(--blue-soft); color:var(--blue-dark); }
.resource-list input[type="checkbox"] { position:absolute; top:7px; right:7px; width:14px; height:14px; min-height:14px; margin:0; }
.resource-list .gicon { width:32px; height:32px; flex-basis:32px; }.resource-list label span { font-size:12px; }
.sf-advanced { border-top:1px solid var(--line); margin-top:18px; padding-top:8px; }.sf-advanced summary { min-height:36px; cursor:pointer; color:var(--text-2); font-size:12px; }.sf-advanced[open] summary { margin-bottom:10px; }
.sf-segmented { display:flex; padding:3px; gap:3px; background:var(--field); border:1px solid var(--line); border-radius:6px; }
.sf-segmented button { flex:1; min-height:36px; border:0; background:transparent; color:var(--text-3); font-size:12px; }
.sf-segmented button[aria-pressed="true"] { background:var(--surface); color:var(--blue-dark); box-shadow:var(--shadow-sm); }
.task-panel .row.training-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(105px,1fr); gap:12px; padding:10px 0; border:0; border-top:1px solid var(--line); border-radius:0; background:transparent; }
.training-panel .rows { gap:0; }
.training-row .fixed-soldier { display:flex; align-items:center; gap:8px; }.fixed-soldier > span { font-size:0; }.fixed-soldier img { width:32px; height:32px; }.fixed-soldier strong { font-size:13px; color:var(--text); }.training-row label { margin:0; }
.compact-task-panel, .trap-panel { min-height:240px; }
.compact-task-panel .task-panel-header { border-bottom:0; }.compact-task-panel .task-panel-body { padding-top:0; min-height:84px; align-items:flex-start; }
.task-records { padding:0 var(--task-inset); background:var(--field); border-top:1px solid var(--line); margin-top:auto; }
.task-record-summary { min-height:58px; padding:8px 0; background:transparent; border:0; width:100%; color:var(--text-2); }
.task-record-summary-copy strong { font-size:11px; color:var(--text-3); }.task-record-summary-copy > span { font-size:11px; color:var(--text-3); }.task-record-count { background:var(--surface); color:var(--text-2); border-radius:4px; font-size:11px; }
.alliance-chest-subtask { display:grid; grid-template-columns:minmax(0,1fr) 140px; align-items:center; gap:16px; background:transparent; border:0; border-bottom:1px solid var(--line); border-radius:0; margin:0; padding:10px 0; }
.alliance-chest-subtask + .alliance-chest-subtask { border-left:0; }
.alliance-chest-subtask:last-child { border-bottom:0; }
.alliance-chest-option { min-height:64px; padding:0; }
.alliance-chest-subtask .task-records { height:auto; min-height:44px; margin:0; padding:0; background:transparent; border:0; }
.alliance-chest-subtask .task-record-summary { height:auto; min-height:44px; grid-template-columns:minmax(0,1fr) auto; gap:6px; }
.alliance-chest-subtask .task-record-chevron { display:none; }
.subtask-option { background:transparent; border:0; border-radius:0; padding:10px 0; border-bottom:1px solid var(--line); }.subtask-copy strong { color:var(--text); }.subtask-copy span { color:var(--text-3); }
.intelligence-settings { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; }
.intelligence-settings .intelligence-setting { background:transparent; min-height:60px; margin:0; padding:12px 0; border:0; border-bottom:1px solid var(--line); }
.intelligence-settings .intelligence-formation-setting { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1fr) minmax(140px,1fr); gap:16px; align-items:center; }
.intelligence-formation-setting label { margin:0; }
.sf-trap-body { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 30px; }.sf-trap-section { min-width:0; padding:12px 0; border-bottom:1px solid var(--line); }.sf-trap-section h4 { margin:0 0 14px; color:var(--text-2); font-size:13px; }.sf-trap-section.full { grid-column:1/-1; }
.sf-trap-section > div, .sf-trap-section > fieldset { margin-bottom:16px; }
.sf-trap-section > :last-child { margin-bottom:0; }
.pick-grid { gap:8px; }.pick-grid .chk { border:1px solid var(--line); background:var(--field); border-radius:5px; padding:8px 10px; margin:0; }.pick-grid .chk:has(input:checked) { background:var(--blue-soft); border-color:var(--blue); }.pick-power { color:var(--text-3); }.pick-grid-empty { background:var(--field); color:var(--text-3); border:0; }
.sf-task-expand { margin-left:0; flex-shrink:0; }.trap-panel .task-panel-heading { margin-right:auto; }.sf-task-expand summary { min-height:44px; color:var(--blue); cursor:pointer; font-size:12px; }
.operations-section { margin:24px 0; padding:24px 0; background:transparent; border:0; border-top:1px solid var(--line); border-radius:0; box-shadow:none; }.operations-layout { display:grid; grid-template-columns:260px minmax(0,1fr); gap:32px; }.operations-copy h2 { color:var(--text); }.operations-copy p { color:var(--text-3); }.operations-grid { gap:16px; }
.config-actions { position:fixed; bottom:0; left:0; right:0; z-index:35; min-height:76px; display:flex; align-items:center; gap:10px; padding:14px max(var(--pad),calc((100% - var(--container))/2 + var(--pad))); margin:0; border-top:1px solid var(--line); background:var(--surface); box-shadow:0 -4px 18px #213a3010; border-radius:0; }
.config-actions button { min-height:44px; padding:0 18px; }.config-actions .primary { flex:0 0 auto; background:var(--green); color:white; border-color:var(--green); }#configDirtyStatus { margin-right:auto; color:var(--text-3); font-size:12px; }#configDirtyStatus.dirty { color:var(--gold-text); }.config-actions .msg { max-width:35%; font-size:12px; }
.sf-field-invalid { outline:2px solid var(--red-text)!important; outline-offset:2px; }
.app-shell, .workspace, .config-page { background:var(--bg); }.topbar { border:0; border-bottom:1px solid var(--line); background:var(--surface); color:var(--text); }.top-title { color:var(--text); font-size:20px; }.top-button { background:var(--surface); color:var(--text-2); border:1px solid var(--line-2); min-height:44px; }.tabs { background:var(--surface); border-bottom:1px solid var(--line); }.tabs .tab { background:transparent; color:var(--text-2); }.tabs .tab.active { color:var(--blue); border-color:var(--blue); }.workspace { max-width:var(--container); margin:auto; padding:24px var(--pad); display:block; }.config-section { background:transparent; border:0; box-shadow:none; padding:0; }.config-template-toolbar { padding:0 0 20px; }.config-row { background:var(--surface); border:1px solid var(--line); border-radius:7px; margin-bottom:12px; padding:18px; }.row-label { color:var(--text); }.row-copy strong { color:var(--text); }.row-copy small { color:var(--text-3); }.row-label-icon { width:36px; height:36px; object-fit:contain; }
#dailyList { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; align-items:start; }#dailyList .group-title { grid-column:1/-1; margin:14px 0 0; color:var(--text-2); font-size:15px; }#dailyList .config-row { display:flex; flex-direction:column; gap:16px; min-height:0; margin:0; padding:18px; }#dailyList .row-label { width:100%; display:flex; align-items:center; gap:10px; font-size:14px; }#dailyList .row-control { width:100%; display:flex; flex-direction:column; align-items:stretch; gap:12px; }#dailyList .row-control button { min-height:44px; }#dailyList .row-copy { width:100%; }#dailyList .row-control input { max-width:100%; }
.runtime-log-panel { background:var(--surface); border:1px solid var(--line); border-radius:7px; box-shadow:none; }.runtime-log-sidebar { background:var(--field); border-color:var(--line); }.runtime-log-category { background:transparent; color:var(--text-2); border-radius:5px; }.runtime-log-category.active { color:var(--blue); background:var(--blue-soft); }.runtime-log-toolbar { background:var(--surface); border-color:var(--line); }.runtime-log-list { background:var(--surface); color:var(--text-2); border-color:var(--line); }.runtime-log-line { border-color:var(--line); }.runtime-log-level.info { background:var(--teal-soft); color:var(--teal-text); }.runtime-log-level.warn { background:var(--gold-soft); color:var(--gold-text); }.runtime-log-level.error { background:var(--red-soft); color:var(--red-text); }.runtime-log-option, .runtime-log-limit { color:var(--text-3); background:transparent; }.runtime-log-empty { color:var(--text-3); }
.user-access-key-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }.user-access-key-card { padding:20px; background:var(--surface); border-color:var(--line); box-shadow:var(--shadow-sm); }.user-access-key-card code { background:var(--field); border-radius:5px; }.user-access-key-copy { background:var(--blue-soft); color:var(--blue-dark); }
.account-modal-panel, .login-panel, .access-key-dialog, .task-record-dialog, .daily-config-item { background:var(--surface); border:1px solid var(--line); border-radius:8px; color:var(--text); }.account-modal-panel { padding:24px; }.account-modal-head h1, .access-key-dialog h2, .task-record-dialog h2 { color:var(--text); font-size:20px; }.account-modal .login-panel { padding:0; border:0; box-shadow:none; background:transparent; max-width:none; }.modal-close { background:var(--field); color:var(--text-2); }.channel-card { background:var(--field); border:1px solid var(--line); border-radius:6px; color:var(--text); }.channel-card.selected { border-color:var(--blue); background:var(--blue-soft); }.channel-icon { background:transparent; color:var(--blue); }.step-dot { background:var(--field); color:var(--text-3); }.step-item.active .step-dot { background:var(--green); color:#fff; }.step-item { color:var(--text-3); }.modal-next, .login, .send { background:var(--green); color:#fff; }.secondary-login, .dialog-actions button { background:var(--field); color:var(--text-2); border:1px solid var(--line); }.dialog-actions .dialog-submit { background:var(--green); color:#fff; }.daily-config-intro, .daily-config-item-copy small { color:var(--text-3); }.task-record-dialog-shell { background:var(--surface); }.task-record-dialog-head { background:var(--surface); border-color:var(--line); }.task-record-dialog-item { background:var(--surface); border-color:var(--line); color:var(--text-2); }.task-record-dialog-empty { color:var(--text-3); }
.admin-shell { display:grid; grid-template-columns:208px minmax(0,1fr); }.admin-sidebar { position:sticky; top:0; height:100dvh; display:flex; flex-direction:column; align-items:stretch; flex-wrap:nowrap; padding:24px 16px; gap:32px; border:0; border-right:1px solid var(--line); background:var(--surface); }.admin-brand { gap:10px; }.admin-nav { display:flex; flex-direction:column; align-items:stretch; gap:6px; }.admin-nav a { color:var(--text-2); padding:0 12px; justify-content:flex-start; }.admin-nav a:hover { background:var(--field); color:var(--blue); }.admin-page { min-width:0; }.admin-topbar { padding:22px 32px; background:var(--surface); border-color:var(--line); gap:12px; }.admin-topbar h1 { margin-right:auto; font-size:22px; }.admin-topbar .sf-theme { margin:0; }.admin-main { max-width:1500px; padding:28px 32px; }.admin-section .section-head h2 { font-size:18px; }.admin-section .section-head p { font-size:12px; color:var(--text-3); }.admin-section table { min-width:0; table-layout:auto; }.admin-section td { font-size:12px; color:var(--text-2); overflow-wrap:anywhere; }.admin-section th { background:var(--field); color:var(--text-3); font-size:11px; }.admin-section tbody tr:hover { background:var(--field); }.admin-section .actions { min-width:150px; max-width:230px; }.admin-section .actions button { min-height:36px; padding:0 9px; }.admin-section .profile-cell { min-width:120px; max-width:190px; }.admin-section .table-wrap { box-shadow:none; border-color:var(--line); border-radius:6px; }.admin-section .key-create { border:0; border-radius:0; padding:20px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); box-shadow:none; background:transparent; }.admin-section .key-create { grid-template-columns:minmax(160px,1fr) 110px 80px minmax(110px,1fr) auto; }.admin-section .invitation-create { grid-template-columns:minmax(180px,1fr) 110px auto; }.admin-section .settings-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; padding:22px 0; border-bottom:1px solid var(--line); }.admin-section .registration-toggle, .admin-section .registration-limit-field { padding:0; border:0; border-radius:0; background:transparent; min-height:60px; }.admin-section .registration-limit-field input { min-height:44px; background:var(--surface); }.registration-usage span { border:0; border-radius:0; border-left:2px solid var(--line-2); background:transparent; }.settings-save { background:var(--green); border-color:var(--green); color:#fff; }.admin-section .key-create button { background:var(--green); border-color:var(--green); color:#fff; }.admin-section .runtime-log-list { background:var(--surface); color:var(--text-2); border-color:var(--line); }.sf-admin-menu { display:none; }
body[data-ui-page="login"] .tmf-sub, body[data-ui-page="admin-login"] .tmf-sub, body[data-ui-page="login"] .tmf-col-side, body[data-ui-page="admin-login"] .tmf-col-side { display:none; }
body[data-ui-page="login"] .tmf-cols, body[data-ui-page="admin-login"] .tmf-cols { display:block; max-width:440px; margin:auto; }
body[data-ui-page="login"] .tmf-main, body[data-ui-page="admin-login"] .tmf-main { padding-top:56px; padding-bottom:56px; }
.auth-card { padding:0; max-width:440px; margin:auto; background:transparent; border:0; box-shadow:none; border-radius:0; }
.sf-auth-brand { text-align:center; margin-bottom:30px; }.sf-auth-brand img { width:62px; height:62px; object-fit:contain; margin-bottom:12px; }.sf-auth-brand h1 { font-size:25px; color:var(--text); }.sf-auth-brand p { font-size:13px; color:var(--text-3); margin-top:8px; }
.auth-card form { border-top:1px solid var(--line); padding-top:8px; }.auth-card input { background:var(--surface); }.auth-card button.primary { background:var(--green); border-color:var(--green); }.auth-card .tab { border:0; padding:4px; background:var(--surface); border-radius:6px; margin-bottom:22px; }.auth-card .tab button { border:0; border-radius:4px; }.auth-card .tab button.active { background:var(--blue-soft); color:var(--blue-dark); }.tmf-top-note { color:var(--text-3); }
@media(min-width:1600px) { .account-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }.account-card { padding:18px; } }
@media(max-width:1200px) { :root { --pad:24px; }.account-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.account-dashboard-service,.config-service { display:none; }.account-dashboard-sidebar .sf-theme,.config-sidebar .sf-theme { margin-left:auto; }.task-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.task-panel.gather-panel { grid-column:span 1; }.task-panel .task-panel-header { padding:16px; }.task-switch-state { display:none; }.task-panel-body { padding:16px; }.resource-list { gap:6px; }.admin-section .key-create { grid-template-columns:repeat(2,minmax(0,1fr)); }.admin-section .key-create label:nth-child(4),.admin-section .key-create button { grid-column:auto; grid-row:auto; }.user-access-key-list { grid-template-columns:repeat(2,minmax(0,1fr)); }#dailyList { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:900px) { .account-dashboard-sidebar,.config-sidebar { gap:14px; }.account-dashboard-nav button,.config-nav button { padding:0 9px; }.account-dashboard-stats > div { padding:0 15px; grid-template-columns:30px 1fr; }.account-dashboard-stats > div > span { width:30px; height:30px; }.account-dashboard-stats strong { font-size:24px; }.sf-config-groups { flex-basis:100%; }.sf-config-toolbar { gap:10px; }#taskSearch { flex:1; width:auto; }.admin-shell { grid-template-columns:176px minmax(0,1fr); }.admin-sidebar { padding:20px 10px; }.admin-main { padding:20px; }.admin-topbar { padding:16px 20px; }.admin-section .table-wrap { border:0; overflow:visible; background:transparent; }.admin-section table,.admin-section tbody,.admin-section tr,.admin-section td { display:block; width:100%; min-width:0; }.admin-section thead { display:none; }.admin-section tr { padding:8px 14px; margin-bottom:14px; border:1px solid var(--line); border-radius:7px; background:var(--surface); }.admin-section td, .admin-section .key-table td { display:grid; grid-template-columns:88px minmax(0,1fr); gap:10px; padding:10px 0; max-width:none; }.admin-section td::before { content:attr(data-label); color:var(--text-3); font-size:11px; }.admin-section td[colspan] { display:block; }.admin-section td:last-child { border:0; }.admin-section .actions { min-width:0; max-width:none; }.admin-section .actions button { min-height:44px; }.admin-section .settings-grid { grid-template-columns:1fr; }.operations-layout { grid-template-columns:1fr; gap:20px; } }
@media(max-width:700px) {
  :root { --pad:16px; --sf-nav-height:66px; }
  body { padding-bottom:76px; }.account-dashboard-sidebar,.config-sidebar { min-height:66px; padding:11px 16px; }.account-dashboard-brand>span,.config-brand strong { display:block!important; font-size:12px; }.account-dashboard-logo,.config-logo { width:34px; height:34px; flex-basis:34px; }
  .account-dashboard-nav,.config-nav { position:fixed; bottom:0; left:0; right:0; z-index:50; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; padding:6px 8px calc(6px + env(safe-area-inset-bottom)); border-top:1px solid var(--line); background:var(--surface); }
  .account-dashboard-nav button,.config-nav button { width:100%; height:52px; padding:5px; display:flex; flex-direction:column; gap:4px; font-size:10px; color:var(--text-3); border-radius:5px; }.account-dashboard-nav button.active,.config-nav button.active { background:var(--blue-soft); color:var(--blue-dark); }.account-dashboard-nav button em { display:none; }.account-dashboard-nav svg,.config-nav svg { width:19px; height:19px; flex-basis:19px; }
  .account-home-panel { padding:0 16px 28px; }.account-dashboard-topbar { padding:24px 0 18px; gap:14px; flex-wrap:wrap; }.account-dashboard-topbar h1 { font-size:23px; }.account-dashboard-topbar p { font-size:12px; }.account-dashboard-top-actions { flex-wrap:wrap; gap:8px; }.account-dashboard-user { font-size:11px; }.account-dashboard-stats { grid-template-columns:repeat(2,minmax(0,1fr)); padding:8px 0; row-gap:0; }.account-dashboard-stats>div { padding:14px 16px; min-height:82px; }.account-dashboard-stats>div:nth-child(2) { border:0; }.account-dashboard-stats>div:nth-child(-n+2) { border-bottom:1px solid var(--line); }.account-dashboard-welcome h2 { font-size:13px; }.account-dashboard-welcome p { font-size:11px; max-width:220px; }.account-dashboard-welcome button { font-size:12px; flex-shrink:0; }.account-grid { grid-template-columns:minmax(0,1fr); gap:16px; }.account-card { padding:18px; }.account-card.active { padding-top:16px; }.account-home-tools { width:100%; }.account-home-tools .sf-search { width:100%; }.account-filter-list { width:100%; justify-content:space-between; }.account-filter-list button { flex:1; }
  .config-topbar-inner { padding:14px 16px 0; }.config-main { padding:18px 16px 160px; }.device-context { align-items:flex-start; padding-bottom:20px; gap:10px; }.device-context h1 { font-size:22px; }.device-identity { display:none; }.task-grid { grid-template-columns:minmax(0,1fr); gap:16px; }.task-panel.gather-panel,.task-panel.trap-panel { grid-column:1; }.sf-config-groups { gap:0; scrollbar-width:none; }.sf-config-groups button { font-size:12px; padding:0 11px; }.sf-config-count { font-size:11px; }.task-panel-header { padding:18px; }.task-panel-body { padding:18px; }.task-switch-state { display:inline; }.task-marker { width:40px; height:40px; min-width:40px; }.task-panel-heading h3 { font-size:15px; }.sf-trap-body { grid-template-columns:1fr; gap:0; }.sf-trap-section.full { grid-column:1; }.operations-section { padding:12px 0; }.operations-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .config-actions { bottom:calc(65px + env(safe-area-inset-bottom)); min-height:70px; padding:10px 16px; flex-wrap:wrap; gap:8px; }.config-actions button { padding:0 12px; font-size:12px; }#configDirtyStatus { font-size:11px; }.config-actions .msg { max-width:none; width:100%; margin:0; }.config-actions .msg:empty { display:none; }
  .topbar { flex-wrap:wrap; gap:8px; padding:12px 16px; }.top-actions { flex-wrap:wrap; gap:6px; width:100%; }.account-select { flex:1; max-width:100%; }.top-title { font-size:18px; }.workspace { padding:20px 16px; }.config-template-toolbar { flex-wrap:wrap; }#dailyList { grid-template-columns:1fr; }.config-row { padding:16px; }.row-label { max-width:100%; }.user-access-key-list { grid-template-columns:1fr; }
  .runtime-log-body { display:block; }.runtime-log-sidebar { width:100%; padding:8px; border-right:0; border-bottom:1px solid var(--line); }.runtime-log-categories { display:flex; gap:4px; overflow-x:auto; }.runtime-log-category { width:auto; flex-shrink:0; padding:0 12px; }.runtime-log-toolbar { padding:12px; }.runtime-log-options { flex-wrap:wrap; }.runtime-log-list { max-height:60dvh; }.runtime-log-device-select { width:100%; }.runtime-log-top-actions { flex-wrap:wrap; width:100%; }
  .account-modal { padding:12px; }.account-modal-panel { padding:20px; width:100%; max-height:calc(100dvh - 24px); }.account-modal-head h1 { font-size:18px; }.account-modal-panel .channel-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.daily-config-item { grid-template-columns:minmax(0,1fr) auto; gap:10px; padding:12px; }.daily-config-item-copy strong { white-space:normal; overflow-wrap:anywhere; }.access-key-dialog { max-width:calc(100% - 24px); }.task-record-dialog { width:calc(100% - 24px); max-height:calc(100dvh - 30px); }
  .admin-shell { display:block; }.sf-admin-menu { display:inline-flex; }.admin-sidebar { position:fixed; top:74px; left:0; width:230px; height:calc(100dvh - 74px); z-index:50; transform:translateX(-100%); transition:transform .18s; box-shadow:var(--shadow); }.sf-nav-open .admin-sidebar { transform:translateX(0); }.admin-topbar { position:sticky; top:0; z-index:55; padding:12px 16px; min-height:74px; gap:8px; }.admin-topbar h1 { font-size:17px; }.admin-topbar .logout { padding:0 10px; font-size:11px; }.admin-main { padding:22px 16px; }.admin-section .key-create { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.admin-section .key-create label:first-child { grid-column:1/-1; }.admin-section .invitation-create button { grid-column:auto; }.admin-section .filters { width:100%; }.admin-section .filters select { min-width:0; flex:1; }.admin-section .log-toolbar { flex-wrap:wrap; }.admin-section .log-toolbar strong { width:100%; }.admin-section .log-toolbar select { min-width:0; flex:1; }.admin-section .key-list-toolbar select { min-width:0; }.admin-section .registration-usage { min-width:0; grid-column:auto; }.admin-section .settings-save { grid-column:auto; }.admin-section td.id { max-width:none; }
  body[data-ui-page="login"],body[data-ui-page="admin-login"],body[data-ui-page="admin"] { padding-bottom:0; }body[data-ui-page="login"] .tmf-main,body[data-ui-page="admin-login"] .tmf-main { padding:32px 20px; }.tmf-top-inner { padding:12px 20px; }.tmf-top-note { display:none; }.sf-auth-brand h1 { font-size:23px; }.captcha-row { grid-template-columns:minmax(0,1fr) 100px 62px; gap:6px; }.captcha-row img { width:100px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { transition:none!important; animation:none!important; scroll-behavior:auto!important; } }
@media(max-width:1200px) {
  .task-grid { --task-inset:16px; }
  .account-home-tools { flex-direction:row; }
}
@media(max-width:900px) {
  .account-dashboard-stats > div { grid-template-columns:24px minmax(0,1fr) auto; gap:8px; padding:0 12px; }
  .account-dashboard-stats strong { font-size:20px; }
  .alliance-chest-subtask { grid-template-columns:1fr; gap:0; }
  .alliance-chest-subtask .task-record-summary { grid-template-columns:minmax(0,1fr) auto 14px; }
  .alliance-chest-subtask .task-record-chevron { display:block; }
}
@media(max-width:700px) {
  #accountOverviewPage .account-dashboard-topbar { padding:18px 0 14px; gap:12px; }
  #accountOverviewPage #dashboardOverviewText { display:block; line-height:1.6; }
  #accountOverviewPage .account-dashboard-top-actions { display:grid; grid-template-columns:44px 1fr 1fr; width:100%; gap:8px; }
  #accountOverviewPage .account-dashboard-user { display:none; }
  .account-dashboard-stats { grid-template-columns:repeat(4,minmax(0,1fr)); padding:12px 0; }
  .account-dashboard-stats > div { display:flex; flex-direction:column; justify-content:center; gap:6px; min-height:54px; padding:0 6px; }
  .account-dashboard-stats > div > span { display:none; }
  .account-dashboard-stats > div:nth-child(-n+2) { border-bottom:0; }
  .account-dashboard-stats > div:nth-child(2) { border-right:1px solid var(--line); }
  .account-dashboard-stats small { font-size:11px; white-space:nowrap; }
  .account-home-header { gap:10px; }
  .account-home-tools { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; }
  .account-home-title h2 { font-size:16px; }
  #accountOverviewPage .account-home-title { display:none; }
  .task-panel .task-panel-header { padding:var(--task-inset); }
  .intelligence-settings { grid-template-columns:1fr; }
  .intelligence-settings .intelligence-setting { min-height:56px; }
  .intelligence-settings .intelligence-formation-setting { grid-template-columns:1fr; gap:8px; }
  .task-panel .task-panel-heading h3 { overflow-wrap:anywhere; }
  .sf-keyboard-open .config-nav, .sf-keyboard-open .account-dashboard-nav { visibility:hidden; }
  .sf-keyboard-open .config-actions { bottom:var(--sf-keyboard-inset); }
  .gather-panel > .task-panel-body > .grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gather-panel > .task-panel-body > .grid > div:last-child { grid-column:1/-1; }
}
