:root{--admin-bg:#f4f7fb;--admin-surface:#fff;--admin-surface-2:#f8fafc;--admin-line:#d8e0ea;--admin-line-soft:#e5eaf1;--admin-text:#172033;--admin-muted:#64748b;--admin-green:#16a34a;--admin-green-dark:#15803d;--admin-amber:#f59e0b;--admin-red:#dc2626;--admin-blue:#0284c7;--admin-radius:10px;--admin-shadow:0 8px 24px #0f172a0f}*{box-sizing:border-box}html,body{min-height:100%}body{color:var(--admin-text);background:var(--admin-bg);margin:0;font-family:Microsoft YaHei,PingFang SC,Hiragino Sans GB,sans-serif}button,input,select,textarea{font:inherit}button,select{cursor:pointer}button:disabled,input:disabled,textarea:disabled,select:disabled{cursor:not-allowed;opacity:.62}a{color:inherit}.booking-screen{color:#172033;background:radial-gradient(circle at 50% 0,#d32f2f29,#0000 32%),linear-gradient(#fff7ed 0%,#f8fafc 48%,#eef2f7 100%);place-items:center;min-height:100vh;padding:0;display:grid}.booking-phone{background:#fff;width:min(430px,100%);min-height:100vh;box-shadow:0 22px 70px #0f172a24}.booking-hero{background:#7f1d1d;border-radius:0 0 28px 28px;min-height:300px;position:relative;overflow:hidden}.booking-hero-image{object-fit:cover;object-position:50% 42%;width:100%;height:100%;position:absolute;inset:0}.booking-hero-shade{background:linear-gradient(#0000002e 0%,#0000001a 38%,#7f1d1dd6 100%),linear-gradient(135deg,#ffffff1a,#0000 46%);position:absolute;inset:0}.booking-logo{object-fit:contain;object-position:left center;background:#ffffffe6;border-radius:999px;width:min(188px,100% - 36px);height:44px;padding:7px 12px;position:absolute;top:18px;left:18px;box-shadow:0 8px 22px #0f172a24}.booking-hero-copy{color:#fff;position:absolute;bottom:26px;left:20px;right:20px}.booking-hero-copy span{background:#ffffff29;border:1px solid #ffffff57;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:800;display:inline-flex}.booking-hero-copy h1{letter-spacing:0;max-width:300px;margin:10px 0 0;font-size:clamp(28px,7vw,34px);line-height:1.12}.booking-form{z-index:1;background:#fffffffa;border:1px solid #f1e2df;border-radius:22px 22px 18px 18px;gap:13px;margin:-18px 14px 0;padding:17px;display:grid;position:relative;box-shadow:0 18px 50px #7f1d1d21}.booking-form-head{padding-bottom:4px}.booking-form-head strong{color:#7f1d1d;font-size:20px;line-height:1}.booking-field{color:#334155;gap:7px;font-size:13px;font-weight:800;display:grid}.booking-field input,.booking-time-trigger{color:#172033;background:#fffaf8;border:1px solid #ead9d5;border-radius:14px;outline:none;width:100%;min-height:50px;padding:0 14px;font-size:15px}.booking-field input:focus,.booking-time-trigger:focus-visible{border-color:#dc2626;box-shadow:0 0 0 4px #dc26261a}.booking-field input.invalid{background:#fff7f7;border-color:#ef4444;box-shadow:0 0 0 4px #ef44441a}.booking-field-error{color:#dc2626;font-size:12px;font-weight:700;line-height:1.35}.booking-time-trigger{text-align:left;color:#80838b;appearance:none;justify-content:space-between;align-items:center;gap:12px;font-weight:800;display:flex}.booking-time-trigger.selected{color:#172033}.booking-time-trigger i{border:2px solid #7f1d1d;border-radius:50%;flex:none;width:20px;height:20px;position:relative}.booking-time-trigger i:before,.booking-time-trigger i:after{content:"";transform-origin:bottom;background:#7f1d1d;border-radius:999px;width:2px;position:absolute;bottom:8px;left:8px}.booking-time-trigger i:before{height:6px}.booking-time-trigger i:after{height:5px;transform:rotate(90deg)}.adm-picker{--header-button-font-size:15px;--title-font-size:16px;--item-font-size:18px;--item-height:44px;--border-radius:18px 18px 0 0}.adm-picker-view-column-item{font-weight:700}.adm-picker-header-button{color:#dc2626;font-weight:800}.adm-picker-header-title{font-weight:800}.booking-submit{color:#fff;background:linear-gradient(135deg,#dc2626 0%,#991b1b 100%);border:0;border-radius:16px;min-height:52px;font-size:17px;font-weight:800;transition:transform .18s,box-shadow .18s;box-shadow:0 14px 28px #b91c1c47}.booking-submit:hover{transform:translateY(-1px);box-shadow:0 18px 34px #b91c1c52}.booking-message{color:#166534;text-align:center;min-height:22px;margin:0;font-size:14px;font-weight:700}.booking-message.error{color:#dc2626}.admin-screen{background:var(--admin-bg);min-height:100vh}.admin-login-screen{grid-template-columns:minmax(0,1.05fr) minmax(360px,.78fr);gap:clamp(18px,3vw,36px);min-height:100vh;padding:clamp(18px,3vw,36px);display:grid}.admin-login-brand,.admin-login-card,.admin-panel,.admin-stat,.admin-table-card{border:1px solid var(--admin-line-soft);box-shadow:var(--admin-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0f172ad1}.admin-login-brand{color:#f8fafc;border-radius:28px;flex-direction:column;justify-content:space-between;padding:clamp(28px,6vw,72px);display:flex;position:relative;overflow:hidden}.admin-login-brand:before{content:"";background-color:#0000;background-image:linear-gradient(90deg,#94a3b814 1px,#0000 1px),linear-gradient(#94a3b814 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:40px 40px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 76%);mask-image:linear-gradient(#000,#0000 76%)}.admin-login-brand>*{position:relative}.admin-kicker{color:var(--admin-green);letter-spacing:0;text-transform:uppercase;margin:0 0 14px;font-family:Fira Code,monospace;font-size:12px;font-weight:700}.admin-login-brand h1{letter-spacing:0;max-width:760px;margin:0;font-size:clamp(44px,7vw,92px);line-height:.95}.admin-login-brand p{color:#cbd5e1;max-width:560px;margin:24px 0 0;font-size:18px;line-height:1.8}.admin-login-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:760px;margin-top:64px;display:grid}.admin-login-metrics span{color:var(--admin-green);font-family:Fira Code,monospace;font-size:clamp(22px,3vw,36px);font-weight:700;display:block}.admin-login-metrics small{color:var(--admin-muted);margin-top:8px;display:block}.admin-login-card{color:#f8fafc;border-radius:24px;align-self:center;padding:clamp(22px,4vw,42px)}.admin-login-card h2{letter-spacing:0;margin:0 0 8px;font-size:30px}.admin-login-card p{color:#cbd5e1;margin:0 0 28px;line-height:1.7}.admin-login-metrics small{color:#cbd5e1}.admin-form{gap:18px;display:grid}.admin-field{color:#dbeafe;gap:8px;font-size:14px;font-weight:700;display:grid}.admin-input,.admin-select,.admin-textarea{border:1px solid var(--admin-line);width:100%;min-height:46px;color:var(--admin-text);background:#02061794;border-radius:10px;outline:none;padding:0 14px;transition:border-color .18s,box-shadow .18s,background .18s}.admin-textarea{resize:vertical;min-height:72px;padding:12px 14px}.admin-input:focus,.admin-select:focus,.admin-textarea:focus{border-color:var(--admin-green);background:#020617c7;box-shadow:0 0 0 4px #22c55e24}.admin-button{min-height:42px;color:var(--admin-text);border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:800;text-decoration:none;transition:transform .18s,border-color .18s,background .18s;display:inline-flex}.admin-button:hover{transform:translateY(-1px)}.admin-button:focus-visible{outline-offset:2px;outline:3px solid #22c55e57}.admin-button.primary{background:var(--admin-green);color:#03130a}.admin-button.primary:hover{background:#4ade80}.admin-button.secondary{border-color:var(--admin-line);background:#0f172adb}.admin-button.danger{color:#fecaca;background:#7f1d1d38;border-color:#ef44446b}.admin-button.compact{min-height:34px;padding:0 12px;font-size:13px}.admin-message{color:#86efac;min-height:22px;margin:0;font-size:14px;font-weight:700}.admin-message.error{color:#fca5a5}.admin-dashboard{min-height:100vh;padding:clamp(14px,2vw,28px)}.admin-dashboard-inner{width:min(1480px,100%);margin:0 auto}.admin-topbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;display:flex}.admin-topbar h1{letter-spacing:0;margin:0;font-size:clamp(28px,4vw,48px);line-height:1.05}.admin-topbar p{color:var(--admin-muted);margin:10px 0 0}.admin-topbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.admin-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.admin-stat{border-radius:var(--admin-radius);padding:18px}.admin-stat strong{font-family:Fira Code,monospace;font-size:30px;line-height:1;display:block}.admin-stat span{color:var(--admin-muted);margin-top:8px;font-size:13px;display:block}.admin-panel{border-radius:var(--admin-radius);margin-bottom:14px;padding:14px}.admin-toolbar{grid-template-columns:minmax(220px,1.2fr) repeat(4,minmax(140px,.8fr)) auto;align-items:end;gap:10px;display:grid}.admin-table-card{border-radius:var(--admin-radius);overflow:hidden}.admin-table-scroll{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:1080px}.admin-table th,.admin-table td{text-align:left;vertical-align:top;border-bottom:1px solid #94a3b824;padding:14px}.admin-table th{color:#bfdbfe;background:#0f172aeb;font-family:Fira Code,monospace;font-size:12px;font-weight:700}.admin-table td{color:#e2e8f0;font-size:14px}.admin-student strong{font-size:15px;display:block}.admin-student span,.admin-time-meta,.admin-empty p{color:var(--admin-muted)}.admin-status-pill{border:1px solid #94a3b838;border-radius:999px;justify-content:center;min-width:86px;padding:6px 10px;font-size:12px;font-weight:800;display:inline-flex}.admin-status-pill.pending{color:#fcd34d;background:#78350f38;border-color:#f59e0b75}.admin-status-pill.contacted{color:#7dd3fc;background:#0c4a6e33;border-color:#38bdf875}.admin-status-pill.visited{color:#86efac;background:#14532d38;border-color:#22c55e75}.admin-status-pill.no-show,.admin-status-pill.not-interested{color:#fca5a5;background:#7f1d1d33;border-color:#ef444470}.admin-row-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-pagination{color:var(--admin-muted);border-top:1px solid #94a3b824;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.admin-pagination-actions{gap:8px;display:flex}.admin-empty{text-align:center;place-items:center;min-height:280px;display:grid}.admin-empty strong{margin-bottom:8px;font-size:20px;display:block}.admin-dashboard{color:#172033;background:#f4f7fb;padding:20px}.admin-dashboard-inner{width:min(1320px,100%)}.admin-dashboard .admin-topbar{border:1px solid var(--admin-line-soft);box-shadow:var(--admin-shadow);background:#fff;border-radius:12px;align-items:center;margin-bottom:14px;padding:18px 20px}.admin-dashboard .admin-topbar h1{color:#172033;font-size:clamp(24px,3vw,34px);font-weight:800;line-height:1.2}.admin-dashboard .admin-topbar p{color:#64748b;margin-top:6px;font-size:14px}.admin-dashboard .admin-button{border-radius:8px;min-height:38px;padding:0 14px;font-size:14px;font-weight:700}.admin-dashboard .admin-button:hover{transform:none}.admin-dashboard .admin-button.primary{color:#fff;background:#16a34a}.admin-dashboard .admin-button.primary:hover{background:#15803d}.admin-dashboard .admin-button.secondary{color:#334155;background:#fff;border-color:#d8e0ea}.admin-dashboard .admin-button.danger{color:#b91c1c;background:#fff7f7;border-color:#fecaca}.admin-dashboard .admin-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.admin-dashboard .admin-stat{border:1px solid var(--admin-line-soft);box-shadow:none;background:#fff;border-radius:10px;padding:14px 16px}.admin-dashboard .admin-stat strong{color:#172033;font-family:inherit;font-size:24px;font-weight:800}.admin-dashboard .admin-stat span{color:#64748b;margin-top:4px;font-size:13px}.admin-dashboard .admin-panel{border:1px solid var(--admin-line-soft);box-shadow:var(--admin-shadow);background:#fff;border-radius:12px;padding:16px}.admin-dashboard .admin-toolbar{grid-template-columns:minmax(220px,1.1fr) minmax(150px,.7fr) minmax(260px,1fr) auto auto;gap:12px}.admin-dashboard .admin-field{color:#334155;font-size:13px;font-weight:700}.admin-dashboard .admin-input,.admin-dashboard .admin-select,.admin-dashboard .admin-textarea{color:#172033;background:#fff;border-color:#d8e0ea;border-radius:8px;min-height:38px;padding:0 12px}.admin-dashboard .admin-textarea{min-height:64px;padding:10px 12px}.admin-dashboard .admin-input::placeholder,.admin-dashboard .admin-textarea::placeholder{color:#94a3b8}.admin-dashboard .admin-input:focus,.admin-dashboard .admin-select:focus,.admin-dashboard .admin-textarea:focus{background:#fff;border-color:#16a34a;box-shadow:0 0 0 3px #16a34a1f}.admin-dashboard .admin-date-range{color:#172033;border-color:#d8e0ea;border-radius:8px;width:100%;min-height:38px}.admin-dashboard .admin-status-select{width:100%;min-height:38px}.admin-dashboard .admin-status-select .ant-select-selector{border-radius:8px;align-items:center;min-height:38px;border-color:#d8e0ea!important}.admin-dashboard .admin-status-select.ant-select-focused .ant-select-selector,.admin-dashboard .admin-status-select:hover .ant-select-selector{border-color:#16a34a!important;box-shadow:0 0 0 3px #16a34a1f!important}.admin-dashboard .admin-status-select .ant-select-selection-item,.admin-dashboard .admin-status-select .ant-select-selection-placeholder{color:#172033;font-family:Microsoft YaHei,PingFang SC,Hiragino Sans GB,sans-serif;font-weight:600}.admin-dashboard .admin-date-range:hover,.admin-dashboard .admin-date-range.ant-picker-focused{border-color:#16a34a;box-shadow:0 0 0 3px #16a34a1f}.admin-dashboard .admin-date-range .ant-picker-input>input{color:#172033;font-family:Microsoft YaHei,PingFang SC,Hiragino Sans GB,sans-serif}.admin-dashboard .admin-date-range .ant-picker-input>input::placeholder{color:#94a3b8}.admin-dashboard .admin-table-card{border:1px solid var(--admin-line-soft);box-shadow:var(--admin-shadow);background:#fff;border-radius:12px}.admin-dashboard .admin-table{min-width:980px}.admin-dashboard .admin-table th,.admin-dashboard .admin-table td{border-bottom-color:#edf1f6;padding:12px 14px}.admin-dashboard .admin-table th{color:#475569;background:#f8fafc;font-family:inherit;font-size:13px;font-weight:800}.admin-dashboard .admin-table td{color:#172033;font-size:14px}.admin-dashboard .admin-table tbody tr:hover{background:#f8fafc}.admin-dashboard .admin-student span,.admin-dashboard .admin-time-meta,.admin-dashboard .admin-empty p{color:#64748b}.admin-dashboard .admin-status-pill{border-radius:999px;padding:4px 9px}.admin-dashboard .admin-status-pill.pending{color:#92400e;background:#fffbeb;border-color:#fde68a}.admin-dashboard .admin-status-pill.contacted{color:#075985;background:#f0f9ff;border-color:#bae6fd}.admin-dashboard .admin-status-pill.visited{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.admin-dashboard .admin-status-pill.no-show,.admin-dashboard .admin-status-pill.not-interested{color:#991b1b;background:#fef2f2;border-color:#fecaca}.admin-dashboard .admin-empty{min-height:220px}.admin-dashboard .admin-empty strong{color:#172033;font-size:18px}.admin-dashboard .admin-pagination{color:#64748b;border-top-color:#edf1f6;padding:12px 14px}.admin-dashboard .admin-message{color:#15803d;margin-top:10px}.admin-dashboard .admin-message.error{color:#dc2626}@media (max-width:1120px){.admin-login-screen{grid-template-columns:1fr}.admin-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-toolbar .admin-button{width:100%}.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.admin-login-screen,.admin-dashboard{padding:12px}.admin-login-brand,.admin-login-card{border-radius:18px}.admin-login-metrics,.admin-stats,.admin-toolbar{grid-template-columns:1fr}.admin-topbar{flex-direction:column;align-items:stretch}.admin-topbar-actions{justify-content:stretch}.admin-topbar-actions .admin-button{flex:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
