:root{font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;color:#f7efff;background:#0c0616;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:1180px;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:36px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 12px center!important;color-scheme:dark}input[type=date],input[type=time]{color-scheme:dark}input[type=date]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator{filter:invert(1) brightness(1.8);opacity:.95}.app-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}aside{position:fixed;inset:0 auto 0 0;width:250px;padding:26px 18px;display:flex;flex-direction:column;background:#11081f;border-right:1px solid rgba(190,142,255,.12)}.brand{display:flex;align-items:center;gap:13px;padding:0 10px 28px}.brand strong{display:block;font-size:14px;letter-spacing:.16em}.brand span{display:block;margin-top:4px;color:#806d98;font-size:12px}.logo-mark{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#7440bc,#d06fc0);color:#fff;font-weight:900;box-shadow:0 10px 30px #8348c847}nav{display:flex;flex-direction:column;gap:6px}nav button,.logout{width:100%;border:0;padding:12px 13px;border-radius:12px;display:grid;grid-template-columns:24px 1fr 16px;align-items:center;text-align:left;color:#8c799f;background:transparent}nav button:hover,nav button.active{color:#f7efff;background:#27143e}nav button.active svg:first-child{color:#a56aea}.logout{margin-top:auto;grid-template-columns:24px 1fr;color:#7c6a8e}.app-shell>main{grid-column:2;min-width:0}header{height:70px;padding:0 34px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(190,142,255,.1);background:#0c0616eb}.breadcrumb{display:flex;align-items:center;gap:9px;color:#8d7a9f;font-size:13px}.breadcrumb span{color:#43334f}.admin-chip{padding:8px 13px;border-radius:999px;color:#bf93f2;background:#25143a;font-size:12px}.workspace{padding:26px 34px 60px}.tabs{display:flex;gap:8px;margin-bottom:28px}.tabs button{padding:9px 16px;border:1px solid #2f1c45;border-radius:10px;color:#8d7a9f;background:#130a21}.tabs button.active{color:#fff;border-color:#7749ad;background:#32194e}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px}.eyebrow{color:#9e66df;font-size:10px;font-weight:800;letter-spacing:.18em}h1{margin:8px 0 6px;font-size:30px;letter-spacing:-.02em}.page-heading p,.login-card p{margin:0;color:#827190;font-size:14px}.heading-actions{display:flex;gap:10px}.venue-management{margin-bottom:18px}.venue-management .inline-form{padding:20px 0;border:0}.booking-filters{display:grid;grid-template-columns:repeat(3,minmax(180px,260px));gap:14px;margin-bottom:18px}.booking-filters label{display:grid;gap:7px;color:#a895b8;font-size:12px}.booking-filters select{height:42px;padding:0 38px 0 13px;border:1px solid #38244e;border-radius:10px;outline:none;color:#eee4f8;background-color:#12091f}.booking-filters select:focus{border-color:#8e56ce}.heading-actions input,.settings-form input,.login-card input,.page-heading input,.page-heading select,.inline-form input,.inline-form select,.recharge-form input,.recharge-form select,.hours-row input,.slot-toolbar input{height:40px;padding:0 13px;border:1px solid #38244e;border-radius:10px;outline:none;color:#eee4f8;background:#12091f}.heading-actions input:focus,.settings-form input:focus,.login-card input:focus,.page-heading input:focus,.page-heading select:focus,.inline-form input:focus,.inline-form select:focus,.recharge-form input:focus,.recharge-form select:focus,.hours-row input:focus,.slot-toolbar input:focus{border-color:#8e56ce}.secondary,.primary{border:0;border-radius:10px;padding:0 15px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.secondary{color:#cab8db;border:1px solid #38244e;background:#171025}.primary{color:#fff;background:linear-gradient(135deg,#7440bc,#ab59c4);font-weight:700}.secondary:disabled,.primary:disabled{opacity:.5;cursor:default}.panel{overflow:hidden;border:1px solid #2c193f;border-radius:18px;background:#130a21}.table-wrap{width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain}.action-table .table-wrap table{min-width:1120px}table{width:100%;border-collapse:collapse;font-size:13px}th{color:#8b759e;font-size:11px;letter-spacing:.04em;text-align:left;background:#170c27}th,td{max-width:280px;padding:14px 16px;border-bottom:1px solid #241333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.booking-items-cell{min-width:280px;max-width:420px;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.65}td{color:#d9cce4}tbody tr:hover{background:#6836971a}.empty,.loading{min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:#6f5b80}.empty strong{color:#bca8cc}.empty span{font-size:13px}.error{color:#ff7e91}.success{color:#45d792}.detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;justify-content:flex-end;background:#05020aad;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.detail-drawer{width:min(520px,92vw);height:100%;padding:28px;overflow:auto;border-left:1px solid #4a2968;background:#12091f;box-shadow:-20px 0 50px #00000059}.detail-drawer .panel-title{margin-bottom:22px}.detail-list{display:grid;gap:0;margin:0}.detail-list div{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid #2c193f}.detail-list dt{color:#8b759e}.detail-list dd{margin:0;color:#eee4f8;text-align:right;overflow-wrap:anywhere}.panel>.error,.panel>.loading{padding:32px}.panel>.success{padding:0 22px 22px}.settings-form{max-width:720px;padding:28px;display:grid;gap:18px}.settings-form label,.login-card label{display:grid;gap:8px;color:#a895b8;font-size:13px}.settings-form .primary{justify-self:start;padding-inline:24px}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 50% 20%,#2a1242 0,#0c0616 46%)}.login-card{width:390px;padding:42px;display:grid;gap:18px;border:1px solid #3a2350;border-radius:24px;background:#12081feb;box-shadow:0 30px 90px #00000059}.login-card .logo-mark{margin-bottom:4px}.login-card h1{margin:-8px 0 -10px}.login-card .primary{margin-top:6px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:22px}.metric-card{position:relative;min-height:174px;padding:23px;display:flex;flex-direction:column;border:1px solid #35204b;border-radius:18px;background:linear-gradient(145deg,#19102b,#130a21)}.metric-card>span{color:#9b88ab;font-size:13px}.metric-card>strong{margin-top:22px;color:#fff;font-size:31px;letter-spacing:-.04em}.metric-card>small{margin-top:auto;color:#766486}.metric-icon{position:absolute;right:20px;top:20px;width:42px;height:42px;display:grid;place-items:center;border-radius:12px;color:#bd80f0;background:#321a4e}.metric-card.warning .metric-icon{color:#ff7189;background:#40152f}.dashboard-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(290px,.8fr);gap:22px;margin-bottom:22px}.chart-card,.todo-card{min-height:340px;padding:24px;border:1px solid #35204b;border-radius:18px;background:#130a21}.card-title,.panel-title{display:flex;align-items:center;justify-content:space-between}.card-title>div,.panel-title{gap:5px}.card-title strong,.panel-title strong{display:block;font-size:16px}.card-title span,.panel-title span{display:block;margin-top:5px;color:#786889;font-size:12px}.card-title svg{color:#a76ae8}.line-chart{position:relative;height:245px;margin-top:20px;border-bottom:1px solid #332045;background:repeating-linear-gradient(to bottom,transparent 0,transparent 59px,rgba(126,82,163,.13) 60px)}.line-chart svg{width:100%;height:200px;overflow:visible}.chart-labels{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;color:#705f82;font-size:11px}.chart-labels span{display:grid;gap:4px;text-align:center}.chart-labels b{color:#b89acb;font-size:12px}.todo-card{display:flex;flex-direction:column;gap:14px}.todo-card .card-title{margin-bottom:5px}.todo-item{width:100%;text-align:left;font:inherit;cursor:pointer;padding:17px 15px;display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:10px;border:1px solid #302043;border-radius:13px;color:#b9a8c7;background:#1c0e30}.todo-item:hover{border-color:#71459a;background:#281340;transform:translateY(-1px)}.todo-item svg{color:#9d64dc}.todo-item strong{color:#c392ef;font-size:12px}.todo-item.danger svg,.todo-item.danger strong{color:#ff7189}.recent-panel{margin-bottom:30px}.panel-title{padding:20px 22px;border-bottom:1px solid #2b183e}.edit-panel{padding:24px}.hours-list{display:grid}.hours-row{min-height:65px;display:grid;grid-template-columns:130px 120px 150px 30px 150px;align-items:center;gap:14px;border-bottom:1px solid #29183a}.hours-row>span{color:#725f82;text-align:center}.switch-label{display:flex;align-items:center;gap:8px;color:#ad9abb;font-size:13px}.switch-label input{accent-color:#955bd6}.form-actions{padding-top:22px;display:flex;align-items:center;gap:14px}.inline-form,.recharge-form{margin-bottom:20px;padding:22px;display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:17px;overflow:visible}.inline-form label,.recharge-form label{display:grid;gap:8px;color:#a895b8;font-size:12px}.inline-form .primary,.recharge-form .primary{align-self:end}.action-table{margin-top:20px}.table-pagination{min-height:58px;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #2b183e;color:#806d91;font-size:12px}.table-pagination>div{display:flex;gap:8px}.table-pagination button{min-width:72px;height:34px;border:1px solid #49305f;border-radius:9px;color:#c6b2d6;background:#1b1029}.table-pagination button:disabled{opacity:.35;cursor:default}.table-action{padding:6px 11px;border:1px solid #7444a7;border-radius:8px;color:#c995f0;background:#27143d}.banner-thumb{width:112px;aspect-ratio:16 / 9;object-fit:cover;border-radius:8px}.table-actions{display:flex;gap:8px;align-items:center}.table-action.danger{color:#ff767f;border-color:#ff767f59}.compact-heading{margin-top:28px}.recharge-form{grid-template-columns:repeat(3,minmax(210px,1fr))}.recharge-preview{padding:14px 18px;display:grid;gap:3px;border:1px solid #684190;border-radius:12px;background:#25143b}.recharge-preview span,.recharge-preview small{color:#927ba5;font-size:11px}.recharge-preview strong{color:#fff;font-size:22px}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.plan-card{min-height:220px;padding:25px;display:flex;flex-direction:column;border:1px solid #563279;border-radius:20px;background:linear-gradient(145deg,#2a1642,#160b25)}.plan-card>span{color:#b992d5;font-size:13px}.plan-card>strong{margin-top:22px;color:#fff;font-size:36px;letter-spacing:-.04em}.plan-card>div{margin-top:auto;display:grid;gap:5px}.plan-card b{color:#d29cf2;font-size:14px}.plan-card small{color:#7f6b8d}.fixed-rule-note{margin-top:18px;padding:16px 18px;border:1px solid #3b2850;border-radius:13px;color:#9a87aa;background:#150c21;font-size:13px;line-height:1.7}.slot-toolbar{margin-bottom:16px;padding:13px 16px;display:flex;align-items:center;gap:14px;border:1px solid #5d3682;border-radius:14px;background:#221236}.slot-toolbar label{display:flex;align-items:center;gap:10px;color:#a895b8;font-size:12px}.slot-toolbar select{min-width:210px}.batch-block-panel{margin-bottom:18px;overflow:visible}.batch-block-panel .panel-title{padding:18px 20px;border-bottom:1px solid #2b183e}.batch-block-form{padding:20px;display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:16px}.batch-block-form label{display:grid;gap:7px;color:#a895b8;font-size:12px}.batch-block-form input{height:40px;padding:0 12px;border:1px solid #38244e;border-radius:10px;color:#eee4f8;background:#12091f}.batch-block-form input:focus{outline:none;border-color:#8e56ce}.batch-reason{grid-column:span 2}.batch-courts{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:10px}.batch-courts label{padding:9px 12px;display:flex;align-items:center;gap:8px;border:1px solid #38244e;border-radius:10px;background:#180d28}.batch-courts input{width:15px;height:15px;accent-color:#955bd6}.batch-block-form .primary{justify-self:start}.batch-block-form .success,.batch-block-form .error{align-self:center}.slot-matrix{padding:20px}.slot-legend{display:flex;gap:18px;margin-bottom:20px;color:#867493;font-size:12px}.slot-legend span:before{content:"";width:9px;height:9px;display:inline-block;margin-right:6px;border-radius:3px}.slot-legend .available:before{background:#7445a5}.slot-legend .blocked:before{background:#d4778c}.slot-legend .booked:before{background:#41364c}.court-row{display:grid;grid-template-columns:150px 1fr;align-items:start;gap:18px;padding:17px 0;border-bottom:1px solid #281638}.court-row>strong{padding-top:14px;color:#c7b5d4}.court-slots{display:flex;flex-wrap:wrap;gap:9px}.court-slots button{min-width:92px;padding:10px;display:grid;gap:5px;border:1px solid #4c2c6c;border-radius:11px;color:#bfa7d1;background:#221236}.court-slots button span{font-size:11px}.court-slots button.blocked{color:#e28b9b;border-color:#673144;background:#2b1222}.court-slots button.booked,.court-slots button.held,.court-slots button.closed{color:#64576d;border-color:#2c2433;background:#17121c;cursor:not-allowed}.court-slots button.selected{outline:2px solid #c98aff;outline-offset:2px}@media(max-width:1350px){.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:38px!important;color-scheme:dark;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 12px center!important;background-size:16px 16px!important}select option{color:#f7efff;background:#12091f}input[type=date],input[type=time]{position:relative;padding-right:42px!important;background-repeat:no-repeat!important;background-position:right 13px center!important;background-size:18px 18px!important}input[type=date]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4M16 2v4M3 10h18'/%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3C/svg%3E")!important}input[type=time]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E")!important}input[type=date]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator{position:absolute;inset:0 0 0 auto;width:42px;height:100%;margin:0;padding:0;opacity:0;cursor:pointer}.searchable-select{position:relative;display:grid;margin-top:8px}.searchable-select input{width:100%}.member-options{position:absolute;z-index:30;top:calc(100% + 6px);right:0;left:0;max-height:240px;overflow-y:auto;padding:6px;border:1px solid #4a2d66;border-radius:12px;background:#12091f;box-shadow:0 16px 38px #0006}.member-options button{width:100%;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:16px;border:0;border-radius:8px;color:#eee4f8;background:transparent;text-align:left}.member-options button:hover,.member-options button[aria-selected=true]{background:#2b1743}.member-options button span{color:#917ca3;font-size:12px}.member-options-empty{display:block;padding:12px;color:#8f7b9f;text-align:center}.lesson-workflow{display:grid;gap:18px}.lesson-step{display:grid;gap:20px;padding-bottom:22px;overflow:visible}.lesson-step>.lesson-fields,.lesson-step>.lesson-slot-picker,.lesson-step>.lesson-selection-summary,.lesson-step>.primary,.lesson-step>.error,.lesson-step>.success{margin-inline:22px}.lesson-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;align-items:end}.lesson-fields label{display:grid;gap:8px;color:#a895b8}.lesson-fields input,.lesson-fields select,.searchable-select input,.searchable-select select,.slot-toolbar select{width:100%;height:44px;padding:0 13px;border:1px solid #38244e;border-radius:10px;outline:none;color:#eee4f8;background-color:#12091f}.lesson-fields input:focus,.lesson-fields select:focus,.searchable-select input:focus,.searchable-select select:focus,.slot-toolbar select:focus{border-color:#8e56ce}.lesson-slot-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:12px}.lesson-selection-summary{padding:14px 16px;border:1px solid rgba(166,104,255,.35);border-radius:12px;color:#a895b8;background:#713da91f}.lesson-selection-summary strong{color:#f4edfb}
