:root{--ink:#090d43;--ink-2:#16105f;--purple:#5b2dff;--purple-deep:#3713d5;--lavender:#eeeaff;--lavender-2:#f6f4ff;--line:#dcdcf1;--muted:#666987;--white:#fff;--danger:#c74a66}*{box-sizing:border-box}html{background:#fafaff}body{color:var(--ink);font-family:var(--font-geist-sans), "PingFang SC", "Microsoft YaHei", sans-serif;background:radial-gradient(circle at 50% 0,#f3f0ff 0,#fbfbff 32%,#fff 72%);margin:0}button,input,select{font:inherit}button{color:inherit}.site-shell{min-height:100vh}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:30;background:#ffffffd1;justify-content:space-between;align-items:center;height:76px;padding:0 42px;display:flex;position:sticky;top:0}.brand{cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:12px;min-width:0;padding:0;display:flex}.brand-mark{color:#fff;clip-path:polygon(50% 0,100% 100%,0 80%);background:linear-gradient(150deg,#7a50ff,#4d23f5);place-items:center;width:32px;height:34px;font-size:16px;font-weight:900;display:grid;position:relative}.brand-mark i{font-size:8px;font-style:normal;position:absolute;top:4px;right:-1px}.brand>span:nth-child(2) b{letter-spacing:-.02em;white-space:nowrap;font-size:19px}.brand>em{color:var(--purple);background:var(--lavender);border-radius:7px;margin-left:8px;padding:7px 13px;font-size:12px;font-style:normal;font-weight:700}.header-actions{align-items:center;gap:15px;height:100%;display:flex}.main-nav{align-items:stretch;gap:8px;height:100%;display:flex}.main-nav button{cursor:pointer;background:0 0;border:0;min-width:92px;font-size:14px;position:relative}.main-nav button.active{font-weight:800}.main-nav button.active:after{content:"";background:var(--purple);border-radius:4px;height:3px;position:absolute;bottom:7px;left:15px;right:15px}.staff-entry{color:#777993;cursor:pointer;background:0 0;border:0;padding:9px 5px;font-size:12px}.staff-entry.active{color:var(--purple);font-weight:800}.account-menu{position:relative}.account-menu summary{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:24px;padding:10px 15px;font-size:13px;list-style:none}.account-menu summary::-webkit-details-marker{display:none}.account-menu>div{border:1px solid var(--line);background:#fff;border-radius:10px;width:130px;padding:7px;position:absolute;top:48px;right:0;box-shadow:0 15px 40px #19114c29}.account-menu button{cursor:pointer;background:0 0;border:0;width:100%;padding:9px}.account-menu button:hover{background:var(--lavender-2)}.auth-page{grid-template-columns:1.1fr .8fr;align-items:center;gap:90px;max-width:1180px;min-height:calc(100vh - 150px);margin:0 auto;padding:72px 34px 95px;display:grid}.auth-intro .eyebrow,.eyebrow{color:var(--purple);letter-spacing:.07em;margin:0 0 10px;font-size:12px;font-weight:700}.auth-intro h1{letter-spacing:-.065em;margin:0;font-size:clamp(55px,6vw,80px);line-height:1.05}.auth-intro>p:last-child{max-width:520px;color:var(--muted);margin:26px 0 0;line-height:1.8}.auth-card{border:1px solid var(--line);background:#ffffffe6;border-radius:18px;padding:40px;box-shadow:0 24px 70px #281a691f}.auth-card h2{margin:8px 0;font-size:28px}.auth-card>p{color:var(--muted);margin:0 0 25px;font-size:13px}.section-kicker{color:var(--purple);font:700 9px var(--font-geist-mono), monospace;letter-spacing:.16em}.auth-card label{color:#555877;margin:16px 0;font-size:12px;font-weight:700;display:block}.auth-card input,.booking-modal input,.staff-login-card input{background:#fff;border:1px solid #cfd0e8;border-radius:8px;outline:none;width:100%;margin-top:8px;padding:13px 14px}.auth-card input:focus,.booking-modal input:focus,.staff-login-card input:focus{border-color:var(--purple);box-shadow:0 0 0 3px #5b2dff1f}.auth-card form button,.staff-login-card form button{color:#fff;background:linear-gradient(90deg, var(--purple), #792eff);cursor:pointer;border:0;border-radius:8px;width:100%;margin-top:8px;padding:14px;font-weight:800}.loading-card{text-align:center;grid-column:1/-1;justify-self:center;max-width:430px}.auth-symbol{color:#fff;background:var(--purple);border-radius:15px;place-items:center;width:54px;height:54px;margin:0 auto 18px;font-size:22px;font-weight:900;display:grid}.loading-card h1{font-size:22px}.participant-page,.board-page,.staff-page{max-width:1420px;margin:0 auto;padding:36px 42px 80px}.booking-hero{border:1px solid var(--line);background:#ffffffb8;border-radius:16px;grid-template-columns:1.05fr .95fr;align-items:center;gap:54px;min-height:235px;padding:24px 34px 20px 48px;display:grid;box-shadow:0 16px 50px #261a6409}.booking-intro h1{letter-spacing:-.05em;margin:4px 0 12px;font-size:clamp(35px,4vw,49px)}.booking-intro>p:last-of-type{color:#373a63;margin:0;font-size:15px}.rule-pills{flex-wrap:wrap;gap:14px;margin-top:22px;display:flex}.rule-pills span{border:1px solid var(--line);color:#3824a8;background:#fff;border-radius:8px;padding:10px 14px;font-size:12px;font-weight:700}.current-booking-card{color:#fff;background:linear-gradient(135deg,#0f124c 0%,#171263 72%,#3114a1 100%);border-radius:9px;align-content:center;min-height:170px;padding:30px;display:grid;position:relative;overflow:hidden}.current-booking-card:after{content:"";background:#7748ff59;width:110px;height:110px;position:absolute;top:-55px;right:-45px;transform:rotate(45deg)}.current-label{color:#c6c2f5;margin-bottom:14px;font-size:12px}.current-label i{background:#7043ff;border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block;box-shadow:0 0 0 4px #7043ff2e}.current-booking-card strong{letter-spacing:-.025em;font-size:28px}.current-booking-card p{color:#dedcf9;margin:12px 0 0;font-size:13px}.current-booking-card button{color:#fff;cursor:pointer;background:0 0;border:1px solid #d9d6ff;border-radius:7px;padding:11px 24px;position:absolute;bottom:30px;right:30px}.current-booking-card small{color:#aaa7d3;margin-top:16px}.schedule-section{border:1px solid var(--line);background:#ffffffe0;border-radius:16px;margin-top:28px;padding:26px 30px 20px;box-shadow:0 22px 70px #27186d0f}.section-heading,.table-toolbar{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:22px;display:flex}.section-heading>div:first-child{align-items:baseline;gap:20px;display:flex}.section-heading h2,.table-toolbar h2{letter-spacing:-.03em;margin:0;font-size:25px}.machine-total{color:var(--muted);margin:0;font-size:12px}.machine-total i{background:var(--purple);border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block;box-shadow:0 0 0 4px #5b2dff1c}.day-tabs{min-width:390px;display:flex;overflow-x:auto}.day-tabs button{border:1px solid var(--line);cursor:pointer;background:#fbfbff;flex:1;justify-content:center;align-items:center;gap:13px;min-width:155px;min-height:46px;display:flex}.day-tabs button:first-child{border-radius:8px 0 0 8px}.day-tabs button:last-child{border-radius:0 8px 8px 0}.day-tabs button+button{border-left:0}.day-tabs small{color:#7b7d98;font-size:11px}.day-tabs b{color:#71738f;font-size:12px}.day-tabs b em{color:#777890;background:#ececf3;border-radius:9px;margin-left:7px;padding:2px 5px;font-size:8px;font-style:normal;font-weight:700}.day-tabs button.active{z-index:1;border-color:var(--purple);color:var(--purple);background:#fff;position:relative;box-shadow:0 7px 18px #5b2dff1f}.day-tabs button.active small,.day-tabs button.active b{color:var(--purple)}.slot-card-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.slot-card{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;flex-direction:column;align-items:center;min-width:0;min-height:220px;padding:25px 18px 17px;transition:all .18s;display:flex}.slot-card:hover:not(:disabled){border-color:#a697ff;transform:translateY(-2px);box-shadow:0 12px 30px #5b2dff17}.slot-card.selected{border:2px solid var(--purple);background:linear-gradient(145deg,#fff,#f6f2ff);box-shadow:0 13px 32px #5b2dff1f}.slot-card.disabled{cursor:not-allowed;opacity:.56}.slot-card.closed{opacity:.72;background:#f8f8fb}.slot-card strong{letter-spacing:.01em;font-size:24px}.slot-remaining{color:#575a78;margin-top:8px;font-size:12px}.machine-chips{grid-template-columns:repeat(5,1fr);gap:9px;width:100%;margin:22px 0 18px;display:grid}.machine-chips i{border:1px solid var(--line);background:#fcfcff;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-width:0;height:56px;font-style:normal;display:flex}.machine-chips i b{background:var(--purple);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #5b2dff1a}.machine-chips i.reserved b{box-shadow:none;background:#cbc5ef}.machine-chips i.reserved{color:#77788e;background:#ededf3;border-color:#d8d8e3}.machine-chips i.completed,.machine-chips i.expired,.machine-chips i.limited{color:#858696;background:#e7e7ee;border-color:#d3d3de}.machine-chips i.completed b,.machine-chips i.expired b,.machine-chips i.limited b{box-shadow:none;background:#a4a5b3}.machine-chips i.closed{color:#858696;background:#f0f0f5;border-color:#d7d7e0}.machine-chips i.closed b{box-shadow:none;background:#aaaab7}.machine-chips i.maintenance{color:#9696a5;background:repeating-linear-gradient(135deg,#f1f1f4 0 7px,#e8e8ed 7px 14px);border-color:#d5d5dc}.machine-chips i.maintenance b{box-shadow:none;background:#a9a9b5}.machine-chips small{color:#373a64;white-space:nowrap;font-size:10px}.slot-select{color:var(--purple);margin-top:auto;font-size:13px;font-weight:800}.reserved-schedule{color:#5e6080;background:#fafaff;border:1px solid #e1e1f0;border-radius:8px;align-items:center;gap:12px;min-height:58px;margin-top:22px;padding:13px 22px;font-size:12px;display:flex}.reserved-schedule>span{color:var(--purple-deep);font-size:18px}.reserved-schedule b{color:#252752;margin-left:8px}.reserved-schedule em{font-style:normal}.reserved-schedule small{color:#777991;margin-left:auto}.selection-bar{border:1px solid var(--line);opacity:.62;background:#fff;border-radius:10px;justify-content:space-between;align-items:center;margin-top:26px;padding:19px 22px;display:flex;box-shadow:0 10px 30px #1b134f0f}.selection-bar.visible{opacity:1}.selection-bar>div{align-items:center;gap:16px;display:flex}.selection-bar>div>span{color:#fff;background:var(--purple);border-radius:50%;place-items:center;width:28px;height:28px;font-size:9px;display:grid;box-shadow:0 5px 14px #5b2dff4d}.selection-bar p{margin:0;font-size:14px}.selection-bar p b{margin-left:12px}.selection-bar p small{color:var(--muted);margin-top:6px;font-size:11px;display:block}.selection-bar>button,.modal-submit{color:#fff;background:linear-gradient(90deg, var(--purple), #7b2cff);cursor:pointer;border:0;border-radius:8px;min-width:205px;padding:14px 20px;font-weight:800;box-shadow:0 10px 22px #5b2dff33}.selection-bar button:disabled{cursor:default;filter:grayscale(.65)}.board-shortcut{text-align:center;color:#656780;font-size:12px}.board-shortcut button{color:var(--purple);cursor:pointer;background:0 0;border:0}.board-title{justify-content:space-between;align-items:flex-end;gap:30px;margin:3px 2px 22px;display:flex}.board-title h1{letter-spacing:-.045em;margin:0 0 8px;font-size:40px}.board-title>div:first-child>p:last-child{color:#3e4168;margin:0;font-size:13px}.board-refresh{color:#2f315f;align-items:center;gap:26px;font-size:12px;display:flex}.board-refresh button,.refresh-button,.board-footer button{border:1px solid var(--purple);color:var(--purple);cursor:pointer;background:#fff;border-radius:7px;padding:11px 25px}.board-stats{grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:24px;display:grid}.board-stats article{border:1px solid var(--line);background:#fffc;border-radius:11px;align-items:center;gap:22px;min-height:104px;padding:20px 28px;display:flex}.stat-icon{width:62px;height:62px;color:var(--purple);background:var(--lavender);border-radius:50%;place-items:center;font-size:25px;display:grid}.board-stats p{color:#484a72;margin:0;font-size:12px}.board-stats strong{color:var(--ink);margin-top:5px;font-size:30px;display:block}.board-controls{justify-content:space-between;align-items:center;gap:28px;margin-bottom:16px;display:flex}.board-day-tabs{min-width:370px}.board-legend{color:#41436a;flex-wrap:wrap;gap:34px;font-size:12px;display:flex}.board-legend span{align-items:center;gap:9px;display:flex}.board-legend i{border:1px solid var(--line);border-radius:3px;width:18px;height:18px}.board-legend i.running{background:#141260;border-color:#141260}.board-legend i.booked{background:#d8ccff;border-color:#d8ccff}.board-legend i.available{background:#fff;border-color:#4030b1}.board-legend i.completed{background:#e2e2ed;border-color:#e2e2ed}.board-legend i.limited{background:#ececf2;border-color:#cfcfd9}.board-legend i.closed{background:#f0eef8;border-color:#bbb7cf}.board-legend i.expired{background:#f1f1f5;border-color:#c8c8d2}.board-legend i.maintenance{background:repeating-linear-gradient(135deg,#eeeef2 0 5px,#dcdce3 5px 10px);border-color:#cfcfd9}.board-matrix{border:1px solid var(--line);background:#fff;border-radius:12px;overflow-x:auto}.board-matrix-row{grid-template-columns:170px repeat(5,minmax(150px,1fr));min-width:1040px;display:grid}.board-matrix-row>*{border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;justify-content:center;align-items:center;min-height:86px;padding:10px;display:flex}.board-matrix-row>:last-child{border-right:0}.board-matrix-row:last-child>*{border-bottom:0}.board-matrix-head>*{min-height:66px}.board-matrix-head>strong{font-size:13px}.board-matrix-head span>b{font-size:18px}.board-matrix-head span small{color:#62658a;margin-top:5px;font-size:10px}.board-matrix-head span small i{background:var(--purple);border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.board-matrix-head span.maintenance{color:#898996;background:#f0f0f4}.board-matrix-head span.maintenance small i{background:#a5a5af}.board-matrix-row>strong{align-items:flex-start;padding-left:35px;font-size:14px}.board-matrix-row>strong small{border:1px solid var(--purple);color:var(--purple);border-radius:15px;margin-top:8px;padding:4px 9px;font-size:9px}.board-matrix-row.current{box-shadow:inset 4px 0 0 var(--purple)}.board-cell{border-radius:8px;min-height:76px;margin:5px;border:1px solid var(--line)!important}.board-cell b{font-size:14px}.board-cell small{margin-bottom:4px;font-size:10px}.board-cell em{margin-top:3px;font-size:10px;font-style:normal}.board-cell.available{color:var(--purple-deep);background:#fff}.board-cell.available i{border:1px solid var(--purple);border-radius:50%;place-items:center;width:23px;height:23px;margin-bottom:4px;font-size:16px;font-style:normal;display:grid}.board-cell.booked{color:#3f24b4;background:linear-gradient(145deg,#f0ebff,#ddd2ff);border-color:#b7a6ff!important}.board-cell.running{color:#fff;background:linear-gradient(145deg,#171460,#0c0c48);border-color:#121052!important}.board-cell.running small{color:#d3ccff}.board-cell.completed{color:#65667b;background:#eeeef5}.board-cell.expired{color:#7b7c89;background:#f1f1f5;border-color:#d4d4dc!important}.board-cell.expired i{border:1px solid #aaaab4;border-radius:50%;place-items:center;width:23px;height:23px;margin-bottom:4px;font-style:normal;display:grid}.board-matrix-row>strong small.past-label{color:#7f808f;border-color:#bfc0ca}.board-cell.closed{color:#747589;background:repeating-linear-gradient(135deg,#f5f4fa 0 9px,#eeecf5 9px 18px);border-color:#cfccd9!important}.board-cell.closed i{border:1px solid #aaa6be;border-radius:50%;place-items:center;width:23px;height:23px;margin-bottom:4px;font-style:normal;display:grid}.board-matrix-row>strong small.closed-label{color:#69677c;border-color:#bbb7cb}.board-cell.maintenance{color:#777783;background:repeating-linear-gradient(135deg,#f1f1f4 0 8px,#e6e6eb 8px 16px);border-color:#d1d1d9!important}.board-cell.maintenance i{border:1px solid #a3a3ad;border-radius:50%;place-items:center;width:23px;height:23px;margin-bottom:4px;font-style:normal;display:grid}.board-cell.limited{color:#858692;background:#ececf2;border-color:#d4d4dc!important}.board-cell.limited i{border:1px solid #aaaab4;border-radius:50%;place-items:center;width:23px;height:23px;margin-bottom:4px;font-style:normal;display:grid}.board-matrix-row.reserved>strong{min-height:58px}.board-matrix-row.reserved>span{color:#4e4f76;background:repeating-linear-gradient(135deg,#fbfaff 0 10px,#f4f1ff 10px 20px);grid-column:2/7;min-height:58px;font-size:13px;font-weight:700}.board-footer{border:1px solid var(--line);color:#515377;background:#fff;border-radius:8px;justify-content:space-between;align-items:center;margin-top:18px;padding:10px 20px;font-size:12px;display:flex}.staff-title{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:26px;display:flex}.staff-title h1{letter-spacing:-.045em;margin:0;font-size:40px}.staff-title>div>p:last-child{color:var(--muted);margin:8px 0 0;font-size:13px}.live-sync{color:#656781;text-align:right;margin:-14px 0 18px;font-size:10px}.live-sync i{background:var(--purple);border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.staff-login-card{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:70px 1fr .8fr;align-items:center;gap:28px;min-height:300px;padding:48px;display:grid;box-shadow:0 24px 70px #27186d14}.staff-lock{color:#fff;background:var(--ink);border-radius:50%;place-items:center;width:60px;height:60px;font-size:27px;display:grid}.staff-login-card h2{margin:8px 0;font-size:27px}.staff-login-card p{color:var(--muted);margin:0;font-size:13px;line-height:1.7}.staff-login-card label{color:#555877;font-size:11px;font-weight:700}.stats-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px;display:grid}.stats-grid article{border:1px solid var(--line);background:#fff;border-radius:11px;flex-direction:column;min-height:132px;padding:22px;display:flex}.stats-grid article>span{color:var(--muted);font-size:12px}.stats-grid article b{margin:10px 0 auto;font-size:38px}.stats-grid article small{color:#9092a8;letter-spacing:.12em;font-size:8px}.stats-grid article.machine-stat{color:#fff;background:var(--ink)}.stats-grid article.machine-stat>span,.stats-grid article.machine-stat small{color:#b3b2dc}.stats-grid article.accent{background:var(--lavender);border-color:#cfc3ff}.release-control-card,.slot-builder-card,.account-card,.machine-control-card,.machine-matrix-card,.booking-table-card{border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:22px;padding:28px}.release-control-card{grid-template-columns:1fr auto auto;align-items:center;gap:24px;display:grid}.release-control-card h2{margin:6px 0 5px;font-size:24px}.release-control-card p{color:var(--muted);margin:0;font-size:11px}.release-status{color:#6d6e82;white-space:nowrap;background:#ededf3;border-radius:20px;padding:9px 13px;font-size:10px;font-weight:800}.release-status i{background:#9293a1;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.release-control-card.open .release-status{color:#4721c8;background:#ebe5ff}.release-control-card.open .release-status i{background:var(--purple)}.release-control-card>button{border:1px solid var(--purple);color:#fff;background:var(--purple);cursor:pointer;border-radius:7px;padding:11px 16px;font-weight:800}.release-control-card.open>button{color:var(--purple);background:#fff}.slot-builder-card{background:linear-gradient(135deg,#fff 0%,#fbfaff 100%)}.slot-builder-intro h2{margin:6px 0 5px;font-size:24px}.slot-builder-intro p{max-width:760px;color:var(--muted);margin:0;font-size:11px;line-height:1.7}.slot-builder-form{grid-template-columns:1.15fr .85fr .85fr 1.25fr auto;align-items:end;gap:12px;margin-top:22px;display:grid}.slot-builder-form label{color:#555877;font-size:10px;font-weight:800}.slot-builder-form input,.slot-builder-form select{width:100%;height:44px;color:var(--ink);background:#fff;border:1px solid #cfd0e8;border-radius:7px;outline:none;margin-top:8px;padding:0 12px}.slot-builder-form input:focus,.slot-builder-form select:focus{border-color:var(--purple);box-shadow:0 0 0 3px #5b2dff1f}.slot-builder-form button{color:#fff;background:var(--purple);cursor:pointer;white-space:nowrap;border:0;border-radius:7px;height:44px;padding:0 18px;font-size:11px;font-weight:800}.slot-builder-note{color:#656780;background:#f4f2ff;border-radius:7px;align-items:center;gap:9px;margin-top:14px;padding:11px 13px;font-size:10px;display:flex}.slot-builder-note i{color:#fff;background:var(--purple);border-radius:50%;flex:0 0 18px;place-items:center;width:18px;height:18px;font-style:normal;font-weight:800;display:grid}.account-toolbar,.matrix-toolbar{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px;display:flex}.account-toolbar h2,.matrix-toolbar h2{margin:6px 0 4px;font-size:24px}.account-toolbar p{color:var(--muted);margin:0;font-size:11px}.toolbar-actions,.queue-toolbar-actions{justify-content:flex-end;align-items:center;gap:9px;display:flex}.toolbar-actions button,.queue-toolbar-actions>button{color:#fff;background:var(--purple);cursor:pointer;border:0;border-radius:7px;padding:11px 15px;font-weight:800}.toolbar-actions button.reset-button,.queue-toolbar-actions>button.reset-button{color:#9b3249;background:#fff;border:1px solid #e3b8c2}.machine-control-grid{grid-template-columns:repeat(5,1fr);gap:12px;display:grid}.machine-control-grid article{border:1px solid var(--line);background:#fbfbff;border-radius:9px;flex-direction:column;justify-content:space-between;gap:16px;min-height:108px;padding:16px;display:flex}.machine-control-grid article.maintenance{color:#747482;background:repeating-linear-gradient(135deg,#f3f3f5 0 9px,#eaeaec 9px 18px);border-color:#d4d4dc}.machine-control-grid article span,.machine-control-grid article b{display:block}.machine-control-grid article span{margin-bottom:5px;font-size:16px;font-weight:900}.machine-control-grid article b{color:#676984;font-size:10px}.machine-control-grid article.online b{color:var(--purple)}.machine-control-grid button{cursor:pointer;background:#fff;border:1px solid #d2d2e5;border-radius:6px;padding:8px;font-size:10px}.machine-control-grid article.maintenance button{color:#fff;background:var(--purple);border-color:var(--purple)}.credential-banner{background:var(--lavender-2);border:1px solid #b9a9ff;border-radius:8px;grid-template-columns:.5fr 1fr 1.4fr;align-items:center;gap:20px;margin-bottom:18px;padding:16px 45px 16px 18px;display:grid;position:relative}.credential-banner span{color:#77709f;margin-bottom:4px;font-size:9px;display:block}.credential-banner b{font-family:var(--font-geist-mono), monospace}.credential-banner p{color:#656186;font-size:11px}.credential-banner>button{cursor:pointer;background:0 0;border:0;position:absolute;top:8px;right:10px}.account-table,.booking-table{border-top:1px solid var(--ink)}.account-head,.account-row{grid-template-columns:.55fr .7fr .9fr 1.1fr 1.3fr;align-items:center;gap:16px;padding:14px 10px;display:grid}.account-head{color:#898ba1;border-bottom:1px solid var(--line);font-size:10px}.account-row{border-bottom:1px solid var(--line);color:#5d5f79;min-height:64px;font-size:11px}.account-row.disabled{opacity:.58;background:#f8f8fb}.account-name{color:var(--ink);font-weight:800}.account-status{border-radius:20px;padding:5px 8px;font-style:normal;display:inline-block}.account-status.active{color:#4423c5;background:var(--lavender)}.account-status.disabled{color:#89626a;background:#f8e9ed}.account-actions{justify-content:flex-end;gap:6px;display:flex}.account-actions button,.action-cell button{cursor:pointer;background:#fff;border:1px solid #d5d5e8;border-radius:6px;padding:7px 10px;font-size:10px}.account-actions button.danger{color:var(--danger);border-color:#ebc4ce}.matrix-scroll{border-top:1px solid var(--ink);overflow-x:auto}.matrix-row{grid-template-columns:145px repeat(5,minmax(145px,1fr));min-width:960px;display:grid}.matrix-row>*{border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;justify-content:center;min-height:66px;padding:11px;display:flex}.matrix-row>:last-child{border-right:0}.matrix-head>span{color:#626484;background:#fafaff;align-items:center;min-height:44px;font-size:10px;font-weight:800}.matrix-head>span small{color:#9293a5;margin-top:4px;font-size:8px}.matrix-head>span.maintenance{color:#83838d;background:#eeeef2}.matrix-row>strong{background:#fafaff;font-size:12px}.matrix-cell b{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.matrix-cell small{margin-top:4px;font-size:8px}.matrix-cell.available{color:var(--purple);background:#fbfaff}.matrix-cell.occupied{color:#4829ba;background:#e7e0ff}.matrix-cell.occupied.running{color:#fff;background:var(--ink)}.matrix-cell.occupied.completed{color:#696a78;background:#ececf2}.matrix-cell.expired{color:#858692;background:#f1f1f5}.matrix-cell.closed{color:#777887;background:repeating-linear-gradient(135deg,#f4f3f8 0 8px,#eceaf2 8px 16px)}.matrix-cell.limited{color:#858692;background:#ececf2}.matrix-row>strong small{color:#8a8b98;margin-top:5px;font-size:8px}.matrix-cell.maintenance{color:#777781;background:repeating-linear-gradient(135deg,#f1f1f4 0 8px,#e6e6eb 8px 16px)}.matrix-reserved-row{color:#666884;background:#f5f3ff;gap:24px;min-width:960px;padding:14px 16px;font-size:11px;display:flex}.matrix-reserved-row strong{color:var(--ink)}.filter-tabs{flex-wrap:wrap;gap:6px;display:flex}.filter-tabs button{cursor:pointer;background:#f0eff8;border:0;border-radius:6px;padding:8px 12px;font-size:11px}.filter-tabs button.active{color:#fff;background:var(--ink)}.empty-queue{min-height:190px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:12px;display:flex}.table-head,.table-row{grid-template-columns:.65fr 1.1fr 1.2fr .48fr .65fr 1fr;align-items:center;gap:16px;padding:15px 9px;display:grid}.table-head{color:#898ba1;border-bottom:1px solid var(--line);font-size:10px}.table-row{border-bottom:1px solid var(--line);min-height:72px;font-size:12px}.booking-id,.time-cell,.machine-cell{font-family:var(--font-geist-mono), monospace}.team-cell b,.team-cell small{display:block}.team-cell small{color:#8b8da1;margin-top:4px}.machine-cell{color:var(--purple);font-weight:800}.status-pill{border-radius:20px;padding:6px 9px;font-size:10px;font-style:normal;display:inline-block}.status-待签到{color:#5a31d6;background:#ebe6ff}.status-调试中{color:#fff;background:var(--ink)}.status-已完成{color:#62637a;background:#ececf2}.status-已取消{color:#985c69;background:#f6e9ed}.action-cell{flex-wrap:wrap;gap:6px;display:flex}.action-cell button.move-button{color:var(--purple-deep);background:#f5f2ff;border-color:#b9adf4}.action-cell button.primary-small{color:#fff;background:var(--purple);border-color:var(--purple)}footer{border-top:1px solid var(--line);color:#85869b;letter-spacing:.1em;justify-content:space-between;max-width:1336px;margin:0 auto;padding:22px 42px 38px;font-size:9px;display:flex}.modal-backdrop{z-index:60;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#070831b8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.booking-modal{background:#fff;border-radius:14px;width:min(500px,100%);max-height:94vh;padding:36px;position:relative;overflow-y:auto;box-shadow:0 30px 100px #00000059}.modal-close{color:#777992;cursor:pointer;background:0 0;border:0;font-size:26px;position:absolute;top:13px;right:17px}.booking-modal h2{margin:0 0 20px;font-size:25px}.modal-slot{color:#fff;background:var(--ink);border-radius:8px;grid-template-columns:1fr auto;gap:4px 20px;margin-bottom:22px;padding:17px 19px;display:grid}.modal-slot span{color:#c4b8ff;font-size:11px}.modal-slot b{font-size:18px}.modal-slot small{color:#b7b6d2;grid-area:1/2/span 2;align-self:center}.booking-modal label{margin:16px 0;font-size:12px;font-weight:700;display:block}.booking-modal select{width:100%;color:var(--ink);background:#fff;border:1px solid #cfd0e8;border-radius:8px;outline:none;margin-top:8px;padding:13px 14px}.booking-modal select:focus{border-color:var(--purple);box-shadow:0 0 0 3px #5b2dff1f}.move-current{color:#e0dcff;background:var(--ink);border-radius:8px;margin-bottom:18px;padding:14px 16px}.move-current span,.move-current b{display:block}.move-current span{color:#aba6d6;margin-bottom:5px;font-size:10px}.move-current b{font-size:14px}.form-tip{color:#656780;background:#f4f2ff;border-radius:7px;padding:11px 13px;font-size:11px;line-height:1.6}.modal-submit{width:100%;margin-top:7px}.toast{z-index:80;color:#fff;background:var(--ink);border-radius:8px;padding:13px 19px;font-size:12px;position:fixed;bottom:27px;left:50%;transform:translate(-50%);box-shadow:0 14px 45px #0000004d}.toast span{color:#a998ff;margin-right:8px}button:disabled{cursor:wait;opacity:.58}@media (width<=1000px){.topbar{padding:0 22px}.brand>em{display:none}.participant-page,.board-page,.staff-page{padding:28px 22px 65px}.booking-hero{grid-template-columns:1fr;gap:28px;padding:32px}.current-booking-card{min-height:180px}.slot-card-grid{grid-template-columns:repeat(2,1fr)}.board-controls{flex-direction:column;align-items:flex-start}.board-stats{gap:12px}.stats-grid{grid-template-columns:1fr 1fr}.machine-control-grid{grid-template-columns:repeat(3,1fr)}.slot-builder-form{grid-template-columns:repeat(2,1fr)}.slot-builder-form button{grid-column:1/-1}}@media (width<=720px){.topbar{align-items:flex-start;gap:12px;height:auto;min-height:68px;padding:12px 16px}.brand>span:nth-child(2) b{white-space:normal;font-size:14px}.brand-mark{flex:0 0 30px}.header-actions{flex-wrap:wrap;justify-content:flex-end;gap:5px;height:auto}.main-nav{order:2;width:100%;height:38px}.main-nav button{min-width:74px;font-size:11px}.staff-entry{font-size:10px}.account-menu summary{padding:8px 10px;font-size:11px}.auth-page{grid-template-columns:1fr;gap:38px;padding:52px 20px 75px}.auth-intro h1{font-size:48px}.auth-card{padding:30px 22px}.participant-page,.board-page,.staff-page{padding:22px 14px 55px}.booking-hero{padding:25px 20px}.booking-intro h1{font-size:36px}.rule-pills{gap:8px}.current-booking-card{padding:24px 20px}.current-booking-card strong{padding-right:0;font-size:21px}.current-booking-card button{width:100%;margin-top:18px;position:static}.schedule-section{padding:20px 14px 14px}.section-heading{flex-direction:column;align-items:flex-start}.section-heading>div:first-child{flex-direction:column;align-items:flex-start;gap:7px}.day-tabs{width:100%;min-width:0}.slot-card-grid{grid-template-columns:1fr}.slot-card{min-height:205px}.reserved-schedule{flex-wrap:wrap;align-items:flex-start}.reserved-schedule small{width:100%;margin:0}.selection-bar{flex-direction:column;align-items:stretch;gap:16px}.selection-bar>button{width:100%}.selection-bar p b{margin:4px 0 0;display:block}.board-title{flex-direction:column;align-items:flex-start}.board-title h1{font-size:34px}.board-refresh{justify-content:space-between;width:100%}.board-stats{grid-template-columns:1fr}.board-stats article{min-height:86px}.board-legend{gap:15px}.board-footer{flex-direction:column;align-items:stretch;gap:12px}.staff-title h1{font-size:34px}.staff-login-card{grid-template-columns:1fr;padding:30px 22px}.stats-grid{grid-template-columns:1fr 1fr}.release-control-card,.slot-builder-card,.account-card,.machine-control-card,.machine-matrix-card,.booking-table-card{padding:20px 13px}.release-control-card,.slot-builder-form{grid-template-columns:1fr}.slot-builder-form button{grid-column:auto;width:100%}.account-toolbar,.matrix-toolbar,.table-toolbar{flex-direction:column;align-items:flex-start}.toolbar-actions,.queue-toolbar-actions{flex-direction:column;align-items:stretch;width:100%}.toolbar-actions button,.queue-toolbar-actions>button,.release-control-card>button{width:100%}.machine-control-grid{grid-template-columns:1fr 1fr}.credential-banner{grid-template-columns:1fr}.account-head,.table-head{display:none}.account-row{grid-template-columns:1fr auto}.account-row>span:nth-child(3),.account-row>span:nth-child(4){grid-column:1}.account-actions{flex-direction:column;grid-area:2/2/span 2}.table-row{grid-template-columns:1fr auto;gap:8px}.team-cell,.time-cell{grid-column:1}.machine-cell{grid-area:2/2}.table-row>span:nth-child(5){grid-area:1/2}.action-cell{grid-column:2}footer{margin:0 14px;padding:20px 0 30px}footer span:last-child{display:none}}@media (width<=430px){.brand>span:nth-child(2) b{font-size:12px}.staff-entry{display:none}.machine-chips{gap:5px}.machine-chips i{height:52px}.machine-chips small{font-size:9px}.stats-grid,.machine-control-grid{grid-template-columns:1fr}}
