
    :root { --ink:#253249; --muted:#707d90; --brand:#284fba; --brand-dark:#1c3990; --soft:#edf2ff; --line:#e0e5ee; --paper:#fff; --canvas:#f5f7fb; --amber:#9c641c; --amber-bg:#fff6e6; --red:#a8433f; --radius:16px; }
.shortcut-login-entry{display:block;margin:18px auto 0;text-align:center;font-size:13px}
.invite-content{max-width:800px}
#record-access-help{display:inline-block;margin:6px 0 12px 10px}
.shortcut-brand{display:flex;gap:12px;align-items:center;margin-bottom:18px}
.shortcut-brand h2{margin:0}
.shortcut-guide{padding:14px;background:var(--soft);border-radius:10px;margin:16px 0}
#shortcut-status{margin-top:12px}
.profile-fields{border:0;padding:0;margin:0;min-width:0}
.identity-panel{padding:14px;border:1px solid #f2aaa3;border-radius:12px;margin:8px 0 18px;background:#fff3f2}
.identity-panel>h3,.identity-panel>p{color:#b42318}
.link.history-reminder{display:inline-flex;max-width:100%;padding:5px 9px;margin-top:4px;border:1px solid #f2aaa3;border-radius:6px;background:#fff3f2;color:#b42318;font-size:14px;font-weight:700;white-space:normal;overflow-wrap:anywhere}
.identity-summary{border-bottom:1px solid var(--line);padding:10px 0;overflow-wrap:anywhere}
.identity-panel h3,.identity-panel h4{margin:0}
.driver-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.driver-heading h1{min-width:0;overflow-wrap:anywhere}
.profile-entry{color:var(--brand);background:var(--soft);border-color:#c5d4fa}
.driver-heading .profile-entry{flex-shrink:0;padding:7px 11px;font-size:13px;white-space:nowrap}
#record-edit-profile{margin:6px 0 12px}
    * { box-sizing:border-box; }
    [hidden] { display:none !important; }
    body { margin:0; color:var(--ink); background:var(--canvas); font-family:"Microsoft YaHei", "PingFang SC", system-ui, sans-serif; font-size:14px; line-height:1.6; }
    button,input,select,textarea { font:inherit; }
    button { cursor:pointer; }
    button:focus-visible,a:focus-visible,summary:focus-visible { outline:3px solid #8fa8ec; outline-offset:3px; }
    button:disabled { cursor:default; opacity:.6; }
    .review { background:#182846; color:#e9eefb; padding:12px 24px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
    .review strong { font-size:13px; letter-spacing:.02em; }
    .review span { font-size:12px; opacity:.8; }
    .review-actions { display:flex; gap:8px; }
    .review button { border:1px solid #8999b6; border-radius:8px; background:transparent; color:white; padding:5px 12px; font-size:12px; }
    .review button.active { background:#edf2ff; color:#182846; border-color:#edf2ff; }
    .shell { display:grid; grid-template-columns:218px minmax(0,1fr); max-width:1600px; min-height:calc(100vh - 60px); margin:auto; }
    aside { padding:29px 20px; background:#fff; border-right:1px solid var(--line); display:flex; flex-direction:column; }
    .logo { display:flex; gap:10px; align-items:center; margin:0 8px 29px; }
    .logo-mark { background:var(--brand); color:#fff; width:35px; height:35px; border-radius:11px; display:grid; place-items:center; font-weight:700; font-size:17px; }
    .logo b { display:block; font-size:15px; }
    .logo small { color:var(--muted); font-size:11px; }
    nav { display:flex; flex-direction:column; gap:5px; }
    nav button { display:flex; align-items:center; gap:12px; border:0; background:none; text-align:left; color:var(--muted); padding:12px 14px; border-radius:10px; }
    nav button.active { color:var(--brand); background:var(--soft); font-weight:700; }
    .nav-icon { font-size:17px; width:20px; text-align:center; }
    .nav-label { font-size:11px; color:#9ba6a0; margin:22px 14px 6px; letter-spacing:.08em; }
    .profile { margin-top:auto; padding:30px 10px 0; display:flex; gap:10px; align-items:center; }
    .avatar { width:35px; height:35px; border-radius:50%; background:#edf1f9; display:grid; place-items:center; font-weight:600; }
    .profile small { color:var(--muted); font-size:11px; }
    .main { min-width:0; padding:24px 40px 40px; }
    .topbar { display:flex; align-items:center; justify-content:space-between; color:var(--muted); font-size:12px; margin-bottom:31px; }
    .view { display:none; }
    .view.active { display:block; animation:appear .16s ease-out; }
    @keyframes appear { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:translateY(0); } }
    .page-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:25px; }
    h1 { font-size:27px; line-height:1.3; margin:0 0 8px; font-weight:650; letter-spacing:-.03em; }
    h2 { font-size:17px; line-height:1.4; margin:0; font-weight:650; }
    h3 { font-size:14px; margin:0 0 4px; }
    p { margin:0; }
    .sub { color:var(--muted); font-size:13px; }
    .btn { border:1px solid var(--line); background:#fff; color:var(--ink); padding:10px 17px; border-radius:9px; display:inline-flex; justify-content:center; align-items:center; gap:7px; font-weight:500; }
    .btn.primary { background:var(--brand); color:white; border-color:var(--brand); }
    .btn.primary:hover { background:var(--brand-dark); }
    .btn.small { padding:6px 11px; font-size:12px; }
    .link { background:none; border:0; color:var(--brand); padding:0; font-weight:600; text-align:left; }
    .grid { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr); gap:22px; align-items:start; }
    .card { background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:22px; }
    .card + .card { margin-top:18px; }
    .card-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:18px; }
    .tag { display:inline-flex; align-items:center; gap:5px; padding:3px 9px; border-radius:6px; font-size:11px; color:var(--brand); background:var(--soft); white-space:nowrap; }
    .tag.amber { color:var(--amber); background:var(--amber-bg); }
    .tag.neutral { color:var(--muted); background:#f0f2f7; }
    .stats { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:24px; }
    .stat { border:1px solid var(--line); background:#fff; border-radius:12px; padding:17px 20px; }
    .stat strong { font-size:27px; display:block; line-height:1.3; margin:5px 0 3px; font-weight:650; }
    .stat small { font-size:11px; color:var(--muted); }
    .stat-label { color:var(--muted); font-size:12px; }
    .row { display:flex; gap:16px; align-items:center; padding:16px 0; border-top:1px solid #edf0f6; }
    .row:first-of-type { border-top:0; }
    .date-box { border-radius:9px; background:#edf1f9; width:49px; padding:5px 0; text-align:center; flex-shrink:0; color:var(--muted); font-size:10px; }
    .date-box b { display:block; font-size:20px; color:var(--ink); line-height:1.3; }
    .grow { flex:1; min-width:0; }
    .row .sub { font-size:12px; }
    .task { display:flex; gap:12px; align-items:flex-start; padding:15px 0; border-bottom:1px solid #edf0f6; }
    .task:last-child { border-bottom:0; padding-bottom:0; }
    .dot { width:7px; height:7px; margin-top:8px; border-radius:50%; background:#c39043; flex-shrink:0; }
    .small-note { color:var(--muted); font-size:11px; }
    .notice { display:flex; align-items:flex-start; gap:10px; background:var(--amber-bg); color:#855c29; border:1px solid #efdfbf; border-radius:10px; padding:12px 14px; font-size:12px; }
    .notice.green { background:var(--soft); border-color:#dce4fa; color:var(--brand); }
    .notice + .card { margin-top:18px; }
    .phone-wrap { max-width:410px; margin:0 auto; }
    .driver-meeting-guide { margin:14px 0; padding:12px; border:1px solid var(--line); border-radius:10px; background:#f5f7ff; font-size:13px; line-height:1.65; }
    .driver-meeting-guide p + p { margin-top:8px; }
    #preparation-dialog { width:min(1080px,calc(100vw - 32px)); max-width:1080px; }
    .preparation-filters { display:flex; gap:10px; margin:18px 0 10px; }
    .preparation-filters>* { min-width:0; flex:1; margin:0; }
    .preparation-person { display:grid; grid-template-columns:minmax(160px,1fr) minmax(150px,1fr) minmax(170px,1fr); gap:16px; padding:17px 0; border-bottom:1px solid var(--line); align-items:center; }
    .preparation-person strong { font-size:16px; overflow-wrap:anywhere; }
    .preparation-person p { margin-top:6px; }
    .preparation-actions { display:flex; flex-wrap:wrap; gap:8px; }
    .preparation-problem { color:#874506; font-size:14px; font-weight:600; }
    #temporary-register-form { margin:16px 0; background:#f5f7ff; }
    @media(max-width:600px){ .preparation-filters { flex-wrap:wrap; }.preparation-filters input { flex-basis:100%; }.preparation-person { grid-template-columns:1fr;gap:10px; }#preparation-dialog { padding:20px 16px; } }
    .phone-wrap .page-heading { margin-bottom:21px; }
    .phone-wrap h1 { font-size:25px; }
    .session-choice { background:var(--soft); border:1px solid #d7e1fb; border-radius:13px; padding:20px; margin:18px 0; }
    .session-choice .time { font-size:25px; font-weight:650; letter-spacing:-.03em; margin:5px 0 8px; }
    .full { display:flex; width:100%; }
    .primary.full { min-height:49px; }
    .invite-stats { display:grid; grid-template-columns:repeat(3,1fr); text-align:center; padding:19px 0; }
    .invite-stats > div + div { border-left:1px solid var(--line); }
    .invite-stats b { display:block; font-size:23px; line-height:1.4; }
    .invite-stats span { font-size:11px; color:var(--muted); }
    .code { font-family:ui-monospace,Consolas,monospace; letter-spacing:.07em; color:var(--brand); background:var(--soft); border-radius:5px; padding:3px 7px; font-size:12px; }
    .steps { display:flex; align-items:center; gap:10px; margin:22px 0; font-size:11px; color:var(--muted); }
    .step { display:flex; gap:6px; align-items:center; }
    .step em { width:21px; height:21px; font-style:normal; border-radius:50%; background:#edf0f6; display:grid; place-items:center; }
    .step.current { color:var(--brand); font-weight:600; }
    .step.current em { background:var(--brand); color:white; }
    .step-line { height:1px; background:var(--line); flex:1; }
    label { display:block; font-size:12px; font-weight:600; margin:17px 0 7px; }
    input,select,textarea { width:100%; padding:11px 12px; border:1px solid #dbe2ed; border-radius:8px; background:#fff; color:var(--ink); outline:none; }
    input:focus,select:focus,textarea:focus { border-color:var(--brand); box-shadow:0 0 0 3px #edf2ff; }
    input::placeholder { color:#9aa5b5; }
    .form-help { font-size:11px; color:var(--muted); margin-top:6px; }
    .driver-brand { display:flex; align-items:center; gap:8px; color:var(--brand); font-weight:650; font-size:12px; margin-bottom:27px; }
    .driver-hero { background:var(--brand); color:#fff; border-radius:16px; padding:24px; margin:20px 0; }
    .driver-hero .eyebrow { font-size:11px; opacity:.75; }
    .driver-hero h2 { color:#fff; font-size:24px; margin:9px 0 5px; }
    .driver-hero p { font-size:12px; opacity:.85; }
    .driver-hero .tag { background:#ffffff20; color:#fff; margin-top:17px; }
    .data-line { display:flex; justify-content:space-between; gap:14px; margin:12px 0; font-size:12px; }
    .data-line span { color:var(--muted); }
    .driver-bottom { text-align:center; color:var(--muted); font-size:11px; margin:22px 0 0; }
    .section-tabs { display:flex; gap:16px; border-bottom:1px solid var(--line); margin:24px 0; }
    .section-tabs a { font-size:12px; padding:0 0 12px; text-decoration:none; color:var(--muted); }
    .section-tabs a:first-child { color:var(--brand); border-bottom:2px solid var(--brand); font-weight:600; }
    .session-meta { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
    .session-meta span { display:block; font-size:11px; color:var(--muted); }
    .session-meta b { font-size:13px; font-weight:500; }
    .session-counts { display:flex; gap:22px; margin:19px 0; color:var(--muted); font-size:12px; }
    .session-counts b { color:var(--ink); font-size:20px; margin-right:5px; }
    table { width:100%; border-collapse:collapse; font-size:12px; }
    th { color:var(--muted); text-align:left; background:#f6f8fc; font-weight:500; padding:10px 12px; }
    td { padding:13px 12px; border-bottom:1px solid #edf0f6; vertical-align:middle; }
    td:last-child { text-align:right; }
    .table-scroll { overflow:auto; }
    details { background:#fff; border:1px solid var(--line); border-radius:12px; margin-top:16px; }
    summary { padding:17px 20px; cursor:pointer; font-size:14px; font-weight:600; }
    details > div { padding:0 20px 20px; }
    .toolbar { display:flex; gap:9px; flex-wrap:wrap; }
    .phone-mode .shell { display:block; max-width:460px; border-left:1px solid var(--line); border-right:1px solid var(--line); min-height:calc(100vh - 60px); }
    .phone-mode aside { display:block; padding:12px; border-right:0; border-bottom:1px solid var(--line); }
    .phone-mode .logo,.phone-mode .nav-label,.phone-mode .profile { display:none; }
    .phone-mode nav { flex-direction:row; overflow:auto; gap:3px; }
    .phone-mode nav button { padding:8px 10px; font-size:11px; white-space:nowrap; }
    .phone-mode .nav-icon { display:none; }
    .phone-mode .main { padding:20px 18px 35px; }
    .phone-mode .topbar { margin-bottom:22px; }
    .phone-mode .grid { grid-template-columns:1fr; }
    .phone-mode h1 { font-size:24px; }
    .phone-mode .page-heading { flex-wrap:wrap; }
    .phone-mode .stats { gap:8px; }
    .phone-mode .stat { padding:12px; }
    .phone-mode .stat strong { font-size:23px; }
    .phone-mode .stat small { display:none; }
    .phone-mode .card { padding:18px; }
    .phone-mode .session-meta { grid-template-columns:1fr; gap:10px; }
    .phone-mode .session-meta > div { display:flex; justify-content:space-between; }
    .phone-mode .section-tabs { overflow:auto; white-space:nowrap; gap:15px; }
    .phone-mode .row { gap:10px; }
    .phone-mode .row .btn { padding:6px 9px; font-size:11px; }
    .phone-mode .date-box { width:40px; }
    .toast { position:fixed; bottom:24px; left:50%; transform:translateX(-50%); padding:12px 20px; border-radius:10px; background:#182846; color:white; font-size:12px; box-shadow:0 7px 25px #25324926; display:none; z-index:30; max-width:calc(100vw - 30px); }
    dialog { border:1px solid var(--line); border-radius:17px; width:420px; max-width:calc(100vw - 28px); padding:25px; color:var(--ink); }
    dialog::backdrop { background:#17274545; }
    dialog h2 { margin-bottom:15px; }
    .modal-actions { display:flex; gap:8px; justify-content:flex-end; margin-top:22px; }
    .review-panel { background:#f0f3fa; color:#6e7c96; border:1px dashed #ccd5e5; border-radius:10px; padding:13px 16px; font-size:11px; margin-top:26px; }
    .driver-controls { display:flex; gap:8px; margin-bottom:18px; align-items:center; font-size:11px; color:var(--muted); }
    .driver-controls select { width:auto; padding:4px 7px; font-size:11px; }
    @media(max-width:850px) { .shell { grid-template-columns:175px minmax(0,1fr); } .main { padding:24px; } .grid { grid-template-columns:1fr; } aside { padding:25px 12px; } }
    @media(max-width:600px) { .review { padding:10px 14px; flex-wrap:wrap; gap:8px; } .review span { display:block; } .shell { display:block; } aside { padding:10px; border-right:0; border-bottom:1px solid var(--line); } .logo,.profile,.nav-label { display:none; } nav { flex-direction:row; overflow:auto; gap:2px; } nav button { padding:8px 9px; font-size:11px; white-space:nowrap; } .nav-icon { display:none; } .main { padding:20px 16px 35px; } .page-heading { flex-wrap:wrap; } h1 { font-size:24px; } .stats { gap:8px; } .stat { padding:12px; } .stat strong { font-size:22px; } .stat small { display:none; } .session-meta { grid-template-columns:1fr; gap:10px; } .session-meta>div { display:flex; justify-content:space-between; } .section-tabs { overflow:auto; white-space:nowrap; } .card { padding:18px; } .row { gap:10px; } .row .btn { font-size:11px; padding:6px 9px; } .phone-wrap { max-width:none; } }
    .session-options { display:grid; gap:8px; margin:13px 0 17px; }
    .session-option { display:flex; gap:12px; align-items:center; border:1px solid var(--line); border-radius:10px; padding:12px; margin:0; font-weight:400; cursor:pointer; }
    .session-option:has(input:checked) { border-color:var(--brand); background:var(--soft); box-shadow:inset 0 0 0 1px var(--brand); }
    .session-option input { width:17px; height:17px; padding:0; accent-color:var(--brand); flex-shrink:0; }
    .session-option b { display:block; font-size:16px; }
    .session-option small { display:block; color:var(--muted); font-size:11px; margin-top:2px; }
    .session-kind { display:flex; gap:8px; margin-bottom:22px; }
    .session-kind button.active { color:var(--brand); border-color:var(--brand); background:var(--soft); }
    .duration-editor { display:flex; align-items:center; gap:9px; }
    .duration-editor input { width:86px; padding:6px 9px; }
    .upcoming-item { padding:13px 0; border-top:1px solid var(--line); }
    .upcoming-item:first-child { border-top:0; }
    .brand-icon { width:36px; height:36px; object-fit:contain; display:block; }
    .driver-brand .brand-icon { width:28px; height:28px; }
    @media(prefers-reduced-motion:reduce) { .view.active { animation:none; } }

.residence-choice { border:0; margin:20px 0 12px; padding:0; }
.residence-choice legend { font-weight:600; margin-bottom:8px; }
.residence-choice label { display:flex; align-items:center; gap:9px; padding:9px 0; margin:0; cursor:pointer; }
.residence-choice input[type="radio"] { width:18px; height:18px; margin:0; padding:0; flex-shrink:0; accent-color:var(--brand); }

dialog { max-height:calc(100dvh - 32px); overflow:auto; }
.license-section { border-top:1px solid var(--line); margin-top:22px; padding-top:18px; }
.license-original { width:100%; border-radius:10px; margin:12px 0; }
.check-row { display:flex; align-items:flex-start; gap:8px; margin:15px 0; }
.check-row input { width:18px; height:18px; flex-shrink:0; margin-top:3px; accent-color:var(--brand); }
a.btn { display:block; text-align:center; text-decoration:none; }

/* 正式场次资料队列：正常自动处理，异常按需展开。 */
.qualification-tabs{display:flex;gap:12px;border-bottom:1px solid var(--line);margin:20px 0 14px}.qualification-tabs button{border:0;background:transparent;padding:10px 8px;color:var(--muted)}.qualification-tabs button[aria-selected="true"]{color:var(--brand);border-bottom:2px solid var(--brand);font-weight:600}.qualification-tabs b{margin-left:7px}.qualification-row{display:grid;grid-template-columns:minmax(130px,1fr) minmax(180px,1.3fr) minmax(180px,1.3fr) 70px;gap:16px;padding:20px 0;border-bottom:1px solid var(--line);align-items:center}.qualification-row h3{font-size:15px}.qualification-row p{margin-top:5px;font-size:13px}.qualification-row .small-note{font-size:12px}.qualification-attention{color:var(--amber)}.qualification-empty{padding:30px 0;color:var(--muted);text-align:center}
@media(max-width:760px){.qualification-row{grid-template-columns:1fr auto;gap:10px}.qualification-row:not(.board-person-card)>div:not(.qualification-person){grid-column:1/3}.qualification-row>button{grid-column:2;grid-row:1}.qualification-tabs{gap:6px}}
.qualification-row.has-problem{border-left:4px solid #d78428;padding-left:16px;margin-top:8px;background:#fffbf6;border-radius:8px}.qualification-row.near-threshold{background:#fff6e8;border-left-color:#b96909}.qualification-badge{display:inline-block;padding:4px 9px;border-radius:5px;background:#fff0d8;color:#874506;font-weight:700;font-size:12px}.qualification-row .qualification-problem-title{font-size:16px;font-weight:700;line-height:1.5;color:#843d11;margin-top:8px}.qualification-row.near-threshold .qualification-problem-title{color:#944d05}.qualification-problem .small-note{margin-top:8px}#near-special{font-size:16px;font-weight:700;line-height:1.6;background:#fff1d9;color:#874506;border-left:4px solid #bd741a;padding:14px;border-radius:8px}#staff-license-reasons{font-weight:600;color:#874506;font-size:15px}
@media(max-width:760px){.qualification-row.has-problem{padding-right:12px}.qualification-row .qualification-problem-title{font-size:17px}.qualification-row .qualification-problem{grid-row:2}}
/* 不达标原因优先，已达标事实折叠；颜色之外保留明确文字。 */
.qualification-row{grid-template-columns:minmax(130px,1fr) minmax(240px,1.8fr) minmax(130px,.8fr) 70px}
.qualification-row .qualification-problem-title{font-size:22px;line-height:1.45}
.qualification-secondary details{margin:0;border:0;background:transparent}
.qualification-secondary summary{padding:4px 0;color:var(--muted);font-size:12px;font-weight:400}
.qualification-secondary details p{padding:0}
#staff-license-reasons.qualification-detail-problem{font-size:22px;font-weight:700;color:#843d11;background:#fff1df;padding:14px;border-left:4px solid #bd741a;border-radius:8px;line-height:1.5}
@media(max-width:760px){.qualification-row{grid-template-columns:1fr auto}.qualification-row .qualification-problem-title{font-size:22px}.qualification-secondary{grid-row:3}}
.record-dialog #live-record-name{margin-bottom:3px;font-size:22px}
.record-focus{margin-top:18px;padding:16px;background:#f5f7fd;border-radius:12px}
.record-focus #staff-license-reasons{margin:0 0 10px}
.record-focus .toolbar{margin-top:16px}
.record-focus #near-special{margin-top:10px}
.record-dialog details summary{padding:12px 14px;font-size:13px}
.record-dialog details>div{padding:0 14px 14px}
.record-dialog details{margin-top:10px}
.record-dialog #manual-license-edit{display:block;margin-top:12px}
.record-dialog .modal-actions{margin-top:16px}
.record-photo-preview{margin:12px 0}
.license-thumbnail-button{display:block;padding:0;border:1px solid var(--line);border-radius:8px;background:white;min-height:80px;max-width:180px;overflow:hidden}
.license-thumbnail-button img{display:block;width:180px;max-width:100%;max-height:120px;object-fit:contain}
.license-thumbnail-button span{display:block;padding:12px;font-size:12px;color:var(--muted)}
#license-photo-dialog{width:720px}
#license-photo-dialog .license-original{margin:0;max-height:70dvh;object-fit:contain}
.record-support{margin-top:4px;font-size:12px;color:var(--muted)}
.workbench-header{display:flex;gap:16px;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap}
.workbench-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:18px;align-items:start}
.workbench-session,.workbench-task{padding:18px 0;border-bottom:1px solid var(--line)}
.workbench-session:first-child,.workbench-task:first-child{padding-top:0}
.workbench-session p,.workbench-task p{margin:6px 0}
.workbench-session .link,.workbench-task .link{margin-top:5px}
.workbench-task .workbench-reason{font-weight:700;color:#874506}
@media(max-width:850px){.workbench-grid{grid-template-columns:1fr}.workbench-header h2{font-size:17px}.workbench-header .btn{padding:7px 10px}}
.board-sessions{margin-top:12px;padding:16px 20px}
.session-strip{display:flex;gap:12px;overflow-x:auto;padding-bottom:10px;max-width:100%}
.compact-session{min-width:220px;max-width:300px;flex-shrink:0;padding:12px;border:1px solid var(--line);border-radius:9px}
.compact-session.selected-session{border-color:var(--brand);background:var(--soft)}
.compact-session{text-align:left;font:inherit;background:#fff;color:var(--ink);display:flex;flex-direction:column;gap:3px;cursor:pointer;white-space:normal}
.compact-session:hover{border-color:#9eb0e5;background:#f5f7ff}.compact-session-title{color:var(--brand);font-size:14px}
.board-state-tabs{margin-top:0;flex-wrap:wrap;gap:16px}.board-state-tabs button[aria-pressed="true"]{color:var(--brand);border-bottom:2px solid var(--brand);font-weight:600}
.board-select-row{margin:12px 0 0;font-size:12px}.board-select-row input{margin:2px 0 0}
.board-person-card{grid-template-columns:20px minmax(130px,1fr) minmax(210px,1.5fr) minmax(130px,.9fr) minmax(140px,1fr) 84px;padding:14px 8px;gap:12px}
.board-person-card.has-problem{padding:14px 8px 14px 12px}
.board-person-card:has(input:checked){outline:1px solid #8ca4e2;background:#f0f4ff;border-radius:8px}
.board-person-card>input{width:17px;height:17px;margin:0;accent-color:var(--brand)}
.board-person-actions{display:flex;flex-direction:column;gap:8px;font-size:12px}
.board-person-card .qualification-problem-title{font-size:21px;margin-top:5px}
.board-person-card .qualification-secondary p,.board-person-time p{font-size:11px;margin-top:3px}
.board-person-time .board-arrangement-time,.board-person-card .board-next-step{font-size:13px;font-weight:600;color:var(--ink)}
.create-kind-choice{display:flex;gap:16px;flex-wrap:wrap}.create-kind-choice legend{width:100%}.create-kind-choice label{font-weight:500}
#session-create-dialog .full{margin-top:14px}
@media(max-width:1000px){.board-person-card{grid-template-columns:20px minmax(100px,1fr) minmax(180px,1.5fr) minmax(100px,1fr) 70px}.board-person-time{grid-column:3/5;grid-row:2}.board-person-actions{grid-column:5;grid-row:1/3}}
@media(max-width:760px){.board-person-card,.board-person-card.has-problem{grid-template-columns:20px minmax(0,1fr) 72px;gap:8px;padding:12px 8px}.board-person-card>input{grid-column:1;grid-row:1}.board-person-card>.qualification-person{grid-column:2;grid-row:1}.board-person-card>.qualification-problem{grid-column:2/4;grid-row:2}.board-person-card>.qualification-secondary{grid-column:2/4;grid-row:3}.board-person-card>.board-person-time{grid-column:2/4;grid-row:4}.board-person-card>.board-person-actions{grid-column:3;grid-row:1}.board-person-card .qualification-problem-title{font-size:21px}.board-state-tabs{gap:8px}.board-state-tabs button{padding:8px 4px;font-size:12px}}
.board-filters{display:grid;grid-template-columns:1.1fr 1fr 1fr 1.4fr 1fr;gap:12px;margin-bottom:14px}
.board-filters label{margin:0;font-size:12px;color:var(--muted)}
.board-filters input,.board-filters select{margin-top:4px;padding:8px;min-width:0;width:100%}
.board-batch{padding:12px 0;border-block:1px solid var(--line);gap:10px}
.board-selection-help{margin-top:8px}
.people-table{width:100%;border-collapse:collapse;margin-top:12px;table-layout:fixed}
.people-table th{text-align:left;background:var(--canvas);font-size:12px;color:var(--muted);font-weight:500}
.people-table th,.people-table td{padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:middle;overflow-wrap:anywhere}
.people-table th:first-child{width:35px}.people-table th:nth-child(2){width:24%}.people-table th:last-child{width:52px}
.people-table input[type=checkbox]{width:17px;height:17px;margin:0;accent-color:var(--brand)}
.people-table tr:has(input:checked){background:var(--soft)}
.board-problem{font-weight:700;color:#9a410c;margin-top:4px}
.board-pagination{justify-content:flex-end;margin-top:16px}.board-pagination label{margin:0;font-size:12px;display:flex;align-items:center;gap:8px}.board-pagination select{width:auto;padding:5px;margin:0}
.board-mobile-time{display:none}
.workflow-notice,.offline-detail-row{padding:12px 0;border-bottom:1px solid var(--line)}
.workflow-notice textarea{height:150px;margin:8px 0;width:100%}
.offline-detail-row .data-line{padding:5px 0;gap:12px}.offline-detail-row b{overflow-wrap:anywhere}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:0}.two input{width:100%;min-width:0}
@media(max-width:600px){.main:has(#workbench-page:not([hidden])) .page-heading{flex-wrap:nowrap;margin-bottom:12px;gap:8px}.main:has(#workbench-page:not([hidden])) .page-heading .sub{display:none}.main:has(#workbench-page:not([hidden])) .page-heading h1{font-size:22px;margin:0}.main:has(#workbench-page:not([hidden])) #refresh-button{padding:6px 9px;white-space:nowrap}.workbench-header{gap:8px}.board-sessions{padding:12px}.board-sessions .card-head{margin-bottom:10px}.compact-session{padding:8px}.board-sessions>.small-note{display:none}}
@media(max-width:950px){.board-filters{grid-template-columns:1fr 1fr}.board-people{padding:16px}.people-table th:nth-child(2){width:27%}}
@media(max-width:600px){.board-time-column{display:none}.board-mobile-time{display:block}.people-table th:nth-child(2){width:34%}.people-table th,.people-table td{padding:8px 5px}.people-table{font-size:12px}.board-batch{gap:8px}.board-batch b{width:100%}.compact-session{min-width:210px}.board-pagination{gap:8px;flex-wrap:wrap}.board-sessions .card-head{flex-wrap:wrap}.board-people .small-note{font-size:11px}}
.offline-default-summary{padding:12px 16px;margin:14px 0;border-radius:12px;background:#f3f6fc}.offline-default-summary .line{margin:6px 0}#board-second-action{margin-top:12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.second-person{padding:10px 8px;border-bottom:1px solid #edf0f5;align-items:flex-start}#second-person-list,#second-other-list{max-height:260px;overflow:auto}#offline-fixed-details{margin:14px 0}#second-people-fields{margin-top:20px}#session-create-dialog{max-height:90vh;overflow:auto}
.offline-session-group{display:flex;flex-direction:column;gap:8px;flex:0 0 260px;min-width:0}.offline-session-group .compact-session{width:100%;min-width:0;height:auto;flex:1}.second-session-shortcut{width:100%;white-space:normal}.linked-second-session{text-align:left;font-size:12px;white-space:normal}.offline-source-summary{padding:12px;border-left:3px solid var(--brand);background:var(--soft);font-weight:600;overflow-wrap:anywhere}
@media(max-width:600px){.offline-session-group{flex-basis:230px}}

#checkin-video{width:100%;max-height:360px;background:#15233d;border-radius:12px;object-fit:contain;margin:12px 0}.checkin-photo-help{margin:16px 0}.checkin-qr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.checkin-qr-card{text-align:center;border:1px solid #dce2ef;border-radius:16px;padding:16px}.checkin-qr svg{width:100%;max-width:270px;height:auto}.checkin-qr-card h3{margin-bottom:12px}#staff-checkin-dialog{max-width:700px}@media(max-width:600px){.checkin-qr-grid{grid-template-columns:1fr}}
#session-manage-dialog,#interview-move-dialog{max-height:90vh;overflow:auto}#session-edit-fields{border:0;padding:0;margin:0;min-width:0}#session-cancel-section{margin:20px 0}

/* 操作被阻止时，原因必须在表单开头清晰可见。 */
.action-error { padding:12px 14px; margin:12px 0; border:1px solid #efb4b4; border-left:4px solid #be3030; border-radius:8px; background:#fff1f1; color:#a02121; font-size:15px; line-height:1.6; font-weight:600; overflow-wrap:anywhere; }

#board-action-dialog { width:560px; }
#board-offline-option { min-width:0; max-width:100%; padding-right:30px; }
.board-offline-detail { font-size:13px; line-height:1.6; color:var(--muted); overflow-wrap:anywhere; margin-top:10px; }
.board-offline-detail p { margin:4px 0; }

#board-action-consequence.action-warning { padding:10px 12px; background:#fff7e6; border:1px solid #efd19c; border-radius:8px; color:#805317; font-size:14px; line-height:1.6; font-weight:600; }

.qualification-row .owner-label,.owner-label{display:inline-block;margin:8px 0 0;padding:5px 9px;border:1px solid #c6d4f2;border-radius:6px;background:#edf2ff;color:#233f88;font-size:14px;font-weight:700;line-height:1.45;overflow-wrap:anywhere}

#meeting-report-dialog{width:900px;max-height:90vh;overflow:auto}.meeting-entry{display:grid;grid-template-columns:minmax(140px,1fr) minmax(120px,.8fr) minmax(180px,1.5fr);gap:16px;padding:14px 0;border-bottom:1px solid var(--line);align-items:center}.meeting-entry label{margin:0}.meeting-entry select{width:100%;margin-top:5px}.meeting-entry strong{overflow-wrap:anywhere}#meeting-report-entries{max-height:46vh;overflow:auto;margin:12px 0}@media(max-width:600px){.meeting-entry{grid-template-columns:1fr 1fr;gap:8px}.meeting-entry label{grid-column:1/3}#meeting-report-entries{max-height:50vh}}

.session-card-actions{display:flex;gap:8px}.session-card-actions>.btn{flex:1;min-width:0;white-space:normal}
#offline-edit-fields{border:0;padding:0;margin:0;min-width:0}
.invitation-mode-switch{display:flex;gap:8px;margin:8px 0 16px}
.invitation-mode-switch>.btn{flex:1;min-width:0;min-height:44px;font-weight:600}
.invitation-mode-switch>.btn[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:#fff}
.invitation-mode-switch>.btn:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
.onsite-pending-alert{display:block;width:100%;margin-top:14px;padding:13px 15px;border:1px solid #e7ad9e;border-radius:10px;background:#fff3ef;color:#a12d1c;font-size:14px;font-weight:600;text-align:left;line-height:1.6}
.onsite-pending-row.has-problem{border-left-color:#c43b28;background:#fff7f4}.onsite-pending-row .qualification-badge{color:#a12d1c;background:#ffe5de}.onsite-pending-row .board-problem{color:#a12d1c}
.checkin-qr-card.checkin-purpose-0{background:#f3f6ff;border:2px solid #cad7fa}.checkin-qr-card.checkin-purpose-1{background:#f1faf5;border:2px solid #a7d5bd}.checkin-qr-card.checkin-purpose-2{background:#fff8eb;border:2px solid #edcf93}.checkin-purpose-0 h3{color:var(--brand)}.checkin-purpose-1 h3{color:#206942}.checkin-purpose-2 h3{color:#805318}
#staff-checkin-dialog{width:920px;max-width:calc(100vw - 28px)}.checkin-qr-grid{grid-template-columns:repeat(3,minmax(0,1fr))}#onsite-assign-names{overflow-wrap:anywhere;line-height:1.6}#onsite-assign-error{color:#b42318}
@media(max-width:600px){.checkin-qr-grid{grid-template-columns:1fr}.onsite-pending-alert{font-size:13px}.checkin-qr-card h3{font-size:20px}}
@media(max-width:760px){.board-person-card.onsite-pending-row>.qualification-person{grid-column:2/4}.board-person-card.onsite-pending-row>.board-person-actions{grid-column:2/4;grid-row:6;justify-content:flex-start;flex-direction:row;gap:16px}}
