:root{font-family:Inter,"Microsoft YaHei",system-ui,sans-serif;color:#273246;background:#f5f6fa;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:0;border-radius:6px;background:#f0f1f7;color:#435070;padding:10px 17px;white-space:nowrap}button:hover{filter:brightness(.96)}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,input:focus,select:focus{outline:2px solid #aea3e9;outline-offset:2px}input,select{border:1px solid #dce0e9;border-radius:6px;padding:11px 12px;min-width:0;background:white;color:#283347;width:100%}input:disabled,select:disabled{background:#f5f6fa;color:#8791a1}label{display:flex;flex-direction:column;gap:8px;font-size:13px;margin-bottom:17px;color:#566174}p{line-height:1.7;color:#7a8597}h1{font-size:22px;margin:0 0 7px;letter-spacing:.2px}h2{font-size:17px;margin:0 0 10px}small{font-size:12px}header p{margin:0;font-size:13px}.primary{background:#f39142;color:white}.soft{background:#efecfc;color:#6f62a6}.danger-soft{background:#fff0ee;color:#d25c4c}.danger{background:#dd6957;color:white}.full{width:100%}.error{color:#c74848!important}.badge{font-size:12px;padding:5px 10px;background:#efecfc;border-radius:20px;color:#7866b1;white-space:nowrap}.sidebar{width:235px;position:fixed;inset:0 auto 0 0;background:#1d2342;color:#e4e5ef;display:flex;flex-direction:column;padding:30px 18px 24px;overflow-y:auto}.brand{display:flex;align-items:center;gap:10px;padding:0 5px 32px}.brand b{font-size:14px;white-space:nowrap}.brand small{display:block;color:#a2a9c5;margin-top:7px}.brand-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;flex-shrink:0;background:linear-gradient(135deg,#ffe2a4,#aa692e);color:#794019;font-size:24px}.sidebar nav button{display:flex;justify-content:space-between;width:100%;text-align:left;background:transparent;color:#bec4dc;margin:3px 0;padding:11px 13px;border-radius:6px}.sidebar nav button.active{background:#7564ae;color:white}.sidebar .nav-group{font-size:15px;color:white;font-weight:600;margin-top:8px}.sidebar nav .platform{padding-left:30px}.platform span{font-size:11px;align-self:center;color:#939cbc}.children{padding-left:26px}.sidebar nav .children button{padding-left:24px}.sidebar nav button:hover{background:#303657}.sidebar-footer{margin-top:auto;padding:35px 13px 0;font-size:12px;line-height:2;color:#bcc3d9}.sidebar-footer span{color:#8e99b5}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#58ad99;margin-right:6px}main{margin-left:235px;padding:35px 38px;max-width:1800px}header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:30px}header>button{flex-shrink:0}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:20px}.toolbar input{max-width:290px}.card{background:white;border:1px solid #e5e8ef;border-radius:9px;padding:24px;margin-bottom:22px;box-shadow:0 3px 12px #27324603}.card-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.card-title p{font-size:13px;margin:0}.card-title h2{margin-bottom:6px}.table-scroll{overflow-x:auto;padding:0}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap;font-size:13px}th{font-weight:500;font-size:12px;color:#919aab;background:#fafbfc;padding:17px 20px;border-bottom:1px solid #eef0f5}td{padding:18px 20px;border-bottom:1px solid #eef0f5}tr:last-child td{border-bottom:0}td small{display:block;color:#929bad;font-size:11px;margin-top:6px}.player-cell{display:flex;align-items:center;gap:9px}.avatar{display:inline-grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#f3e9d9;color:#ac8456}.row-edit,.row-delete{padding:7px 12px;margin-right:6px}.row-edit{background:#eeeafb;color:#7a68ae}.row-delete{background:#ffeded;color:#c16666}.empty{text-align:center;color:#9aa3b2;padding:60px}.footnote{font-size:12px;color:#939cac}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.wide{grid-column:1/-1}.form-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.sim-actions{justify-content:flex-start}.sim-result{font-size:13px;min-height:22px;margin:14px 0 0}.status-tag{display:inline-block;padding:5px 8px;border-radius:4px;background:#fff4df;color:#af8339;font-size:12px}.status-tag.ok{background:#e9f6ef;color:#428d70}.status-tag.bad{background:#ffeded;color:#b85b58}.status-tag.legacy{background:#eeeef3;color:#8990a0}.pk-status,.pk-forms{display:grid;grid-template-columns:1fr 1fr;gap:22px}.settings-card{max-width:950px}.settings-card>p{font-size:13px}.settings-card hr{border:0;border-top:1px solid #eee;margin:28px 0}.audit-row{display:grid;grid-template-columns:160px 140px 1fr;gap:15px;border-bottom:1px solid #f1f2f6;padding:12px 0;font-size:12px;line-height:1.6}.audit-row time{color:#98a0ad}.audit-row span{overflow-wrap:anywhere}.placeholder{text-align:center;padding:65px 20px}dl{display:grid;grid-template-columns:160px 1fr;gap:14px}dd{margin:0;color:#7e889a}ol{color:#7e889a;line-height:2}footer{color:#a3aaba;font-size:12px;margin-top:35px}dialog{border:1px solid #e6e8f0;border-radius:12px;box-shadow:0 20px 80px #17233b3b;padding:26px;max-width:520px;width:calc(100% - 36px);color:#273246}dialog::backdrop{background:#15213c70}dialog p{font-size:13px}.icon-button{font-size:24px;padding:0 6px;background:transparent;color:#999}#login-screen{min-height:100vh;display:grid;place-items:center;background:#eef0f6}.login-card{background:white;padding:40px;border:1px solid #e3e6ed;border-radius:12px;width:min(440px,94vw)}.login-card .brand-icon{margin:0 auto 25px}.login-card h1{text-align:center;font-size:21px}.login-card>p{text-align:center}.login-card label{margin-top:20px}#toast{position:fixed;bottom:25px;right:25px;z-index:100;background:#243e36;color:#fff;padding:15px 22px;border-radius:7px;max-width:calc(100vw - 40px);box-shadow:0 4px 25px #0002}#toast.bad{background:#914742}[hidden]{display:none!important}@media(min-width:1500px){main{padding:42px 48px}.sim-card{max-width:1100px}}@media(max-width:1100px){.sidebar{width:205px}main{margin-left:205px;padding:25px}.brand b{font-size:12px}.pk-forms{grid-template-columns:1fr}}@media(max-width:700px){.sidebar{position:relative;width:auto;padding:18px}.brand{padding-bottom:10px}.sidebar-footer{display:none}.sidebar nav{display:flex;flex-wrap:wrap;gap:3px}.sidebar nav>.nav-group{width:auto}.sidebar nav>div{width:100%}.sidebar nav .platform{padding:8px 14px}.children{display:flex;padding-left:12px}.sidebar nav .children button{width:auto}.brand b{font-size:14px}main{margin:0;padding:22px 15px}header{gap:10px}h1{font-size:19px}.toolbar{flex-wrap:wrap}.toolbar input{max-width:none}.card{padding:18px}.table-scroll{padding:0}.form-grid,.pk-status{grid-template-columns:1fr}.audit-row{grid-template-columns:1fr;gap:4px}.card-title{align-items:flex-start}.form-actions{gap:8px}td,th{padding:14px}.sidebar nav>.nav-group.active{background:#7564ae}}

.records summary{cursor:pointer;font-weight:600;padding:4px 0}.records[open] summary{margin-bottom:22px}
.avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.small-avatar{width:34px;height:34px;object-fit:cover;border-radius:50%;vertical-align:middle;margin-right:8px}.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}.asset-grid article{padding:12px;border:1px solid #e5e9ef;border-radius:8px;min-width:0}.asset-grid img,.asset-type{width:100%;height:130px;object-fit:contain;background:#eef1f5}.asset-grid b,.asset-grid small{display:block;overflow-wrap:anywhere}.asset-type{display:grid;place-items:center;color:#68758a}.config-cell{display:inline-block;padding:5px 8px;border:1px solid #eee;margin:2px}.config-cell small{color:#87909e}#material-form{max-width:760px}#material-form>button{margin-top:18px}

#resource-dialog{max-height:85vh;overflow:auto}

#records-dialog{width:min(1200px,calc(100% - 30px));max-width:1200px;max-height:90vh;overflow:auto} .record-entry{border:1px solid #dce0e9;border-radius:10px;padding:18px;margin:14px 0;background:white} .record-entry h3{font-size:15px;margin:0 0 12px}.record-entry small{overflow-wrap:anywhere} header{flex-wrap:wrap}
#pk-workspace .pk-room-panel{min-width:0}#pk-workspace .pk-forms{grid-template-columns:repeat(2,minmax(0,1fr))}#pk-workspace .sim-card{padding:20px}#resource-dialog{max-width:1000px}@media(max-width:1000px){#pk-workspace .pk-forms{grid-template-columns:1fr}}
