:root{font-family:Inter,Segoe UI,Microsoft YaHei,sans-serif;color:#24343a;background:#f5f7f8;font-synthesis:none;font-size:14px;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #dbe2e5;border-radius:7px;background:#fff;color:#34474e;padding:9px 14px;transition:background .15s}button:hover{background:#f1f6f5}button:disabled{opacity:.45;cursor:default}h1,h2,h3,p{margin:0}h1{font-size:27px;letter-spacing:-.6px;line-height:1.6}h2{font-size:23px}h3{font-size:16px}p{line-height:1.8}small{font-size:12px}input,select,textarea{width:100%;border:1px solid #d8e0e2;border-radius:7px;background:#fff;padding:10px 12px;color:#253c43;outline:none}input:focus,select:focus,textarea:focus{border-color:#159784;box-shadow:0 0 0 3px #15978415}input[type=checkbox]{width:20px;height:20px;display:block;margin-top:10px;accent-color:#128775}label{font-weight:500;line-height:2.1}label small{display:block;color:#7a8990;font-weight:400}.muted{color:#7b8a91}.eyebrow{color:#6f858b;font-size:10px;font-weight:650;letter-spacing:1.7px}.primary{background:#0d8574;border-color:#0d8574;color:#fff}.primary:hover{background:#0a7365}.secondary{background:#fff}.icon{padding:6px;background:transparent;border:none}.ghost{border:0;background:transparent;font-size:24px;padding:1px 8px}.text-btn{border:0;background:none;padding:4px 0;color:#0b8b7a;font-size:12px;white-space:nowrap}.danger{color:#bf5555}.required{color:#af4d4d}.error{background:#fff0ed;color:#a34335;border:1px solid #ffd6cd;padding:11px 14px;border-radius:7px;margin:10px 0;white-space:pre-wrap}.warning{background:#fff8e6;padding:12px;border-radius:7px;color:#8b6a23;margin-bottom:16px}.badge{display:inline-flex;border-radius:5px;padding:3px 8px;font-size:11px;background:#edf2f4;color:#5d727a;white-space:nowrap}.badge.super_admin,.badge.published,.badge.approved,.badge.ready,.badge.completed{background:#e1f4ec;color:#247559}.badge.pending,.badge.draft{background:#fff3d7;color:#a27922}.badge.failed,.badge.rejected{background:#ffebe7;color:#bd5a4b}.brand-mark{width:39px;height:39px;display:grid;place-items:center;background:#166b60;border:1px solid #45968b66;color:#d9f6ed;border-radius:10px}.shell{display:flex;min-height:100vh}aside{width:238px;flex:none;position:fixed;top:0;bottom:0;left:0;background:#10292d;color:#c8d8d8;padding:27px 17px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 35px}.brand strong{display:block;font-size:16px;letter-spacing:.3px;color:#fff}.brand span{display:block;font-size:10px;color:#7e9d9f;letter-spacing:2px;margin-top:7px}.nav-caption{font-size:9px;letter-spacing:1.6px;color:#68888c;margin:1px 17px 13px}nav{display:flex;flex-direction:column;gap:5px}nav button{justify-content:flex-start;background:transparent;color:#9eb6b7;border:0;padding:11px 15px;font-size:13px;border-radius:7px}nav button span{flex:1;text-align:left}nav button:hover{background:#ffffff08;color:#fff}nav button.selected{background:#21776735;color:#78e0bc;border:1px solid #3d947333;padding:10px 14px}.aside-foot{margin-top:auto;padding:22px 14px 0;border-top:1px solid #ffffff0d;color:#87a3a5;font-size:11px;display:flex;align-items:center;gap:7px}.aside-foot small{margin-left:auto;font-size:10px}.live-dot{width:6px;height:6px;border-radius:50%;background:#51bd97}.main{margin-left:238px;min-width:0;flex:1}.topbar{height:79px;background:#fff;border-bottom:1px solid #e9edef;display:flex;align-items:center;justify-content:space-between;padding:0 38px;color:#96a2a8;font-size:12px}.topbar>div{display:flex;align-items:center;gap:12px}.topbar strong{font-weight:500;color:#4b626b}.user>span:not(.avatar){font-size:12px;color:#3c5057}.user small{display:block;font-size:10px;color:#94a1a6;margin-top:4px}.avatar{display:grid;place-items:center;background:#dceee7;border:1px solid #cae7da;color:#34816b;border-radius:50%;width:33px;height:33px;font-size:12px}.user .icon{margin-left:10px;color:#7e9299}main{max-width:1680px;padding:30px 38px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.page-heading h1{margin-top:3px}.page-heading p{font-size:12px;color:#88989f;margin-top:4px}.secure{display:flex;align-items:center;gap:7px;border-radius:30px;background:#e9f3ef;color:#5f8e7c;padding:7px 11px;font-size:10px}.welcome{position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(105deg,#e8f1ef,#f0f5f2);border:1px solid #dce9e4;border-radius:10px;padding:26px 30px;margin-bottom:28px}.welcome h2{font-size:23px;font-weight:600;margin:11px 0 7px;color:#264a48}.welcome p{color:#73918b;font-size:12px}.welcome-icon{color:#6aaba085;background:#d4e9df66;width:110px;height:100px;display:grid;place-items:center;border-radius:25px;transform:rotate(-7deg);margin-right:25px}.section-title{display:flex;align-items:center;justify-content:space-between;margin:18px 0 14px}.section-title .muted{font-size:10px}.stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:13px;margin-bottom:25px}.stat{background:#fff;border:1px solid #e7edef;border-radius:8px;padding:19px 18px;position:relative;box-shadow:0 3px 7px #233b4202}.stat>span:not(.stat-dot){color:#83939a;font-size:11px}.stat-dot{width:6px;height:6px;display:inline-block;background:#82aca7;border-radius:50%;margin-right:6px;vertical-align:1px}.s1{background:#6090b1}.s2{background:#58aa89}.s3{background:#d8a653}.s4{background:#be8a63}.s5{background:#9b97a6}.stat strong{display:block;font-size:29px;line-height:1.7;font-weight:600;margin-top:8px;color:#263f48}.stat strong small{font-size:10px;color:#a5b1b5;font-weight:400;margin-left:9px}.panel{background:#fff;border:1px solid #e6ecee;border-radius:9px;padding:3px 22px 15px;margin-top:24px}.table-wrap{border:1px solid #e6edef;border-radius:8px;overflow:auto;background:#fff}.panel .table-wrap{border:0;border-radius:0}.table-wrap table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}.table-wrap th{font-size:11px;color:#82959e;font-weight:500;background:#f7f9fa;padding:13px 17px;border-bottom:1px solid #e9eef0}.table-wrap td{font-size:12px;color:#4b626c;padding:16px 17px;border-bottom:1px solid #f0f3f4;max-width:360px;overflow:hidden;text-overflow:ellipsis}.table-wrap tr:last-child td{border-bottom:0}.table-wrap tbody tr:hover{background:#fafcfb}.row-actions{display:flex;gap:12px}.empty{padding:55px 20px;display:flex;align-items:center;flex-direction:column;color:#becdcd;gap:10px}.empty strong{font-size:13px;font-weight:500;color:#789197}.empty span{font-size:11px;color:#a4b3b8}.info-strip{padding:19px 4px;display:flex;align-items:center;gap:10px;color:#97aaa9;font-size:11px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0}.toolbar p{font-size:12px;color:#8a9ca3}.toolbar button{font-size:12px}.tabs{display:flex;gap:8px;border-bottom:1px solid #dfe7e9;margin-bottom:22px}.tabs button{border:0;border-radius:0;background:none;padding:12px 16px;color:#82959c;font-size:12px}.tabs .active{border-bottom:2px solid #148b79;color:#148b79}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}.form-grid label{font-size:12px;color:#526a74}.form-grid label input,.form-grid label select,.form-grid label textarea{display:block;margin-top:5px;font-size:13px}.form-grid .wide{grid-column:1/-1}form footer{display:flex;justify-content:flex-end;margin-top:25px;padding-top:18px;border-top:1px solid #edf1f2}.modal-backdrop{position:fixed;inset:0;z-index:100;background:#10252965;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:30px}.modal{width:650px;max-width:100%;max-height:90vh;overflow:auto;border-radius:13px;background:#fff;box-shadow:0 20px 100px #0b292b38;padding:27px}.modal>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.modal h2{font-size:20px}.modal pre{font-size:12px;white-space:pre-wrap;word-break:break-all;background:#f5f8f9;padding:20px;border-radius:7px}.search{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #dae4e7;border-radius:7px;padding-left:12px;color:#99acb4}.search input{border:0;background:none;width:240px;font-size:12px;box-shadow:none}.pagination{display:flex;justify-content:flex-end;gap:15px;align-items:center;font-size:11px;color:#8b9da5;margin-top:20px}.pagination button{padding:7px 12px;font-size:11px}.config-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.config-item{background:#fff;border:1px solid #e0e8eb;border-radius:8px;padding:18px}.config-item span{display:block;font-size:11px;color:#8aa0a9;margin-bottom:10px}.config-item strong{display:block;font-size:13px;color:#3b5c66;overflow-wrap:anywhere;font-weight:500}.page-foot{display:flex;justify-content:space-between;font-size:10px;color:#a6b3b8;margin-top:38px;padding-top:20px;border-top:1px solid #e2e9eb}.page-foot span{display:flex;align-items:center;gap:4px}.mobile-menu{display:none}.loading{display:grid;place-items:center;height:100vh;color:#4a7b72}.login{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;background:#fff}.login-art{position:relative;overflow:hidden;background:#123b3d;padding:10% 14%;color:#d5f2e9;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.login-art>.brand-mark{margin-bottom:50px;width:55px;height:55px}.login-art>.eyebrow{color:#83b4a6;font-size:11px}.login-art h1{font-size:42px;font-weight:550;line-height:1.5;margin:18px 0 25px}.login-art p{color:#8db8b2;font-size:13px;line-height:2}.orbit{position:absolute;width:410px;height:410px;border-radius:50%;border:1px solid #5cc6a924;right:-190px;bottom:-190px}.o2{width:550px;height:550px;bottom:-260px;right:-260px}.art-grid{position:absolute;right:5%;top:5%;width:180px;height:180px;background-image:radial-gradient(#8abcd325 1px,transparent 1px);background-size:18px 18px}.login-form{max-width:480px;width:100%;margin:auto;padding:55px}.login-form h2{font-size:27px;margin-top:15px;margin-bottom:10px}.login-form .muted{font-size:12px;margin-bottom:32px}.login-form .form-grid{grid-template-columns:1fr;gap:18px}.login-form form footer{border:0;margin-top:14px;padding-top:6px}.login-form form footer button{width:100%;padding:12px}.login-foot{display:flex;align-items:center;justify-content:center;gap:6px;font-size:10px;color:#92aaa6;margin-top:35px}.scene-grid{display:grid;grid-template-columns:300px 1fr;gap:22px}.scene-side{border:1px solid #e0e8e9;border-radius:8px;background:#fff;padding:18px}.scene-side label{font-size:12px}.scene-preview{position:relative;background:#eaf0f2;border-radius:9px;height:420px;overflow:hidden}.scene-preview canvas{width:100%!important;height:100%!important}.scene-preview>.error{position:absolute;left:12px;right:12px;top:0}.scene-help{font-size:11px;color:#80949b;margin:12px 0;line-height:1.9}.scene-selection{border:1px solid #e4eaea;border-radius:7px;background:#fff;padding:14px;margin-bottom:10px}.scene-selection strong{display:block;font-size:13px;margin-bottom:5px}.scene-selection span{font-size:11px;color:#8ba0a7}.scene-bindings select{max-width:260px;font-size:12px}.scene-note{position:absolute;left:14px;bottom:14px;font-size:10px;background:#fff9;border-radius:5px;padding:7px 10px;color:#67818a}@media(max-width:1200px){.stats{grid-template-columns:repeat(3,1fr)}main{padding:25px}.config-grid{grid-template-columns:repeat(2,1fr)}.scene-grid{grid-template-columns:1fr}.scene-side{display:flex;gap:12px;align-items:flex-end}.scene-side>*{flex:1}}@media(max-width:800px){aside{width:210px;transform:translate(-100%)}.main{margin-left:0}.collapsed aside{transform:translate(0)}.mobile-menu{display:inline-flex}.topbar{padding:0 20px;height:65px}main{padding:20px}.page-heading .secure{display:none}.page-heading h1{font-size:23px}.welcome{padding:24px}.welcome h2{font-size:20px}.welcome-icon{display:none}.stat{padding:14px}.stats{gap:8px}.stat strong{font-size:24px}.form-grid,.config-grid,.login{grid-template-columns:1fr}.login-art{display:none}.login-form{padding:40px}.toolbar{align-items:flex-start}.toolbar p{max-width:65%}.page-foot span{display:none}.tabs{overflow-x:auto}.tabs button{white-space:nowrap}.scene-side{display:block}}
