:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}a{color:inherit}@keyframes alertFadeIn{0%{opacity:0}to{opacity:1}}@keyframes alertSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.alert-modal-overlay{z-index:10000;background:#00000073;justify-content:center;align-items:center;animation:.15s ease-out alertFadeIn;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.alert-modal{background:var(--color-bg-primary);border-radius:var(--radius-lg,12px);box-shadow:var(--shadow-xl,0 12px 32px #00000026);width:90%;max-width:400px;padding:24px 24px 20px;animation:.2s ease-out alertSlideUp}.alert-content{margin-bottom:20px}.alert-title-row{align-items:center;gap:10px;margin-bottom:8px;display:flex}.alert-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.alert-dot.success{background:#00c471}.alert-dot.error{background:var(--color-danger)}.alert-dot.warning{background:var(--color-warning)}.alert-dot.info{background:var(--color-main)}.alert-title{color:var(--color-text-primary);letter-spacing:-.2px;margin:0;font-size:15px;font-weight:700}.alert-message{color:var(--color-text-secondary);white-space:pre-line;margin:0;font-size:14px;line-height:1.55}.alert-actions{justify-content:flex-end;display:flex}.alert-btn-confirm{background:var(--color-main);color:#fff;border-radius:var(--radius-sm,6px);cursor:pointer;letter-spacing:-.2px;border:none;padding:9px 22px;font-size:13px;font-weight:600;transition:background .15s}.alert-btn-confirm:hover{background:var(--color-main-hover)}@media (max-width:768px){.alert-modal{padding:20px 20px 16px}.alert-title{font-size:14px}.alert-message{font-size:13px}}@keyframes confirmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes confirmSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.confirm-modal-overlay{z-index:10000;background:#00000073;justify-content:center;align-items:center;animation:.15s ease-out confirmFadeIn;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.confirm-modal{background:var(--color-bg-primary);border-radius:var(--radius-lg,12px);box-shadow:var(--shadow-xl,0 12px 32px #00000026);width:90%;max-width:420px;padding:24px 24px 20px;animation:.2s ease-out confirmSlideUp}.modal-content{margin-bottom:20px}.modal-title-row{align-items:center;gap:10px;margin-bottom:8px;display:flex}.modal-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.modal-dot.danger{background:var(--color-danger)}.modal-dot.warning{background:var(--color-warning)}.modal-dot.info{background:var(--sel,var(--color-main))}.modal-title{color:var(--color-text-primary);letter-spacing:-.2px;margin:0;font-size:15px;font-weight:700}.modal-message{color:var(--color-text-secondary);white-space:pre-line;margin:0;font-size:14px;line-height:1.55}.modal-actions{justify-content:flex-end;gap:8px;display:flex}.modal-btn{border-radius:var(--radius-sm,6px);cursor:pointer;letter-spacing:-.2px;border:1px solid #0000;min-width:70px;padding:9px 18px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s,color .15s}.cancel-btn{background:var(--color-bg-primary);color:var(--color-text-secondary);border-color:var(--color-border)}.cancel-btn:hover{background:var(--color-bg-hover,var(--color-bg-tertiary));border-color:var(--color-border-hover)}.confirm-btn{color:#fff;border:none}.confirm-btn.info{background:var(--sel,var(--color-main))}.confirm-btn.info:hover{background:var(--cc-accent,var(--color-main-hover))}.confirm-btn.warning{background:var(--color-warning)}.confirm-btn.warning:hover{background:#e67a00}.confirm-btn.danger{background:var(--color-danger)}.confirm-btn.danger:hover{background:#b71c1c}.confirm-modal.has-subject{max-width:520px;padding:38px 40px 28px}.confirm-modal.has-subject .modal-content{text-align:center;margin-bottom:30px}.confirm-modal.has-subject .modal-subject{color:var(--color-text-primary);letter-spacing:-.5px;font-variant-numeric:tabular-nums;word-break:keep-all;margin-bottom:14px;font-size:36px;font-weight:800;line-height:1.25}.confirm-modal.has-subject .modal-title-row{justify-content:center;gap:9px;margin-bottom:16px}.confirm-modal.has-subject .modal-title{font-size:20px;font-weight:700}.confirm-modal.has-subject .modal-dot{width:12px;height:12px}.confirm-modal.has-subject .modal-message{text-align:center;font-size:16.5px;line-height:1.65}.confirm-modal.has-subject .modal-actions{justify-content:center;gap:12px}.confirm-modal.has-subject .modal-btn{white-space:nowrap;justify-content:center;align-items:center;min-width:132px;height:48px;padding:0 24px;font-size:16px;font-weight:700;display:inline-flex}.confirm-modal.has-subject .prompt-input{text-align:center}@media (max-width:768px){.confirm-modal{padding:20px 20px 16px}.modal-title{font-size:14px}.modal-message{font-size:13px}.confirm-modal.has-subject{padding:26px 22px 20px}.confirm-modal.has-subject .modal-subject{font-size:28px}.confirm-modal.has-subject .modal-title{font-size:17px}.confirm-modal.has-subject .modal-message{font-size:15px}.confirm-modal.has-subject .modal-btn{min-width:112px;height:44px;font-size:15px}}.prompt-input{box-sizing:border-box;width:100%;color:var(--color-text-primary);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm,6px);letter-spacing:-.2px;outline:none;margin-top:14px;padding:11px 13px;font-size:14px;transition:border-color .15s,box-shadow .15s}.prompt-input::placeholder{color:var(--color-text-tertiary,var(--color-text-secondary))}.prompt-input:focus{border-color:var(--color-main);box-shadow:0 0 0 3px var(--color-main-light,#0064ff26)}@media (max-width:768px){.prompt-input{padding:10px 12px;font-size:13px}}.choice-list{flex-direction:column;gap:8px;margin-top:14px;display:flex}.choice-item{box-sizing:border-box;text-align:left;width:100%;color:var(--color-text-primary);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm,6px);cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:13px 15px;font-size:15px;font-weight:600;transition:border-color .15s,background .15s;display:flex}.choice-item:hover{border-color:var(--color-main);background:var(--color-main-light,#0064ff14)}.choice-item:focus-visible{border-color:var(--color-main);box-shadow:0 0 0 3px var(--color-main-light,#0064ff26);outline:none}.choice-label{letter-spacing:-.2px}.choice-hint{color:var(--color-text-secondary);font-size:13px;font-weight:500}@media (max-width:768px){.choice-item{padding:12px 13px;font-size:14px}}:root{--color-main:#0064ff;--color-main-light:#e0f7f8;--color-text-primary:#222831;--color-text-secondary:#393e46;--color-text-tertiary:#6b7280;--color-bg-primary:#fff;--color-bg-secondary:#fff;--color-bg-tertiary:#eee;--color-bg-hover:#2228310a;--color-border:#e0e2e6;--color-border-hover:#c5c9cf;--color-success:#0064ff;--color-success-bg:#e0f7f8;--color-danger:#d32f2f;--color-danger-bg:#fdecea;--color-warning:#f59e0b;--color-warning-bg:#fef3c7;--color-primary:#0064ff;--color-green:#0064ff;--color-red:#d32f2f;--color-red-bg:#fdecea;--color-fill-tertiary:#0064ff0d;--radius-sm:0;--radius-md:0;--radius-full:9999px;--transition-fast:.15s ease;--font-mono:"SF Mono", Monaco, Consolas, monospace}@font-face{font-family:Pretendard;font-weight:100 900;font-display:swap;src:url(/fonts/PretendardVariable.woff2)format("woff2-variations")}:root{--bg:#fff;--panel:#fff;--line:#e5e7eb;--line-2:#d1d5db;--text:#1f2430;--text-2:#4b5563;--muted:#9ca3af;--sel:#1b262c;--focus:#3282b8;--cc-accent:#0f4c75;--cc-point:#00adb5;--cc-point-dk:#067c83;--danger:#dc2626;--hover:#f9fafb;--radius:0;--rail:72px;--rail-right:0px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:Pretendard,Pretendard Variable,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,Malgun Gothic,sans-serif;font-size:14px}button,input,select{font-family:inherit}.label{color:var(--muted);font-size:11px;font-weight:500}.shell{background:var(--bg);height:100vh;display:flex}.dashboard-sidebar{width:var(--rail);box-sizing:border-box;z-index:200;background:#1b1d21;border-right:1px solid #2c2f36;flex-direction:column;flex:none;height:100vh;padding:12px 0;display:flex;position:relative}.sidebar-brand{color:#fff;letter-spacing:-.2px;border-bottom:1px solid #ffffff1a;flex-direction:column;flex-shrink:0;align-items:center;gap:4px;margin:0 8px 8px;padding:8px 0 12px;font-size:10px;font-weight:600;display:flex}.sidebar-brand svg{color:#4d9aff;font-size:24px}.sidebar-brand span{color:#fff9;text-align:center;font-size:9px;font-weight:600;line-height:1.2}.sidebar-nav{scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;flex:1;gap:2px;padding:0 6px;display:flex;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{width:0;height:0;display:none}.menu-item-wrapper{position:relative}.sidebar-nav button{color:#ffffffa6;text-align:center;cursor:pointer;letter-spacing:-.1px;background:0 0;border:none;border-radius:0;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:4px;width:100%;min-height:56px;padding:10px 4px;font-size:10px;font-weight:600;transition:all .15s;display:flex;position:relative}.sidebar-nav button:hover{color:#fff;background-color:#ffffff14}.sidebar-nav button.active{color:#fff;background-color:#0064ff40}.sidebar-nav button.active:hover{background-color:#0064ff4d}.sidebar-nav button>svg:first-child{opacity:1;flex-shrink:0;font-size:20px}.sidebar-nav button.active>svg:first-child{opacity:1;color:#4d9aff}.sidebar-nav button span{flex-direction:column;align-items:center;gap:0;font-size:10px;line-height:1.3;display:flex;overflow:hidden}.sidebar-nav button span small{opacity:.7;white-space:nowrap;text-overflow:ellipsis;font-size:8px;font-weight:500;overflow:hidden}.sidebar-nav button.active span{font-weight:600}.sidebar-nav button.active span small{opacity:.8}.sidebar-nav button.soon{opacity:.35;cursor:default}.sidebar-nav button.soon:hover{color:#ffffffa6;background:0 0}.sidebar-footer{border-top:1px solid #ffffff1a;flex-shrink:0;margin-top:auto;padding:8px 6px}.sidebar-footer>button{color:#ffffffa6;cursor:pointer;background:0 0;border:none;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:100%;min-height:52px;padding:10px 4px;font-size:10px;font-weight:600;transition:all .15s;display:flex}.sidebar-footer>button:hover{color:#f04452;background:#f0445226}.sidebar-footer>button svg{font-size:16px}.sidebar-footer>button small{opacity:.7;margin-top:1px;font-size:8px;font-weight:600;display:block}.sos-rail-btn{color:#ffffff8c;cursor:pointer;background:0 0;border:none;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:100%;min-height:52px;margin-bottom:4px;padding:10px 4px;font-size:10px;font-weight:700;transition:all .15s;display:flex}.sos-rail-btn .sos-rail-ico{color:#e5484d;font-size:16px;line-height:1}.sos-rail-btn small{opacity:.7;margin-top:1px;font-size:8px;font-weight:600;display:block}.sos-rail-btn:hover{color:#fff;background:#e5484d24}.sos-rail-btn.sos-active{color:#fff;background:#c1121f;animation:1.1s step-end infinite sos-blink}.sos-rail-btn.sos-active .sos-rail-ico{color:#fff}@keyframes sos-blink{50%{background:#7f0a14}}.sos-modal-backdrop{z-index:9000;background:#060a14b8;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.sos-modal{background:#fff;border:1px solid #e2e8f0;flex-direction:column;width:100%;max-width:460px;max-height:calc(100vh - 40px);display:flex;box-shadow:0 24px 60px #0006}.sos-modal-head{color:#fff;background:#0f172a;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 18px;font-size:15px;font-weight:800;display:flex}.sos-modal-head.on{background:#c1121f}.sos-x{color:#ffffffb3;cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:15px}.sos-x:hover{color:#fff}.sos-modal-body{flex:auto;padding:20px 18px 8px;overflow-y:auto}.sos-hint{color:#5b6776;margin-bottom:18px;font-size:13px;line-height:1.6}.sos-hint b{color:#c1121f}.sos-type-label{color:#0f172a;letter-spacing:.04em;margin-bottom:8px;font-size:12px;font-weight:700}.sos-type-row{gap:8px;margin-bottom:20px;display:flex}.sos-type-btn{cursor:pointer;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:0;flex-direction:column;flex:1;align-items:center;gap:4px;padding:12px 6px;transition:all .12s;display:flex}.sos-type-btn:hover{border-color:#c1121f}.sos-type-btn.sel{background:#fdecee;border-color:#c1121f}.sos-type-emoji{font-size:26px;line-height:1}.sos-type-ko{color:#0f172a;font-size:14px;font-weight:800}.sos-type-en{color:#94a3b8;letter-spacing:.06em;font-size:10px;font-weight:600}.sos-type-btn.sel .sos-type-en{color:#c1121f}.sos-err{color:#c1121f;background:#fdecee;margin:4px 0 8px;padding:8px 11px;font-size:13px}.sos-actionbar{border-top:1px solid #e2e8f0;flex-shrink:0;padding:14px 18px}.sos-fire,.sos-clear{cursor:pointer;color:#fff;border:none;border-radius:0;width:100%;padding:14px;font-size:15px;font-weight:800;transition:all .12s}.sos-fire{background:#c1121f}.sos-fire:hover{background:#9a0e18}.sos-clear{background:#0f172a}.sos-clear:hover{background:#1e293b}.sos-fire:disabled,.sos-clear:disabled{opacity:.55;cursor:default}.sos-confirm-msg{color:#0f172a;margin-bottom:12px;font-size:13.5px;line-height:1.6}.sos-confirm-msg b{color:#c1121f}.sos-confirm-btns{gap:8px;display:flex}.sos-confirm-btns .sos-cancel{color:#5b6776;cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:0;flex:0 0 96px;padding:14px;font-size:15px;font-weight:700}.sos-confirm-btns .sos-cancel:hover{background:#f8fafc}.sos-confirm-btns .sos-fire,.sos-confirm-btns .sos-clear{flex:auto}.sos-cancel:disabled{opacity:.55;cursor:default}.flyout-panel{background:#2c2f36;border-right:1px solid #3a3d45;flex-shrink:0;width:0;height:100vh;transition:width .25s;overflow:hidden}.flyout-panel.open{width:220px}.flyout-header{color:#fff;letter-spacing:-.3px;white-space:nowrap;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;min-width:220px;padding:20px;font-size:16px;font-weight:700;display:flex}.flyout-close-btn{color:#ffffff80;cursor:pointer;background:0 0;border:none;border-radius:0;align-items:center;padding:6px;font-size:15px;transition:color .15s,background .15s;display:flex}.flyout-close-btn:hover{color:#fff;background:#ffffff26}.flyout-content{flex-direction:column;gap:4px;min-width:220px;padding:12px;display:flex}.flyout-group{letter-spacing:.08em;color:#ffffff59;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:16px 14px 6px;font-size:11px;font-weight:700}.flyout-content>.flyout-group:first-child{padding-top:6px}.flyout-item{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:0;align-items:center;gap:12px;width:100%;padding:12px 14px;transition:all .15s;display:flex}.flyout-item:hover{background:#ffffff14}.flyout-item.active{background:#0064ff33}.flyout-item>svg:first-child{color:#ffffff80;flex-shrink:0;font-size:16px}.flyout-item.active>svg:first-child{color:#4d9aff}.flyout-item-text{flex-direction:column;flex:1;gap:2px;display:flex}.flyout-item-label{color:#ffffffd9;font-size:14px;font-weight:500}.flyout-item.active .flyout-item-label{color:#fff;font-weight:600}.flyout-item-sublabel{color:#fff6;font-size:11px}.flyout-item-arrow{color:#ffffff4d;opacity:0;font-size:10px;transition:opacity .15s}.flyout-item:hover .flyout-item-arrow,.flyout-item.active .flyout-item-arrow{opacity:1}.flyout-item.soon{opacity:.4;cursor:default}.flyout-item.soon:hover{background:0 0}.flyout-soon-tag{color:#ffffff80;white-space:nowrap;border:1px solid #fff3;border-radius:0;padding:1px 6px;font-size:9px}.shell-body{flex-direction:column;flex:1;min-width:0;display:flex}.main-header{border-bottom:1px solid var(--line);z-index:100;background:#fffffff2;flex:none;justify-content:space-between;align-items:center;min-height:48px;padding:12px 24px;display:flex;position:-webkit-sticky;position:sticky;top:0}.header-info{flex:auto;align-items:center;gap:16px;min-width:0;display:flex}.header-rist-badge{border-right:2px solid var(--line);align-items:center;padding-right:20px;line-height:1;display:flex}.header-rist-title{color:#001838;letter-spacing:1px;white-space:nowrap;font-size:18px;font-weight:900;line-height:1.2}.header-rist-title em{color:#0072fd;font-style:normal}.header-info h1{color:var(--text);letter-spacing:-.3px;margin:0;font-size:15px;font-weight:600}.header-subtitle{color:var(--muted);text-transform:uppercase;letter-spacing:.8px;margin:0;font-size:10px;font-weight:500}.shell-body .editor-layout,.shell-body .device-page{height:100%}.editor-layout{background:var(--bg);flex-direction:column;height:100vh;display:flex}.topbar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:16px;padding:12px 20px;display:flex}.topbar .brand{align-items:baseline;gap:10px;display:flex}.topbar .brand b{letter-spacing:-.01em;font-size:17px;font-weight:800}.brand-accent{color:var(--focus);font-weight:800}.logout-btn{color:var(--muted);margin-left:8px}.logout-btn:hover{color:var(--danger);border-color:var(--danger)}.topbar .brand span{color:var(--muted);font-size:12px}.topbar .spacer{flex:1}.editor-body{flex:1;grid-template-columns:220px 1fr 300px;min-height:0;display:grid}.sidebar{border-right:1px solid var(--line);flex-direction:column;gap:4px;padding:16px 12px;display:flex;overflow-y:auto}.sidebar .label{padding:4px 8px 6px}.dept-item{color:var(--text-2);border-radius:var(--radius);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;align-items:flex-start;gap:10px;width:100%;padding:9px 10px;font-size:14px;display:flex}.dept-item:hover{background:var(--hover)}.dept-item.active{border-color:var(--sel);color:var(--text);background:#fff;font-weight:600}.dept-bar{border-radius:0;flex:none;width:3px;height:15px}.dept-add{color:var(--text-2);border:1px dashed var(--line-2);border-radius:var(--radius);cursor:pointer;background:0 0;margin-top:6px;padding:9px;font-size:13px}.dept-add:hover{border-color:var(--sel);color:var(--text)}.dept-name{word-break:keep-all;overflow-wrap:anywhere;flex:1;min-width:0;line-height:1.3}.dept-edit{width:22px;height:22px;color:var(--text-2);opacity:0;cursor:pointer;background:0 0;border:none;border-radius:0;flex:none;place-items:center;font-size:16px;line-height:1;display:grid}.dept-item:hover .dept-edit,.dept-item.active .dept-edit{opacity:.7}.dept-edit:hover{background:var(--hover);color:var(--text);opacity:1!important}.modal-backdrop{z-index:1000;background:#0f172a73;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal{background:#fff;border-radius:0;flex-direction:column;gap:14px;width:min(520px,92vw);max-height:90vh;padding:22px;display:flex;overflow-y:auto;box-shadow:0 24px 60px #0f172a47}.modal-wide{width:min(1080px,95vw)}.modal-cols{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start;gap:22px;display:grid}.modal-col{flex-direction:column;gap:14px;min-width:0;display:flex}.modal-col-left{position:-webkit-sticky;position:sticky;top:0}@media (max-width:900px){.modal-cols{grid-template-columns:1fr}.modal-col-left{position:static}}.modal-head{justify-content:space-between;align-items:center;display:flex}.modal-head h2{margin:0;font-size:18px;font-weight:800}.modal-x{color:var(--text-2);cursor:pointer;background:0 0;border:none;border-radius:0;width:28px;height:28px;font-size:16px}.modal-x:hover{background:var(--hover);color:var(--text)}.modal-actions{justify-content:space-between;align-items:center;margin-top:6px;display:flex}.modal-actions-right{gap:8px;display:flex}.btn-danger-outline{color:var(--danger);border:1px solid var(--line-2);background:#fff}.btn-danger-outline:hover{border-color:var(--danger);background:#fef2f2}.color-swatches{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.swatch{cursor:pointer;border:2px solid #0000;border-radius:0;width:26px;height:26px;padding:0}.swatch.on{border-color:#111827;box-shadow:inset 0 0 0 2px #fff}.swatch-custom{border:1px solid var(--line-2);cursor:pointer;background:#fff;border-radius:0;width:32px;height:26px;padding:0}.peer-box{flex-direction:column;gap:8px;margin-top:14px;display:flex}.peer-chips{flex-wrap:wrap;gap:6px;display:flex}.peer-chip{border:1px solid var(--line-2);color:var(--text);background:#eef2f8;border-radius:0;align-items:center;gap:5px;padding:3px 6px 3px 10px;font-size:12.5px;display:inline-flex}.peer-chip-x{color:var(--text-2);cursor:pointer;background:0 0;border:none;border-radius:50%;width:16px;height:16px;font-size:11px;line-height:1}.peer-chip-x:hover{color:#fff;background:#d63d4a}.orgtb-results{z-index:50;border:1px solid var(--line-2);background:#fff;border-radius:0;min-width:240px;max-height:320px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto;box-shadow:0 12px 28px #0f172a29}.orgtb-result{text-align:left;cursor:pointer;width:100%;color:var(--text);background:0 0;border:none;border-radius:0;align-items:center;gap:8px;padding:7px 9px;font-size:13px;display:flex}.orgtb-result:hover{background:var(--hover)}.orgtb-result.count,.orgtb-result.none{cursor:default;color:var(--text-2);padding:5px 9px;font-size:12px}.orgtb-result.count:hover,.orgtb-result.none:hover{background:0 0}.orgtb-result .r-title{color:var(--text-2)}.orgtb-result .r-phone{color:var(--text-2);margin-left:auto;font-size:12px}.sidebar .site{border-top:1px solid var(--line);color:var(--muted);margin-top:auto;padding:10px 8px 2px;font-size:12px}.sidebar .site b{color:var(--text-2);font-weight:600}.canvas-area{flex-direction:column;min-width:0;display:flex}.canvas-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:12px 20px;display:flex}.canvas-head .title{align-items:center;gap:10px;display:flex}.canvas-head h1{margin:0;font-size:17px;font-weight:700}.canvas-head .title .bar{border-radius:0;width:4px;height:18px}.canvas-head .note{color:var(--muted);font-size:12px}.toolbar{flex-wrap:wrap;gap:8px;display:flex}.btn{border:1px solid var(--line-2);color:var(--text);border-radius:var(--radius);cursor:pointer;background:#fff;align-items:center;gap:6px;padding:7px 13px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{background:var(--hover);border-color:var(--sel)}.btn-primary{background:var(--sel);color:#fff;border-color:var(--sel)}.btn-primary:hover{background:#000}.btn-ghost{border-color:var(--line-2)}.btn-danger{color:var(--danger);border-color:var(--line-2);justify-content:center;width:100%}.btn-danger:hover{border-color:var(--danger);background:#fef2f2}.flash{border-bottom:1px solid var(--line);padding:9px 20px;font-size:13px}.flash.ok{background:var(--hover);color:var(--text)}.flash.err{color:var(--danger);background:#fef2f2}.canvas{background:#fff;flex:1;min-height:0}.chart-wrap{flex-direction:column;height:100%;display:flex}.chart-inner{flex:1;min-height:0}.orgtb{border-bottom:1px solid var(--line);background:var(--panel);flex-wrap:wrap;align-items:center;gap:12px;padding:8px 16px;display:flex}.orgtb-group{align-items:center;gap:4px;display:flex}.orgtb-btn{border:1px solid var(--line-2);color:var(--text);border-radius:var(--radius);cursor:pointer;background:#fff;padding:6px 11px;font-size:13px}.orgtb-btn:hover{background:var(--hover);border-color:var(--sel)}.orgtb-btn:disabled{opacity:.35;cursor:default}.orgtb-btn:disabled:hover{border-color:var(--line-2);background:#fff}.orgtb-sel{border:1px solid var(--line-2);border-radius:var(--radius);padding:6px 9px;font-size:13px}.orgtb-search{align-items:center;display:flex;position:relative}.orgtb-search input{border:1px solid var(--line-2);border-radius:var(--radius);width:160px;padding:6px 28px 6px 11px;font-size:13px}.orgtb-search input:focus{border-color:var(--focus);outline:none}.orgtb-x{cursor:pointer;color:var(--muted);background:0 0;border:none;padding:2px;font-size:12px;position:absolute;right:6px}.plate{--accent:#9ca3af;border:1px solid var(--line-2);border-radius:var(--radius);cursor:grab;background:#fff;width:200px;padding:11px 14px 12px}.plate:active{cursor:grabbing}.plate:hover{border-color:#9aa1ab}.plate.selected{border-color:var(--sel);box-shadow:0 0 0 1px var(--sel)}.plate .p-title{color:var(--muted);margin-bottom:7px;font-size:11px}.plate .p-row{align-items:center;gap:11px;display:flex}.plate .avatar{border-radius:var(--radius);color:#fff;background:var(--accent);flex:none;place-items:center;width:38px;height:38px;font-size:15px;font-weight:700;display:grid;overflow:hidden}.plate .avatar img{object-fit:cover;width:100%;height:100%}.plate .p-name{letter-spacing:-.01em;font-size:16px;font-weight:700;line-height:1.15}.plate .p-phone{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:2px;font-size:12px}.plate.is-head{border-color:var(--sel)}.plate.is-head .p-name{font-size:17px}.oc-handle{opacity:.55;transition:opacity .12s,border-color .12s,transform .12s;border:2px solid var(--line-2)!important;background:#fff!important;width:12px!important;height:12px!important}.oc-handle-top{top:-7px!important}.oc-handle-bottom{bottom:-7px!important}.oc-handle-side{border-radius:0!important}.oc-handle-left{left:-7px!important}.oc-handle-right{right:-7px!important}.oc-handle-hidden{opacity:0!important;background:0 0!important;border:none!important;width:14px!important;height:14px!important}.oc-handle-hidden.react-flow__handle-left{left:-8px!important}.oc-handle-hidden.react-flow__handle-right{right:-8px!important}.plate:hover .oc-handle,.react-flow__node:hover .oc-handle{opacity:1}.oc-handle:hover{transform:scale(1.4);border-color:var(--focus)!important;background:var(--focus)!important}.react-flow__handle-connecting{border-color:var(--focus)!important}.react-flow__connection-path{stroke:var(--focus);stroke-width:2px}.react-flow__edge.selected .react-flow__edge-path{stroke:var(--focus)!important;stroke-width:2.5px!important}.ctx-menu{z-index:20;border:1px solid var(--line-2);background:#fff;border-radius:0;min-width:160px;padding:4px;position:absolute;overflow:hidden;box-shadow:0 8px 24px #11182729}.ctx-item{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:0;padding:9px 12px;font-size:13.5px;display:block}.ctx-item:hover{background:var(--hover)}.ctx-item.danger{color:var(--danger)}.ctx-item.danger:hover{background:#fef2f2}.inspector{border-left:1px solid var(--line);flex-direction:column;gap:14px;padding:18px 16px;display:flex;overflow-y:auto}.insp-head h2{margin:2px 0 0;font-size:16px;font-weight:700}.field{flex-direction:column;gap:5px;display:flex}.field input,.field select{border:1px solid var(--line-2);border-radius:var(--radius);color:var(--text);background:#fff;outline:none;padding:9px 11px;font-size:14px}.field textarea{border:1px solid var(--line-2);border-radius:var(--radius);color:var(--text);resize:vertical;background:#fff;outline:none;padding:9px 11px;font-family:inherit;font-size:14px;line-height:1.5}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--focus)}.label-hint{color:var(--muted);font-weight:400}.photo-row{align-items:center;gap:12px;display:flex}.photo-preview{border-radius:var(--radius);color:#fff;background:var(--muted);flex:none;place-items:center;width:54px;height:54px;font-size:20px;font-weight:700;display:grid;overflow:hidden}.photo-preview img{object-fit:cover;width:100%;height:100%}.move-box{border-radius:var(--radius);background:#eef4ff;border:1px solid #b9d0ff;flex-direction:column;gap:8px;padding:12px;display:flex}.move-label{color:var(--focus);font-size:13px;font-weight:700}.move-hint{color:var(--text-2);font-size:12px;font-weight:400}.move-select{border:1px solid var(--focus);border-radius:var(--radius);color:var(--text);background:#fff;outline:none;padding:10px 11px;font-size:14px;font-weight:600}.help{color:var(--text-2);margin:0;padding-left:18px;font-size:13px;line-height:1.9}.help b{color:var(--text)}.insp-add-btn{border-radius:0;width:100%;margin-bottom:16px;padding:11px 12px;font-size:14px;font-weight:700}.keys{margin:0;padding:0;font-size:13px;list-style:none}.keys li{color:var(--text-2);align-items:center;gap:10px;padding:6px 0;display:flex}.keys kbd{text-align:center;border:1px solid var(--line-2);background:var(--hover);min-width:34px;color:var(--text);border-radius:0;flex:none;padding:3px 7px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700}.keys .keys-tip{border-top:1px solid var(--line-2);color:var(--muted);margin-top:10px;padding-top:10px;font-size:12px;line-height:1.7;display:block}.keys .keys-tip b{color:var(--text-2)}.pad-plate{border:1px solid var(--line-2);border-radius:var(--radius);overflow:hidden}.pad-plate .pad-head{background:var(--hover);border-bottom:1px solid var(--line);color:var(--text-2);padding:8px 11px;font-size:12px;font-weight:600}.pad-url{color:var(--text-2);word-break:break-all;padding:9px 11px;font-family:ui-monospace,SF Mono,monospace;font-size:11.5px}.center-msg{height:100%;color:var(--muted);place-items:center;font-size:14px;display:grid}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;height:100%;display:flex}.empty-title{color:var(--text);font-size:17px;font-weight:700}.empty-sub{color:var(--muted);margin-bottom:6px;font-size:13.5px}.viewer-shell{background:#000;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.viewer-stage{transform-origin:50%;flex:none}.viewer{--vaccent:#256ef4;background:#eef2f7;flex-direction:column;width:100%;height:100%;display:flex}.viewer-header{color:var(--hdr-text,#1a2130);z-index:2;isolation:isolate;border-bottom:1px solid #7882962e;align-items:center;gap:20px;padding:18px 40px;display:flex;position:relative}.viewer-header:before{content:"";z-index:-1;background:var(--hdr-bg,#fff);opacity:var(--hdr-op,1);position:absolute;top:0;bottom:0;left:0;right:0}.viewer-header .v-emblem{background:var(--vaccent);color:#fff;border-radius:50%;flex:none;place-items:center;width:52px;height:52px;font-size:21px;font-weight:800;display:grid;box-shadow:0 2px 6px #14285033}.viewer-header .v-emblem-img{box-shadow:none;background:0 0;border-right:1px solid #78829647;border-radius:0;width:auto;max-width:260px;height:44px;margin-right:2px;padding-right:20px;display:block}.viewer-header .v-emblem-img img{object-fit:contain;object-position:left center;width:auto;max-width:240px;height:100%;display:block}.viewer-header .v-titles{flex-direction:column;gap:3px;display:flex}.viewer-header .v-site{letter-spacing:.1em;color:var(--hdr-text,#7a8496);opacity:.62;font-size:13px;font-weight:600}.viewer-header .v-dept{letter-spacing:-.01em;color:var(--hdr-text,#1a2130);font-size:32px;font-weight:800;line-height:1}.viewer-header .v-clock{text-align:right;color:var(--hdr-text,#4b5563);opacity:.78;font-variant-numeric:tabular-nums;margin-left:auto}.viewer-header .v-clock-row{letter-spacing:.03em;justify-content:flex-end;align-items:center;gap:7px;font-size:14px;display:flex}.viewer-header .v-live-dot{background:#16a34a;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #16a34a29}.viewer-header .v-clock .v-time{letter-spacing:.02em;color:var(--hdr-text,#1a2130);margin-top:2px;font-size:30px;font-weight:800}.viewer-canvas{background:radial-gradient(1100px 520px at 82% -10%,#96c3ff73,#0000 60%),radial-gradient(800px 460px at 10% 110%,#bed6b459,#0000 62%),linear-gradient(#dfeaf6 0%,#e9eef4 45%,#eef2f7 100%);flex:1;min-height:0;position:relative;overflow:hidden}.viewer-canvas:before{content:"";pointer-events:none;background:radial-gradient(120% 100% at 22% 100%,#7896782e,#0000 70%),radial-gradient(90% 100% at 78% 100%,#788caa29,#0000 66%);height:38%;position:absolute;bottom:-8%;left:-5%;right:-5%}.viewer-canvas>.vbg,.viewer-canvas>.vd-root{opacity:0}.viewer-canvas.gate-ready>.vbg,.viewer-canvas.gate-ready>.vd-root{opacity:1;transition:opacity .25s ease-out}.vbg{pointer-events:none;z-index:0;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.vbg-default{display:none}.vbg-preload{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.vbg-img{background-position:50%;background-repeat:no-repeat;position:absolute;top:0;bottom:0;left:0;right:0;transform:scale(1.06)}.vbg-scrim{position:absolute;top:0;bottom:0;left:0;right:0}.vbg-vignette{background:radial-gradient(120% 95%,#0000 45%,#0a101ed9 100%);position:absolute;top:0;bottom:0;left:0;right:0}.rb-cols{grid-template-columns:240px 1fr;align-items:start;gap:16px;display:grid}@media (max-width:900px){.rb-cols{grid-template-columns:1fr}}.rb-rooms{border:1px solid var(--line-2);background:#fff;border-radius:0;flex-direction:column;display:flex;overflow:hidden}.rb-rooms-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 14px;font-size:14px;font-weight:700;display:flex}.rb-room{border:none;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:12px 14px;display:flex}.rb-room:hover{background:var(--hover)}.rb-room.on{box-shadow:inset 3px 0 0 var(--sel);background:#eef4ff}.rb-room-name{color:var(--text);font-size:14px;font-weight:700}.rb-room-sub{color:var(--muted);font-size:11.5px}.rb-newroom{border-top:1px solid var(--line);background:#fafbfc;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.rb-newroom input{border:1px solid var(--line-2);box-sizing:border-box;border-radius:0;width:100%;padding:8px 10px;font-size:13px}.rb-newroom-row{gap:8px;display:flex}.rb-newroom-btns{justify-content:flex-end;gap:8px;display:flex}.rb-main{border:1px solid var(--line-2);background:#fff;border-radius:0;min-height:300px;padding:18px 20px}.rb-main-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.rb-main-title{color:var(--text);font-size:20px;font-weight:800}.rb-main-sub{color:var(--text-2);margin-top:2px;font-size:13px}.rb-main-actions{align-items:center;gap:8px;display:flex}.rb-switch{color:#fff;white-space:nowrap;background:#0064ff;border:1.5px solid #0064ff;flex-shrink:0;align-items:center;gap:6px;height:34px;padding:0 14px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.rb-switch:hover{background:#0052d6;border-color:#0052d6}.rb-list-hd{color:var(--text);align-items:center;gap:8px;margin-bottom:10px;font-size:13px;font-weight:800;display:flex}.rb-list-cnt{color:var(--text-3,#8b95a1);font-size:12px;font-weight:600}.rb-list{flex-direction:column;gap:8px;display:flex}.rb-lrow{background:var(--card,#fff);border:1px solid var(--line);border-left:4px solid #3b6fd4;align-items:center;gap:14px;padding:12px 14px;display:flex}.rb-lrow-d{font-variant-numeric:tabular-nums;min-width:96px;color:var(--text);font-size:13px;font-weight:800}.rb-lrow-d.today{color:#0064ff}.rb-lrow-t{color:var(--text-2);font-variant-numeric:tabular-nums;min-width:112px;font-size:13px}.rb-lrow-nm{color:var(--text);flex:1;font-size:14px;font-weight:700}.rb-lrow-dept,.rb-lrow-mgr{color:var(--text-3,#8b95a1);min-width:90px;font-size:12px}.rb-lrow-edit{border:1.5px solid var(--line-2);background:var(--card,#fff);cursor:pointer;color:var(--text-2);padding:6px 12px;font-size:12px;font-weight:600}.rb-lrow-edit:hover{color:#0064ff;border-color:#b8ceff}.rb-lrow-del{color:var(--text-3,#8b95a1);cursor:pointer;background:0 0;border:none;padding:4px 6px;font-size:14px}.rb-lrow-del:hover{color:#e5484d}.rb-table{border-collapse:collapse;width:100%;font-size:13.5px}.rb-table th{text-align:left;color:var(--text-2);border-bottom:1px solid var(--line-2);background:#f1f3f5;padding:10px 12px;font-size:12px;font-weight:700}.rb-table td{border-bottom:1px solid var(--line);color:var(--text);padding:12px}.rb-theme{border:1px solid var(--line);background:#f6f8fb;border-radius:0;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 16px;padding:12px 14px;display:flex}.rb-theme-label{color:var(--text-2);margin-right:4px;font-size:12.5px;font-weight:700}.rb-theme-chip{border:1.5px solid var(--line-2);color:var(--text-2);cursor:pointer;background:#fff;border-radius:0;align-items:center;gap:8px;padding:7px 13px 7px 8px;font-size:13px;font-weight:600;transition:border-color .12s,color .12s;display:inline-flex}.rb-theme-chip:hover{border-color:var(--sel)}.rb-theme-chip.on{border-color:var(--sel);color:var(--sel);background:#eef3ff}.rb-theme-swatch{border:1px solid #00000014;border-radius:0;flex:none;width:20px;height:20px}.rb-theme-swatch.rb-theme-dark{background:linear-gradient(135deg,#1c2436,#0d131f)}.rb-theme-swatch.rb-theme-light{background:linear-gradient(135deg,#fff,#dfe6f0)}.rb-theme-swatch.rb-theme-blue{background:linear-gradient(135deg,#123a7a,#0a1f45)}.rb-td-time{color:var(--sel);white-space:nowrap;font-weight:700}.rb-td-title{font-weight:700}.rb-td-act{text-align:right;white-space:nowrap}.rb-td-act .cap-btn{margin-left:6px}.rb-modal{gap:0;width:min(600px,94vw);padding:0;overflow:hidden}.rb-modal-head{border-bottom:1px solid var(--line);background:linear-gradient(#f8fafc,#fff);align-items:center;gap:14px;padding:20px 24px;display:flex}.rb-modal-head-icon{color:#fff;background:linear-gradient(135deg, var(--sel), #2f5fd0);border-radius:0;flex:none;place-items:center;width:42px;height:42px;font-size:18px;display:grid;box-shadow:0 6px 16px -6px #2f5fd099}.rb-modal-head-txt{flex:1;min-width:0}.rb-modal-head-txt h2{color:var(--text);margin:0;font-size:18px;font-weight:800;line-height:1.2}.rb-modal-head-room{color:var(--sel);background:#eef3ff;border-radius:0;margin-top:4px;padding:2px 10px;font-size:12.5px;font-weight:700;display:inline-block}.rb-modal-head .modal-x{flex:none}.rb-form2{flex-direction:column;gap:22px;max-height:66vh;padding:22px 24px;display:flex;overflow-y:auto}.rb-sec{flex-direction:column;gap:11px;display:flex}.rb-sec-label{letter-spacing:.02em;color:var(--text-2);text-transform:uppercase;align-items:center;gap:7px;font-size:12px;font-weight:800;display:flex}.rb-sec-label svg{color:var(--sel);font-size:13px}.rb-grid{grid-template-columns:1fr 1fr;gap:12px 14px;display:grid}.rb-f{flex-direction:column;gap:6px;min-width:0;display:flex}.rb-f-full{grid-column:1/-1}.rb-form2>.rb-sec>.rb-f-full{width:100%}.rb-f-lab{color:var(--text-2);align-items:center;gap:6px;font-size:12.5px;font-weight:600;display:flex}.rb-f-lab svg{color:var(--muted);font-size:12px}.rb-req{color:var(--danger);font-style:normal;font-weight:800}.rb-in{border:1px solid var(--line-2);height:44px;color:var(--text);box-sizing:border-box;background:#fff;border-radius:0;width:100%;padding:0 13px;font-family:inherit;font-size:14.5px;transition:border-color .12s,box-shadow .12s}.rb-in::placeholder{color:#aab2c0}.rb-in:focus{border-color:var(--sel);outline:none;box-shadow:0 0 0 3px #2f5fd024}.rb-picker{position:relative}.rb-picker-ico{cursor:pointer;width:32px;height:32px;color:var(--sel);background:0 0;border:none;border-radius:0;place-items:center;padding:0;font-size:15px;display:grid;position:absolute;top:50%;left:6px;transform:translateY(-50%)}.rb-picker-ico:hover{background:#eef3ff}.rb-in-picker{padding-left:44px}.rb-in-picker::-webkit-calendar-picker-indicator{opacity:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:0;margin:0}.rb-dur{color:var(--text-2);font-size:12.5px}.rb-dur b{color:var(--sel);font-weight:800}.rb-modal-foot{border-top:1px solid var(--line);background:#fafbfc;justify-content:space-between;align-items:center;gap:14px;padding:16px 24px;display:flex}.rb-foot-hint{color:var(--muted);font-size:12px}@media (max-width:560px){.rb-grid{grid-template-columns:1fr}}.ac-legend{flex-wrap:wrap;gap:12px;margin:4px 0 18px;display:flex}.ac-legend-item{border:1px solid var(--line);background:#fff;border-left-width:4px;border-radius:0;flex:1;align-items:flex-start;gap:12px;min-width:240px;padding:14px 16px;display:flex}.ac-legend-body{min-width:0}.ac-can{flex-direction:column;gap:3px;margin:8px 0 0;padding:0;list-style:none;display:flex}.ac-can li{align-items:baseline;gap:6px;font-size:12px;line-height:1.45;display:flex}.ac-can li:before{flex:none;font-weight:800}.ac-can li.ok{color:var(--text-2,#4b5563)}.ac-can li.ok:before{content:"✓";color:#0f8a4a}.ac-can li.no{color:var(--muted)}.ac-can li.no:before{content:"✕";color:#94a3b8}.ac-legend-item.ac-role-admin{border-left-color:#d4820b}.ac-legend-item.ac-role-editor{border-left-color:var(--sel)}.ac-legend-item.ac-role-viewer{border-left-color:#64748b}.ac-legend-ico{flex:none;font-size:22px}.ac-role-admin .ac-legend-ico{color:#d4820b}.ac-role-editor .ac-legend-ico{color:var(--sel)}.ac-role-viewer .ac-legend-ico{color:#64748b}.ac-legend-label{color:var(--text);font-size:15px;font-weight:800}.ac-legend-label small{color:var(--muted);margin-left:6px;font-size:11px;font-weight:600}.ac-legend-desc{color:var(--text-2);margin-top:2px;font-size:12.5px}.ac-table td{vertical-align:middle}.ac-empty{text-align:center;color:var(--muted);padding:40px 0}.ac-td-name{font-weight:700}.ac-dim{color:var(--muted)}.ac-td-phone{font-variant-numeric:tabular-nums}.ac-me{color:var(--sel);background:#eef3ff;border-radius:0;margin-left:8px;padding:1px 8px;font-size:11px;font-weight:700}.ac-td-date{color:var(--text-2);white-space:nowrap}.ac-td-act{text-align:right;white-space:nowrap}.ac-td-act .cap-btn{align-items:center;gap:5px;margin-left:6px;display:inline-flex}.ac-roleseg{border:1px solid var(--line-2);border-radius:0;display:inline-flex;overflow:hidden}.ac-roleseg-btn{color:var(--text-2);cursor:pointer;white-space:nowrap;background:#fff;border:none;padding:6px 12px;font-size:12.5px;font-weight:600}.ac-roleseg-btn+.ac-roleseg-btn{border-left:1px solid var(--line)}.ac-roleseg-btn:hover:not(.on){background:var(--hover)}.ac-roleseg-btn.on.admin{color:#fff;background:#d4820b}.ac-roleseg-btn.on.editor{background:var(--sel);color:#fff}.ac-roleseg-btn.on.viewer{color:#fff;background:#64748b}.ac-roleseg-btn:disabled{opacity:.6;cursor:default}.ac-modal{gap:0;width:min(520px,94vw);padding:0;overflow:hidden}.ac-form{flex-direction:column;gap:16px;padding:22px 24px;display:flex}.ac-rolepick{gap:10px;display:flex}.ac-rolecard{border:1.5px solid var(--line-2);cursor:pointer;text-align:left;background:#fff;border-radius:0;flex-direction:column;flex:1;align-items:flex-start;gap:4px;padding:12px;transition:border-color .12s,background .12s;display:flex}.ac-rolecard:hover{border-color:var(--sel)}.ac-rolecard.on{border-color:var(--sel);background:#eef3ff}.ac-rolecard-ico{font-size:18px}.ac-role-admin .ac-rolecard-ico,.ac-rolecard.ac-role-admin .ac-rolecard-ico{color:#d4820b}.ac-rolecard.ac-role-editor .ac-rolecard-ico{color:var(--sel)}.ac-rolecard.ac-role-viewer .ac-rolecard-ico{color:#64748b}.ac-rolecard-label{color:var(--text);font-size:13.5px;font-weight:800}.ac-rolecard-desc{color:var(--text-2);font-size:11px;line-height:1.3}.ds-modal{gap:0;width:min(520px,94vw);padding:0;overflow:hidden}.ds-body{max-height:68vh;padding:16px 20px 20px;overflow-y:auto}.ds-hint{color:var(--muted);margin-bottom:10px;font-size:12.5px}.ds-hint b{color:var(--sel)}.ds-range{color:var(--text-2);background:#eef3ff;border:1px solid #cfe0ff;border-radius:0;align-items:center;gap:12px;margin-bottom:12px;padding:10px 14px;font-size:13.5px;font-weight:600;display:flex}.ds-range b{color:var(--sel);font-size:15px;font-weight:800}.ds-range-dur{background:var(--sel);color:#fff;border-radius:0;margin-left:auto;padding:3px 12px;font-size:13px;font-weight:800}.ds-grid{-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-direction:column;gap:4px;display:flex}.ds-slot.free.sel{border-style:solid;border-color:var(--sel);color:var(--sel);background:linear-gradient(#eaf1ff,#dfeaff)}.ds-slot.free.sel .ds-slot-time{color:var(--sel)}.ds-slot{--span:1;min-height:calc(48px * var(--span) + 4px * (var(--span) - 1));border:1px solid var(--line);cursor:pointer;text-align:left;background:#fff;border-radius:0;flex-direction:column;justify-content:center;gap:2px;width:100%;padding:8px 12px;transition:border-color .12s,background .12s;display:flex}.ds-slot.free{color:var(--muted);border-style:dashed}.ds-slot.free:hover{border-color:var(--sel);color:var(--sel);background:#f4f8ff}.ds-slot.free .ds-slot-time{color:var(--text-2);font-size:13px;font-weight:700}.ds-slot.free:hover .ds-slot-time{color:var(--sel)}.ds-slot-free{font-size:12.5px;font-weight:600}.ds-slot.booked{border-left:4px solid var(--sel);background:#f5f8fc}.ds-slot.booked:hover{border-color:var(--line-2);background:#eef3fb}.ds-slot-time{color:var(--sel);font-size:13px;font-weight:800}.ds-slot-title{color:var(--text);word-break:keep-all;font-size:14.5px;font-weight:700}.ds-slot-dept{color:var(--text-2);font-size:12px}.rc{border:1px solid var(--line-2);background:#fff;border-radius:0;padding:14px 16px}.rc-head{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:12px;display:flex}.rc-nav{gap:6px;display:inline-flex}.rc-nav .cap-btn{min-width:34px;font-size:15px}.rc-month{color:var(--text);font-size:18px;font-weight:800}.rc-legend{flex-wrap:wrap;gap:12px;margin-left:auto;display:flex}.rc-leg{color:var(--text-2);align-items:center;gap:5px;font-size:12px;display:inline-flex}.rc-leg i{border-radius:0;width:10px;height:10px;display:inline-block}.rc-grid{border:1px solid var(--line);border-radius:0;grid-template-columns:repeat(7,1fr);display:grid;overflow:hidden}.rc-dow{text-align:center;color:var(--text-2);border-bottom:1px solid var(--line);background:#f6f8fa;padding:8px 0;font-size:12px;font-weight:700}.rc-dow.sun{color:#d4453b}.rc-dow.sat{color:#2f6bd4}.rc-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer;background:#fff;flex-direction:column;gap:4px;min-height:108px;padding:5px 6px 6px;display:flex}.rc-cell:nth-child(7n){border-right:none}.rc-cell:hover{background:#f9fbff}.rc-cell.out{background:#fafbfc}.rc-cell.out .rc-date{color:var(--muted)}.rc-cell.today{background:#eef4ff}.rc-cell.today .rc-date{background:var(--sel);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.rc-cell-head{justify-content:space-between;align-items:center;display:flex}.rc-date{color:var(--text);font-size:12.5px;font-weight:700}.rc-date.sun{color:#d4453b}.rc-date.sat{color:#2f6bd4}.rc-add{color:var(--muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:0;padding:2px 4px;font-size:14px;line-height:1}.rc-cell:hover .rc-add{opacity:1}.rc-add:hover{background:var(--hover);color:var(--sel)}.rc-chips{flex-direction:column;gap:3px;display:flex}.rc-chip{text-align:left;border:none;border-left:3px solid var(--sel);cursor:pointer;background:#f3f5f8;border-radius:0;align-items:center;gap:5px;width:100%;padding:3px 6px;font-size:11.5px;display:flex;overflow:hidden}.rc-chip:hover{background:#e9edf3}.rc-chip-time{color:var(--text-2);flex:none;font-weight:700}.rc-chip-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.rc-more{color:var(--sel);cursor:pointer;text-align:left;background:0 0;border:none;padding:1px 6px;font-size:11px;font-weight:700}.rc-more:hover{text-decoration:underline}.rc-day{width:min(480px,94vw)}.rc-day-list{flex-direction:column;gap:2px;max-height:60vh;display:flex;overflow-y:auto}.rc-day-item{text-align:left;border:none;border-bottom:1px solid var(--line);cursor:pointer;background:0 0;align-items:center;gap:10px;width:100%;padding:11px 6px;font-size:13.5px;display:flex}.rc-day-item:hover{background:var(--hover)}.rc-day-dot{border-radius:0;flex:none;width:10px;height:10px}.rc-day-time{color:var(--sel);white-space:nowrap;flex:none;font-weight:700}.rc-day-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:700;overflow:hidden}.rc-day-room{color:var(--muted);flex:none;font-size:12px}.rv{z-index:1;grid-template-columns:25% 75%;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.rv-list{color:#eef2f7;background:#141a26b8;border-right:1px solid #ffffff1a;flex-direction:column;min-height:0;display:flex}.rv-list-head{letter-spacing:.03em;color:#fff;border-bottom:1px solid #ffffff1f;flex:none;padding:28px 28px 20px;font-size:30px;font-weight:800}.rv-list-empty{color:#ffffff73;padding:48px 28px;font-size:22px}.rv-roll{flex:1;min-height:0;position:relative;overflow:hidden}.rv-roll-inner{flex-direction:column;display:flex}.rv-roll-inner.on{animation:30s linear infinite rv-roll-up}@keyframes rv-roll-up{0%{transform:translateY(0)}to{transform:translateY(-50%)}}.rv-row{border-bottom:1px solid #ffffff14;align-items:flex-start;gap:18px;padding:22px 28px;display:flex;position:relative}.rv-row-time{color:#ffe1a8;flex:none;width:116px;font-size:30px;font-weight:800;line-height:1.1}.rv-row-time span{color:#ffffff80;margin-top:2px;font-size:17px;font-weight:600;display:block}.rv-row-body{min-width:0}.rv-row-title{color:#fff;word-break:keep-all;overflow-wrap:anywhere;font-size:27px;font-weight:700}.rv-row-dept{color:#ffffff8c;margin-top:4px;font-size:19px}.rv-row.now{background:linear-gradient(90deg,#d9aa5a47,#0000)}.rv-row.now .rv-row-title{color:#ffe9c2}.rv-row-dot{background:#ffcf6b;border-radius:50%;width:10px;height:10px;position:absolute;right:20px;box-shadow:0 0 0 4px #ffcf6b40}.rv-row.done{opacity:.42}.rv-row.done .rv-row-title{text-decoration:line-through}.rv-detail{background:linear-gradient(125deg,#1c2436 0%,#0d131f 100%);flex-direction:column;justify-content:center;min-width:0;padding:0 6.5%;display:flex}.rv-top{align-items:center;gap:28px;margin-bottom:38px;display:flex}.rv-badge{letter-spacing:.04em;border-radius:0;padding:12px 36px;font-size:34px;font-weight:800}.rv-badge.on{color:#4a3717;background:linear-gradient(#fbf1d4,#dcbd7b);box-shadow:0 8px 26px -8px #78581a99}.rv-badge.off{color:#cfd6e2;background:#ffffff24}.rv-remain{color:#9fd3ff;letter-spacing:.01em;padding:10px 0;font-size:34px;font-weight:700}.rv-title{color:#fff;letter-spacing:-.02em;text-shadow:0 4px 24px #00000080;word-break:keep-all;overflow-wrap:anywhere;visibility:hidden;opacity:0;max-height:46vh;font-weight:900;line-height:1.05;overflow:hidden}.rv-title.ready{visibility:visible;opacity:1;transition:opacity .18s ease-out}.rv-title.clamp{-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.rv-time{color:#ffe1a8;letter-spacing:.01em;margin-top:24px;font-size:76px;font-weight:800}.rv-time span{opacity:.55;margin:0 8px}.rv-meta{flex-direction:column;gap:22px;margin:56px 0 0;display:flex}.rv-meta-row{align-items:baseline;gap:32px;display:flex}.rv-meta dt{color:#ffffff80;flex:none;width:96px;font-size:34px;font-weight:700}.rv-meta dd{color:#f4f7fc;margin:0;font-size:42px;font-weight:700}.rv-detail.free .rv-free-msg{color:#7fe3a4;text-shadow:0 4px 24px #0006;font-size:130px;font-weight:900;line-height:1.05}.rv-next{flex-wrap:wrap;align-items:baseline;gap:24px;margin-top:48px;display:flex}.rv-next-label{color:#ffffff80;font-size:34px;font-weight:700}.rv-next-time{color:#ffe1a8;font-size:52px;font-weight:800}.rv-next-title{color:#fff;font-size:48px;font-weight:700}.rv-theme-light .rv-list{color:#1d2733;background:#f8fafcf0;border-right:1px solid #0f172a14}.rv-theme-light .rv-list-head{color:#0f172a;border-bottom:1px solid #0f172a1a}.rv-theme-light .rv-list-empty{color:#0f172a66}.rv-theme-light .rv-row{border-bottom:1px solid #0f172a12}.rv-theme-light .rv-row-time{color:#b8791b}.rv-theme-light .rv-row-time span{color:#0f172a73}.rv-theme-light .rv-row-title{color:#0f172a}.rv-theme-light .rv-row-dept{color:#0f172a80}.rv-theme-light .rv-row.now{background:linear-gradient(90deg,#0071fd1f,#0000)}.rv-theme-light .rv-row.now .rv-row-title{color:#0059c9}.rv-theme-light .rv-row-dot{background:#0072fd;box-shadow:0 0 0 4px #0071fd33}.rv-theme-light .rv-detail{background:linear-gradient(160deg,#fff 0%,#eef2f8 100%)}.rv-theme-light .rv-badge.on{color:#fff;background:linear-gradient(#3b8bff,#0072fd);box-shadow:0 8px 26px -8px #0071fd80}.rv-theme-light .rv-badge.off{color:#64748b;background:#0f172a12}.rv-theme-light .rv-remain{color:#0072fd}.rv-theme-light .rv-title{color:#0f172a;text-shadow:none}.rv-theme-light .rv-time{color:#b8791b}.rv-theme-light .rv-meta dt{color:#0f172a73}.rv-theme-light .rv-meta dd{color:#1d2733}.rv-theme-light .rv-detail.free .rv-free-msg{color:#0072fd;text-shadow:none}.rv-theme-light .rv-next-label{color:#0f172a80}.rv-theme-light .rv-next-time{color:#b8791b}.rv-theme-light .rv-next-title{color:#0f172a}.viewer.rv-host-light{background:#eef2f8}.viewer.rv-host-light .viewer-info{--info-bg:#e7ecf3;--info-text:#334155}.viewer.rv-host-light .viewer-info:before{opacity:1}.viewer.rv-host-light .vinfo-item{border-right:1px solid #0f172a14}.viewer.rv-host-light .vinfo-label{color:#64748b}.viewer.rv-host-light .vinfo-value{color:#1d2733}.viewer.rv-host-light .vinfo-brand .v-brand{color:#0072fd}.rv-theme-blue .rv-list{color:#e6efff;background:#091d42d1;border-right:1px solid #78aaff2e}.rv-theme-blue .rv-list-head{color:#fff;border-bottom:1px solid #78aaff38}.rv-theme-blue .rv-list-empty{color:#d2e1ff73}.rv-theme-blue .rv-row{border-bottom:1px solid #78aaff1f}.rv-theme-blue .rv-row-time{color:#8fc0ff}.rv-theme-blue .rv-row-time span{color:#d2e1ff80}.rv-theme-blue .rv-row-title{color:#fff}.rv-theme-blue .rv-row-dept{color:#d2e1ff8c}.rv-theme-blue .rv-row.now{background:linear-gradient(90deg,#5096ff52,#0000)}.rv-theme-blue .rv-row.now .rv-row-title{color:#cfe4ff}.rv-theme-blue .rv-row-dot{background:#7fb2ff;box-shadow:0 0 0 4px #7fb2ff47}.rv-theme-blue .rv-detail{background:linear-gradient(150deg,#123a7a 0%,#0a1f45 100%)}.rv-theme-blue .rv-badge.on{color:#0a2a5e;background:linear-gradient(#cfe4ff,#86b6ff);box-shadow:0 8px 26px -8px #1e5ac899}.rv-theme-blue .rv-badge.off{color:#b9cdf0;background:#ffffff24}.rv-theme-blue .rv-remain{color:#b9d6ff}.rv-theme-blue .rv-title{color:#fff}.rv-theme-blue .rv-time{color:#9fc6ff}.rv-theme-blue .rv-meta dt{color:#d2e1ff80}.rv-theme-blue .rv-meta dd{color:#eef4ff}.rv-theme-blue .rv-detail.free .rv-free-msg{color:#7fe3a4}.rv-theme-blue .rv-next-label{color:#d2e1ff80}.rv-theme-blue .rv-next-time{color:#9fc6ff}.rv-theme-blue .rv-next-title{color:#fff}.viewer.rv-host-blue .viewer-info{--info-bg:#0a1f45;--info-text:#cfe0ff}.viewer.rv-host-blue .vinfo-brand .v-brand{color:#cfe4ff}.viewer-info{z-index:2;isolation:isolate;color:var(--info-text,#eef0f5);border-top:1px solid #ffffff0f;align-items:stretch;display:flex;position:relative}.viewer-info:before{content:"";z-index:-1;background:var(--info-bg,#14181f);opacity:var(--info-op,1);position:absolute;top:0;bottom:0;left:0;right:0}.vinfo-item{border-right:1px solid #ffffff14;padding:13px 32px}.vinfo-item:last-child{border-right:none}.vinfo-grow{flex:1}.vinfo-label{color:var(--info-text,#8891a3);opacity:.6;letter-spacing:.03em;margin-bottom:4px;font-size:11.5px}.vinfo-value{color:var(--info-text,#eef0f5);font-size:17px;font-weight:700}.vinfo-away{color:#ff8a8a;font-size:15px}.vinfo-brand{text-align:right;border-right:none}.vinfo-brand .v-brand{color:var(--info-text,#fff);letter-spacing:.13em;font-size:15px;font-weight:800}.vinfo-brand .vinfo-label{color:var(--info-text,#6b7386);opacity:.5}.fs-hint{z-index:100;color:#e8eefc;letter-spacing:.01em;pointer-events:none;background:#0c101ae6;border:1px solid #ffffff29;border-radius:0;padding:11px 20px;font-size:14px;font-weight:600;animation:2s ease-in-out infinite fs-hint-pulse;position:fixed;top:16px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px -8px #00000080}.fs-hint b{color:#ffd88a}@keyframes fs-hint-pulse{0%,to{opacity:.92}50%{opacity:.6}}.viewer-error{color:#c3d3ef;background:#12161f;flex-direction:column;justify-content:center;align-items:center;gap:10px;height:100vh;display:flex}.route-fallback{justify-content:center;align-items:center;min-height:240px;display:flex}.route-loading-bar{z-index:400;pointer-events:none;background:0 0;height:2px;position:fixed;top:0;left:0;right:0;overflow:hidden}.route-loading-bar:after{content:"";background:var(--sel,#111827);border-radius:0 2px 2px 0;width:40%;height:100%;animation:1s ease-in-out infinite route-bar-slide;position:absolute;top:0;left:0}@keyframes route-bar-slide{0%{transform:translate(-100%)}to{transform:translate(350%)}}.viewer-error .big{color:#fff;font-size:24px;font-weight:800}.viewer-error .sub{color:#8ea8d8;font-size:15px}.bg-preview{border:1px solid var(--line-2);border-radius:var(--radius);background:#eef2f7;place-items:center;height:180px;display:grid;position:relative;overflow:hidden}.bg-preview-card{z-index:1;text-align:center;background:#fffffff5;border:1px solid #d7dae2;border-radius:0;padding:10px 18px;position:relative;box-shadow:0 8px 20px -12px #141e3266}.bg-preview-name{color:#1a2130;font-size:16px;font-weight:800}.bg-preview-title{color:#b0812f;margin-top:2px;font-size:12px;font-weight:700}.bg-preview-empty{z-index:1;color:#97a0b0;font-size:11px;position:absolute;bottom:6px;right:8px}.bgp-hdr{z-index:1;background:var(--hdr-bg,#fff);opacity:var(--hdr-op,1);border-bottom:1px solid #7882962e;justify-content:space-between;align-items:center;padding:7px 12px;display:flex;position:absolute;top:0;left:0;right:0}.bgp-hdr-dept{color:var(--hdr-text,#1a2130);font-size:13px;font-weight:800}.bgp-hdr-time{color:var(--hdr-text,#1a2130);opacity:.78;font-size:12px;font-weight:700}.bgp-info{z-index:1;background:var(--info-bg,#14181f);opacity:var(--info-op,1);color:var(--info-text,#eef0f5);justify-content:space-between;align-items:center;padding:6px 12px;font-size:10.5px;display:flex;position:absolute;bottom:0;left:0;right:0}.bgp-info-brand{letter-spacing:.1em;font-weight:800}.bg-preview .bg-preview-card{background:var(--card-bg,#fff);opacity:var(--card-op,.96)}.bg-preview .bg-preview-name{color:var(--card-text,#1a2130)}.th-group{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:8px;padding:10px 12px}.th-head{color:#3a4152;margin-bottom:6px;font-size:12.5px;font-weight:700}.th-group .bg-row{margin-top:0;margin-bottom:6px}.th-check{color:#4b5563;cursor:pointer;align-items:center;gap:5px;font-size:12px;display:inline-flex}.th-ang{border:1px solid var(--line-2);border-radius:var(--radius);width:58px;padding:5px 6px;font-size:12px}.bg-actions{gap:8px;margin-top:10px;display:flex}.bg-err{color:#b91c1c;margin-top:8px;font-size:12.5px}.bg-sub{color:var(--muted);letter-spacing:.04em;margin:16px 0 8px;font-size:12px;font-weight:700}.bg-sub-first{margin-top:0}.bg-presets{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.bg-preset{border:1px solid var(--line-2);border-radius:var(--radius);cursor:pointer;text-align:left;background:#fff;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;display:flex}.bg-preset:hover{background:#fafbfc;border-color:#9aa3b2}.bg-preset-label{color:#24303f;font-size:13px;font-weight:700}.bg-preset-hint{color:var(--muted);font-size:10.5px;line-height:1.25}.bg-sliders{grid-template-columns:1fr 1fr;gap:2px 16px;display:grid}.bg-slider{align-items:center;gap:10px;margin-bottom:5px;display:flex}.bg-slider-label{color:#4b5563;flex:none;width:64px;font-size:12.5px}.bg-slider input[type=range]{accent-color:#2563eb;flex:1}.bg-slider-val{text-align:right;width:44px;color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:12px}.bg-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.bg-row-label{color:#4b5563;font-size:12.5px}.bg-row select{border:1px solid var(--line-2);border-radius:var(--radius);padding:6px 8px;font-size:12.5px}.bg-reset{margin-left:auto}.vd-root{z-index:1;gap:26px;height:100%;padding:26px 34px;display:flex;position:relative;overflow:hidden}.vd-empty{color:#6b7280;place-items:center;height:100%;font-size:15px;display:grid}.vinfo-tts .vinfo-label{color:#e8c67a;opacity:1;align-items:center;gap:6px;font-weight:700;display:flex}.vinfo-tts-ico{fill:#ffd97a;stroke:#ffd97a;flex:none;width:15px;height:15px}.vinfo-tts-value{letter-spacing:.01em;font-weight:800;color:#ffd97a!important}.vd-cap{isolation:isolate;letter-spacing:.02em;color:#4a3717;background:linear-gradient(#fbf1d4 0%,#eeda9f 42%,#dcbd7b 58%,#c9a25c 100%);border:1px solid #bd9950;border-radius:0;align-items:center;gap:12px;width:100%;height:54px;margin-bottom:16px;padding:0 22px 0 14px;font-size:20px;font-weight:800;display:flex;position:relative;overflow:hidden;box-shadow:0 6px 16px -8px #78581a8c,inset 0 1px #ffffffd9,inset 0 -2px #8c662259}.vd-cap:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(104deg,#fff0 0%,#ffffff8c 34%,#ffffffb8 42%,#fff0 56%);position:absolute;top:0;bottom:0;left:0;right:0}.vd-cap:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(90deg,#ffffff2e 0%,#fff0 38%);position:absolute;top:0;bottom:0;left:0;right:0}.vd-cap-label{white-space:nowrap;text-overflow:ellipsis;position:relative;overflow:hidden}.vd-cap-head{color:#fff8e8;letter-spacing:.04em;text-shadow:0 1px 2px #3c260066;background:linear-gradient(#e8c67e 0%,#d5a55c 45%,#c08f3c 58%,#a97727 100%);border-color:#9a6e26;box-shadow:0 8px 18px -8px #5a3e0a99,inset 0 1px #ffffff8c,inset 0 -2px #462e0859}.vd-cap-head:before{background:linear-gradient(100deg,#ffffff42 0%,#ffffff24 45%,#ffffff0a 100%)}.vd-cap-emblem{background:linear-gradient(#ffffffbf,#ffffff47);border:1px solid #fff9;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;display:grid;box-shadow:inset 0 1px #fffc,0 1px 3px #78581a59}.vd-cap-emblem svg{fill:#8a6524;width:18px;height:18px}.vd-cap-emblem-img{object-fit:contain;width:auto;max-width:96px;height:28px;display:block}.vd-cap-emblem:has(.vd-cap-emblem-img){width:auto;height:auto;box-shadow:none;background:0 0;border:none;border-radius:0}.vd-cap-head .vd-cap-emblem{background:linear-gradient(#ffffff6b,#ffffff1f);border-color:#ffffff73}.vd-cap-head .vd-cap-emblem svg{fill:#fff}.vd-headcol{flex-direction:column;flex:0 0 380px;display:flex}.vd-teams{grid-template-columns:repeat(var(--team-count), minmax(320px, 1fr));flex:1;align-content:start;gap:26px;min-width:0;display:grid;overflow:hidden}.vd-team{flex-direction:column;min-width:0;display:flex}.vd-card{isolation:isolate;border:1px solid #d7dae2;border-radius:14px;align-items:center;gap:18px;min-width:0;padding:18px 20px;display:flex;position:relative;box-shadow:0 10px 24px -12px #141e3259}.vd-card:before{content:"";z-index:-1;border-radius:inherit;background:var(--card-bg,#fff);opacity:var(--card-op,.96);position:absolute;top:0;bottom:0;left:0;right:0}.vd-tap{font:inherit;color:inherit;text-align:left;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;width:100%;transition:transform .12s,box-shadow .12s}.vd-tap:active{transform:scale(.985);box-shadow:0 6px 16px -10px #141e3280}.vd-tap:focus-visible{outline-offset:2px;outline:3px solid #4c87f6}.vd-photo{background:#eef1f6;border:1px solid #dfe3ea;border-radius:0;flex:none;place-items:center;display:grid;position:relative;overflow:hidden}.vd-photo img{object-fit:cover;width:100%;height:100%}.vd-photo-ph{fill:none;stroke:#b7becb;stroke-width:1.6px;width:58%;height:58%}.vd-photo-status{text-align:center;color:#fff;background:#d81f26;padding:3px 0;font-size:12px;font-weight:700;position:absolute;bottom:0;left:0;right:0}.vd-info{flex-direction:column;min-width:0;display:flex}.vd-name{color:var(--card-text,#1a2130);letter-spacing:-.01em;font-size:22px;font-weight:800;line-height:1.15}.vd-title{color:#b0812f;margin-top:4px;font-size:16px;font-weight:700}.vd-duty{color:#5b6579;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:7px;font-size:14px;line-height:1.4;display:-webkit-box;overflow:hidden}.vd-ext{color:#8993a6;font-variant-numeric:tabular-nums;margin-top:5px;font-size:14px}.vd-lead-lg{gap:22px;padding:22px 24px}.vd-lead-lg .vd-name{font-size:28px}.vd-lead-lg .vd-title{margin-top:6px;font-size:18px}.vd-lead-lg .vd-duty{font-size:15px}.vd-teamlist{margin-top:22px}.vd-teamlist-label{color:#6b7280;letter-spacing:.06em;align-items:center;gap:9px;margin-bottom:10px;font-size:13px;font-weight:700;display:flex}.vd-teamlist-label:after{content:"";background:linear-gradient(90deg,#d9bd80,#d9bd8000);flex:1;height:1px}.vd-teamlist-grid{background:#ffffffd9;border:1px solid #cdd2dc;border-radius:0;grid-template-columns:1fr 1fr;gap:0;display:grid;overflow:hidden;box-shadow:0 6px 16px -10px #141e324d}.vd-teamlist-item{color:#3a4152;border-bottom:1px solid #e2e6ee;border-right:1px solid #e2e6ee;align-items:center;min-height:20px;padding:15px 16px;font-size:15px;font-weight:700;display:flex}.vd-teamlist-item:nth-child(2n){border-right:none}.vd-teamlist-item:nth-last-child(-n+2){border-bottom:none}.vd-teamlist-empty{background:0 0}.vd-members{grid-template-columns:1fr 1fr;align-content:start;gap:12px;margin-top:14px;display:grid;overflow-y:auto}.vd-member{gap:14px;padding:14px 16px}.vd-m-name{color:var(--card-text,#1a2130);font-size:18px;font-weight:800;line-height:1.15}.vd-m-title{color:#8993a6;margin-top:3px;font-size:14px}.vd-m-duty{color:#9aa1b0;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:13px;overflow:hidden}.vpm-backdrop{z-index:40;background:#0c121e8c;place-items:center;animation:.14s ease-out both vpm-fade;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}@keyframes vpm-fade{0%{opacity:0}to{opacity:1}}.vpm{aspect-ratio:1;background:#fff;border:1px solid #d7dae2;border-radius:18px;flex-direction:column;width:520px;max-width:88%;max-height:84%;animation:.16s ease-out both vpm-pop;display:flex;overflow:hidden;box-shadow:0 40px 90px -30px #0a142899}@keyframes vpm-pop{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:none}}.vpm-head{background:linear-gradient(#fdfaf3 0%,#f7f1e4 100%);border-bottom:1px solid #ece6d8;border-radius:18px 18px 0 0;flex-direction:column;flex:none;align-items:center;gap:14px;padding:26px 28px 20px;display:flex}.vpm-photo{background:#eef0f4;border:1px solid #dfe3ea;border-radius:0;flex:none;place-items:center;width:112px;height:140px;display:grid;overflow:hidden}.vpm-photo img{object-fit:cover;width:100%;height:100%}.vpm-photo-ph{fill:none;stroke:#b9c0cc;stroke-width:1.5px;width:56%;height:56%}.vpm-id{text-align:center;min-width:0}.vpm-name{color:#1a2130;font-size:32px;font-weight:800;line-height:1.1}.vpm-title{color:#7b6a44;margin-top:5px;font-size:18px;font-weight:600}.vpm-status{color:#b4232a;background:#fdecec;border-radius:0;margin-top:9px;padding:4px 12px;font-size:14px;font-weight:700;display:inline-block}.vpm-body{flex-direction:column;flex:1;justify-content:center;min-height:0;padding:14px 30px 4px;display:flex;overflow:auto}.vpm-row{border-bottom:1px solid #f0f2f5;gap:16px;padding:13px 0;display:flex}.vpm-row:last-child{border-bottom:none}.vpm-label{color:#8993a6;flex:none;width:68px;padding-top:3px;font-size:15px;font-weight:700}.vpm-ext{color:#1a2130;font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:26px;font-weight:800}.vpm-duties{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.vpm-duties li{color:#3d4657;padding-left:14px;font-size:17px;line-height:1.45;position:relative}.vpm-duties li:before{content:"·";color:#b9a06a;font-weight:800;position:absolute;left:2px}.vpm-none{color:#9aa1b0;padding:8px 0 16px;font-size:16px}.vpm-close{color:#3d4657;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#f6f7f9;border:1px solid #d7dae2;border-radius:0;flex:none;width:calc(100% - 56px);margin:14px 28px 22px;padding:16px;font-size:18px;font-weight:700;display:block}.vpm-close:active{background:#eceff3}.shell-body .sg-main{box-sizing:border-box;height:100%;padding:20px 24px;overflow:auto}.shell-body .sg-main .media-layout{height:100%}.shell-body .sm2-layout{width:100%;height:100%}.react-flow__attribution{display:none}.react-flow__controls{box-shadow:none;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.react-flow__controls-button{border-bottom:1px solid var(--line);background:#fff}.da-page{background:var(--bg);flex-direction:column;height:100%;display:flex}.da-body{flex:1;padding:20px 24px;overflow-y:auto}.da-msg{border-radius:var(--radius);border:1px solid var(--line-2);margin:10px 24px 0;padding:9px 12px;font-size:13px}.da-msg.ok{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.da-msg.err{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.da-empty{color:var(--muted);flex-direction:column;align-items:center;gap:14px;padding:70px 0;display:flex}.da-table{border-collapse:collapse;width:100%;font-size:14px}.da-table th,.da-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:11px 12px}.da-table th{color:var(--muted);font-size:12px;font-weight:600}.da-table tr:hover td{background:var(--hover)}.da-color{border-radius:0;width:4px;height:22px;display:block}.da-name{font-weight:700}.da-code{border:1px solid var(--line);background:#f3f4f6;border-radius:0;padding:2px 6px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12.5px}.da-muted{color:var(--text-2)}.da-url{cursor:pointer;color:var(--focus);text-underline-offset:2px;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;max-width:340px;padding:0;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11.5px;text-decoration:underline;display:block;overflow:hidden}.da-actions{justify-content:flex-end;gap:6px;display:flex}.da-warn{color:var(--danger);margin-top:4px;font-size:11.5px}.da-hint{color:var(--muted);font-size:12px}.dt-target{border:1px solid var(--line-2);border-radius:var(--radius);background:var(--hover);align-items:center;gap:10px;margin-bottom:18px;padding:12px 14px;display:flex}.dt-target-label{color:var(--text-2);font-size:12.5px;font-weight:700}.dt-target select{border:1px solid var(--line-2);border-radius:var(--radius);background:#fff;min-width:180px;padding:7px 10px;font-size:13.5px;font-weight:600}.dt-target-count{color:var(--muted);font-size:12.5px}.dt-cards{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.dt-card{border:1px solid var(--line-2);background:#fff;border-radius:0;flex-direction:column;gap:8px;padding:16px;display:flex}.dt-card-title{color:var(--text);font-size:15px;font-weight:700}.dt-card-desc{color:var(--text-2);margin:0;font-size:12.5px;line-height:1.5}.dt-card-warn{color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:0;margin:0;padding:7px 9px;font-size:12px;line-height:1.45}.dt-card-foot{justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:6px;display:flex}.dt-sample{border:1px solid var(--line);background:#fafbfc;border-radius:0;flex-direction:column;gap:8px;padding:10px;display:flex}.dt-sample-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.dt-sample-title{color:var(--text-2);font-size:12px;font-weight:700}.dt-sample-dl{border:1px solid var(--line-2);color:var(--text-2);cursor:pointer;white-space:nowrap;background:0 0;border-radius:0;padding:4px 9px;font-size:11.5px;font-weight:600}.dt-sample-dl:hover{border-color:var(--sel);color:var(--sel);background:#fff}.dt-sample-scroll{overflow-x:auto}.dt-sample-table{border-collapse:collapse;white-space:nowrap;font-size:11.5px}.dt-sample-table th,.dt-sample-table td{border:1px solid var(--line-2);text-align:left;padding:5px 8px}.dt-sample-table th{color:var(--text-2);background:#f1f3f5;font-weight:700}.dt-sample-table td{color:var(--text);background:#fff}.dt-sample-multi{white-space:pre-line;line-height:1.4}.dt-sample-empty{color:#adb5bd;font-style:italic}.dt-sample-code{border:1px solid var(--line-2);color:#374151;background:#fff;border-radius:0;max-height:200px;margin:0;padding:9px 10px;font-family:D2Coding,Consolas,Courier New,monospace;font-size:11px;line-height:1.5;overflow:auto}.dt-sample-tips{flex-direction:column;gap:3px;margin:0;padding-left:16px;display:flex}.dt-sample-tips li{color:var(--text-2);font-size:11.5px;line-height:1.45}.pb-modal{width:min(900px,94vw);max-width:94vw}.pb-drop{border:1.5px dashed var(--line-2);background:#fafbfc;border-radius:0;flex-direction:column;align-items:center;gap:8px;padding:26px;display:flex}.pb-stats{flex-wrap:wrap;gap:6px;display:flex}.pb-chip{border-radius:0;padding:3px 9px;font-size:11.5px;font-weight:700}.pb-chip.ok{color:#1a7f43;background:#e7f5ec}.pb-chip.warn{color:#a35b00;background:#fff4e0}.pb-chip.bad{color:#b42318;background:#fdecec}.pb-list{border:1px solid var(--line);border-radius:0;flex-direction:column;max-height:340px;display:flex;overflow-y:auto}.pb-row{border-bottom:1px solid var(--line);align-items:center;gap:9px;padding:6px 9px;display:flex}.pb-row:last-child{border-bottom:none}.pb-thumb{object-fit:cover;background:#eef2f7;border-radius:0;flex:none;width:34px;height:42px}.pb-file{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;width:190px;font-size:11.5px;overflow:hidden}.pb-arrow{color:#adb5bd;font-size:12px}.pb-target{flex:1;font-size:12.5px}.pb-target select{width:100%;padding:3px 6px;font-size:12px}.pb-ok{color:var(--text);font-weight:700}.pb-ok small{color:var(--text-2);margin-left:4px;font-weight:500}.pb-bad{color:#b42318;font-size:11.5px}.pb-errors{color:#b42318;background:#fdecec;border:1px solid #f5c2c0;border-radius:0;flex-direction:column;gap:2px;padding:8px 10px;font-size:11.5px;display:flex}.pb-progress{background:#eef2f7;border-radius:0;height:20px;position:relative;overflow:hidden}.pb-progress-bar{background:var(--sel);transition:width .2s;position:absolute;top:0;bottom:0;left:0;right:auto}.pb-progress span{z-index:1;text-align:center;color:var(--text-2);mix-blend-mode:difference;font-size:11px;font-weight:700;line-height:20px;display:block;position:relative}.eg-backdrop{left:var(--rail,72px);right:var(--rail-right,52px)}.eg-modal{border-radius:0;gap:12px;width:100%;max-width:none;height:100vh;max-height:100vh;padding:18px 22px;overflow:hidden}.eg-modal .dt-card-desc{flex:none}.eg-scroll{border:1px solid var(--line-2);background:#fbfcfd;border-radius:0;flex:1;min-height:0;overflow:auto}.eg-scroll>table{background:#fff}.eg-table{border-collapse:separate;border-spacing:0;width:100%;font-size:13.5px}.eg-table th{z-index:2;text-align:left;border-bottom:1px solid var(--line-2);border-right:1px solid var(--line-2);color:var(--text-2);white-space:nowrap;background:#f1f3f5;padding:9px 10px;font-weight:700;position:-webkit-sticky;position:sticky;top:0}.eg-table th small.eg-hint{color:#8891a3;margin-top:1px;font-size:11px;font-weight:500;display:block}.eg-table td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);vertical-align:top;padding:0}.eg-table input,.eg-table textarea{width:100%;color:var(--text);box-sizing:border-box;background:0 0;border:none;outline:none;padding:9px 10px;font-family:inherit;font-size:13.5px;line-height:1.5;display:block}.eg-table textarea{resize:vertical;min-height:40px;overflow:hidden}.eg-table input:focus,.eg-table textarea:focus{box-shadow:inset 0 0 0 2px var(--sel);z-index:1;background:#eef4ff;position:relative}.eg-table tbody tr:hover td{background:#fafbfc}.eg-table tr.eg-empty td{background:#fcfcfd}.eg-num{text-align:center;color:#adb5bd;background:#fafbfc;width:40px;font-size:12px;padding:9px 4px!important}.eg-del{text-align:center;width:36px}.eg-del button{color:#c9ced6;cursor:pointer;background:0 0;border:none;border-radius:0;padding:8px 6px;font-size:13px}.eg-del button:hover{color:#b42318;background:#fdecec}.eg-problems{color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:0;flex-direction:column;flex:none;gap:2px;max-height:76px;padding:8px 10px;font-size:12px;display:flex;overflow-y:auto}.eg-modal .modal-actions{flex:none}.eg-keys{color:#8891a3;flex-wrap:wrap;gap:12px;font-size:11.5px;display:flex}.eg-keys b{color:var(--text-2);font-weight:700}.dt-card-foot .da-hint{flex:1}.oc-card.sel .oc-card-inner{border-color:#4c87f6!important;box-shadow:0 0 0 3px #4c87f6,0 10px 24px -12px #141e3273!important}.octx{z-index:900;border:1px solid var(--line-2);background:#fff;border-radius:0;min-width:208px;padding:4px;position:fixed;box-shadow:0 12px 32px #0f172a2e}.octx-head{border-bottom:1px solid var(--line);color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;margin-bottom:4px;padding:8px 10px 7px;font-size:12.5px;overflow:hidden}.octx-head b{color:var(--text);margin-right:6px;font-size:13.5px}.octx-item{text-align:left;cursor:pointer;width:100%;color:var(--text);background:0 0;border:none;border-radius:0;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;font-size:13px;display:flex}.octx-item:hover{background:var(--hover)}.octx-item.danger{color:var(--danger)}.octx-item.danger:hover{background:#fef2f2}.octx-hint{color:var(--muted);font-size:11px}.octx-sep{background:var(--line);height:1px;margin:4px 0}.lg-preview{border:1px solid var(--line-2);border-radius:var(--radius);background:#fff;align-items:center;gap:14px;padding:14px 16px;display:flex;position:relative}.lg-emblem{flex:none;place-items:center;width:52px;height:52px;display:grid}.lg-emblem.has-img{width:auto;max-width:340px;height:58px}.lg-emblem.has-img img{object-fit:contain;width:auto;max-width:340px;height:100%;display:block}.lg-fallback{color:#fff;background:#1f5fae;border-radius:50%;place-items:center;width:52px;height:52px;font-size:21px;font-weight:800;display:grid}.lg-titles{flex-direction:column;gap:3px;display:flex}.lg-site{letter-spacing:.1em;color:#7a8496;font-size:11px;font-weight:600}.lg-dept{color:#1a2130;font-size:24px;font-weight:800;line-height:1}.lg-none{color:var(--muted);font-size:11px;position:absolute;bottom:8px;right:12px}.em-preview{border:1px solid var(--line-2);border-radius:var(--radius);background:#fff;flex-direction:column;gap:10px;padding:14px 16px 26px;display:flex;position:relative}.em-cap{color:#4a3717;background:linear-gradient(#f7e7bd 0%,#eed99b 45%,#e3c87c 58%,#d8b862 100%);border:1px solid #bd9950;border-radius:0;align-items:center;gap:12px;height:54px;padding:0 22px 0 14px;font-size:20px;font-weight:800;display:flex}.em-cap-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.em-cap-head{color:#fff8e8;letter-spacing:.04em;background:linear-gradient(#e8c67e 0%,#d5a55c 45%,#c08f3c 58%,#a97727 100%);border-color:#9a6e26}.em-cap-emblem{background:linear-gradient(#ffffffbf,#ffffff47);border:1px solid #fff9;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;display:grid;box-shadow:inset 0 1px #fffc,0 1px 3px #78581a59}.em-cap-emblem svg{fill:#8a6524;width:18px;height:18px}.em-cap-emblem img{object-fit:contain;width:auto;max-width:96px;height:28px;display:block}.em-cap-emblem:has(img){width:auto;height:auto;box-shadow:none;background:0 0;border:none;border-radius:0}.em-cap-head .em-cap-emblem{background:linear-gradient(#ffffff6b,#ffffff1f);border-color:#ffffff73}.em-cap-head .em-cap-emblem svg{fill:#fff}.cap-preview-box{flex-direction:column;gap:6px;display:flex}.cap-preview-label{color:var(--text-2);font-size:12px;font-weight:700}.cap-stage{border:1px solid var(--line-2);background:#111418;border-radius:0;justify-content:center;align-items:center;height:92px;display:flex;position:relative;overflow:hidden}.cap-stage-empty{color:#6b7280;font-size:13px}.cap-track{white-space:nowrap;color:#fff;letter-spacing:.02em;will-change:transform;font-size:26px;font-weight:500;animation-name:cap-marquee;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute}@keyframes cap-marquee{0%{transform:translate(100%)}to{transform:translate(-100%)}}.cap-slide{color:#fff;letter-spacing:.02em;font-size:26px;font-weight:500;animation:.45s cubic-bezier(.22,1,.36,1) cap-up}@keyframes cap-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.cap-cols{grid-template-columns:1.4fr 1fr;align-items:start;gap:14px;display:grid}@media (max-width:980px){.cap-cols{grid-template-columns:1fr}}.cap-add{gap:8px;display:flex}.cap-add input{border:1px solid var(--line-2);color:var(--text);border-radius:0;flex:1;padding:9px 11px;font-family:inherit;font-size:13.5px}.cap-add input:focus{border-color:var(--sel);outline:none}.cap-empty{text-align:center;color:var(--muted);padding:22px;font-size:13px}.cap-list{border:1px solid var(--line);border-radius:0;flex-direction:column;display:flex}.cap-row{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:7px 9px;display:flex}.cap-row:last-child{border-bottom:none}.cap-row.off{background:#fafbfc}.cap-row.off .cap-text{color:var(--muted);text-decoration:line-through}.cap-ord{flex-direction:column;gap:1px;display:flex}.cap-ord button{color:#c9ced6;cursor:pointer;background:0 0;border:none;padding:2px 3px;font-size:9px;line-height:1}.cap-ord button:hover:not(:disabled){color:var(--sel)}.cap-ord button:disabled{opacity:.3;cursor:default}.cap-text{color:var(--text);cursor:text;flex:1;padding:3px 2px;font-size:13.5px}.cap-text:hover{background:var(--hover);border-radius:0}.cap-edit{border:1px solid var(--sel);color:var(--text);border-radius:0;flex:1;padding:3px 6px;font-family:inherit;font-size:13.5px}.cap-edit:focus{outline:none}.cap-btn{border:1px solid var(--line-2);color:var(--text-2);cursor:pointer;background:#fff;border-radius:0;padding:4px 9px;font-size:11.5px;font-weight:600}.cap-btn:hover:not(:disabled){border-color:var(--sel);color:var(--sel)}.cap-btn.danger:hover:not(:disabled){border-color:var(--danger);color:var(--danger);background:#fef2f2}.cap-btn:disabled{opacity:.5;cursor:default}.cap-toggle{border:1px solid var(--line-2);cursor:pointer;text-align:left;background:#fafbfc;border-radius:0;align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex}.cap-toggle:hover{border-color:var(--sel)}.cap-toggle.on{background:#f2f8f4;border-color:#9cc9ae}.cap-toggle-track{background:#c9ced6;border-radius:0;flex:none;width:52px;height:30px;transition:background .18s;position:relative}.cap-toggle.on .cap-toggle-track{background:#22a45d}.cap-toggle-knob{background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .18s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.cap-toggle.on .cap-toggle-knob{transform:translate(22px)}.cap-toggle-text{flex-direction:column;gap:1px;display:flex}.cap-toggle-text b{color:var(--text);font-size:14.5px;font-weight:800}.cap-toggle-text small{color:var(--text-2);font-size:11.5px}.cap-toggle.on .cap-toggle-text b{color:#14743f}.cap-modes{gap:8px;display:flex}.cap-mode{border:1px solid var(--line-2);cursor:pointer;text-align:left;background:#fff;border-radius:0;flex-direction:column;flex:1;gap:2px;padding:10px;display:flex}.cap-mode:hover{border-color:var(--sel)}.cap-mode.on{border-color:var(--sel);background:#f6f8ff;border-width:2px;padding:9px}.cap-mode-name{color:var(--text);font-size:13px;font-weight:700}.cap-mode-desc{color:var(--text-2);font-size:11px}.cap-field{color:var(--text-2);flex-direction:column;gap:5px;font-size:12.5px;display:flex}.cap-field small{color:var(--muted);font-weight:400}.cap-field input[type=range]{width:100%}.em-picker{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding-top:12px;display:flex}.em-picker-head{color:var(--text-2);font-size:12.5px;font-weight:700}.em-picker-head small{color:var(--muted);margin-left:6px;font-weight:500}.em-grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:6px;display:grid}.em-item{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:0;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;display:flex}.em-item:hover:not(:disabled){border-color:var(--sel);background:var(--hover)}.em-item:disabled{opacity:.5;cursor:default}.em-item svg{fill:#8a6524;width:24px;height:24px}.em-item span{color:var(--text-2);font-size:10.5px}.dt-danger{background:snow;border:1px solid #fecaca;border-radius:0;flex-direction:column;gap:8px;margin-top:22px;padding:16px;display:flex}.dt-danger-head{color:#b91c1c;font-size:15px;font-weight:700}.dt-confirm-msg{color:var(--text);background:#fef2f2;border:1px solid #fecaca;border-radius:0;margin:0;padding:12px 14px;font-size:14px;line-height:1.6}.device-page{background:var(--bg);flex-direction:column;height:100vh;display:flex}.device-body{flex:1;padding:22px 28px;overflow-y:auto}.device-add{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.device-add input,.device-add select{border:1px solid var(--line-2);border-radius:var(--radius);padding:9px 12px;font-size:14px}.device-add input{min-width:260px}.device-table{border-collapse:collapse;width:100%;font-size:14px}.device-table th,.device-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:11px 12px}.device-table th{color:var(--muted);font-size:12px;font-weight:600}.device-table select{border:1px solid var(--line-2);border-radius:var(--radius);padding:6px 9px;font-size:13px}.muted-cell{color:var(--muted);text-align:center;padding:30px!important}.url-cell{align-items:center;gap:8px;display:flex}.url-cell code{color:var(--text-2);background:var(--hover);word-break:break-all;border-radius:0;padding:4px 8px;font-size:12px}.btn-sm{padding:4px 9px;font-size:12px}.danger-text{color:var(--danger)}.dot-status{vertical-align:middle;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.dot-status.on{background:#16a34a}.dot-status.off{background:var(--line-2)}.login-wrap{background:#fff;place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--line);border-radius:0;flex-direction:column;gap:14px;width:100%;max-width:340px;padding:28px 24px;display:flex}.login-brand{flex-direction:column;gap:5px;margin-bottom:14px;display:flex}.login-title{white-space:nowrap;letter-spacing:-.3px;font-size:20px;font-weight:800}.login-group{color:var(--text-2,#4b5563);letter-spacing:-.2px;font-size:13px;font-weight:700}.login-shop{white-space:normal;word-break:keep-all;line-height:1.3}.login-sub{color:var(--muted);font-size:12px}.login-remember{cursor:pointer;color:var(--text-2,#4b5563);-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:flex-start;gap:8px;font-size:13px;display:flex}.login-remember input{cursor:pointer;flex-shrink:0;width:16px;height:16px;margin:1px 0 0}.login-remember span{flex-direction:column;gap:2px;display:flex}.login-remember em{color:var(--muted);font-size:11px;font-style:normal}.login-err{color:var(--danger);border-radius:var(--radius);background:#fef2f2;padding:8px 11px;font-size:13px}.login-hint{color:var(--muted);text-align:center;font-size:12px}.spinner{border:2px solid var(--line);border-top-color:var(--sel);border-radius:50%;width:24px;height:24px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important}}.set-card{background:var(--panel);border:1px solid var(--line);border-radius:0;max-width:720px;margin-bottom:18px;padding:22px 24px}.set-card-head{align-items:flex-start;gap:14px;margin-bottom:18px;display:flex}.set-card-ico{color:#0064ff;flex-shrink:0;margin-top:2px;font-size:30px}.set-card-title{color:var(--text);font-size:16px;font-weight:800}.set-card-sub{color:var(--text-2);margin-top:3px;font-size:13px;line-height:1.5}.set-latest{background:var(--hover);border:1px solid var(--line-2);margin-bottom:16px;padding:14px 16px}.set-latest-label{color:var(--muted);letter-spacing:.06em;margin-bottom:8px;font-size:11px;font-weight:700}.set-latest-body{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.set-ver{color:var(--text);font-size:24px;font-weight:800}.set-vc{color:#0064ff;font-size:13px;font-weight:600}.set-meta{color:var(--muted);font-size:12px}.set-latest-none{color:var(--muted);font-size:13px}.set-actions{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.set-actions .btn{align-items:center;display:inline-flex}.set-hint{color:var(--muted);font-size:12px;line-height:1.6}.set-hint b{color:var(--text-2)}.set-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.set-input{border:1.5px solid var(--line);background:var(--card,#fff);min-width:240px;height:38px;color:var(--text);flex:1;padding:0 12px;font-family:inherit;font-size:14px}.ck-list{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.ck-row{align-items:center;gap:8px;display:flex}.ck-no{text-align:center;width:26px;color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:13px;font-weight:800}.ck-input{flex:1;min-width:0}.ck-empty{border:1px dashed var(--line);color:var(--muted);background:#fafbfc;padding:22px 16px;font-size:14px;line-height:1.7}.ck-add{align-items:center;gap:12px;margin-bottom:18px;display:flex}.ck-speed{border-top:1px solid var(--line);align-items:center;gap:12px;padding:14px 0;display:flex}.ck-speed-label{color:var(--text);font-size:14px;font-weight:700}.ck-speed input[type=range]{width:220px}.ck-speed-val{min-width:48px;color:var(--sel);font-size:14px;font-weight:700}.set-input:focus{border-color:#0064ff;outline:none}.set-input:disabled{color:var(--muted);background:#f2f4f6}.set-switch{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;gap:10px;display:inline-flex}.set-switch input{opacity:0;width:0;height:0;position:absolute}.set-switch-track{background:#c4cbd4;flex-shrink:0;width:46px;height:26px;transition:background .15s;position:relative}.set-switch-thumb{background:#fff;width:20px;height:20px;transition:transform .15s;position:absolute;top:3px;left:3px}.set-switch input:checked+.set-switch-track{background:#0064ff}.set-switch input:checked+.set-switch-track .set-switch-thumb{transform:translate(20px)}.set-switch input:disabled+.set-switch-track{opacity:.5}.set-switch-label{color:var(--text);font-size:14px;font-weight:600}.set-cur-badge{color:#0064ff;background:#eaf2ff;margin-left:8px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-block}.set-del{border:1px solid var(--line);color:var(--danger);cursor:pointer;background:0 0;border-radius:0;padding:6px 9px;font-size:12px}.set-del:hover{background:#f044521a}.set-del:disabled{opacity:.5;cursor:default}.set-confirm{background:#fdecee;border:1px solid #c1121f;margin-bottom:12px;padding:14px 16px}.set-confirm-msg{color:var(--text);margin-bottom:12px;font-size:13px;line-height:1.6}.set-confirm-msg b{color:#c1121f}.set-confirm-btns{gap:8px;display:flex}.set-del-confirm{gap:6px;display:inline-flex}.set-del-yes{background:var(--danger);color:#fff;cursor:pointer;border:none;border-radius:0;padding:5px 10px;font-size:12px;font-weight:700}.set-del-no{border:1px solid var(--line);color:var(--text-2);cursor:pointer;background:0 0;border-radius:0;padding:5px 10px;font-size:12px;font-weight:600}.set-del-yes:disabled,.set-del-no:disabled{opacity:.5;cursor:default}.header-shop{color:var(--text);white-space:nowrap;letter-spacing:-.2px;border-right:1px solid var(--line);align-items:baseline;gap:7px;padding-right:16px;font-size:15px;font-weight:800;display:flex}.header-shop-group{color:var(--muted);font-size:11.5px;font-weight:600}.noauth-box{text-align:center;border:1px solid var(--line,#e5e7eb);background:#fff;border-radius:12px;max-width:460px;margin:90px auto 0;padding:40px 32px}.noauth-ico{color:var(--sel,#1b262c);opacity:.55;margin-bottom:14px;font-size:34px}.noauth-box h1{color:var(--sel,#1b262c);margin:0 0 10px;font-size:20px}.noauth-box p{color:var(--muted,#6b7280);margin:0 0 22px;font-size:14px;line-height:1.7}.noauth-box .btn{min-width:132px}.header-intake{background:var(--sel);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:0;flex:none;align-items:center;gap:6px;height:30px;margin-left:auto;padding:0 14px;font-family:inherit;font-size:12.5px;font-weight:700;transition:opacity .12s;display:inline-flex}.header-intake:hover{opacity:.86}.tst-wrap{z-index:4000;pointer-events:none;flex-direction:column;gap:8px;max-width:min(360px,100vw - 28px);display:flex;position:fixed;top:14px;right:14px}.tst{pointer-events:auto;border:1px solid var(--line);border-left:4px solid var(--sel);cursor:pointer;background:#fff;border-radius:6px;align-items:flex-start;gap:10px;padding:12px 14px;animation:.18s ease-out tst-in;display:flex;box-shadow:0 6px 20px #0f172a24}@keyframes tst-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.tst.success{border-left-color:#0d7f86}.tst.error{border-left-color:var(--danger)}.tst.warning{border-left-color:#d97706}.tst.info{border-left-color:var(--sel)}.tst-ico{width:18px;height:18px;color:var(--sel);flex:none;margin-top:1px}.tst.success .tst-ico{color:#0d7f86}.tst.error .tst-ico{color:var(--danger)}.tst.warning .tst-ico{color:#d97706}.tst-body{min-width:0}.tst-text{color:var(--text);word-break:keep-all;font-size:14px;font-weight:700;line-height:1.35}.tst-sub{color:var(--text-2);word-break:keep-all;margin-top:3px;font-size:12.5px;line-height:1.35}
