:root{font-family:"Noto Sans SC","Microsoft YaHei",sans-serif;color:#242033;background:#eef1f4;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 80% 0,#ece9fa 0,transparent 35%),#eef1f4}.tracking-shell{width:min(1480px,calc(100% - 40px));margin:26px auto 60px}.suite-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;border:1px solid #d9dce5;border-radius:24px;background:rgba(255,255,255,.72);box-shadow:0 12px 35px rgba(45,36,70,.08)}.suite-nav a{padding:13px 18px;border-radius:20px;color:#6d6879;text-align:center;text-decoration:none;font-weight:700}.suite-nav a.active{color:#fff;background:#2b2238}.panel,.summary-grid article{border:1px solid #dfe1e8;border-radius:22px;background:rgba(249,249,251,.94);box-shadow:0 18px 42px rgba(43,34,56,.07)}.hero{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding:26px}.eyebrow{color:#918b9e;font-size:12px;letter-spacing:.12em}.hero h1,.section-head h2{margin:8px 0 6px}.hero p{margin:0;color:#747080}.hero-state{display:grid;grid-template-columns:auto auto;gap:5px 16px;align-items:center}.hero-state span{color:#7d7887;font-size:13px}.hero-state strong{font-size:18px}.hero-state button{grid-column:1/-1;border:1px solid #d7cff9;border-radius:12px;padding:10px 18px;color:#6147c3;background:#f2efff;font-weight:700;cursor:pointer}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:12px 0}.summary-grid article{padding:20px}.summary-grid span,.summary-grid small{display:block;color:#787383}.summary-grid strong{display:block;margin:8px 0;font-size:36px}.people-panel,.tickets-panel{margin-top:12px;overflow:hidden}.section-head{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;border-bottom:1px solid #e1e2e9}.section-head h2{font-size:22px}.section-head>small{color:#817b8e}.people-list{display:flex;gap:10px;padding:18px 22px;overflow:auto}.person-card{min-width:150px;padding:14px;border:1px solid #dedee7;border-radius:15px;background:#fff;text-align:left;cursor:pointer}.person-card span,.person-card small{display:block;color:#827d8d;font-size:12px}.person-card strong{display:block;margin:6px 0;font-size:17px}.person-card b{font-size:20px}.person-card.departed{border-color:#f2b9ae;background:#fff5f2}.person-card.rest{border-color:#efdba3;background:#fffaf0}.person-card.unplanned{border-color:#cfc7ef;background:#f7f5ff}.toolbar{display:flex;align-items:end;gap:18px}.filters{display:flex;gap:6px}.filters button{border:1px solid #d8d6df;border-radius:10px;padding:9px 12px;background:#fff;color:#625d6d;cursor:pointer}.filters button.active{border-color:#30253e;background:#30253e;color:#fff}.search{display:grid;gap:4px;color:#777180;font-size:12px}.search input{width:230px;border:1px solid #d8d6df;border-radius:10px;padding:10px 12px;background:#fff}.result-meta{display:flex;justify-content:space-between;padding:12px 24px;color:#716b7c}.table-wrap{overflow:auto;border-top:1px solid #e2e2e8}table{width:100%;min-width:1220px;border-collapse:collapse}th,td{padding:13px 14px;border-bottom:1px solid #e5e5eb;text-align:left;vertical-align:top;font-size:13px}th{position:sticky;top:0;background:#eeeff4;color:#625d6c}td small{display:block;color:#8a8591}.ticket-no{font-weight:700}.status-tag{display:inline-block;border-radius:999px;padding:5px 9px;background:#eee}.status-tag.departed{color:#b63f2b;background:#ffebe7}.status-tag.rest{color:#916415;background:#fff1cd}.status-tag.unplanned{color:#6046b1;background:#eee9ff}details summary{color:#6046b1;cursor:pointer}details pre{width:360px;max-height:220px;overflow:auto;white-space:pre-wrap;font:12px/1.6 inherit;color:#575260}.empty{width:100%;padding:28px;text-align:center;color:#87818f}.error{color:#b83d2b}@media(max-width:900px){.tracking-shell{width:min(100% - 20px,1480px)}.hero,.section-head{align-items:flex-start;flex-direction:column;gap:16px}.summary-grid{grid-template-columns:repeat(2,1fr)}.toolbar{width:100%;align-items:stretch;flex-direction:column}.filters{overflow:auto}.search input{width:100%}}@media(max-width:560px){.suite-nav a{padding:10px 5px;font-size:13px}.summary-grid{grid-template-columns:1fr 1fr}.summary-grid strong{font-size:28px}.hero{padding:20px}}
