@import"https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&display=swap";:root{--blue: #0096EA;--blue-hover: #0074CC;--blue-click: #59BAF1;--blue-light: #DEE8F0;--dark: #262B32;--gray-dark: #474E64;--gray: #8E94A9;--border: #CDD1DD;--bg: #F1F5F8;--white: #FFFFFF;--success: #00D789;--error: #FF023F;--warn: #FFA726;--line: #EDF1F5;--font: "Lato", "Segoe UI", system-ui, -apple-system, Roboto, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font);background:var(--bg);color:var(--dark);font-size:14px}a{color:var(--blue);text-decoration:none}b,strong{font-weight:700}.app{display:grid;grid-template-columns:264px 1fr;height:100vh}.aside{background:var(--dark);color:#fff;display:flex;flex-direction:column;overflow-y:auto}.alogo{padding:22px 24px;display:flex;align-items:center;gap:11px;border-bottom:1px solid #333B46}.alogo .m{width:32px;height:32px;border-radius:9px;background:var(--blue);display:grid;place-items:center;font-weight:800;font-size:16px}.alogo b{font-size:19px}.alogo .cms{margin-left:auto;font-size:11px;color:#5a6270}.acct{margin:12px 16px 0;border-radius:8px;padding:9px 12px;display:flex;align-items:center;gap:9px;background:#1b1f26;cursor:pointer}.acct .am{width:22px;height:22px;border-radius:5px;background:#ef6c00;display:grid;place-items:center;font-size:10px;font-weight:800;flex-shrink:0}.acct .at{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acct .ar{margin-left:auto;color:var(--gray);font-size:11px}.asec{padding:18px 24px 7px;font-size:10px;letter-spacing:1.3px;text-transform:uppercase;color:#5a6270;font-weight:700}.aitem{display:flex;align-items:center;gap:12px;padding:11px 24px;color:#a8b0be;font-size:14px;border-left:3px solid transparent;cursor:pointer;text-decoration:none}.aitem:hover{background:#1e242c;color:#fff}.aitem.on{background:#1b1f26;color:#fff;border-left-color:var(--blue);font-weight:600}.aitem .ic{width:18px;display:inline-flex;justify-content:center;opacity:.85}.aitem .badge{margin-left:auto;background:#333b46;border-radius:10px;padding:1px 8px;font-size:11px}.auser{margin-top:auto;padding:16px 24px;border-top:1px solid #333B46;display:flex;align-items:center;gap:11px}.auser .av{width:34px;height:34px;border-radius:50%;background:var(--blue);display:grid;place-items:center;font-size:13px;font-weight:700;flex-shrink:0}.auser .an{font-size:13px}.auser small{display:block;color:#6b7280;font-size:11px}.auser .out{margin-left:auto;color:#6b7280;cursor:pointer;font-size:12px}.auser .out:hover{color:#fff}.amain{display:flex;flex-direction:column;overflow:hidden;min-width:0}.atop{height:64px;flex:0 0 64px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 28px;gap:10px}.crumbs{font-size:13px;color:var(--gray);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crumbs b{color:var(--gray-dark);font-weight:600}.crumbs a{color:var(--gray)}.crumbs a:hover{color:var(--blue)}.atop .actions{margin-left:auto;display:flex;gap:8px;align-items:center}.abody{flex:1;overflow:auto;padding:24px 28px;min-height:0}.override{flex:0 0 auto;background:#fff4e0;border-bottom:1px solid #FFD699;color:#7a4b00;font-size:13px;padding:9px 28px;display:flex;align-items:center;gap:12px}.override .btn.link{margin-left:auto;color:#7a4b00}.abody.fixed{overflow:hidden;display:flex;flex-direction:column}.btn{height:38px;border-radius:8px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;font-size:14px;font-weight:600;white-space:nowrap;cursor:pointer;font-family:inherit;background:#fff;color:var(--gray-dark);border-color:var(--border)}.btn:hover{background:var(--bg)}.btn:disabled{opacity:.5;cursor:default}.btn.p{background:var(--blue);border-color:var(--blue);color:#fff}.btn.p:hover:not(:disabled){background:var(--blue-hover);border-color:var(--blue-hover)}.btn.p:active{background:var(--blue-click)}.btn.s{background:#fff;border-color:var(--border);color:var(--gray-dark)}.btn.g,.btn.ghost{background:#fff;border-color:var(--border);color:var(--gray);width:38px;padding:0}.btn.ghost{width:auto;padding:0 10px;height:30px;font-size:12px}.btn.d,.btn.danger{background:#fff;border-color:#ffc9d6;color:var(--error)}.btn.d:hover,.btn.danger:hover{background:#fff4f7}.btn.sm{height:30px;padding:0 10px;font-size:12px}.btn.link{border:none;background:none;color:var(--blue);padding:0;height:auto;font-weight:600}.btn.link:hover{color:var(--blue-hover);background:none}.card{background:#fff;border:1px solid var(--border);border-radius:12px;position:relative}.card.pad{padding:18px 20px}.card h3{font-size:15px;font-weight:700}.card .hd{padding:14px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}.card .hd b{font-size:15px}.card .ft{padding:12px 16px;border-top:1px solid var(--border);display:flex;align-items:center;font-size:13px;color:var(--gray)}input,select,textarea{height:38px;border:1px solid var(--border);border-radius:8px;padding:0 12px;font-size:14px;font-family:inherit;color:var(--dark);width:100%;background:#fff;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #0096ea1f}input::placeholder{color:var(--gray)}textarea{height:auto;min-height:74px;padding:9px 12px;line-height:1.5;resize:vertical}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%238E94A9' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:28px}input[type=color]{padding:2px;width:48px}input[type=checkbox],input[type=radio]{width:auto;height:auto;accent-color:var(--blue)}.lbl{font-size:12px;color:var(--gray);margin-bottom:6px;display:block;font-weight:600}label{font-size:12px;color:var(--gray);font-weight:600;display:block;margin:12px 0 5px}.field{display:flex;flex-direction:column}.inp{height:38px;border:1px solid var(--border);border-radius:8px;background:#fff;display:flex;align-items:center;padding:0 12px;color:var(--gray);font-size:14px;gap:8px}.inp input{border:none;height:100%;padding:0;box-shadow:none}.inp.search:before{content:"🔍";font-size:13px}.sw{width:38px;height:22px;border-radius:11px;background:var(--border);position:relative;flex:0 0 38px;cursor:pointer;transition:background .15s}.sw i{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .15s}.sw.on{background:var(--blue)}.sw:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.sw.on i{left:19px}.sw.off{opacity:.5;cursor:default}.swrow{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.swrow:last-child{border-bottom:none}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:var(--gray);font-weight:700;padding:12px 14px;border-bottom:1px solid var(--border);background:#fafcfe;white-space:nowrap}td{padding:13px 14px;border-bottom:1px solid var(--line);color:var(--gray-dark);vertical-align:middle}tr.click{cursor:pointer}tr.click:hover td{background:#fafcfe}tr.sel td{background:#f5fafe}td b{color:var(--dark)}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:7px;background:var(--gray)}.tag{display:inline-flex;align-items:center;border-radius:6px;padding:3px 9px;font-size:12px;font-weight:600;white-space:nowrap}.tag.b{background:var(--blue-light);color:var(--blue-hover)}.tag.g{background:#dff9ee;color:#049e68}.tag.g .dot{background:var(--success)}.tag.r{background:#ffe4eb;color:#d40036}.tag.r .dot{background:var(--error)}.tag.n{background:#eef1f5;color:var(--gray-dark)}.tag.y{background:#fff3e0;color:#b26a00}.tag.x{cursor:pointer}.tag.x:hover{background:#ffe4eb;color:#d40036}.chips{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.kpi{background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px 18px}.kpi .v{font-size:28px;font-weight:700;color:var(--dark);line-height:1.15}.kpi .v.g{color:#049e68}.kpi .v.r{color:#d40036}.kpi .l{font-size:12px;color:var(--gray);margin-top:2px}.kpi .d{font-size:12px;font-weight:700;margin-top:6px}.kpi .d.up{color:#049e68}.kpi .d.down{color:#d40036}.issue{border-radius:8px;padding:9px 12px;font-size:12.5px;margin-top:8px;line-height:1.5}.issue.error,.issue.err{background:#fff4f7;border:1px solid #FFC9D6;color:#d40036}.issue.warning{background:#fff8ec;border:1px solid #FFE0B2;color:#b26a00}.issue.ok{background:#f2fcf8;border:1px solid #B7EDD8;color:#049e68}.info{background:#f5fafe;border:1px solid var(--blue-light);border-radius:9px;padding:12px 14px;font-size:13px;line-height:1.6;color:var(--gray-dark)}.row{display:flex;gap:10px;align-items:center}.col{display:flex;flex-direction:column}.grow,.spacer{flex:1}.muted{color:var(--gray);font-size:12px}.mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:12.5px}.split{display:grid;gap:20px;height:100%;min-height:0}.split>*{min-height:0}.scroll{overflow:auto}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--border)}.tabs div{padding:8px 12px;font-size:13px;font-weight:600;color:var(--gray);border-bottom:2px solid transparent;cursor:pointer;margin-bottom:-1px}.tabs div.on{color:var(--dark);border-bottom-color:var(--blue)}.seg{display:flex;background:#eef1f5;border-radius:8px;padding:2px}.seg button{border:none;background:none;font-family:inherit}.seg div,.seg button,.tab{padding:6px 14px;border-radius:7px;cursor:pointer;font-weight:600;color:var(--gray);font-size:13px}.seg div.on,.seg button.on,.tab.on{background:#fff;color:var(--dark);box-shadow:0 1px 3px #0000001f}.avatar{width:44px;height:44px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:700;flex-shrink:0}.sqicon{width:30px;height:30px;border-radius:7px;display:grid;place-items:center;font-size:12px;font-weight:800;color:#546e7a}.pager{display:flex;gap:6px}.pager div{width:30px;height:30px;border:1px solid var(--border);border-radius:6px;display:grid;place-items:center;background:#fff;color:var(--gray-dark);cursor:pointer;font-size:13px}.pager div.on{background:var(--blue);border-color:var(--blue);color:#fff}.bar{height:6px;border-radius:3px;background:#eef1f5;overflow:hidden}.bar i{display:block;height:100%;border-radius:3px;background:var(--blue)}.tile{border:1.5px solid var(--border);border-radius:10px;overflow:hidden;background:#fff;cursor:pointer}.tile.on{border-color:var(--blue)}.tile .th{height:98px;background:#eef1f5;display:grid;place-items:center;font-size:28px;position:relative;overflow:hidden}.tile .th img{width:100%;height:100%;object-fit:cover}.tile .th .dur{position:absolute;bottom:6px;right:7px;background:#0009;color:#fff;font-size:10px;padding:2px 6px;border-radius:4px}.tile .nm{padding:9px 10px}.tile .nm div:first-child{font-size:12px;font-weight:600;color:var(--dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile .nm div:last-child{font-size:11px;color:var(--gray);margin-top:2px}.folder{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:7px;font-size:13px;color:var(--gray-dark);cursor:pointer}.folder.on{background:#f5fafe;color:var(--blue-hover);font-weight:600}.folder .cnt{margin-left:auto;font-size:11px;color:var(--gray)}.modrow{display:flex;align-items:center;gap:14px;border:1px solid var(--border);border-radius:10px;padding:14px 16px;margin-bottom:10px;background:#fff}.modrow.start{border-color:var(--blue);background:#f5fafe}.modrow .grab{color:var(--border);font-size:16px;cursor:grab}.modrow .mic{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-size:18px}.dropzone{border:1.5px dashed var(--border);border-radius:10px;padding:16px;text-align:center;color:var(--gray);font-size:13px}.kv{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px}.kv span{color:var(--gray);flex-shrink:0}.kv b{color:var(--gray-dark);text-align:right;word-break:break-all;min-width:0}.prevrail{background:var(--dark);border-radius:10px;padding:14px}.prevrail div{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:8px;font-size:13px;color:#a8b0be}.prevrail div.on{background:var(--blue);color:#fff}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f141e73;display:grid;place-items:center;z-index:50}.modal{background:#fff;border-radius:14px;padding:24px;width:520px;max-width:calc(100vw - 40px);max-height:calc(100vh - 40px);overflow:auto;box-shadow:0 30px 80px #0000004d}.modal h2{font-size:18px;margin-bottom:4px}.modal .sub{color:var(--gray);font-size:13px;margin-bottom:8px}.modal .foot{display:flex;gap:8px;margin-top:20px;justify-content:flex-end}.bars{display:flex;align-items:flex-end;gap:6px;height:190px}.bars>div{flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:2px;min-width:0}.bars .b1{background:var(--blue);border-radius:4px 4px 0 0}.bars .b2{background:var(--blue-light);border-radius:0 0 4px 4px}.bars .lb{text-align:center;font-size:10px;color:var(--gray);margin-top:4px;white-space:nowrap;overflow:hidden}.empty{padding:40px;text-align:center;color:var(--gray);font-size:13px}.fillhead{display:flex;align-items:center;gap:28px}.fillhead .fillprogress{flex:0 0 260px}.fillgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.fillcard{display:flex;flex-direction:column}.fillcard.wide{grid-column:span 2}.fillcard .fic{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}.fillcard .ttl{font-size:15px}.fillrows{margin-top:12px;border-top:1px solid var(--line)}.fillrow{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px;color:var(--gray-dark)}.fillrow:hover{color:var(--blue)}.fillrow .st{width:18px;color:var(--gray);text-align:center}.fillrow .st.ok{color:#049e68}.fillrow b{color:var(--dark);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fillrow .go{font-size:12px;font-weight:600;color:var(--blue)}@media(max-width:1400px){.fillgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}.login-wrap{display:grid;place-items:center;min-height:100vh;background:linear-gradient(120deg,#0f2b45,#173f5f 55%,#102542)}.login{width:960px;max-width:calc(100vw - 32px);display:grid;grid-template-columns:1fr 440px;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 30px 80px #00000059}.login .left{padding:56px 52px;background:var(--dark);color:#fff;display:flex;flex-direction:column}.login .left h2{font-size:30px;font-weight:700;margin-top:auto;line-height:1.3}.login .left p{font-size:14px;color:#8e94a9;margin-top:14px;line-height:1.7}.login .right{padding:56px 44px}.login .right h1{font-size:22px}.login .right .sub{color:var(--gray);font-size:13px;margin-top:6px;margin-bottom:30px}.login input{height:44px}@media(max-width:900px){.login{grid-template-columns:1fr}.login .left{display:none}}.editor{display:grid;grid-template-columns:1fr 300px;gap:14px;height:calc(100vh - 170px)}.canvas-wrap{background:#f7f9fb;border:1px solid var(--border);border-radius:12px;overflow:hidden;position:relative}.panel{background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px;overflow:auto}.panel h3{font-size:14px;margin-bottom:4px}.toolbar{display:flex;gap:8px;align-items:center;padding:9px 12px;background:#fff;border:1px solid var(--border);border-radius:10px;margin-bottom:12px;flex-wrap:wrap}.toolbar .sep{width:1px;height:22px;background:var(--border)}.toasts{position:fixed;right:24px;bottom:24px;display:flex;flex-direction:column;gap:8px;z-index:100;pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:10px;min-width:260px;max-width:420px;padding:12px 16px;border-radius:10px;background:var(--dark);color:#fff;font-size:13px;box-shadow:0 12px 40px #00000047;animation:toast-in .2s ease-out;cursor:pointer}.toast .ti{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:12px;flex-shrink:0}.toast.ok .ti{background:var(--success);color:#063}.toast.error .ti{background:var(--error);color:#fff}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.slide-in{animation:slide-in .22s ease-out}@keyframes slide-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}.map-editor{display:flex;flex-direction:column;gap:12px;height:100%;min-height:0}.me-top{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#fff;border:1px solid var(--border);border-radius:12px;flex-wrap:wrap}.me-top .btn.g{width:32px;height:32px}.me-sep{width:1px;height:24px;background:var(--border);margin:0 2px}.me-state{font-size:12px;color:var(--gray);padding:0 6px;white-space:nowrap}.me-state.dirty{color:#b26a00;font-weight:700}.me-state.dirty:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--warn);margin-right:6px;vertical-align:1px}.seg div[role=tab]:focus-visible,.seg div:hover:not(.on){color:var(--gray-dark)}.me-body{flex:1;min-height:0;display:grid;grid-template-columns:auto 1fr 340px;gap:12px}.me-rail{display:flex;flex-direction:column;gap:4px;padding:6px;background:#fff;border:1px solid var(--border);border-radius:12px;width:56px}.me-rail-sep{height:1px;background:var(--border);margin:6px 4px}.me-body>.me-canvas{grid-column:2}.me-body>.me-panel{grid-column:3}.me-tool{position:relative;width:44px;height:44px;border-radius:9px;border:1px solid transparent;background:transparent;color:var(--gray-dark);display:grid;place-items:center;cursor:pointer;transition:background .15s,color .15s}.me-tool:hover{background:var(--bg)}.me-tool:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.me-tool.on{background:var(--blue);color:#fff}.me-tool.on.soft{background:var(--blue-light);color:var(--blue-hover)}.me-tool kbd{position:absolute;right:3px;bottom:2px;font:700 9px/1 var(--font);opacity:.65}.me-canvas{position:relative;min-width:0;min-height:0;background:#f7f9fb;border:1px solid var(--border);border-radius:12px;overflow:hidden}.plan-canvas{position:absolute;top:0;right:0;bottom:0;left:0;-webkit-user-select:none;user-select:none;outline:none}.pc-hint{position:absolute;top:10px;left:50%;transform:translate(-50%);max-width:calc(100% - 40px);background:#262b32e0;color:#fff;font-size:12.5px;line-height:1.45;padding:7px 12px;border-radius:8px;text-align:center;z-index:2;cursor:default}.pc-hint.folded{display:flex;align-items:center;gap:6px;padding:5px 10px;font-size:12px;background:#262b32b3}.pc-status{position:absolute;left:10px;bottom:10px;background:#ffffffeb;border:1px solid var(--border);border-radius:7px;padding:4px 8px;font-size:11.5px;color:var(--gray-dark);pointer-events:none}.pc-zoom{position:absolute;right:10px;bottom:10px;display:flex;align-items:center;gap:4px;background:#fffffff2;border:1px solid var(--border);border-radius:9px;padding:3px}.pc-zoom .btn.g{width:32px;height:32px;border:none}.pc-zoom span{font-size:11.5px;color:var(--gray-dark);min-width:44px;text-align:center}.pc-legend{position:absolute;left:10px;bottom:42px;display:flex;flex-direction:column;gap:4px;background:#fffffff0;border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:11.5px;color:var(--gray-dark);pointer-events:none}.pc-legend span{display:flex;align-items:center;gap:8px}.lg-shape{width:11px;height:11px;border:2px solid;border-radius:50%;background:#fff;display:inline-block}.lg-shape.k1{border-radius:2px}.lg-shape.k3{border-radius:1px;transform:rotate(45deg) scale(.85)}.lg-shape.k4{border-radius:0;clip-path:polygon(50% 0,100% 100%,0 100%);border-width:0;background:#ef6c00!important}.lg-line{width:16px;height:0;border-top:3px solid #0096EA;display:inline-block}.lg-line.dash{border-top:3px dashed #E08A00}.me-panel{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:auto;min-height:0}.me-section{padding:16px;border-bottom:1px solid var(--line)}.me-section:last-child{border-bottom:none}.me-section-hd{display:flex;align-items:center;gap:8px;margin-bottom:4px}.me-section-hd h3{font-size:14px;font-weight:700;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.me-sub{font-size:12px;color:var(--gray);margin-bottom:10px;line-height:1.5}.me-section .field{margin-top:10px}.me-section .row .field{flex:1}.me-help{display:block;font-size:11.5px;color:var(--gray);margin-top:5px;line-height:1.45}.me-text{font-size:13px;color:var(--gray-dark);line-height:1.6}.me-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.me-footer-actions{padding:0 16px 6px}.me-kbd{padding:6px 16px 16px;font-size:11.5px;color:var(--gray);line-height:1.55}.me-check{display:flex;gap:10px;align-items:flex-start;margin:12px 0 0;font-size:13px;color:var(--gray-dark);font-weight:600;cursor:pointer}.me-check input{margin-top:2px;width:16px;height:16px}.me-check small{display:block;font-weight:400;color:var(--gray);font-size:11.5px;margin-top:2px;line-height:1.45}.me-stats{display:flex;gap:14px;margin-top:12px;font-size:12px;color:var(--gray)}.me-stats b{color:var(--dark);font-size:14px}.me-swatches{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.me-swatch{width:26px;height:26px;border-radius:7px;border:1px solid var(--border);cursor:pointer;font:700 10px var(--font);color:var(--gray);padding:0}.me-swatch.on{outline:2px solid var(--blue);outline-offset:1px}.me-swatches input[type=color]{width:34px;height:28px}.me-issue{display:block;width:100%;text-align:left;font-family:inherit;cursor:pointer}.me-issue:disabled{cursor:default}.me-issue:hover:not(:disabled){filter:brightness(.97)}.me-route{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:10px}.me-route .btn{white-space:normal;height:auto;min-height:30px;padding:6px 10px;text-align:left;max-width:100%}.me-links{display:flex;flex-direction:column;gap:4px;margin-top:6px}.me-link{display:flex;align-items:center;gap:8px;font-size:12.5px;padding:4px 0;border-bottom:1px solid var(--line);min-height:36px}.me-link:last-child{border-bottom:none}.me-link b{min-width:70px;color:var(--gray-dark);font-weight:600}.me-link .muted{margin-left:auto}.me-link .btn.link{font-size:12.5px}.me-mini{height:30px;font-size:12px;width:auto;padding:0 24px 0 8px}.me-steps{list-style:none;display:flex;flex-direction:column;gap:2px}.me-steps button{width:100%;display:flex;gap:10px;align-items:flex-start;text-align:left;padding:8px;border-radius:8px;border:none;background:none;cursor:pointer;font-family:inherit}.me-steps button:hover{background:var(--bg)}.me-steps b{display:block;font-size:13px;color:var(--dark)}.me-steps small{display:block;font-size:11.5px;color:var(--gray);margin-top:2px;line-height:1.4}.me-step-mark{flex:0 0 22px;height:22px;border-radius:50%;border:1.5px solid var(--border);display:grid;place-items:center;font-size:11px;font-weight:700;color:var(--gray)}.me-steps li.done .me-step-mark{background:var(--success);border-color:var(--success);color:#fff}.me-steps li.done b{color:var(--gray-dark)}.me-color-row{display:flex;align-items:center;gap:10px;margin:6px 0 0;font-size:13px;color:var(--gray-dark);font-weight:600;cursor:pointer}.me-color-row input{width:40px;height:28px}.me-color-row .mono{margin-left:auto;font-weight:400}.me-preset i{width:10px;height:14px;border-radius:3px;display:inline-block;border:1px solid rgba(0,0,0,.1);margin-right:-6px}.me-preset i:last-of-type{margin-right:2px}.me-skin{padding:10px 0;border-top:1px solid var(--line)}.me-skin-chip{flex:0 0 38px;height:38px;border-radius:8px;display:grid;place-items:center;font:800 11px var(--font);overflow:hidden}.me-skin-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.me-skin-grid label{margin:0;display:flex;flex-direction:column;gap:4px}.me-skin-grid label.wide{grid-column:span 1}.me-skin-grid input{height:32px;font-size:13px}input.ro{background:var(--bg);color:var(--gray-dark)}@media(max-width:1280px){.me-body{grid-template-columns:auto 1fr 300px}}@media(prefers-reduced-motion:reduce){.me-tool,.toast,.slide-in{transition:none;animation:none}}.me-floors{position:absolute;top:10px;left:10px;z-index:2;display:flex;flex-direction:column;gap:4px;background:#fffffff2;border:1px solid var(--border);border-radius:10px;padding:4px}.me-floors button{width:38px;height:38px;border-radius:7px;border:none;background:transparent;font:700 14px var(--font);color:var(--gray-dark);cursor:pointer}.me-floors button:hover{background:var(--bg)}.me-floors button.on{background:var(--blue);color:#fff}.me-floors button.add{color:var(--gray);border-top:1px solid var(--line);border-radius:0 0 7px 7px;display:grid;place-items:center}.me-floors button:focus-visible{outline:2px solid var(--blue)}.city-editor{display:grid;grid-template-columns:360px 1fr;gap:12px;height:100%;min-height:0}.ce-side{background:#fff;border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;min-height:0;overflow:hidden}.ce-plans{display:flex;gap:8px;padding:12px;border-bottom:1px solid var(--line)}.ce-plans select{height:32px;font-size:13px}.ce-section{padding:14px 16px;border-bottom:1px solid var(--line)}.ce-section .field+.field{margin-top:10px}.ce-layers{flex:1;overflow:auto}.ce-start{display:flex;align-items:flex-end;gap:10px;margin-top:12px}.ce-start>div{flex:1;display:flex;flex-direction:column}.ce-more{margin-top:10px;font-size:12.5px;color:var(--gray-dark)}.ce-more summary{cursor:pointer;color:var(--gray);font-weight:600}.ce-layer{border:1px solid var(--line);border-radius:10px;margin-top:8px;overflow:hidden}.ce-layer.on{border-color:var(--blue);box-shadow:0 0 0 3px #0096ea1a}.ce-layer-hd{display:flex;align-items:center;gap:9px;padding:9px 10px;cursor:pointer;min-height:48px}.ce-layer-hd:hover{background:#fafcfe}.ce-layer-hd b{flex:1;min-width:0;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ce-layer-hd>svg{color:var(--gray)}.ce-layer-ic{width:26px;height:26px;border-radius:50%;color:#fff;display:grid;place-items:center;flex-shrink:0}.ce-layer-body{padding:4px 12px 12px;border-top:1px solid var(--line)}.ce-layer-body .field{margin-top:10px}.ce-icons{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.ce-icons button{height:34px;border-radius:7px;border:1px solid var(--border);background:#fff;color:var(--gray-dark);cursor:pointer;display:grid;place-items:center}.ce-icons button:hover{background:var(--bg)}.ce-icons button.on{color:#fff}.ce-pois{margin-top:12px;display:flex;flex-direction:column;gap:2px;max-height:240px;overflow:auto}.ce-poi{display:flex;align-items:center;gap:4px;text-align:left;border:none;background:none;padding:7px 8px;border-radius:7px;font:13px var(--font);color:var(--gray-dark);cursor:pointer}.ce-poi:hover{background:var(--bg)}.ce-poi.on{background:#f5fafe;color:var(--blue-hover);font-weight:700}.ce-poi svg{margin-left:auto;color:var(--gray)}.ce-foot{display:flex;align-items:center;gap:8px;padding:10px 12px;border-top:1px solid var(--border);background:#fafcfe}.ce-foot .btn.g{width:32px;height:32px}.ce-empty{padding:36px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--gray)}.ce-empty b{color:var(--dark);font-size:15px}.ce-empty p{font-size:13px;line-height:1.6}.ce-map{position:relative;min-width:0;min-height:0;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#e6eaee}.ce-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--gray);font-size:13px}.city-canvas{position:absolute;top:0;right:0;bottom:0;left:0;-webkit-user-select:none;user-select:none}.city-attr{position:absolute;right:8px;bottom:56px;font-size:10.5px;color:var(--gray-dark);background:#fffc;padding:1px 6px;border-radius:4px;pointer-events:none}.ce-tools{position:absolute;left:10px;top:10px;display:flex;flex-direction:column;gap:4px;padding:5px;background:#fffffff5;border:1px solid var(--border);border-radius:12px;z-index:2}.ce-tools .me-tool:disabled{opacity:.4;cursor:default;background:none}.ce-target{position:absolute;left:76px;top:10px;display:flex;align-items:center;gap:8px;padding:6px 6px 6px 12px;font-size:12.5px;font-weight:600;color:var(--gray-dark);background:#fffffff5;border:1px solid var(--border);border-radius:10px;z-index:2}.ce-target select{height:30px;width:auto;font-size:12.5px}.ce-goto{position:absolute;left:10px;bottom:10px;display:flex;align-items:center;gap:6px;padding:0 4px 0 10px;width:320px;max-width:calc(100% - 200px);background:#fffffff5;border:1px solid var(--border);border-radius:9px;color:var(--gray);z-index:2}.ce-goto input{border:none;height:34px;padding:0 4px;font-size:12.5px;box-shadow:none!important;background:transparent}.ce-inspector{position:absolute;right:10px;top:10px;width:300px;max-height:calc(100% - 80px);overflow:auto;background:#fff;border:1px solid var(--border);border-radius:12px;padding:14px;box-shadow:0 12px 32px #262b3229;z-index:3}.ce-inspector .field{margin-top:10px}.ce-inspector h3{font-size:14px}.city-editor .pc-hint{top:auto;bottom:56px}@media(max-width:1280px){.city-editor{grid-template-columns:320px 1fr}}@media(max-width:1360px){.me-btn-text{display:none}.me-top .me-act{width:32px;padding:0}}@media(max-width:1100px){.me-body{grid-template-columns:auto 1fr 280px}.me-state{display:none}.me-top .seg button{padding:6px 9px}.city-editor{grid-template-columns:300px 1fr}.ce-goto{width:220px}}.btn:focus-visible,.seg button:focus-visible,.ce-icons button:focus-visible,.me-swatch:focus-visible,.ce-poi:focus-visible,.me-steps button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.seg button:hover:not(.on){color:var(--gray-dark)}.drp{border:1px solid var(--border);border-radius:12px;background:#fff;padding:10px 12px}.drp-head{display:flex;align-items:center;gap:6px}.drp-summary{font-size:13px;color:var(--dark)}.drp-months{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:6px}.drp-title{font-weight:700;font-size:13px;text-align:center;margin-bottom:6px}.drp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px 0}.drp-wd{font-size:10px;text-transform:uppercase;color:var(--gray);text-align:center;padding:2px 0}.drp-day{height:30px;border:none;background:transparent;font:inherit;font-size:13px;color:var(--dark);cursor:pointer;border-radius:0}.drp-day:hover:not(:disabled){background:var(--blue-light)}.drp-day:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.drp-day.today{font-weight:900;text-decoration:underline}.drp-day.in{background:#e3f2fd;color:var(--blue-hover)}.drp-day.start,.drp-day.end{background:var(--blue);color:#fff;font-weight:700}.drp-day.start{border-radius:8px 0 0 8px}.drp-day.end{border-radius:0 8px 8px 0}.drp-day.start.end{border-radius:8px}.drp-day:disabled{cursor:default;opacity:.6}.drp-foot{margin-top:8px;gap:12px;flex-wrap:wrap;font-size:13px}.cardtoggle{flex:1;min-width:0;display:flex;align-items:center;gap:10px;border:none;background:transparent;font:inherit;color:inherit;text-align:left;cursor:pointer;padding:0;border-radius:6px}.cardtoggle:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.rd-body{display:grid;grid-template-columns:1fr 320px;gap:18px;margin-top:12px;min-height:0}.rd-preview{position:relative;background:#f7f9fb;border:1px solid var(--border);border-radius:10px;overflow:hidden;align-self:start}.rd-preview img{display:block;width:100%;height:auto;opacity:.55}.rd-preview svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.rd-preview.picking svg{cursor:crosshair}.rd-room{fill:#0096ea1a;stroke:#0074cc;stroke-width:1.2;vector-effect:non-scaling-stroke}.rd-room.nodoor{stroke:#ff023f;stroke-dasharray:4 3}.rd-slab{fill:none;stroke:#262b32;stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-dasharray:6 4}.rd-path{stroke:#e5484d;stroke-width:2.2;vector-effect:non-scaling-stroke;stroke-linecap:round}.rd-door-link{stroke:#00a86b;stroke-width:1.6;vector-effect:non-scaling-stroke}.rd-door{fill:#00a86b}.rd-gate{fill:#ef6c00;stroke:#fff;stroke-width:1.5;vector-effect:non-scaling-stroke}.rd-terminal{fill:#262b32;stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke}.rd-busy{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:12px;background:#ffffffbf;font-size:13px;color:var(--gray-dark);font-weight:600}.rd-spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--blue-light);border-top-color:var(--blue);animation:rd-spin .8s linear infinite}@keyframes rd-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.rd-spinner{animation-duration:2.4s}}.rd-pick-hint{position:absolute;top:10px;left:50%;transform:translate(-50%);background:#262b32e0;color:#fff;font-size:12.5px;padding:6px 12px;border-radius:8px;pointer-events:none}.rd-side{display:flex;flex-direction:column;gap:14px;min-width:0}.rd-side .field{margin:0}.rd-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.rd-stats div{background:var(--bg);border-radius:8px;padding:8px 10px;display:flex;flex-direction:column}.rd-stats b{font-size:20px;color:var(--dark);font-variant-numeric:tabular-nums}.rd-stats span{font-size:11.5px;color:var(--gray)}.rd-legend{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:11.5px;color:var(--gray-dark)}.rd-legend span{display:inline-flex;align-items:center;gap:6px}.rd-legend .lg{display:inline-block;width:14px;height:10px;border-radius:2px}.rd-legend .lg.rd-room{background:#0096ea26;border:1.5px solid #0074CC}.rd-legend .lg.path{height:0;border-top:3px solid #E5484D}.rd-legend .lg.door{width:9px;height:9px;border-radius:50%;background:#00a86b}.rd-legend .lg.gate{width:10px;height:10px;border-radius:50%;background:#ef6c00}.rd-legend .lg.terminal{width:10px;height:10px;border-radius:50%;background:#262b32}.rd-group{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.rd-group .lbl{margin:0}.rd-group .me-check{margin:2px 0 0}.rd-ocr{display:flex;flex-direction:column;gap:6px;width:100%}.rd-ocr .bar{width:100%}.rd-cta{width:100%;margin-bottom:4px}.rd-swatch{display:inline-block;width:12px;height:12px;border-radius:3px;border:1px solid var(--border);vertical-align:-2px;margin-right:6px}.btn.s.on{background:var(--blue-light);border-color:var(--blue);color:var(--blue-hover)}@media(max-width:1100px){.rd-body{grid-template-columns:1fr}}
