:root{font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:#17324d;background:#f3f6f7;--teal:#0f766e;--navy:#17324d;--line:#d9e2e6;--muted:#64748b}*{box-sizing:border-box}body{margin:0}.topbar{height:64px;padding:0 max(20px,calc((100vw - 1280px)/2));display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}.topbar strong{font-size:18px}.topbar span{margin-left:14px;color:var(--muted);font-size:13px}.top-actions{display:flex;align-items:center;gap:12px}.top-actions a{color:var(--teal);text-decoration:none;font-weight:700}.top-actions button{border:1px solid var(--line);background:white;border-radius:8px;padding:8px 12px}.shell{max-width:1280px;margin:auto;padding:28px 20px 50px}.hero p{color:var(--teal);font-weight:700;margin:0}.hero h1{font-size:36px;margin:8px 0 18px}.search-wrap input{width:min(480px,100%);padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:white}.route{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0}.stage{padding:18px;text-align:left;border:1px solid var(--line);border-radius:12px;background:white}.stage.active{border-color:var(--teal);box-shadow:0 0 0 2px #d5efeb}.stage span,.stage small{display:block;color:var(--muted)}.stage strong{display:block;margin:6px 0;font-size:18px}.workspace{display:grid;grid-template-columns:360px 1fr;gap:18px}.days,.detail{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.day{width:100%;padding:14px 16px;text-align:left;border:0;border-bottom:1px solid #edf1f3;background:white}.day.active{background:#edf8f6;box-shadow:inset 3px 0 var(--teal)}.day span{display:block;color:var(--teal);font-size:11px;font-weight:800}.day strong{display:block;margin:3px 0}.day small{color:var(--muted);line-height:1.4}.detail{padding:20px}.detail-head{display:flex;justify-content:space-between;gap:20px}.detail-head span{color:var(--teal);font-weight:700}.detail h2{font-size:28px;margin:5px 0}.detail p{color:var(--muted)}.version{white-space:nowrap;background:#eef6f5;padding:8px 10px;border-radius:8px;height:min-content}.card-frame{width:100%;height:620px;border:1px solid var(--line);border-radius:8px}.documents{border:1px solid var(--line);border-radius:8px;overflow:hidden}.document{display:flex;justify-content:space-between;align-items:center;padding:12px;border-bottom:1px solid var(--line)}.document:last-child{border-bottom:0}.document small{display:block;color:var(--muted);margin-top:3px}.document a,.primary-button,.secondary-button{display:block;text-decoration:none;padding:10px 14px;border-radius:8px}.document a,.primary-button{background:var(--teal);color:white}.secondary-button{margin-top:10px;border:1px solid var(--teal);color:var(--teal)}.empty{padding:30px;text-align:center;color:var(--muted)}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#edf8f6,#e8eef4)}.login-card{width:min(420px,calc(100% - 32px));padding:42px;background:white;border-radius:18px;box-shadow:0 20px 60px #17324d20;text-align:center}.brand-mark{width:58px;height:58px;margin:auto;display:grid;place-items:center;border-radius:16px;background:var(--teal);color:white;font-size:28px;font-weight:900}.login-card h1{margin:18px 0 6px}.login-card p{color:var(--muted);margin-bottom:28px}.login-card small{display:block;margin-top:18px;color:var(--muted)}.admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.admin-card{background:white;border:1px solid var(--line);border-radius:12px;padding:18px}.admin-card>span{color:var(--teal);font-size:12px;font-weight:700}.admin-card h2{margin:6px 0}.admin-card p{color:var(--muted)}.admin-card button{margin:4px;padding:8px 10px;border:1px solid var(--teal);border-radius:7px;background:white;color:var(--teal)}@media(max-width:800px){.route,.admin-grid{grid-template-columns:repeat(2,1fr)}.workspace{grid-template-columns:1fr}.days{max-height:360px;overflow:auto}.card-frame{height:70vh}.detail-head{display:block}.version{display:inline-block}.hero h1{font-size:30px}}@media(max-width:480px){.shell{padding:20px 12px}.route,.admin-grid{grid-template-columns:1fr}.stage{padding:12px}.stage strong{font-size:15px}.topbar{padding:0 12px}.topbar span{display:none}}
.admin-actions{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.admin-actions .button{display:inline-block;margin:4px;padding:8px 10px;border:1px solid var(--teal);border-radius:7px;background:white;color:var(--teal);text-decoration:none}
.audit-filters{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 18px}.audit-filters select,.audit-filters input{padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--navy)}
