:root{color-scheme:dark;font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:#f4f1ff;background:#090a10}*{box-sizing:border-box}body{margin:0;min-height:100svh;display:grid;place-items:center;background:radial-gradient(ellipse at 75% 0,rgba(118,86,182,.14),transparent 60%)}main{width:min(100% - 40px,490px);margin:56px auto}.brand{display:flex;align-items:center;gap:14px;margin-bottom:52px;font-size:20px;font-weight:600}.brand small{display:block;font-size:12px;color:#a8a7b8;font-weight:400;margin-top:5px}.seal{border:1px solid #b8a0ff;color:#cabbf2;padding:10px 8px;border-radius:13px;font-size:19px}h1{font-size:32px;letter-spacing:-.04em;line-height:1.3;margin:0 0 14px}.intro{color:#a8a7b8;margin:0 0 32px;font-size:15px}form{margin:22px 0}label{display:block;font-size:14px;margin-bottom:20px}input{display:block;width:100%;padding:15px 16px;margin-top:9px;background:#151620;border:1px solid #373547;border-radius:10px;color:#fff;font:inherit}button{width:100%;border:0;border-radius:10px;background:#b8a0ff;color:#191024;padding:15px 20px;font:600 16px inherit;cursor:pointer}button:hover{background:#c9b7ff}a{color:#cfbdff;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #d2c3ff;outline-offset:4px}.hint,footer{color:#a8a7b8;font-size:12px;line-height:1.8}footer{margin-top:46px;border-top:1px solid #292734;padding-top:18px}nav{display:grid;gap:12px}nav a{display:block;padding:22px;background:#151620;border:1px solid #343044;border-radius:14px}nav a:hover{border-color:#b8a0ff}nav b{display:block;font-size:19px;color:#f4f1ff}nav span{display:block;font-size:13px;color:#a8a7b8;margin-top:8px}.secondary{background:transparent;border:1px solid #494154;color:#cabbf2;padding:10px;font-size:14px}.feishu-login{display:block;padding:16px 20px;border-radius:10px;background:#b8a0ff;color:#191024;text-align:center;font-size:16px;font-weight:700}.feishu-login:hover{background:#c9b7ff}.admin-login{margin-top:36px;padding-top:24px;border-top:1px solid #343044}.admin-login h2{font-size:16px;color:#c2becd;margin:0 0 18px}@media(max-width:520px){main{margin:32px auto}.brand{margin-bottom:36px}h1{font-size:27px}}

.collection-progress{margin:26px 0 12px;padding:17px 19px;border:1px solid #343044;border-radius:14px;background:#151620}
.collection-progress h2{margin:0 0 7px;font-size:18px}
.collection-count,.collection-latest,.collection-alert{margin:5px 0;font-size:13px;line-height:1.55}
.collection-count{color:#cabbf2}.collection-latest{color:#dcd9e7}.collection-alert{color:#ffd2af}
.collection-history{margin-top:14px;border-top:1px solid #343044;padding-top:11px}
.collection-history summary{color:#cfbdff;cursor:pointer;font-size:13px;font-weight:600;list-style-position:inside}
.collection-history summary:focus-visible{outline:3px solid #d2c3ff;outline-offset:4px}
.collection-schedule{margin:12px 0;color:#a8a7b8;font-size:12px;line-height:1.6}
.collection-history ol{list-style:none;margin:0;padding:0;max-height:320px;overflow:auto}
.collection-history li{padding:9px 0;border-top:1px solid #292734;font-size:12px;line-height:1.55}
.collection-history li strong,.collection-history li span{display:block}.collection-history li span{color:#a8a7b8}

/* The workbench and login use the same forest palette as the business modules. */
:root{color:#f4f7f0;background:#08130e}
body{background:radial-gradient(ellipse at 75% 0,rgba(80,138,89,.13),transparent 60%)}
.brand small,.intro,.hint,footer,nav span,.collection-schedule,.collection-history li span{color:#aabdad}
.seal{border-color:#a5c8aa;color:#d9eacc}
input,nav a,.collection-progress{background:#102019;border-color:#2d4538}
button,.feishu-login{background:#a5d5ae;color:#12291b}
button:hover,.feishu-login:hover{background:#c0e3b8}
a,.collection-count,.collection-history summary,.secondary{color:#bce0bd}
nav a:hover{border-color:#8fbe9b}
nav b{color:#f4f7f0}
.secondary{border-color:#51725a}
footer,.admin-login,.collection-history,.collection-history li{border-color:#2d4538}
.admin-login h2,.collection-latest{color:#deebdc}
a:focus-visible,button:focus-visible,input:focus-visible,.collection-history summary:focus-visible{outline-color:var(--lb-focus)}
body{background:var(--lb-canvas);color:var(--lb-ink);font-family:var(--lb-font)}
button,.feishu-login{background:var(--lb-action);color:var(--lb-action-ink)}
button:hover,.feishu-login:hover{filter:brightness(1.06)}
input,nav a,.collection-progress{background:var(--lb-surface);color:var(--lb-ink);border-color:var(--lb-line)}
a,.secondary{color:var(--lb-action)}

/* Light paper workbench. The compact collection summary stays secondary. */
:root{color-scheme:light;color:var(--lb-ink);background:var(--lb-canvas);font-family:var(--lb-font)}
body{background:var(--lb-canvas);color:var(--lb-ink)}
.brand small,.intro,.hint,footer,nav span,.collection-schedule,.collection-history li span{color:#637d8d}
.seal{border-color:#9cc6dc;color:#2775a4;background:#eaf5fb}
input,nav a,.collection-progress{color:#243d52;background:#fff;border-color:#d7e5ed}
button,.feishu-login{background:var(--lb-action);color:var(--lb-action-ink)}
button:hover,.feishu-login:hover{filter:brightness(1.06)}
button:active,.feishu-login:active{transform:translateY(1px)}
a,.collection-count,.collection-history summary,.secondary{color:var(--lb-action)}
nav a:hover{border-color:#83bad7;background:#f6fbfe}
nav b{color:#20394e}
.secondary{border-color:#b3d4e5;background:#fff}
footer,.admin-login,.collection-history,.collection-history li{border-color:#dce8ef}
.admin-login h2,.collection-latest{color:#425f72}
.collection-alert{color:#a55a2d}
a:focus-visible,button:focus-visible,input:focus-visible,.collection-history summary:focus-visible{outline-color:#3489ba}

/* The authenticated workbench and report index follow the shared night switch. */
html[data-luckbox-theme="dark"] body[data-luckbox-page="home"],
html[data-luckbox-theme="dark"] body[data-luckbox-page="reports"] {
  color:#eaf3f9;background:#101b2a;
}
html[data-luckbox-theme="dark"] body[data-luckbox-page="home"] :is(input,nav a,.collection-progress),
html[data-luckbox-theme="dark"] body[data-luckbox-page="reports"] nav a {
  color:#eaf3f9;background:#192b40;border-color:#354e64;
}
html[data-luckbox-theme="dark"] body[data-luckbox-page="home"] :is(.brand small,.intro,.hint,footer,nav span,.collection-schedule,.collection-history li span),
html[data-luckbox-theme="dark"] body[data-luckbox-page="reports"] :is(.brand small,.intro,footer,nav span) { color:#aac0d0; }
html[data-luckbox-theme="dark"] body[data-luckbox-page="home"] :is(a,.collection-count,.collection-history summary,.secondary),
html[data-luckbox-theme="dark"] body[data-luckbox-page="reports"] a { color:#a9daf2; }
html[data-luckbox-theme="dark"] body[data-luckbox-page="home"] nav b,
html[data-luckbox-theme="dark"] body[data-luckbox-page="reports"] nav b { color:#eaf3f9; }
html[data-luckbox-theme="dark"] body[data-luckbox-page="home"] :is(footer,.collection-history,.collection-history li),
html[data-luckbox-theme="dark"] body[data-luckbox-page="reports"] footer { border-color:#354e64; }
html[data-luckbox-theme="dark"] body[data-luckbox-page="home"] .secondary { background:#20364c;border-color:#496984; }
html[data-luckbox-theme="dark"] body[data-luckbox-page="home"] .collection-latest { color:#c8dce9; }

/* Home and login share this sheet. Home is a card grid; login actions are the same radius. */
main { width: min(1120px, calc(100% - 48px)); margin: 32px auto 88px; }
.brand { margin-bottom: 18px; }
h1 { font-size: 40px; font-weight: 720; letter-spacing: -0.03em; line-height: 1.15; }
.intro { max-width: 42rem; font-size: 16px; }
nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 28px; }
nav a {
  display: flex; flex-direction: column; justify-content: space-between; gap: 12px;
  min-height: 128px; padding: 20px 22px; border-radius: 16px;
  background: var(--lb-surface); border: 1px solid var(--lb-line);
  box-shadow: var(--lb-shadow); text-decoration: none;
}
nav a:hover { border-color: var(--lb-action); transform: translateY(-2px); }
nav b { font-size: 18px; }
.feishu-login { border-radius: 12px; padding: 16px 18px; margin: 12px 0; box-shadow: var(--lb-shadow); }
@media (max-width: 900px) { nav { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { main { width: min(100% - 24px, 1120px); } h1 { font-size: 30px; } nav { grid-template-columns: 1fr; } }

/* Login is a two-pane card. The workbench groups entries by the job they do. */
body:not([data-luckbox-page]) { display: grid; place-items: center; min-height: 100vh; background: var(--lb-canvas); }
body:not([data-luckbox-page]) main {
  width: min(880px, calc(100% - 64px));
  margin: 32px auto;
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  background: var(--lb-surface);
  border: 1px solid var(--lb-line);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: var(--lb-shadow);
}
body:not([data-luckbox-page]) .brand {
  margin: 0;
  min-height: 100%;
  padding: 36px 28px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  background: var(--lb-ink);
  color: var(--lb-canvas);
}
body:not([data-luckbox-page]) .brand small { color: color-mix(in oklch, var(--lb-canvas) 72%, transparent); }
body:not([data-luckbox-page]) .seal { border-color: var(--lb-action); color: var(--lb-action); background: transparent; }
body:not([data-luckbox-page]) .login-card { padding: 36px 32px 8px; }
body:not([data-luckbox-page]) h1 { font-size: 32px; }
body:not([data-luckbox-page]) footer { grid-column: 2; margin: 0; padding: 8px 32px 28px; border: 0; }
@media (max-width: 720px) {
  body:not([data-luckbox-page]) main { grid-template-columns: 1fr; width: min(100% - 32px, 880px); margin: 16px auto; }
  body:not([data-luckbox-page]) .brand { min-height: 0; padding: 24px 20px; }
  body:not([data-luckbox-page]) .login-card { padding: 24px 20px 8px; }
  body:not([data-luckbox-page]) footer { grid-column: 1; padding: 8px 20px 24px; }
}
body[data-luckbox-page="home"] main { width: min(1180px, calc(100% - 40px)); margin: 28px auto 72px; }
body[data-luckbox-page="home"] .home-hero { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; }
body[data-luckbox-page="home"] .home-hero form { width: auto; margin: 0; }
body[data-luckbox-page="home"] .home-hero button { width: auto; padding: 10px 16px; }
body[data-luckbox-page="home"] .home-kicker { margin: 0 0 8px; letter-spacing: .14em; font-size: 12px; font-weight: 700; color: var(--lb-action); }
body[data-luckbox-page="home"] .home-board { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 18px; align-items: start; margin-top: 8px; }
body[data-luckbox-page="home"] .home-lanes { display: grid; gap: 22px; }
body[data-luckbox-page="home"] .home-lane-head h2 { margin: 0; font-size: 18px; }
body[data-luckbox-page="home"] .home-lane-head p { margin: 4px 0 0; color: var(--lb-muted); font-size: 13px; }
body[data-luckbox-page="home"] .home-lane nav { grid-template-columns: 1fr 1fr; margin-top: 12px; }
body[data-luckbox-page="home"] .home-status {
  position: sticky; top: 76px;
  background: var(--lb-surface); border: 1px solid var(--lb-line); border-radius: 16px;
  padding: 18px 18px 8px; box-shadow: var(--lb-shadow);
}
body[data-luckbox-page="home"] .home-status h2 { margin: 0 0 8px; font-size: 16px; }
body[data-luckbox-page="home"] .collection-progress { margin: 0 0 12px; padding: 0; border: 0; background: transparent; box-shadow: none; }
@media (max-width: 980px) {
  body[data-luckbox-page="home"] .home-board,
  body[data-luckbox-page="home"] .home-lane nav { grid-template-columns: 1fr; }
  body[data-luckbox-page="home"] .home-hero { display: block; }
  body[data-luckbox-page="home"] .home-hero form { margin-top: 16px; }
  body[data-luckbox-page="home"] .home-status { position: static; }
}
