.loginContainer___3onya{height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);position:relative;overflow:hidden;padding:20px;box-sizing:border-box}.backgroundElements___3vbDs{position:absolute;width:100%;height:100%;top:0;left:0;z-index:0}.circle1___cIxcK{position:absolute;width:300px;height:300px;border-radius:50%;background:rgba(24,144,255,.1);top:-100px;right:-100px}.circle2___2KdEp{position:absolute;width:200px;height:200px;border-radius:50%;background:rgba(47,84,235,.15);bottom:-50px;left:-50px}.buildingSilhouette___x7yok{position:absolute;bottom:0;left:0;width:100%;height:100px;background-image:linear-gradient(90deg,#1890ff 2px,transparent 0),linear-gradient(180deg,transparent 94%,#1890ff 0);background-size:40px 100%;opacity:.1}.loginContent___3hKqw{position:relative;z-index:1;width:100%;max-width:420px;margin:auto}.loginCard___3DXmK{border-radius:12px;box-shadow:0 10px 25px rgba(0,0,0,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.95);border:none;overflow:hidden}.logoArea___JxNGg{text-align:center;margin-bottom:30px;padding-top:20px}.logoIcon___no1-4{font-size:48px;color:#1890ff;margin-bottom:15px}.title___kCY_W{font-weight:600;color:#000;margin-bottom:8px;font-size:24px}.subtitle___38_CO{color:#666;font-size:14px;margin-bottom:0}.loginForm___2-tBh{padding:0 24px}.inputField___2XoLm{border-radius:6px}.loginButton___3ozeZ:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(24,144,255,.4)}.footer___ls8xc{text-align:center;padding:16px 0;border-top:1px solid #f0f0f0;margin-top:20px}.footer___ls8xc p{color:#999;font-size:12px;margin:0}@media (max-width:480px){.loginCard___3DXmK{box-shadow:none}.loginContainer___3onya{padding:10px;background:#f0f2f5;height:100vh}.circle1___cIxcK,.circle2___2KdEp{display:none}}.hideTreeName___1PWwz{width:160px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modTreeCfg___kDvpk{display:flex;justify-content:space-between;padding:0}.modTreeCfg___kDvpk li{display:inline-block}.operationStyle___2Qnv4{cursor:pointer;color:#1890ff}.device-page{padding:0}.device-toolbar{display:flex;grid-gap:10px;gap:10px;margin-bottom:12px}.device-catalog{display:flex;grid-gap:12px;gap:12px;min-height:calc(100vh - 200px)}.brand-sidebar{width:160px;flex-shrink:0;background:#fff;border-radius:8px;padding:12px;box-shadow:0 1px 4px rgba(0,0,0,.06);align-self:flex-start;position:-webkit-sticky;position:sticky;top:80px;max-height:calc(100vh - 160px);overflow-y:auto}.brand-sidebar h3{font-size:14px;font-weight:600;color:#1a1a2e;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid #f0f0f0}.brand-list{list-style:none;padding:0;margin:0}.brand-item{padding:8px 10px;border-radius:5px;cursor:pointer;font-size:13px;color:#333;transition:all .2s;margin-bottom:2px}.brand-item:hover{background:#f5f5ff;color:#1890ff}.brand-item.active{background:#e6f4ff;color:#1890ff;font-weight:600}.device-main{flex:1 1;min-width:0}.device-table-wrapper{background:#fff;border-radius:8px;box-shadow:0 1px 4px rgba(0,0,0,.06);overflow:auto;max-height:calc(100vh - 240px)}.table-empty,.table-loading{text-align:center;padding:80px 20px;color:#999;font-size:15px}.pivot-table{width:100%;border-collapse:collapse;font-size:13px}.pivot-table th{background:#fafafa;padding:6px 10px;text-align:left;font-weight:600;color:#1a1a2e;border-bottom:2px solid #e8e8e8;white-space:nowrap;position:-webkit-sticky;position:sticky;top:0;z-index:2}.pivot-table th.brand-header{color:#1890ff;font-size:13px;min-width:100px}.pivot-table td{padding:5px 10px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.pivot-table tbody tr:hover{background:#fafafa}.name-col{font-weight:600;color:#1a1a2e;white-space:nowrap}.price-col{min-width:90px}.cell-content{display:flex;align-items:center;grid-gap:4px;gap:4px}.price-text{cursor:pointer;color:#1890ff;font-weight:500}.price-text:hover{text-decoration:underline}.cell-delete,.cell-edit{font-size:12px;color:#bbb;cursor:pointer;opacity:0;transition:opacity .15s,color .15s}.cell-edit:hover{color:#1890ff}.cell-delete:hover{color:#ff4d4f}.cell-content:hover .cell-delete,.cell-content:hover .cell-edit{opacity:1}.cell-empty{display:inline-block;width:20px;height:20px;line-height:20px;text-align:center;border-radius:3px;color:#ccc;cursor:pointer;font-size:16px;transition:all .15s}.cell-empty:hover{background:#e6f4ff;color:#1890ff}