:root{--blue:#1677ff;--blue-dark:#0d5fd1;--text:#17324d;--muted:#73839a;--bg:#f4f8fc;--card:#fff;--line:#e5edf5;--danger:#d74d4d;--success:#16a085;--shadow:0 16px 40px rgba(27,62,101,.08)}
*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif;color:var(--text);background:var(--bg)}body{min-height:100vh}.hidden{display:none!important}.container{width:min(1120px,calc(100% - 32px));margin:0 auto}.topbar{height:66px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.topbar-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:800;color:var(--text);text-decoration:none;font-size:18px}.topbar nav{display:flex;gap:24px}.topbar nav a{color:var(--muted);text-decoration:none;font-size:14px}.topbar nav a:hover,.topbar nav a.active{color:var(--blue)}.page-main{padding:42px 0 64px}.hero{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:28px}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:800;color:var(--blue);display:inline-block;margin-bottom:8px}.hero h1,.page-heading h1{margin:0;font-size:36px;line-height:1.18;letter-spacing:-.02em}.hero p,.page-heading p,.card-header p{margin:10px 0 0;color:var(--muted);font-size:14px;line-height:1.7}.hero-badge{padding:8px 12px;border:1px solid #dce9f8;background:#eef6ff;color:var(--blue);border-radius:999px;font-size:12px}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.booking-card{padding:28px}.card-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.card-header h2{margin:0;font-size:21px}.grid{display:grid;gap:18px}.grid.two{grid-template-columns:1fr 1fr}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.field span{font-size:13px;font-weight:700}.field b{color:var(--blue)}input,select,textarea{width:100%;border:1px solid #d9e4ef;background:#fbfdff;color:var(--text);border-radius:10px;outline:none;padding:12px 13px;font-size:14px;transition:.18s}input:focus,select:focus,textarea:focus{border-color:#8bbcff;box-shadow:0 0 0 4px rgba(22,119,255,.08);background:#fff}textarea{resize:vertical;min-height:100px}.time-panel{background:#f8fbff;border:1px solid #e2edf8;border-radius:14px;padding:18px;margin:6px 0 20px}.section-title{font-weight:800;font-size:14px;margin-bottom:12px}.time-mode{display:flex;gap:20px;margin:0 0 16px;color:var(--muted);font-size:13px}.time-mode label{display:flex;align-items:center;gap:7px}.time-mode input{width:auto}.duration-display{font-weight:700;color:var(--blue);font-size:14px}.form-error{color:var(--danger);font-size:13px;min-height:19px;margin-top:8px}.advanced-header{display:flex;align-items:center;justify-content:space-between;padding:16px 2px;color:#36516b;font-weight:800;font-size:14px;cursor:pointer;border-top:1px solid var(--line)}.advanced-panel{padding:6px 0 8px}.check-row{display:flex;align-items:center;gap:8px;margin:4px 0 12px;font-size:13px}.check-row input{width:auto}.note{color:#8190a4;font-size:12px;line-height:1.7;background:#f7f9fc;padding:10px 12px;border-radius:10px}.primary-btn,.secondary-btn{appearance:none;border:0;cursor:pointer;border-radius:10px;font-weight:800;font-size:14px;padding:13px 18px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.primary-btn{background:var(--blue);color:#fff;box-shadow:0 10px 24px rgba(22,119,255,.2);width:100%;margin-top:6px}.primary-btn:hover{background:var(--blue-dark)}.primary-btn:disabled{opacity:.65;cursor:not-allowed}.secondary-btn{background:#fff;color:var(--text);border:1px solid var(--line)}.secondary-btn:hover{border-color:#bcd3eb}.compact{width:auto;margin:0}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}.table-card{padding:18px}.toolbar{display:flex;justify-content:flex-end;gap:10px;margin-bottom:16px}.toolbar select{width:180px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:930px}th,td{padding:14px 12px;border-bottom:1px solid var(--line);text-align:left;font-size:13px;white-space:nowrap}th{color:#73839a;font-weight:700;background:#fbfdff}td strong{font-size:13px}.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800}.status-upcoming{background:#eef6ff;color:#176dd9}.status-ongoing{background:#edf9f5;color:#11835f}.status-ended{background:#f1f3f6;color:#6b7580}.status-canceled{background:#fff0f0;color:#ba4e4e}.status-failed,.status-provisioning{background:#fff6e8;color:#a96c08}.row-actions{display:flex;gap:8px}.link-btn{border:0;background:none;color:var(--blue);cursor:pointer;padding:0;font-weight:700;font-size:12px}.success-card{padding:28px;border:1px solid #d9efe8;background:#fbfffd;border-radius:18px;box-shadow:var(--shadow)}.success-title{display:flex;align-items:center;gap:12px;font-size:22px;font-weight:800}.success-icon{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#e8faf3;color:var(--success);font-weight:900}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0}.detail-item{padding:14px;background:#f7fafc;border:1px solid var(--line);border-radius:12px}.detail-item .label{font-size:11px;color:#8391a2;margin-bottom:6px}.detail-item .value{font-size:14px;font-weight:800;word-break:break-word}.invite-box{margin-top:18px}.invite-box textarea{min-height:250px;background:#fff}.copy-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.copy-actions button{width:auto;margin:0}.result-actions{display:flex;gap:10px;margin-top:18px}.result-actions a{width:auto}.footer{padding:26px 16px;color:#91a0b0;text-align:center;font-size:12px}.empty{text-align:center;color:#8a99aa;padding:44px 20px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.stat-card{padding:22px}.stat-card span{color:var(--muted);font-size:12px}.stat-card strong{display:block;font-size:28px;margin-top:8px}.status-box{padding:14px 16px;border-radius:12px;background:#f7fafc;border:1px solid var(--line);font-weight:800}.small-meta{margin-top:8px;color:var(--muted);font-size:12px}.template-editor{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;min-height:300px}.actions-right{display:flex;justify-content:flex-end;margin-top:12px}.auth-page{display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{width:min(440px,100%);padding:30px}.auth-card h1{margin:0;font-size:28px}.modal{position:fixed;inset:0;background:rgba(14,32,52,.46);display:flex;align-items:center;justify-content:center;padding:20px;z-index:30}.modal-card{width:min(640px,100%);padding:24px;max-height:90vh;overflow:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-header h2{margin:0}.icon-btn{border:0;background:none;font-size:28px;cursor:pointer;color:#7a8797}.toast{position:fixed;right:20px;bottom:20px;background:#17324d;color:#fff;padding:12px 16px;border-radius:10px;opacity:0;transform:translateY(8px);pointer-events:none;transition:.2s;z-index:50;font-size:13px}.toast.show{opacity:1;transform:translateY(0)}
@media (max-width:760px){.container{width:min(100% - 20px,1120px)}.topbar{height:60px}.topbar nav{gap:12px}.topbar nav a{font-size:12px}.page-main{padding-top:26px}.hero,.page-heading{display:block}.hero h1,.page-heading h1{font-size:28px}.hero-badge{display:inline-flex;margin-top:16px}.grid.two,.detail-grid,.stat-grid{grid-template-columns:1fr}.booking-card{padding:20px}.card-header{align-items:flex-start;flex-direction:column}.primary-btn,.secondary-btn{min-height:46px}.toolbar{justify-content:stretch}.toolbar select{width:100%}.toolbar .secondary-btn{min-width:84px}.copy-actions,.result-actions{flex-direction:column}.copy-actions button,.result-actions a{width:100%}table{min-width:860px}.footer{padding-bottom:30px}}
.long-value{white-space:pre-wrap;word-break:break-word;line-height:1.7}.detail-item a{color:var(--blue);word-break:break-all;text-decoration:none}.detail-item a:hover{text-decoration:underline}
