:root{--win-primary: #0078d4;--win-primary-hover: #106ebe;--win-primary-light: #2899f5;--win-bg-start: #0078d4;--win-bg-end: #142841;--win-glass-bg: rgba(243, 243, 243, .85);--win-glass-bg-dark: rgba(32, 32, 32, .85);--win-border: rgba(255, 255, 255, .3);--win-shadow: 0 8px 32px rgba(0, 0, 0, .2);--win-shadow-hover: 0 12px 40px rgba(0, 0, 0, .3);--win-radius: 8px;--win-taskbar-height: 48px;--win-titlebar-height: 32px}.desktop{position:fixed;top:0;left:0;right:0;bottom:0;overflow:hidden;-webkit-user-select:none;user-select:none;font-family:Segoe UI,Microsoft YaHei,-apple-system,BlinkMacSystemFont,sans-serif;font-size:13px;color:#fff;background:radial-gradient(ellipse at 20% 20%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(ellipse at 80% 80%,rgba(0,120,212,.3) 0%,transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(40,153,245,.15) 0%,transparent 60%),linear-gradient(135deg,#0a1628,#142841 30%,#0078d4 70%,#106ebe)}.desktop-icons{position:absolute;top:20px;left:20px;display:flex;flex-direction:column;gap:4px;z-index:1}.desktop-icon{display:flex;flex-direction:column;align-items:center;width:80px;padding:8px 4px;border-radius:4px;cursor:pointer;transition:background-color .15s ease;text-align:center}.desktop-icon:hover{background-color:#ffffff26}.desktop-icon.selected{background-color:#0078d466;border:1px solid rgba(0,120,212,.6)}.desktop-icon .icon-emoji{font-size:36px;line-height:1;margin-bottom:6px;text-shadow:0 2px 8px rgba(0,0,0,.4)}.desktop-icon .icon-label{font-size:12px;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.8);word-break:break-all;line-height:1.3}.windows-container{position:absolute;top:0;left:0;right:0;bottom:var(--win-taskbar-height);pointer-events:none}.windows-container>*{pointer-events:auto}.window{position:absolute;display:flex;flex-direction:column;background:#f3f3f3;border-radius:var(--win-radius);box-shadow:var(--win-shadow);overflow:hidden;transition:box-shadow .2s ease,transform .2s ease;min-width:300px;min-height:200px;color:#000}.window.focused{box-shadow:var(--win-shadow-hover)}.window.maximized{border-radius:0}.window.minimized{display:none}.window-titlebar{display:flex;align-items:center;height:var(--win-titlebar-height);background:linear-gradient(to bottom,#f9f9f9,#e8e8e8);border-bottom:1px solid #d0d0d0;cursor:default;flex-shrink:0}.window:not(.maximized) .window-titlebar{cursor:move}.window-titlebar-icon{display:flex;align-items:center;justify-content:center;width:32px;font-size:16px}.window-titlebar-title{flex:1;font-size:12px;font-weight:500;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.window-controls{display:flex;height:100%}.window-control-btn{display:flex;align-items:center;justify-content:center;width:46px;height:100%;border:none;background:transparent;cursor:pointer;font-size:12px;color:#333;transition:background-color .15s ease}.window-control-btn:hover{background-color:#00000014}.window-control-btn.close:hover{background-color:#e81123;color:#fff}.window-control-btn svg{width:12px;height:12px}.window-content{flex:1;overflow:auto;background:#fff}.taskbar{position:absolute;bottom:0;left:0;right:0;height:var(--win-taskbar-height);display:flex;align-items:center;justify-content:center;background:var(--win-glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--win-border);z-index:1000}.taskbar-left,.taskbar-right{position:absolute;display:flex;align-items:center;height:100%}.taskbar-left{left:12px}.taskbar-right{right:12px}.taskbar-center{display:flex;align-items:center;gap:4px;height:100%}.start-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:4px;background:transparent;cursor:pointer;transition:background-color .15s ease}.start-btn:hover{background-color:#0078d41a}.start-btn.active{background-color:#0078d433}.start-btn svg{width:20px;height:20px;fill:var(--win-primary)}.taskbar-icon{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:4px;background:transparent;cursor:pointer;font-size:20px;transition:background-color .15s ease}.taskbar-icon:hover{background-color:#00000014}.taskbar-icon.active{background-color:#0078d426}.taskbar-icon.active:after{content:"";position:absolute;bottom:2px;left:50%;transform:translate(-50%);width:16px;height:3px;background-color:var(--win-primary);border-radius:2px}.taskbar-preview{position:absolute;bottom:calc(var(--win-taskbar-height) + 6px);left:50%;transform:translate(-50%);width:200px;padding:8px;background:var(--win-glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--win-border);border-radius:var(--win-radius);box-shadow:var(--win-shadow);z-index:1001;font-size:12px;color:#333;text-align:center;pointer-events:none}.taskbar-preview-icon{font-size:32px;margin-bottom:4px}.taskbar-preview-title{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.system-tray{display:flex;align-items:center;gap:8px;height:100%;padding:0 8px;cursor:pointer;border-radius:4px;transition:background-color .15s ease}.system-tray:hover{background-color:#00000014}.system-tray-icons{display:flex;gap:4px;font-size:14px}.system-tray-time{text-align:right;font-size:12px;color:#333;line-height:1.2}.start-menu{position:absolute;bottom:calc(var(--win-taskbar-height) + 8px);left:50%;transform:translate(-50%);width:600px;height:680px;background:var(--win-glass-bg);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border:1px solid var(--win-border);border-radius:var(--win-radius);box-shadow:var(--win-shadow-hover);z-index:999;display:flex;flex-direction:column;overflow:hidden;animation:startMenuSlideUp .2s ease;color:#000}@keyframes startMenuSlideUp{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.start-menu.hidden{display:none}.start-menu-search{padding:24px 32px 16px}.start-menu-search input{width:100%;height:36px;padding:0 12px 0 36px;border:1px solid #ccc;border-radius:4px;background-color:#fff;font-size:13px;outline:none;transition:border-color .15s ease;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23999'%3E%3Cpath d='M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:10px center;background-size:18px}.start-menu-search input:focus{border-color:var(--win-primary)}.start-menu-section{flex:1;padding:0 32px;overflow-y:auto}.start-menu-section-title{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:600;color:#333;margin-bottom:12px}.start-menu-section-title .all-apps-btn{font-size:12px;font-weight:400;color:#333;background:#0000000d;border:none;border-radius:4px;padding:4px 10px;cursor:pointer}.start-menu-section-title .all-apps-btn:hover{background:#0000001a}.pinned-apps-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.pinned-app-item{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 4px;border-radius:4px;cursor:pointer;transition:background-color .15s ease;text-align:center}.pinned-app-item:hover{background-color:#0000000f}.pinned-app-item .app-icon{font-size:28px;margin-bottom:6px}.pinned-app-item .app-name{font-size:12px;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.start-menu-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 32px;border-top:1px solid rgba(0,0,0,.08);background:#00000008}.start-menu-user{display:flex;align-items:center;gap:10px;cursor:pointer;padding:6px 10px;border-radius:4px;transition:background-color .15s ease}.start-menu-user:hover{background-color:#0000000f}.user-avatar{width:28px;height:28px;border-radius:50%;background:var(--win-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:500}.user-name{font-size:13px;color:#333}.power-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:4px;background:transparent;cursor:pointer;font-size:18px;transition:background-color .15s ease}.power-btn:hover{background-color:#00000014}.window-content::-webkit-scrollbar,.start-menu-section::-webkit-scrollbar{width:8px}.window-content::-webkit-scrollbar-track,.start-menu-section::-webkit-scrollbar-track{background:transparent}.window-content::-webkit-scrollbar-thumb,.start-menu-section::-webkit-scrollbar-thumb{background:#0003;border-radius:4px}.window-content::-webkit-scrollbar-thumb:hover,.start-menu-section::-webkit-scrollbar-thumb:hover{background:#0000004d}.win-login{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;padding-left:15%;font-family:Segoe UI,Microsoft YaHei,-apple-system,BlinkMacSystemFont,sans-serif;background:radial-gradient(ellipse at 20% 20%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(ellipse at 80% 80%,rgba(0,120,212,.3) 0%,transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(40,153,245,.15) 0%,transparent 60%),linear-gradient(135deg,#0a1628,#142841 30%,#0078d4 70%,#106ebe);overflow:hidden}.win-login-card{width:380px;padding:40px 36px;background:#f3f3f3bf;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border:1px solid rgba(255,255,255,.3);border-radius:12px;box-shadow:0 8px 32px #0003;color:#1f1f1f}.win-login-avatar{width:80px;height:80px;margin:0 auto 16px;border-radius:50%;background:#ffffffe6;display:flex;align-items:center;justify-content:center;font-size:40px;border:2px solid rgba(255,255,255,.5);box-shadow:0 2px 8px #0000001a}.win-login-welcome{text-align:center;font-size:24px;font-weight:600;color:#1f1f1f;margin-bottom:4px}.win-login-subtitle{text-align:center;font-size:13px;color:#666;margin-bottom:24px}.win-login-form{display:flex;flex-direction:column;gap:12px}.win-login-field{width:100%}.win-login-input{width:100%;padding:10px 14px;border:1px solid rgba(0,0,0,.15);border-radius:6px;background:#ffffffe6;font-size:14px;font-family:inherit;color:#1f1f1f;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.win-login-input:focus{border-color:#0078d4;box-shadow:0 0 0 3px #0078d433}.win-login-input::placeholder{color:#999}.win-login-err{color:#e81123;font-size:13px;margin-top:-4px}.win-login-btn{width:100%;padding:10px 16px;margin-top:4px;border:none;border-radius:6px;background:#0078d4;color:#fff;font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;transition:background-color .15s ease}.win-login-btn:hover{background:#106ebe}.win-login-btn:disabled{opacity:.6;cursor:not-allowed}.win-login-footer{margin-top:20px;text-align:center;font-size:12px;color:#888}.win-page{padding:20px;height:100%;overflow-y:auto;background:#fff;box-sizing:border-box}:root{--primary: #4B3FE3;--primary-hover: #6359f0;--primary-light: #efeefb;--bg: #f5f5f7;--sidebar-bg: #1f1d2e;--sidebar-bg-2: #2a2740}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:-apple-system,PingFang SC,Microsoft YaHei,system-ui,sans-serif;background:var(--bg);color:#1f1f1f;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font-family:inherit;cursor:pointer}.layout{display:flex;min-height:100vh}.sidebar{width:220px;flex-shrink:0;background:var(--sidebar-bg);color:#b9b7c9;display:flex;flex-direction:column;transition:width .25s ease;position:sticky;top:0;height:100vh;overflow:hidden}.sidebar.collapsed{width:64px}.sidebar-logo{padding:18px 20px;font-size:16px;font-weight:600;color:#fff;border-bottom:1px solid rgba(255,255,255,.08);white-space:nowrap;display:flex;align-items:center;gap:10px;flex-shrink:0}.sidebar.collapsed .sidebar-logo{padding:18px 0;justify-content:center}.sidebar.collapsed .sidebar-logo .logo-text{display:none}.sidebar nav{flex:1;padding:8px 0;overflow-y:auto;overflow-x:hidden}.sidebar nav a{display:flex;align-items:center;gap:12px;padding:12px 24px;color:#b9b7c9;font-size:14px;transition:all .2s;white-space:nowrap;position:relative}.sidebar nav a .menu-icon{font-size:18px;flex-shrink:0;width:22px;text-align:center}.sidebar nav a:hover{background:#ffffff0f;color:#fff}.sidebar nav a.active{background:var(--primary);color:#fff}.sidebar nav a.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#fff}.sidebar.collapsed nav a{justify-content:center;padding:14px 0}.sidebar.collapsed nav a .menu-label{display:none}.main{flex:1;display:flex;flex-direction:column;min-width:0}.topbar{height:56px;background:#fff;border-bottom:1px solid #e8e8e8;display:flex;align-items:center;justify-content:space-between;padding:0 24px;box-shadow:0 1px 4px #0000000a;flex-shrink:0;position:sticky;top:0;z-index:10}.topbar-left{display:flex;align-items:center;gap:16px}.collapse-btn{width:34px;height:34px;border:1px solid #e0e0e0;background:#fff;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-size:16px;color:#555}.collapse-btn:hover{color:var(--primary);border-color:var(--primary)}.topbar-user{display:flex;align-items:center;gap:12px}.user-avatar{width:32px;height:32px;border-radius:50%;background:var(--primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:600}.content{flex:1;padding:20px;overflow:auto}.page-title{font-size:20px;font-weight:600;margin-bottom:16px}.card{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000000f;margin-bottom:16px}.card-title{font-size:16px;font-weight:600;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border:1px solid #d9d9d9;background:#fff;color:#333;border-radius:4px;font-size:14px;transition:all .2s;white-space:nowrap}.btn:hover{color:var(--primary);border-color:var(--primary)}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover);color:#fff}.btn-danger{background:#ff4d4f;border-color:#ff4d4f;color:#fff}.btn-danger:hover{background:#ff7875;border-color:#ff7875;color:#fff}.btn-sm{padding:4px 10px;font-size:12px}.btn:disabled{opacity:.5;cursor:not-allowed}.table{width:100%;border-collapse:collapse;background:#fff}.table th,.table td{padding:12px;text-align:left;border-bottom:1px solid #f0f0f0;font-size:14px;vertical-align:middle}.table th{background:#fafafa;font-weight:600;color:#555;white-space:nowrap}.table tr:hover td{background:#fafafa}.table img.thumb{width:48px;height:48px;object-fit:cover;border-radius:4px;background:#f5f5f5}.table td.actions{white-space:nowrap}.table td.actions .btn{margin-right:6px}.form{max-width:600px}.form-row{margin-bottom:16px}.form-row label{display:block;margin-bottom:6px;font-weight:500;color:#333}.form-row input,.form-row select,.form-row textarea{width:100%;padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;outline:none;font-family:inherit;background:#fff}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.form-row textarea{min-height:80px;resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.form-check{display:flex;align-items:center;gap:8px}.form-check input{width:auto}.search-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.search-bar input,.search-bar select{width:auto;min-width:200px;padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;outline:none;background:#fff}.search-bar input:focus,.search-bar select:focus{border-color:var(--primary)}.tag{display:inline-block;padding:2px 10px;border-radius:10px;font-size:12px;background:var(--primary-light);color:var(--primary)}.tag-success{background:#f6ffed;color:#52c41a}.tag-warn{background:#fff7e6;color:#faad14}.tag-danger{background:#fff1f0;color:#ff4d4f}.tag-muted{background:#f5f5f5;color:#999}.switch{position:relative;display:inline-block;width:40px;height:22px;flex-shrink:0}.switch input{opacity:0;width:0;height:0}.switch .slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background:#ccc;border-radius:22px;transition:.25s}.switch .slider:before{content:"";position:absolute;height:16px;width:16px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.25s}.switch input:checked+.slider{background:var(--primary)}.switch input:checked+.slider:before{transform:translate(18px)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:16px}.stat-card{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000000f;position:relative;overflow:hidden}.stat-card .stat-icon{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:40px;opacity:.12}.stat-card .label{color:#999;font-size:13px}.stat-card .value{font-size:28px;font-weight:700;color:var(--primary);margin-top:4px}.detail-list{display:grid;grid-template-columns:120px 1fr;gap:10px 16px}.detail-list dt{color:#999}.detail-list dd{word-break:break-all}.thumb-list{display:flex;flex-wrap:wrap;gap:8px}.thumb-list img{width:80px;height:80px;object-fit:cover;border-radius:6px;background:#f5f5f5}.timeline{border-left:2px solid #eee;margin-left:8px;padding-left:16px}.timeline-item{margin-bottom:14px}.timeline-item .t-title{font-weight:600}.timeline-item .t-content{color:#666;margin-top:2px}.timeline-item .t-time{color:#bbb;font-size:12px;margin-top:2px}.empty{text-align:center;color:#999;padding:40px}.muted{color:#999}.flex{display:flex;align-items:center;gap:8px}.between{justify-content:space-between}.mb16{margin-bottom:16px}.mt8{margin-top:8px}.mt16{margin-top:16px}.err{color:#ff4d4f;font-size:13px;margin-top:8px}.ok{color:#52c41a;font-size:13px;margin-top:8px}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:#fff;border-radius:8px;padding:24px;width:90%;max-width:520px;max-height:85vh;overflow:auto}.modal.modal-lg{max-width:720px}.modal-title{font-size:16px;font-weight:600;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between}
