:root{--bg:#f3f6fb;--surface:#fff;--ink:#21334d;--muted:#78889e;--line:#e7edf5;--blue:#2d6ee8;--soft:#edf3ff;--mint:#269780;--mint-soft:#eaf8f3;--amber:#ad792d;--shadow:0 4px 22px #233b6407;--radius:14px;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-size:13px;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #99bdfb;outline-offset:3px}button{transition:background .15s,border-color .15s}a{color:var(--blue);text-decoration:none}button:disabled{opacity:.45;cursor:not-allowed}h1,h2,h3,p{margin:0}h1{font-size:24px;letter-spacing:.2px;font-weight:650}h2{font-size:15px;font-weight:650}h3{font-size:13px;font-weight:600}small,.muted{color:var(--muted)}small{font-size:11px}.mono{font-family:"SFMono-Regular",Consolas,monospace;font-variant-numeric:tabular-nums}.shell{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:224px;background:white;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:27px 16px 14px;z-index:25}.brand{display:flex;gap:11px;align-items:center;padding:0 12px 24px;color:var(--ink)}.brand img{width:38px;height:38px}.brand strong{font-size:23px;letter-spacing:2px}.brand small{display:block;font-size:8px;letter-spacing:1px;margin-top:3px}.navgroup{padding:18px 12px 8px;color:#98a5b7;font-size:10px;letter-spacing:.8px}.navbtn{display:flex;align-items:center;gap:11px;width:100%;border:0;background:none;border-radius:9px;padding:12px;margin:3px 0;font-size:13px;text-align:left;color:#72849c}.navbtn:hover{background:#f7f9fd}.navbtn.active{background:var(--soft);color:var(--blue);font-weight:600}.navbtn .chev{margin-left:auto;opacity:.65}.ico{width:19px;height:19px;display:inline-flex;align-items:center;justify-content:center;flex:none}.ico svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.sidebar-note{margin-top:auto;padding:18px 12px 14px;border-bottom:1px solid var(--line);font-size:11px;line-height:1.9;color:var(--muted)}.sidebar-note b{display:block;color:#617b9f;font-weight:500}.sidebottom{padding-top:10px}.sidefoot{font-size:10px;color:#9ca9bb;padding:12px;display:flex;justify-content:space-between}.workspace{grid-column:2;min-width:0}.topbar{height:74px;position:sticky;top:0;z-index:20;background:#ffffffed;backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding:0 32px;display:flex;align-items:center;justify-content:space-between;gap:14px}.crumb{font-size:12px;color:#94a2b5;display:flex;gap:11px;align-items:center}.crumb strong{color:#637992;font-weight:500}.topright{display:flex;gap:12px;align-items:center}.roomselect{border:1px solid var(--line);border-radius:8px;padding:8px 30px 8px 10px;background:white;max-width:220px;font-size:12px}.proto{background:#f4f7fc;color:#7086a5;border:1px solid var(--line);border-radius:6px;padding:5px 8px;font-size:10px;white-space:nowrap}.avatar{width:31px;height:31px;border-radius:50%;background:var(--soft);color:var(--blue);border:0}.content{max-width:1560px;margin:auto;padding:29px 32px 32px}.pagehead{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px}.pagehead p{font-size:12px;color:var(--muted);margin-top:9px;line-height:1.8}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.btn{display:inline-flex;gap:7px;align-items:center;justify-content:center;min-height:36px;border:1px solid #dce4ef;background:white;border-radius:8px;padding:8px 13px;font-weight:500;font-size:12px;white-space:nowrap}.btn:hover{background:#f8faff;border-color:#a8bee4}.btn .ico{width:15px;height:15px}.btn.primary{background:var(--blue);color:white;border-color:var(--blue);box-shadow:0 3px 8px #2d6ee815}.btn.primary:hover{background:#245fd0}.btn.ghost{border-color:transparent;background:transparent;color:var(--muted)}.btn.danger{color:#bd5961;border-color:#eed6da}.btn.small{padding:5px 9px;min-height:29px;font-size:11px}.notice{display:flex;align-items:flex-start;gap:9px;background:var(--soft);border:1px solid #dfe9fc;padding:13px 16px;border-radius:10px;color:#6382b2;line-height:1.8;font-size:12px;margin-bottom:20px}.notice.amber{background:#fff8ea;border-color:#f4e7cb;color:#a27c3e}.notice.green{background:var(--mint-soft);border-color:#d7efe6;color:#388e7c}.notice .ico{width:16px;height:16px;margin-top:3px}.notice .btn{margin-left:auto}.subnav{display:flex;gap:5px;padding:5px;background:#eaf0f8;border-radius:10px;margin-bottom:23px;overflow-x:auto;scrollbar-width:thin}.subnav button{border:0;background:none;border-radius:7px;white-space:nowrap;padding:9px 14px;color:#7a8ca5;font-size:12px}.subnav button.active{color:#316bd0;background:white;box-shadow:0 2px 6px #233b6409}.tabs{display:flex;gap:26px;border-bottom:1px solid var(--line);margin-bottom:22px;overflow:auto}.tabs button{border:0;background:none;white-space:nowrap;color:#8796ab;padding:11px 1px 14px;border-bottom:2px solid transparent;font-size:12px}.tabs button.active{color:var(--blue);border-bottom-color:var(--blue);font-weight:600}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:19px;overflow:hidden}.panelhead{padding:20px 23px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.panelhead small{margin-top:7px;display:block;line-height:1.8}.panelbody{padding:22px 23px}.panelhead+.panelbody{padding-top:18px}.panelhead h2{display:flex;align-items:center;gap:8px}.panelhead h2 .ico{color:#8ca1c0;width:17px;height:17px}.panelfoot{border-top:1px solid var(--line);padding:13px 23px;font-size:11px;color:var(--muted);display:flex;justify-content:space-between;align-items:center;gap:12px}.pill{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:500;border-radius:5px;padding:4px 7px;white-space:nowrap;background:#f0f4fa;color:#7c8fa8}.pill.green{background:var(--mint-soft);color:var(--mint)}.pill.blue{background:var(--soft);color:#5681d0}.pill.amber{background:#fff6e5;color:#b38b43}.pill.pink{background:#fceef3;color:#c67b95}.pill.red{background:#fff0ef;color:#bb6563}.dot{width:6px;height:6px;border-radius:50%;background:currentColor;display:inline-block}.roomcard{padding:23px;display:flex;align-items:center;justify-content:space-between;gap:20px}.roominfo{display:flex;align-items:center;gap:16px;min-width:0}.roomicon{width:55px;height:55px;background:var(--soft);color:#6995e3;display:grid;place-items:center;border-radius:16px;flex:none;position:relative}.roomicon .ico{width:29px;height:29px}.roomicon:after{content:'';width:9px;height:9px;border:3px solid white;background:#31aa90;position:absolute;bottom:-1px;right:-1px;border-radius:50%}.roominfo h2{margin-bottom:9px;display:flex;gap:10px;align-items:center}.roommeta{font-size:11px;color:#94a3b8;display:flex;gap:15px;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:22px}.stat{padding:18px 20px;background:white;border:1px solid var(--line);border-radius:13px;min-width:0}.statlabel{display:flex;justify-content:space-between;align-items:center;color:#8393aa;font-size:12px}.statlabel .ico{width:30px;height:30px;padding:7px;border-radius:9px;color:#7a9edc;background:#eff4ff}.stat:nth-child(2) .statlabel .ico{background:#fff0f5;color:#d59ab0}.stat:nth-child(3) .statlabel .ico{background:#fcf5e9;color:#c4a266}.stat:nth-child(4) .statlabel .ico{background:#edf8f3;color:#6eae9c}.statvalue{font-family:"Avenir Next",Avenir,sans-serif;font-size:32px;letter-spacing:-.8px;font-weight:600;margin:12px 0 9px;font-variant-numeric:tabular-nums}.statvalue small{font-family:inherit;font-size:12px;font-weight:400;letter-spacing:0;margin-left:5px}.statfoot{font-size:10px;color:#98a6b9;line-height:1.8}.grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}.grid2.wide{grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr)}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.sectiontitle{display:flex;justify-content:space-between;align-items:center;margin:25px 0 15px;gap:10px}.sectiontitle h2{font-size:14px}.seg{display:inline-flex;background:#eaf0f8;padding:3px;border-radius:7px}.seg button{border:0;background:none;font-size:11px;padding:6px 10px;color:#8493a9;border-radius:5px;white-space:nowrap}.seg .active{background:white;color:#5876a4;box-shadow:0 1px 3px #21334d08}.feed{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #f0f3f8}.feed:last-child{border:0}.person{width:33px;height:33px;border-radius:11px;background:#edf3fc;color:#8ca3c6;display:grid;place-items:center;font-size:12px;flex:none}.person.pink{background:#fff0f5;color:#cc91a7}.person.mint{background:#eaf8f1;color:#6da38f}.person.gold{background:#fff5e7;color:#c49b5d}.feedtext{flex:1;min-width:0;font-size:12px;line-height:1.9}.feedtext strong{color:#60799f;font-weight:550;margin-right:7px}.feedtext span{color:#9aa7b8}.feed time{color:#a6b2c3;font-size:10px}.rank{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #f0f3f8}.rank:last-child{border:0}.rank>small{width:17px}.rankbody{flex:1;min-width:0}.rankbody strong{font-weight:500;font-size:12px}.bar{height:4px;background:#f0f4fc;border-radius:5px;margin-top:9px;overflow:hidden}.bar>span{display:block;background:#a9c4f0;height:100%;border-radius:5px}.quick{padding:16px;display:flex;align-items:center;gap:12px;background:white;border:1px solid var(--line);border-radius:11px}.quick .person{width:33px;height:33px}.quick>div:nth-child(2){flex:1}.quick small{display:block;font-size:10px;margin-top:5px}.quick strong{font-size:12px;font-weight:550}.task{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.task:last-child{border:0}.task strong{font-size:12px;font-weight:500}.task p{font-size:11px;color:var(--muted);margin-top:7px}.field{display:block;min-width:0;margin-bottom:19px}.field>span{display:block;margin-bottom:9px;font-size:12px;color:#58708e;font-weight:500}.field small{display:block;line-height:1.8;margin-top:7px;font-size:11px}.input,input[type=text],input[type=number],input[type=password],input[type=date],input[type=datetime-local],input[type=url],input[type=search],textarea,select{display:block;width:100%;border:1px solid #dfe6f1;background:#fbfcfe;border-radius:8px;padding:10px 12px;font-size:12px;min-height:39px;outline:none;max-width:100%}textarea{resize:vertical;line-height:1.9;min-height:94px}input:focus,textarea:focus,select:focus{border-color:#86aef2;background:#fff;box-shadow:0 0 0 3px #edf3ff}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}.formgrid .full{grid-column:1/-1}.switchrow{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid #f0f3f8}.switchrow:first-child{padding-top:0}.switchrow:last-child{border:0}.switchrow strong{font-size:12px;font-weight:550}.switchrow small{display:block;margin-top:6px;line-height:1.8;max-width:680px}.switch{display:inline-flex;width:34px;height:20px;position:relative;flex:none;cursor:pointer}.switch input{opacity:0;width:100%;height:100%;position:absolute;margin:0;z-index:2;cursor:pointer}.switch .track{background:#d9e1ed;border-radius:20px;width:34px;height:20px;transition:background .15s}.switch .track:after{content:'';position:absolute;width:14px;height:14px;border-radius:50%;background:white;left:3px;top:3px;box-shadow:0 1px 3px #21334d20;transition:transform .15s}.switch input:checked+.track{background:var(--blue)}.switch input:checked+.track:after{transform:translateX(14px)}.switch input:focus-visible+.track{outline:3px solid #99bdfb;outline-offset:3px}.fieldline{display:flex;gap:9px;align-items:center}.fieldline input{max-width:130px}.fieldline span{white-space:nowrap;color:#92a0b2;font-size:11px}.welcomecontrols{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:24px;align-items:center}.welcomecontrols .field{margin:0}.welcomecontrols .switchrow{padding:0;border:0}.split{display:grid;grid-template-columns:190px minmax(0,1fr);gap:0}.selector{padding:16px;border-right:1px solid var(--line);background:#fcfdff}.selector button{width:100%;background:transparent;border:0;padding:12px;text-align:left;border-radius:8px;color:#8393a9;font-size:12px;margin:2px 0;display:flex;align-items:center;justify-content:space-between}.selector button.active{background:var(--soft);color:var(--blue);font-weight:550}.selector .dot{width:5px;height:5px;color:#3daf95}.splitmain{padding:23px;min-width:0}.splitmain .tabs{margin-top:15px}.previewbubble{background:#f4f7fd;border-radius:10px;padding:15px 18px;color:#6c84a8;font-size:12px;line-height:1.9;border:1px dashed #dce6f5;display:flex;gap:10px;margin-top:14px}.previewbubble strong{font-weight:500;color:#486dba}.hint{font-size:11px;color:#96a4b8;line-height:1.9}.savebar{position:sticky;bottom:15px;z-index:10;background:#ffffffed;backdrop-filter:blur(12px);border:1px solid #e0e8f5;border-radius:11px;padding:12px 17px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 5px 25px #21334d09;gap:12px;margin-top:21px}.savebar>span{font-size:11px;color:#91a1b8}.savebar.dirty{border-color:#bed2f5}.toolbar{display:flex;justify-content:space-between;gap:13px;align-items:center;margin-bottom:18px;flex-wrap:wrap}.toolbar input{max-width:270px}.toolbar select{width:auto;min-width:115px}.tablewrap{overflow-x:auto;max-width:100%}table{width:100%;border-collapse:collapse;font-size:12px;text-align:left;white-space:nowrap}th{padding:13px 19px;background:#f8fafd;border-bottom:1px solid var(--line);color:#91a0b5;font-weight:500;font-size:11px}td{padding:16px 19px;border-bottom:1px solid #eef2f8;color:#6d829f;line-height:1.7}td strong{font-weight:550;color:#56708f}td small{display:block;font-size:10px;margin-top:3px}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fcfdff}.tableactions{display:flex;gap:5px}.empty{padding:48px 20px;text-align:center;color:#96a5b9;line-height:2}.empty strong{display:block;color:#6d839f;font-size:13px;font-weight:500}.searchbar{display:flex;gap:9px;align-items:center}.searchbar input{min-width:160px}.linkbtn{border:0;background:none;color:var(--blue);padding:5px;font-size:11px}.stepper{display:flex;gap:10px;margin:5px 0 23px}.stepper span{flex:1;padding:10px 0;border-bottom:2px solid #e9eef6;color:#97a6bb;font-size:11px}.stepper span.active{color:var(--blue);border-color:var(--blue)}.number{font-family:"Avenir Next",Avenir,sans-serif;font-variant-numeric:tabular-nums}.progressrow{display:grid;grid-template-columns:120px minmax(0,1fr) 45px;gap:14px;align-items:center;margin:19px 0;font-size:12px}.progressrow .bar{margin:0;height:8px}.activitybox{padding:25px;background:#f8faff;border:1px dashed #dce7f8;border-radius:12px;text-align:center}.activitybox .countdown{font-size:38px;letter-spacing:1px;margin:12px 0;color:#638bd5}.player{background:#f3f7ff;border:1px solid #e4ecfc;border-radius:12px;padding:23px;display:flex;align-items:center;gap:18px}.recorddisc{width:62px;height:62px;border:13px solid #c7d8f7;background:white;border-radius:50%;display:grid;place-items:center;color:#7699ce;flex:none}.player h3{font-size:16px;margin-bottom:8px}.player .bar{width:100%;min-width:100px;margin-top:15px}.productgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.product{border:1px solid var(--line);background:white;border-radius:13px;overflow:hidden}.productart{height:125px;background:#edf3ff;display:flex;align-items:center;justify-content:center;color:#91acd9}.productart .ico{width:46px;height:46px;stroke-width:1}.product:nth-child(2n) .productart{background:#fdf0f5;color:#d49cb3}.product:nth-child(3n) .productart{background:#eff7f2;color:#8db5a2}.productinfo{padding:20px}.productinfo h3{font-size:14px;margin-bottom:9px}.productinfo p{color:#8b9bb1;font-size:11px;line-height:1.8;margin-bottom:16px}.price{font-family:Avenir,sans-serif;font-size:24px;font-weight:600;color:#5d80be}.price small{font-size:11px;font-weight:400}.swatches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.theme{padding:16px;border:1px solid var(--line);background:#fbfcfe;border-radius:9px;text-align:left;font-size:12px}.theme.active{border-color:#7fa5ee;box-shadow:0 0 0 2px var(--soft)}.theme>span{height:45px;border-radius:7px;display:block;margin-bottom:11px}.reportpreview{background:linear-gradient(145deg,#edf3ff,#f9fbff);border:1px solid #dce6f7;border-radius:15px;padding:28px;max-width:520px;margin:auto}.reportpreview .brand{padding:0 0 25px}.reportpreview h3{font-size:19px;margin-bottom:10px}.reportpreview .rank{border-bottom-color:#dfe8f7}.reportpreview .rank>span:last-child{font-size:14px;font-weight:600;color:#6083c3}.previewstage{position:relative;min-height:285px;border:1px solid #e1e7ef;border-radius:11px;background-color:#f8fafc;background-image:linear-gradient(45deg,#eef1f6 25%,transparent 25%),linear-gradient(-45deg,#eef1f6 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#eef1f6 75%),linear-gradient(-45deg,transparent 75%,#eef1f6 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0;display:grid;place-items:center;padding:25px}.overlaycard{background:#ffffffed;border:1px solid #dce7fb;border-radius:15px;padding:20px 25px;box-shadow:0 8px 25px #35568012;max-width:380px;width:100%;display:flex;gap:15px;align-items:center}.overlaycard strong{display:block;color:#5079c5;font-size:15px;margin:6px 0}.overlaycard small{font-size:10px}.loglines{background:#f7f9fd;border:1px solid var(--line);padding:15px;border-radius:9px;font:11px/2 Consolas,monospace;color:#7d91af;white-space:pre-wrap;overflow-wrap:anywhere}.footer{font-size:10px;color:#a2afc1;display:flex;justify-content:space-between;gap:12px;margin-top:29px;padding-bottom:5px}.badgeicon{width:35px;height:35px;border-radius:10px;background:var(--soft);color:#85a6d8;display:grid;place-items:center}.inline{display:flex;align-items:center;gap:9px}.floatright{margin-left:auto}dialog{border:1px solid #dee7f5;border-radius:17px;padding:0;width:min(650px,calc(100% - 30px));max-height:88vh;box-shadow:0 25px 90px #18335925;color:var(--ink)}dialog::backdrop{background:#20355355;backdrop-filter:blur(4px)}.modalhead{display:flex;justify-content:space-between;align-items:center;padding:23px 25px 16px;border-bottom:1px solid var(--line)}.modalhead h2{font-size:17px}.modalbody{padding:22px 25px;max-height:65vh;overflow:auto}.modalfoot{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:15px 25px;border-top:1px solid var(--line);background:#fbfcff}.modalerror{color:#bd6464;font-size:12px;line-height:1.8;margin-top:10px}.checks{display:flex;flex-wrap:wrap;gap:12px}.checks label{display:flex;align-items:center;gap:7px;font-size:12px;padding:8px 11px;border:1px solid var(--line);border-radius:7px}.checks input{accent-color:var(--blue)}#toast{position:fixed;bottom:28px;left:calc(50% + 112px);transform:translateX(-50%);padding:13px 22px;background:#29425f;color:white;z-index:100;border-radius:10px;box-shadow:0 5px 25px #21334d20;font-size:12px;max-width:calc(100% - 30px);line-height:1.8}.mobilemenu{display:none}.librarylabel{display:flex;align-items:center;gap:10px;padding:12px;border-radius:6px;line-height:1.8;font-size:12px}.librarylabel:hover{background:#f6f9ff}.librarylabel input{accent-color:var(--blue)}.publicshell{max-width:1050px;margin:auto;padding:30px 25px 60px}.publichead{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:30px}.publichead .brand{padding:0}.publichero{padding:26px 30px;background:white;border:1px solid var(--line);border-radius:15px;margin-bottom:25px}.publichero h1{font-size:23px;margin-bottom:10px}.publichero p{color:var(--muted);line-height:1.9;font-size:12px}.petface{width:65px;height:65px;display:grid;place-items:center;background:#edf4ff;border-radius:20px;color:#84a5d9}.petface .ico{width:36px;height:36px}.pill.tagnew{font-size:9px;background:#fff5e6;color:#b99459}.coverage{display:grid;grid-template-columns:1fr 1fr;gap:8px}.coverage a{padding:10px 12px;border:1px solid var(--line);border-radius:7px;font-size:11px;display:flex;justify-content:space-between}.settingslayout{display:grid;grid-template-columns:170px minmax(0,1fr);gap:22px}.settingsmenu{position:sticky;top:100px}.settingsmenu p{font-size:10px;color:#9cabbf;margin:18px 12px 8px}.settingsmenu button{border:0;background:none;color:#8091a9;padding:10px 12px;border-radius:7px;text-align:left;width:100%;font-size:12px}.settingsmenu button.active{color:var(--blue);background:#e8f0ff;font-weight:550}.publiclayout .panel{box-shadow:none}.checklist{font-size:12px;line-height:2.2;color:#7f92ad}.variantrow{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:10px}.musicnote{height:60px;background:#f5f8fd;border:1px dashed #dce5f2;border-radius:9px;display:grid;place-items:center;margin-top:15px;color:#8fa2c0;font-size:12px}@media(min-width:1500px){.content{padding-top:35px}.grid2.wide{grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr)}}@media(max-width:1150px){.shell{grid-template-columns:192px minmax(0,1fr)}.sidebar{width:192px;padding-inline:12px}.content{padding:25px 23px}.topbar{padding:0 23px}.grid2.wide{grid-template-columns:minmax(0,1.4fr) minmax(250px,1fr)}.stats{gap:11px}.stat{padding:16px}.statvalue{font-size:28px}.topright{gap:8px}.split{grid-template-columns:160px minmax(0,1fr)}.settingslayout{grid-template-columns:145px minmax(0,1fr);gap:16px}}@media(max-width:930px){.grid2,.grid2.wide{grid-template-columns:1fr}.grid3{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.proto{display:none}.roomcard{align-items:flex-start;flex-direction:column}.roomcard>.actions{align-self:flex-end}.welcomecontrols{grid-template-columns:1fr 1fr}.welcomecontrols>.switchrow{grid-column:1/-1}.settingslayout{grid-template-columns:1fr}.settingsmenu{position:static;display:flex;overflow:auto;gap:4px;margin-bottom:5px}.settingsmenu p{display:none}.settingsmenu button{width:auto;white-space:nowrap}.productgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.shell{display:block}.sidebar{transform:translateX(-100%);transition:transform .2s;width:225px;box-shadow:10px 0 40px #21334d15}.sidebar.open{transform:translateX(0)}.workspace{width:100%}.topbar{height:62px;padding:0 15px;gap:8px}.mobilemenu{display:inline-flex;border:0;background:none;padding:5px;color:#7992b5}.crumb{font-size:11px;gap:7px}.crumb>span{display:none}.topright{gap:7px}.roomselect{font-size:11px;max-width:152px;padding-left:8px}.avatar{width:27px;height:27px}.content{padding:23px 16px}.pagehead{align-items:flex-start;gap:10px;margin-bottom:20px}h1{font-size:21px}.pagehead p{font-size:11px;max-width:250px}.pagehead>.actions .btn{padding:7px 10px;font-size:11px}.pagehead>.actions .btn .ico{display:none}.subnav{margin-bottom:19px}.subnav button{padding:9px 11px;font-size:11px}.panelhead{padding:18px 17px 0}.panelbody{padding:18px 17px}.panelfoot{padding:12px 17px}.roomcard{padding:18px}.roominfo{gap:12px}.roomicon{width:45px;height:45px;border-radius:13px}.roominfo h2{font-size:13px;flex-wrap:wrap;gap:6px}.roommeta{font-size:10px;gap:6px 10px}.stats{gap:10px}.stat{padding:14px}.statvalue{font-size:27px}.statlabel{font-size:11px}.statlabel .ico{width:25px;height:25px;padding:6px}.statfoot{font-size:10px}.grid3{gap:10px}.quick{padding:13px 11px;gap:8px}.quick .person{display:none}.quick strong{font-size:11px}.quick small{font-size:10px}.grid2{gap:0}.formgrid{grid-template-columns:1fr;gap:0}.split{grid-template-columns:1fr}.selector{display:flex;border-right:0;border-bottom:1px solid var(--line);overflow:auto;padding:9px}.selector button{width:auto;white-space:nowrap;padding:10px;gap:8px}.splitmain{padding:19px 17px}.welcomecontrols{gap:17px}.welcomecontrols .fieldline input{max-width:90px}.savebar{bottom:10px;padding:11px 12px}.savebar>span{max-width:130px;font-size:10px}.savebar .btn{font-size:11px;padding:8px 10px}.savebar .actions{gap:5px}.toolbar{gap:9px}.toolbar input{max-width:none;flex:1}.toolbar .searchbar{width:100%}.toolbar select{max-width:100%;font-size:11px}.tabs{gap:22px}.tabs button{font-size:11px}.feed{gap:9px}.feedtext{font-size:11px}.feed time{font-size:9px}.progressrow{grid-template-columns:85px 1fr 35px;gap:10px;font-size:11px}.swatches{grid-template-columns:repeat(2,minmax(0,1fr))}.productgrid{grid-template-columns:1fr}.footer{font-size:9px}.roomcard>.actions{width:100%;justify-content:flex-end}.coverage{grid-template-columns:1fr}.modalhead{padding:20px}.modalbody{padding:20px}.modalfoot{padding:14px 20px}.publicshell{padding:23px 16px}.publichead .brand strong{font-size:19px}.publichero{padding:23px 20px}.reportpreview{padding:22px}#toast{left:50%;bottom:22px}.notice{font-size:11px;padding:12px}.player{padding:18px;gap:13px}.player h3{font-size:14px}.variantrow{grid-template-columns:1.3fr 1fr 1fr;gap:6px}.variantrow input{padding:9px 7px}.stepper span{font-size:10px}.checklist{font-size:11px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}[hidden]{display:none!important}
.settingslayout>div{min-width:0}.settingslayout .panel,.settingslayout .tablewrap{min-width:0}.field textarea{scrollbar-width:thin}
.globalnav{margin:0 0 14px;font-size:14px;padding:13px 12px}.globalnav .chev{font-size:10px;font-weight:400;min-width:20px;padding:3px 6px;border-radius:5px;background:#fff}.roomcontext{border-block:1px solid var(--line);padding:13px 12px 15px;display:flex;flex-direction:column;gap:7px;margin-bottom:2px}.roomcontext strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:550}.roomcontext small{font-size:10px;color:#9baac0}.roomcontext span{font-size:11px;color:#8b9cb4}.sidebar{overflow-y:auto}.workspace-label{font-size:11px;color:#7b8fae}.crumb a{color:#8c9bb0;white-space:nowrap}.workspace-welcome{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:3px 0 28px;padding:25px 28px;background:#edf3ff;border:1px solid #e0e9fc;border-radius:14px}.eyebrow{font-size:10px;color:#7192c6;letter-spacing:1.5px;display:block}.workspace-welcome h2{font-size:23px;font-weight:600;margin:12px 0}.workspace-welcome p{font-size:12px;color:#8094b2;line-height:1.9}.workspace-mini{display:flex;align-items:baseline;gap:9px;white-space:nowrap}.workspace-mini strong{font-family:Avenir,sans-serif;font-size:30px;color:#5f82c0;font-weight:550}.workspace-mini span{font-size:11px;color:#8a9db8}.workspace-mini i{height:24px;width:1px;background:#d6e2f6;align-self:center;margin:0 13px}.roomgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.roomtile{padding:25px;border:1px solid var(--line);border-radius:15px;background:white;min-width:0;box-shadow:var(--shadow)}.roomtile h2{font-size:17px;margin:22px 0 10px}.roomtile>p{font-size:11px;color:#96a5b9}.roomtilemeta{margin-top:22px;display:flex;justify-content:space-between;gap:8px;font-size:11px;color:#8ea0b8}.roomtilemeta span{display:flex;align-items:center;gap:5px}.roomtilemeta .ico{width:14px;height:14px}.roomtilefoot{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.roomtilefoot .btn{font-size:11px}.roomtile.addroom{background:transparent;border:1px dashed #ccd9ee;box-shadow:none;min-height:290px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;color:#8099bd}.addcircle{width:47px;height:47px;border:1px solid #d7e2f4;border-radius:14px;display:grid;place-items:center;background:#f7faff}.addroom strong{font-size:13px;font-weight:500}.addroom small{font-size:11px}.addroom:hover{background:#edf3ff}.workspace-bottom{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:36px 0}.workspace-bottom>div{padding:23px 0;border-top:1px solid var(--line)}.workspace-bottom h3{display:flex;gap:7px;align-items:center;font-size:13px;color:#6d86aa}.workspace-bottom .ico{width:16px;height:16px}.workspace-bottom p{font-size:11px;color:#94a4bb;line-height:1.9;margin:12px 0 17px}.firstroom{padding:35px;text-align:center}.firstroom .roomicon{margin:0 auto 22px}.firstroom h3{font-size:18px}.firstroom p{font-size:12px;color:#8b9db6;line-height:2;margin:15px 0 22px}.anchor-auth{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,1fr);min-height:100vh;background:white}.auth-story{padding:46px 9%;background:#f0f5fe;border-right:1px solid #e5edfa;display:flex;flex-direction:column}.auth-story>.brand{padding:0}.auth-intro{margin:auto 0;padding:55px 0}.auth-intro h1{font-size:52px;line-height:1.4;font-weight:600;letter-spacing:1px;color:#294366;margin:21px 0}.auth-intro>p{font-size:14px;line-height:2.1;color:#859ab9}.auth-room-preview{padding:25px;background:#ffffffb8;border:1px solid #e1eafa;border-radius:15px;margin-top:38px;box-shadow:0 10px 35px #34578905;max-width:470px}.auth-room-preview h3{font-size:13px;margin-bottom:7px}.auth-room-preview small{font-size:10px}.auth-preview-line{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);padding:24px 0 18px}.auth-preview-line span{display:flex;align-items:center;gap:5px;font-size:11px;color:#7893ba}.auth-preview-line .ico{width:14px;height:14px}.auth-preview-feed{display:flex;align-items:center;gap:10px;padding-top:19px}.auth-preview-feed>div:nth-child(2){flex:1;min-width:0}.auth-preview-feed strong{font-size:11px;color:#627da7;display:block;font-weight:550}.auth-preview-feed small{display:block;margin-top:6px;line-height:1.8}.auth-story-foot{font-size:11px;color:#9bacc4;margin-top:30px}.auth-entry{padding:42px 12%;display:flex;align-items:center;justify-content:center}.auth-entry-inner{width:100%;max-width:420px}.auth-topline{display:flex;align-items:center;justify-content:flex-end;gap:3px;color:#91a2b8;font-size:11px;margin-bottom:55px;flex-wrap:wrap}.auth-topline>span{margin-right:auto;font-size:10px;color:#a3b1c4}.auth-formhead{margin-bottom:30px}.auth-formhead h2{font-size:25px;font-weight:600;margin:13px 0}.auth-formhead p{font-size:12px;color:#8a9db8;line-height:1.9}.auth-entry .field{margin-bottom:21px}.auth-entry .field input{min-height:44px;background:#fbfcff}.auth-password{position:relative}.auth-password input{padding-right:55px}.auth-password>button{position:absolute;right:9px;top:12px;border:0;background:none;color:#8da0bc;font-size:11px;padding:2px 4px}.auth-submit{width:100%;min-height:44px;margin-top:9px;justify-content:space-between;padding-inline:17px}.auth-separator{display:flex;align-items:center;gap:12px;margin:25px 0 18px;color:#a3b1c6;font-size:10px}.auth-separator:before,.auth-separator:after{content:'';height:1px;background:var(--line);flex:1}.auth-demo{width:100%;min-height:42px;color:#6e88b0;border-color:#e1e9f6}.auth-demo-note{font-size:10px;color:#a1b0c5;text-align:center;margin-top:12px;line-height:1.8}.auth-bottom-note{font-size:10px;color:#9aabc1;line-height:2;text-align:center;margin-top:27px}#anchor-error{min-height:18px}.anchor-auth #toast{left:50%}@media(max-width:1150px){.roomgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-story{padding:35px 9%}.auth-entry{padding:35px 10%}.auth-intro h1{font-size:43px}.auth-room-preview{padding:20px}.anchor-auth{grid-template-columns:minmax(0,1fr) minmax(400px,1fr)}}@media(max-width:930px){.workspace-welcome{align-items:flex-start;flex-direction:column;gap:20px}.workspace-mini strong{font-size:25px}.workspace-bottom{gap:15px}.auth-story{padding:30px 8%}.auth-preview-line{flex-wrap:wrap}.auth-preview-feed .pill{display:none}.auth-intro h1{font-size:38px}.auth-room-preview h3{font-size:12px}.anchor-auth{grid-template-columns:minmax(0,1fr) minmax(370px,1.1fr)}}@media(max-width:680px){.roomgrid{grid-template-columns:1fr;gap:15px}.roomtile{padding:22px}.roomtile.addroom{min-height:160px}.workspace-welcome{padding:23px 20px}.workspace-welcome h2{font-size:21px}.workspace-welcome p{font-size:11px}.workspace-bottom{grid-template-columns:1fr;gap:0;margin-top:25px}.workspace-bottom>div{padding:19px 0}.workspace-label{font-size:10px}.crumb{min-width:0}.crumb strong{max-width:90px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.firstroom{padding:22px 4px}.firstroom .btn{margin:5px}.anchor-auth{display:block;background:white}.auth-story{padding:25px 23px 22px;background:#f0f5fe;border-bottom:1px solid #e5edfa;border-right:0}.auth-story>.brand{gap:9px}.auth-story .brand strong{font-size:20px}.auth-story .brand img{width:34px;height:34px}.auth-intro{padding:22px 0 0}.auth-intro .eyebrow{display:none}.auth-intro h1{font-size:27px;line-height:1.5;margin:0 0 10px;letter-spacing:0}.auth-intro h1 br{display:none}.auth-intro>p{font-size:11px;line-height:1.9}.auth-intro>p br{display:none}.auth-room-preview,.auth-story-foot{display:none}.auth-entry{padding:24px 23px 35px}.auth-topline{margin-bottom:22px}.auth-formhead{margin-bottom:23px}.auth-formhead .eyebrow{font-size:9px}.auth-formhead h2{font-size:22px}.auth-formhead p{font-size:11px}.auth-bottom-note{margin-top:21px}.roomcontext{padding-top:10px;padding-bottom:10px}.globalnav{margin-bottom:10px}.sidebar .brand{padding-bottom:18px}.navgroup{padding-top:13px}}
.roomicon.offline:after{background:#afbed4}
/* BliveBot controls: keep the compact old workflow while making every choice field consistent. */
select,.roomselect{appearance:none;-webkit-appearance:none;background-color:#fff;background-image:linear-gradient(45deg,transparent 50%,#6f86a6 50%),linear-gradient(135deg,#6f86a6 50%,transparent 50%);background-position:calc(100% - 15px) 50%,calc(100% - 10px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;border:1px solid #d9e2ef;border-radius:8px;min-height:38px;padding:8px 34px 8px 12px;line-height:1.3;color:#4f6687;cursor:pointer;transition:border-color .15s,box-shadow .15s,background-color .15s}
select:hover,.roomselect:hover{border-color:#9bb7e3;background-color:#fbfdff}
select:focus,.roomselect:focus{border-color:#6f9de6;box-shadow:0 0 0 3px #dce9ff;outline:0}
select option{background:#fff;color:#30496d;padding:9px}
.field select,.formfield select,.searchbar select{width:100%}
.roomselect{min-width:170px;max-width:230px;min-height:36px}
.subnav select,.tabs select{min-height:34px}
@media(max-width:680px){select,.roomselect{min-height:40px}.roomselect{min-width:128px;max-width:170px}}
/* Room switcher and room controls follow the compact legacy workflow. */
.room-picker{position:relative;min-width:190px;z-index:30}.room-picker-button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:38px;padding:8px 11px 8px 13px;border:1px solid #d9e2ef;border-radius:8px;background:#fff;color:#4f6687;font-size:12px;text-align:left}.room-picker-button:hover,.room-picker.open .room-picker-button{border-color:#6f9de6;box-shadow:0 0 0 3px #dce9ff}.room-picker-button .ico{width:14px;height:14px;transition:transform .15s}.room-picker.open .room-picker-button .ico{transform:rotate(-90deg)}.room-picker-menu{display:none;position:absolute;top:calc(100% + 7px);right:0;min-width:100%;max-height:280px;overflow:auto;padding:6px;background:#fff;border:1px solid #d7e2f1;border-radius:10px;box-shadow:0 12px 30px #20385824}.room-picker.open .room-picker-menu{display:block}.room-picker-option{width:100%;display:flex;align-items:center;gap:8px;padding:9px 10px;border:0;border-radius:7px;background:transparent;color:#4f6687;font-size:12px;text-align:left}.room-picker-option:hover{background:#f0f5ff;color:#2d6ee8}.room-picker-option.active{background:#eaf1ff;color:#2d6ee8;font-weight:600}.room-picker-option .ico{width:15px;height:15px}.room-picker-option small{margin-left:auto;color:#9aabc0}.room-controls-panel{justify-content:flex-end;margin-top:16px}.room-controls-panel .btn{min-height:36px}.room-controls-panel .btn.ghost{border-color:#dce4ef;background:#fff;color:#6f829d}.room-controls-panel .btn.ghost:hover{background:#f8faff;border-color:#a8bee4}@media(max-width:680px){.room-picker{min-width:150px;max-width:190px}.room-controls-panel{width:100%;justify-content:stretch}.room-controls-panel .btn{flex:1}}
/* Legacy workspace skin: the backend remains the formal workspace, while the shell follows the old BliveBot layout. */
:root{font-size:14px;--radius:16px;--shadow:0 4px 24px #233b6410}
.shell{grid-template-columns:220px minmax(0,1fr)}
.sidebar{width:220px;padding:30px 18px 18px}
.brand{padding:0 12px 24px}.brand strong{font-size:25px}.navbtn{padding:14px 17px;margin:0;font-size:14px;border-radius:10px}.navgroup{padding:28px 17px 10px}
.topbar{height:82px;padding:0 38px}.content{max-width:1500px;padding:33px 38px 20px}.pagehead{margin-bottom:26px}.pagehead h1{font-size:25px;font-weight:700}.btn{padding:10px 16px;min-height:36px;border-radius:8px;font-size:12px}.panel{border-radius:16px}.panelhead{padding:20px 26px 0}.panelbody{padding:23px 26px}.stats{gap:16px}.stat{padding:19px 19px 16px;border-radius:13px}.statvalue{font-size:32px}
.room-panel{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:16px;padding:23px 26px;display:flex;justify-content:space-between;align-items:center;gap:20px;box-shadow:var(--shadow);margin-bottom:23px}.room-info{display:flex;align-items:center;gap:17px;min-width:0}.room-avatar{position:relative;width:57px;height:57px;border-radius:17px;background:#eaf2ff;display:grid;place-items:center;color:#5f92ec;flex:none}.room-avatar .ico{width:30px;height:30px}.room-avatar:after{content:'';position:absolute;width:11px;height:11px;right:-1px;bottom:0;border:3px solid white;border-radius:50%;background:#8fa9cd}.room-avatar.connected:after{background:#38ae94}.room-info h2{font-size:16px;font-weight:650;margin:0 0 8px;display:flex;align-items:center;gap:10px}.room-meta{font-size:11px;color:#93a0b3;line-height:1.7;display:flex;gap:15px;flex-wrap:wrap}.room-meta span{display:flex;gap:5px;align-items:center}.room-controls{display:flex;align-items:center;gap:10px;flex-shrink:0}
@media(max-width:900px){.shell{grid-template-columns:74px minmax(0,1fr)}.sidebar{width:74px;padding:25px 10px}.brand{padding:0;justify-content:center}.brand>span,.navgroup,.roomcontext,.sidebottom{display:none}.navbtn{font-size:0;justify-content:center;padding:15px}.topbar{height:70px;padding:0 22px}.content{padding:25px 22px}.room-panel{align-items:flex-start;flex-direction:column}.room-controls{align-self:flex-end}}
@media(max-width:580px){.shell{display:block}.sidebar{inset:auto 0 0;width:100%;height:66px;padding:6px 7px 8px;border-right:0;border-top:1px solid var(--line)}.sidebar>.brand{display:none}.workspace{padding-bottom:66px}.topbar{height:61px;padding:0 18px}.content{padding:23px 16px 14px}.room-panel{padding:18px;gap:17px}.room-controls{width:100%;justify-content:flex-end}.room-controls .btn{flex:1}.room-controls .btn.ghost{flex:0}.stats{grid-template-columns:repeat(2,1fr);gap:10px}.stat{padding:14px}.statvalue{font-size:27px}}
.room-warning{color:#b88135!important}
.choice-select{position:relative;width:100%;min-width:0}.choice-button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:38px;padding:8px 11px 8px 13px;border:1px solid #d9e2ef;border-radius:8px;background:#fff;color:#4f6687;font-size:12px;text-align:left}.choice-button:hover,.choice-select.open .choice-button{border-color:#6f9de6;box-shadow:0 0 0 3px #dce9ff}.choice-button .ico{width:14px;height:14px;transition:transform .15s}.choice-select.open .choice-button .ico{transform:rotate(-90deg)}.choice-menu{display:none;position:absolute;z-index:60;top:calc(100% + 7px);left:0;right:0;max-height:280px;overflow:auto;padding:6px;background:#fff;border:1px solid #d7e2f1;border-radius:10px;box-shadow:0 12px 30px #20385824}.choice-select.open .choice-menu{display:block}.choice-select.open-up .choice-menu{top:auto;bottom:calc(100% + 7px)}.choice-option{width:100%;display:flex;align-items:center;gap:8px;padding:9px 10px;border:0;border-radius:7px;background:transparent;color:#4f6687;font-size:12px;text-align:left}.choice-option:hover{background:#f0f5ff;color:#2d6ee8}.choice-option.active{background:#eaf1ff;color:#2d6ee8;font-weight:600}.choice-option .ico{width:15px;height:15px}.choice-value[hidden]{display:none!important}
