:root{
  --bg:#f3f5f8;--card:#fff;--text:#172033;--muted:#6b7280;--line:#e5e7eb;
  --primary:#2f5f8f;--primary2:#234b73;--danger:#c94f54;--success:#1f8a65;--warning:#b7791f;
  --shadow:0 12px 32px rgba(15,23,42,.07);--radius:18px
}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:linear-gradient(180deg,#eef2f7 0,#f7f8fa 240px,var(--bg) 500px);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif}
button,input,select{font:inherit}.hidden{display:none!important}.app{min-height:100vh}.topbar{max-width:1280px;margin:0 auto;padding:28px 24px 18px;display:flex;align-items:center;justify-content:space-between}.topbar h1{margin:2px 0 0;font-size:28px;letter-spacing:-.5px}.eyebrow{font-size:11px;letter-spacing:2px;color:#738197;font-weight:800}.top-actions{display:flex;align-items:center;gap:10px}.container{max-width:1280px;margin:0 auto;padding:0 24px 48px}.card{background:rgba(255,255,255,.96);border:1px solid rgba(229,231,235,.9);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;margin-bottom:18px}.hero-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.metric-card{background:linear-gradient(145deg,#fff,#f8fafc);border:1px solid #e7ebf0;border-radius:16px;padding:18px;min-height:116px;box-shadow:0 8px 24px rgba(15,23,42,.04)}.metric-card span{font-size:13px;color:var(--muted)}.metric-card strong{display:block;margin-top:10px;font-size:22px;line-height:1.2}.metric-card small{display:block;margin-top:8px;color:#8a94a3}.action-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#182433,#233a52);color:white}.action-bar h2{margin:0 0 6px}.action-bar p{margin:0;color:#c9d2dc}.action-buttons{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end;align-items:center}.action-buttons .btn{min-width:112px}.layout-two{display:grid;grid-template-columns:1.06fr .94fr;gap:18px}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.section-head h2{font-size:18px;margin:0 0 5px}.section-head p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.btn{border:0;border-radius:11px;padding:11px 16px;font-weight:700;cursor:pointer;transition:.18s;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn.primary{background:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary2)}.btn.secondary{background:#edf2f7;color:#28445f}.btn.secondary:hover{background:#e4ebf2}.btn.danger{background:#6f2d32;color:#fff}.btn.ghost{background:#fff;border:1px solid var(--line);color:#4b5563}.btn.full{width:100%}.small-btn{padding:9px 13px;font-size:13px}.icon-btn{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:inherit;border-radius:9px;padding:8px 11px;cursor:pointer}.badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:800}.badge.neutral{background:#edf0f4;color:#5f6b78}.badge.running{background:#e5f4ee;color:#187457}.badge.error{background:#fbe9ea;color:#a33f44}.badge.warning{background:#fff3d8;color:#9b6817}.badge.info{background:#e6eef7;color:#315f89}.notice{border-radius:13px;padding:13px 16px;margin-bottom:16px;font-size:14px}.notice.warning{background:#fff7e6;border:1px solid #f4d49b;color:#7a5417}.link-btn{border:0;background:none;color:#2f5f8f;font-weight:800;cursor:pointer}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid label,label{font-size:13px;color:#4b5563;font-weight:700;display:block}input,select{width:100%;margin-top:7px;border:1px solid #dbe1e8;background:#fff;border-radius:11px;padding:11px 12px;color:#162032;outline:none;transition:.16s}input:focus,select:focus{border-color:#7da0c1;box-shadow:0 0 0 3px rgba(47,95,143,.12)}.advanced{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.advanced summary{cursor:pointer;color:#344d66;font-weight:800}.muted{color:var(--muted)}.switch-row{display:flex;align-items:center;gap:9px;margin:12px 0}.switch-row input{width:auto;margin:0}.switch-row.compact{margin:0;font-size:12px}.account-list{display:flex;flex-direction:column;gap:10px}.account-item{border:1px solid #e3e8ee;border-radius:14px;padding:14px;display:flex;justify-content:space-between;gap:12px;align-items:center;background:#fbfcfd}.account-main{min-width:0}.account-name{display:flex;align-items:center;gap:8px;font-weight:800}.token-mask{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#7b8491;font-size:12px;margin-top:6px;overflow:hidden;text-overflow:ellipsis}.account-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.mini-tag{font-size:11px;padding:4px 7px;border-radius:999px;background:#edf2f7;color:#526170}.account-actions{display:flex;gap:7px}.account-actions button{padding:7px 9px;border-radius:9px;border:1px solid #dfe4ea;background:white;cursor:pointer;color:#4b5563}.account-actions .delete{color:#b44146}.scene-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.scene-item{border:1px solid #e1e7ed;border-radius:14px;padding:13px;background:#fbfcfd}.scene-item .scene-time{font-weight:850;font-size:15px}.scene-id{color:#8b95a3;font-size:11px;margin-top:4px}.scene-info{margin-top:9px;display:flex;justify-content:space-between;gap:7px;color:#687482;font-size:11px}.scene-item.predicted{border-style:dashed;background:#f7f9fc}.scene-item.full-mark{background:#faf8f8}.empty-state{color:#9099a6;text-align:center;padding:22px}.log-card{padding-bottom:16px}.console{background:#0c1118;color:#d6e0ea;border-radius:14px;padding:16px;min-height:300px;max-height:480px;overflow:auto;font:12px/1.7 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;white-space:pre-wrap;word-break:break-word;border:1px solid #1d2937;margin:0}.results-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.result-item{border:1px solid #e2e7ec;border-radius:14px;padding:14px;background:#fbfcfd}.result-item.success{border-color:#b9dfd0;background:#f4fbf8}.result-item.failed{border-color:#ebd1d3;background:#fff8f8}.result-title{font-weight:850}.result-msg{font-size:13px;color:#647080;margin-top:7px}.result-meta{font-size:11px;color:#8b95a3;margin-top:8px}.diagnostics{font:12px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap}.overlay{position:fixed;inset:0;background:radial-gradient(circle at 20% 10%,#324d68 0,#111827 50%,#0a0f16 100%);z-index:1000;display:flex;align-items:center;justify-content:center;padding:22px}.login-card{width:min(420px,100%);background:rgba(255,255,255,.97);border-radius:24px;padding:30px;box-shadow:0 28px 80px rgba(0,0,0,.3)}.brand-mark{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#274d72,#5d7f9e);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;font-size:22px}.login-card h1{margin:18px 0 6px}.login-card p{color:var(--muted);margin:0 0 16px}.hint{margin-top:14px;color:#8a94a3;font-size:12px;text-align:center}.modal{position:fixed;inset:0;background:rgba(5,12,20,.55);backdrop-filter:blur(5px);z-index:900;display:flex;align-items:center;justify-content:center;padding:20px}.modal-panel{width:min(620px,100%);max-height:88vh;overflow:auto;background:white;border-radius:22px;padding:22px;box-shadow:0 30px 90px rgba(0,0,0,.25)}.small-modal{width:min(440px,100%)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.modal-head h2{margin:0}.modal-head .icon-btn{color:#465262;border-color:#e3e7ec;background:#f8fafc;font-size:20px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:22px}.modal-actions .btn{min-width:88px}.manual-scenes{border:1px solid #e4e9ef;border-radius:13px;padding:12px;margin-top:12px}.label-title{font-size:13px;font-weight:800;color:#4b5563;margin-bottom:8px}.modal-scene-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:220px;overflow:auto}.scene-check{display:flex;align-items:center;gap:8px;border:1px solid #e5e9ee;border-radius:10px;padding:9px;font-size:12px}.scene-check input{width:auto;margin:0}.toast{position:fixed;right:22px;bottom:22px;background:#152231;color:#fff;padding:12px 16px;border-radius:12px;box-shadow:0 14px 40px rgba(0,0,0,.2);z-index:1200;font-size:13px}.toast.error{background:#8d3036}
@media(max-width:980px){.hero-grid{grid-template-columns:repeat(2,1fr)}.layout-two{grid-template-columns:1fr}.scene-grid{grid-template-columns:repeat(3,1fr)}.results-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.topbar{padding:20px 15px 14px}.container{padding:0 12px 34px}.card{padding:16px;border-radius:15px}.topbar h1{font-size:23px}.hero-grid{grid-template-columns:repeat(2,1fr);gap:9px}.metric-card{min-height:103px;padding:14px}.metric-card strong{font-size:17px}.action-bar{align-items:stretch;flex-direction:column}.action-buttons{display:grid;grid-template-columns:repeat(2,1fr)}.action-buttons .btn{width:100%}.form-grid{grid-template-columns:1fr}.scene-grid{grid-template-columns:repeat(2,1fr)}.results-list{grid-template-columns:1fr}.section-head{align-items:center}.account-item{align-items:flex-start}.account-actions{flex-direction:column}.modal-scene-list{grid-template-columns:1fr}.login-card{padding:24px}.console{min-height:330px;max-height:52vh}.toast{left:14px;right:14px;bottom:14px;text-align:center}}

/* v1.0.5 simplified date/scene controls */
.btn.test{background:#9a651c;color:#fff}.btn.test:hover{background:#805315}.btn:disabled{opacity:.48;cursor:not-allowed;transform:none!important}
.booking-date-box{display:grid;gap:12px}.booking-date-box>label{font-size:14px}.booking-date-box input{font-size:17px;font-weight:800}
.date-status{border-radius:13px;padding:12px 14px;display:flex;flex-direction:column;gap:4px;font-size:12px;line-height:1.5}.date-status strong{font-size:14px}.date-status.neutral{background:#f5f7fa;border:1px solid #e2e7ed;color:#607080}.date-status.upcoming{background:#eef7f3;border:1px solid #cce6da;color:#276b54}.date-status.ended{background:#fff2f1;border:1px solid #efc7c5;color:#9a3d3d}
.auto-start-box{margin-top:16px;border:2px solid #9db7cf;background:linear-gradient(145deg,#f4f8fc,#eef4f9);border-radius:16px;padding:15px}.auto-start-title{font-size:14px;font-weight:900;color:#274a6a;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.auto-start-box select{font-size:15px;font-weight:800;border-color:#9db7cf}.auto-start-info{margin-top:9px;color:#536b81;font-size:12px;line-height:1.55}.auto-start-info strong{color:#214c73}
.advanced-grid{margin-top:14px}.scene-item{font-family:inherit;text-align:left;width:100%;cursor:pointer;color:inherit}.scene-item:hover{border-color:#9cb6ce;box-shadow:0 4px 14px rgba(47,95,143,.08)}.scene-item.selected{border:2px solid #4f7da8;background:#f1f7fc;box-shadow:0 0 0 3px rgba(79,125,168,.08)}.scene-pick{margin-top:8px;font-size:10px;color:#8a96a3}.scene-item.selected .scene-pick{color:#315f89;font-weight:800}.scene-id{font-weight:800;color:#566d83}
@media(max-width:640px){.action-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.action-buttons .btn{min-width:0;padding-left:8px;padding-right:8px}.auto-start-box{padding:13px}.scene-pick{display:none}}

/* v1.0.7 interaction polish */
.login-form{display:flex;flex-direction:column;gap:14px;margin-top:18px}.login-password-wrap{position:relative}.login-password-wrap input{margin:0;padding:13px 64px 13px 14px;min-height:48px;border-radius:12px}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:#edf2f7;color:#47617a;border-radius:8px;padding:7px 9px;font-size:12px;font-weight:800;cursor:pointer}.login-submit{min-height:48px;margin:0;border-radius:12px;font-size:15px}.login-card p{margin-bottom:0}.login-card .hint{margin-top:16px;line-height:1.55}
.run-status{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:6px 11px;border:1px solid #dbe2e9;border-radius:999px;background:rgba(255,255,255,.78);color:#5a6878;font-size:12px;box-shadow:0 3px 10px rgba(15,23,42,.03)}.run-status-dot{width:8px;height:8px;border-radius:50%;background:#98a3af;box-shadow:0 0 0 3px rgba(152,163,175,.14)}.run-status-label{color:#8a95a2}.run-status strong{font-size:12px;color:#4f5e6d}.run-status.running{background:#eef8f4;border-color:#cce6da}.run-status.running .run-status-dot{background:#1f8a65;box-shadow:0 0 0 3px rgba(31,138,101,.14)}.run-status.running strong{color:#1f765b}.run-status.error{background:#fff2f2;border-color:#efcccc}.run-status.error .run-status-dot{background:#c94f54;box-shadow:0 0 0 3px rgba(201,79,84,.13)}.run-status.error strong{color:#a43d43}.logout-btn{border:1px solid #dce2e8;background:rgba(255,255,255,.72);color:#596777;border-radius:10px;padding:8px 12px;font-size:12px;font-weight:800;cursor:pointer;transition:.18s}.logout-btn:hover{background:#fff;color:#293c50;border-color:#cdd6df}
.log-head{align-items:center}.log-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.log-tools .switch-row{background:#f5f7fa;border:1px solid #e3e8ed;border-radius:10px;padding:7px 10px}.log-card{margin-bottom:0}.console{min-height:360px}
.results-list{display:flex;flex-direction:column;gap:8px}.result-item{display:grid;grid-template-columns:minmax(110px,160px) minmax(110px,140px) minmax(180px,1fr) minmax(180px,auto);align-items:center;gap:12px;padding:12px 14px}.result-title{margin:0}.result-status{font-size:12px;font-weight:900}.result-item.success .result-status{color:#187457}.result-item.failed .result-status{color:#a33f44}.result-item.already .result-status{color:#8a651a}.result-msg{margin:0;font-size:12px}.result-meta{margin:0;text-align:right;line-height:1.5}
.test-warning{border:1px solid #edd2a8;background:#fff8e9;color:#7f5a20;border-radius:12px;padding:11px 13px;font-size:12px;line-height:1.55;margin-bottom:14px}.test-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.test-mode-option{display:flex;align-items:flex-start;gap:9px;border:1px solid #e1e6eb;border-radius:13px;padding:12px;background:#fbfcfd;cursor:pointer}.test-mode-option.selected{border-color:#9b7a45;background:#fff9ef;box-shadow:0 0 0 3px rgba(154,101,28,.07)}.test-mode-option input{width:auto;margin:2px 0 0}.test-mode-option span{display:flex;flex-direction:column;gap:4px}.test-mode-option strong{color:#273544}.test-mode-option small{font-size:11px;font-weight:500;color:#7a8490;line-height:1.45}.test-schedule-box{margin-top:13px;padding:13px;border:1px solid #e2e7ec;border-radius:13px;background:#f8fafc}.test-schedule-box input{font-weight:800}.quick-times{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.quick-times button{border:1px solid #d8e0e7;background:white;color:#516274;border-radius:9px;padding:7px 10px;font-size:11px;font-weight:800;cursor:pointer}.quick-times button.active{border-color:#9b7a45;background:#fff5e3;color:#805315}.test-time-hint{margin-top:10px;font-size:11px;line-height:1.55;color:#7a8490}
@media(max-width:760px){.result-item{grid-template-columns:1fr auto;gap:6px 10px}.result-msg{grid-column:1/-1}.result-meta{grid-column:1/-1;text-align:left}.run-status-label{display:none}.logout-btn{padding:8px 10px}.test-mode-grid{grid-template-columns:1fr}.log-head{align-items:flex-start;flex-direction:column}.log-tools{width:100%;justify-content:space-between}.console{min-height:380px}}
@media(max-width:420px){.top-actions{gap:7px}.run-status{padding:6px 9px}.run-status strong{font-size:11px}.logout-btn{font-size:11px}.login-card{padding:24px 20px}.quick-times{display:grid;grid-template-columns:repeat(2,1fr)}.quick-times button{width:100%}}

/* v1.0.11 — current task visibility + mutually-exclusive task controls */
.btn:disabled,
button:disabled{
  opacity:.48;
  cursor:not-allowed;
  filter:saturate(.65);
  box-shadow:none!important;
}
.current-task-card{
  margin-top:16px;
  border:1px solid var(--line);
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.current-task-card.active{
  border-color:rgba(47,95,143,.30);
  background:linear-gradient(135deg,#fff 0%,#f4f8fc 100%);
  box-shadow:0 12px 30px rgba(47,95,143,.08);
}
.current-task-main{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.current-task-main h2{margin:5px 0 5px;font-size:20px}
.current-task-main p{margin:0;color:var(--muted);line-height:1.55}
.current-task-kicker{
  display:inline-block;
  font-size:12px;
  font-weight:700;
  letter-spacing:.06em;
  color:var(--primary);
}
.current-task-grid{
  margin-top:16px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.current-task-grid>div{
  min-width:0;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:rgba(255,255,255,.82);
}
.current-task-grid span{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}
.current-task-grid strong{display:block;font-size:14px;overflow-wrap:anywhere}
@media (max-width:760px){
  .current-task-main{gap:10px}
  .current-task-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
