*{box-sizing:border-box}body{color:#f5f5f5;background:#0f1115;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.login{background:#171a22;border:1px solid #252936;border-radius:20px;max-width:420px;margin:80px auto;padding:28px;box-shadow:0 20px 80px #00000059}h1{margin-top:0;font-size:28px}p{color:#a9b0c0;line-height:1.6}input,select{color:#fff;background:#0f1115;border:1px solid #353a49;border-radius:12px;width:100%;padding:14px 16px;font-size:16px}button{color:#fff;cursor:pointer;background:#3b82f6;border:0;border-radius:12px;padding:11px 14px;font-weight:700}button:disabled{opacity:.45;cursor:not-allowed}button.secondary{color:#172033;background:#e6ebf5}button.danger{color:#b42318;background:#ffecec}.login button{width:100%;margin-top:14px;padding:14px;font-size:16px}.msg{color:#ffd596;background:#2a1f12;border-radius:12px;margin-top:14px;padding:12px}.page{flex-direction:column;align-items:stretch;height:100vh;min-height:100vh;display:flex;overflow:hidden}.topbar{background:#171a22;border-bottom:1px solid #252936;justify-content:space-between;align-items:center;width:100%;height:56px;padding:0 18px;display:flex}.status{color:#9aa3b2}.phoneWrap{aspect-ratio:9/20;touch-action:none;background:#000;border:8px solid #242936;border-radius:26px;width:min(420px,94vw);margin:18px auto;overflow:hidden;box-shadow:0 20px 80px #0000008c}.phoneVideo{object-fit:contain;touch-action:none;background:#000;width:100%;height:100%}.wuyingFrame{background:#000;flex:auto;width:100vw;min-height:0;overflow:hidden}.wuyingFrame iframe{border:0;display:block;width:100%!important;height:100%!important}.kasmFrame{background:#111827;border:0;flex:auto;width:100vw;min-height:0;display:block}.controls{flex-wrap:wrap;justify-content:center;gap:10px;padding:0 14px 28px;display:flex}.admin{color:#172033;background:#f6f7fb;min-height:100vh;padding:22px}.adminLogin{background:#f6f7fb;place-items:center;min-height:100vh;padding:22px;display:grid}.adminLogin .login{color:#172033;background:#fff;border-color:#dfe3ed;margin:0}.adminLogin .login input{color:#172033;background:#fff;border-color:#d9deea;margin-top:10px}.adminHeader{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.adminHeader h1{margin:0;font-size:24px}.adminAuth{align-items:center;gap:10px;min-width:min(520px,100%);display:flex}.adminAuth input{color:#172033;background:#fff;border-color:#d9deea}.adminTabs{flex-wrap:wrap;gap:8px;margin:0 0 16px;display:flex}.adminTabs a{color:#172033;background:#fff;border:1px solid #dfe3ed;border-radius:8px;align-items:center;min-height:40px;padding:0 14px;font-weight:700;text-decoration:none;display:inline-flex}.adminGrid{grid-template-columns:minmax(260px,380px) 1fr;gap:16px;margin-bottom:16px;display:grid}.panel{background:#fff;border:1px solid #dfe3ed;border-radius:8px;margin-bottom:16px;padding:16px;box-shadow:0 8px 24px #151f370f}.panel h2{margin:0 0 14px;font-size:16px}.panelTitle{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.panelTitle h2{margin:0}.panelTitle span{color:#657086;font-size:13px}.panel label{color:#526078;margin-bottom:12px;font-size:13px;font-weight:700;display:block}.panel input,.panel select{color:#172033;background:#fff;border-color:#d9deea;margin-top:6px}.phoneForm{background:#fbfcff;border:1px solid #edf0f5;border-radius:8px;grid-template-columns:repeat(6,minmax(130px,1fr)) auto;align-items:end;gap:10px;margin-bottom:16px;padding:12px;display:grid}.phoneForm label{margin-bottom:0}.phoneForm button{white-space:nowrap;min-height:46px}.statGroup{margin-top:14px}.statGroup h3{color:#344054;margin:0 0 10px;font-size:14px}.statList{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.stat{border:1px solid #e3e7f0;border-radius:8px;gap:4px;padding:12px;display:grid}.stat span{color:#657086;font-size:13px}.stat strong{color:#0f5fd7;font-size:22px}.copyActions{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.cardTools{grid-template-columns:minmax(220px,1fr) repeat(4,auto);align-items:center;gap:10px;margin-bottom:12px;display:grid}.cardTools input{color:#172033;background:#fff;border-color:#d9deea;margin:0}.pager{color:#526078;justify-content:flex-end;align-items:center;gap:12px;margin-top:12px;font-weight:700;display:flex}.codeList{gap:8px;max-height:220px;display:grid;overflow:auto}.codeList code{color:#10213d;overflow-wrap:anywhere;background:#eef4ff;border-radius:6px;padding:8px}.tableWrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:760px}th,td{text-align:left;border-bottom:1px solid #edf0f5;padding:10px 12px;font-size:14px}th{color:#526078;text-transform:uppercase;background:#f9fafc;font-size:12px}td code{overflow-wrap:anywhere;white-space:normal;color:#10213d;background:#eef4ff;border-radius:6px;max-width:420px;padding:4px 6px;display:inline-block}.inlineInput{width:150px;padding:8px 10px;font-size:14px}.inlineInput.small{width:110px}.inlineInput.wide{width:260px}.rowActions{align-items:center;gap:8px;min-width:200px;display:flex}.tag{color:#174ea6;background:#eef4ff;border-radius:999px;align-items:center;min-height:26px;padding:0 8px;font-weight:700;display:inline-flex}.statusPill{color:#344054;background:#eef2f7;border-radius:999px;align-items:center;min-height:26px;padding:0 8px;font-weight:700;display:inline-flex}.status-available,.status-card-unused{color:#087443;background:#e9f8ef}.status-occupied,.status-card-active{color:#a15c00;background:#fff4df}.status-offline,.status-card-expired{color:#526078;background:#eef2f7}.status-error,.status-card-disabled,.status-card-refunded{color:#b42318;background:#ffecec}.status-maintenance,.status-cleaning{color:#175cd3;background:#edf4ff}@media (width<=760px){.admin{padding:14px}.adminHeader,.adminAuth{grid-template-columns:1fr;display:grid}.adminGrid,.phoneForm,.cardTools{grid-template-columns:1fr}.pager{flex-wrap:wrap;justify-content:flex-start}.panelTitle{display:block}}
