:root{--color-primary: #0078d4;--color-primary-dark: #106ebe;--color-primary-darker: #005a9e;--color-accent-yellow: #ffbd2e;--color-accent-green: #28ca42;--color-accent-red: #ff5f57;--color-accent-orange: #ff9500;--color-white: #ffffff;--color-black: #000000;--color-dark: rgba(32, 32, 32, .95);--color-dark-solid: #202020;--glass-bg-dark: rgba(32, 32, 32, .95);--glass-bg-darker: rgba(32, 32, 32, .8);--glass-bg-light: rgba(255, 255, 255, .1);--glass-bg-lighter: rgba(255, 255, 255, .15);--glass-border: rgba(255, 255, 255, .1);--glass-border-hover: rgba(255, 255, 255, .2);--glass-blur-heavy: 20px;--glass-blur-light: 10px;--glass-blur-subtle: 4px;--text-primary: rgba(255, 255, 255, 1);--text-secondary: rgba(255, 255, 255, .9);--text-tertiary: rgba(255, 255, 255, .7);--text-muted: rgba(255, 255, 255, .5);--space-2xs: 2px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-full: 50%;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .1);--shadow-md: 0 4px 8px rgba(0, 0, 0, .2);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 60px rgba(0, 0, 0, .5);--shadow-glow: 0 4px 12px rgba(59, 130, 246, .3);--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--transition-slower: .5s ease;--z-base: 1;--z-desktop-icons: 10;--z-windows: 100;--z-window-active: 500;--z-taskbar: 1000;--z-start-menu: 1100;--z-context-menu: 2000;--z-notifications: 3000;--z-dialogs: 10000;--z-tooltip: 11000;--taskbar-height: 48px;--window-header-height: 32px;--start-button-size: 36px;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700}[data-theme=light]{--glass-bg-dark: rgba(255, 255, 255, .95);--glass-bg-light: rgba(0, 0, 0, .1);--text-primary: rgba(0, 0, 0, 1);--text-secondary: rgba(0, 0, 0, .9)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:radial-gradient(ellipse at center,#1a1a3e,#0a0a2e 40%,#000),linear-gradient(45deg,#000014,#003,#000,#012,#000);overflow:hidden;height:100vh;width:100vw;color:var(--text-primary)}#root{height:100vh;width:100vw}button{font-family:inherit;font-size:inherit;background:none;border:none;padding:0;cursor:pointer;outline:none}input,textarea,select{font-family:inherit;font-size:inherit;outline:none}ul,ol{list-style:none}a{text-decoration:none;color:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#ffffff0d;border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb{background:#fff3;border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:#ffffff4d}::selection{background:var(--color-primary);color:#fff}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.d-none{display:none}.d-block{display:block}.d-flex{display:flex}.d-inline-flex{display:inline-flex}.d-grid{display:grid}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.flex-1{flex:1}.flex-auto{flex:auto}.flex-none{flex:none}.gap-2xs{gap:var(--space-2xs)}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.gap-xl{gap:var(--space-xl)}.p-0{padding:0}.p-xs{padding:var(--space-xs)}.p-sm{padding:var(--space-sm)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.p-xl{padding:var(--space-xl)}.px-xs{padding-left:var(--space-xs);padding-right:var(--space-xs)}.px-sm{padding-left:var(--space-sm);padding-right:var(--space-sm)}.px-md{padding-left:var(--space-md);padding-right:var(--space-md)}.px-lg{padding-left:var(--space-lg);padding-right:var(--space-lg)}.py-xs{padding-top:var(--space-xs);padding-bottom:var(--space-xs)}.py-sm{padding-top:var(--space-sm);padding-bottom:var(--space-sm)}.py-md{padding-top:var(--space-md);padding-bottom:var(--space-md)}.py-lg{padding-top:var(--space-lg);padding-bottom:var(--space-lg)}.m-0{margin:0}.m-auto{margin:auto}.m-xs{margin:var(--space-xs)}.m-sm{margin:var(--space-sm)}.m-md{margin:var(--space-md)}.m-lg{margin:var(--space-lg)}.mx-auto{margin-left:auto;margin-right:auto}.mx-xs{margin-left:var(--space-xs);margin-right:var(--space-xs)}.mx-sm{margin-left:var(--space-sm);margin-right:var(--space-sm)}.mx-md{margin-left:var(--space-md);margin-right:var(--space-md)}.my-xs{margin-top:var(--space-xs);margin-bottom:var(--space-xs)}.my-sm{margin-top:var(--space-sm);margin-bottom:var(--space-sm)}.my-md{margin-top:var(--space-md);margin-bottom:var(--space-md)}.mb-xs{margin-bottom:var(--space-xs)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.w-full{width:100%}.h-full{height:100%}.w-screen{width:100vw}.h-screen{height:100vh}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.z-base{z-index:var(--z-base)}.z-windows{z-index:var(--z-windows)}.z-taskbar{z-index:var(--z-taskbar)}.z-dialog{z-index:var(--z-dialogs)}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.select-all{-webkit-user-select:all;user-select:all}.glass{background:var(--glass-bg-dark);backdrop-filter:blur(var(--glass-blur-heavy));-webkit-backdrop-filter:blur(var(--glass-blur-heavy));border:1px solid var(--glass-border)}.glass-light{background:var(--glass-bg-light);backdrop-filter:blur(var(--glass-blur-light));-webkit-backdrop-filter:blur(var(--glass-blur-light));border:1px solid var(--glass-border)}.glass-darker{background:var(--glass-bg-darker);backdrop-filter:blur(var(--glass-blur-heavy));-webkit-backdrop-filter:blur(var(--glass-blur-heavy));border:1px solid var(--glass-border)}.glass-subtle{background:var(--glass-bg-light);backdrop-filter:blur(var(--glass-blur-subtle));-webkit-backdrop-filter:blur(var(--glass-blur-subtle))}.glass-hover{transition:all var(--transition-normal)}.glass-hover:hover{background:var(--glass-bg-lighter);border-color:var(--glass-border-hover)}.glass-card{background:var(--glass-bg-dark);backdrop-filter:blur(var(--glass-blur-heavy));-webkit-backdrop-filter:blur(var(--glass-blur-heavy));border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-md)}.glass-panel{background:var(--glass-bg-darker);backdrop-filter:blur(var(--glass-blur-heavy));-webkit-backdrop-filter:blur(var(--glass-blur-heavy));border:1px solid var(--glass-border)}.glass-interactive{background:var(--glass-bg-light);backdrop-filter:blur(var(--glass-blur-light));-webkit-backdrop-filter:blur(var(--glass-blur-light));border:1px solid var(--glass-border);transition:all var(--transition-normal);cursor:pointer}.glass-interactive:hover{background:var(--glass-bg-lighter);border-color:var(--glass-border-hover);transform:translateY(-1px)}.glass-interactive:active{transform:translateY(0)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideInFromRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInFromLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scaleOut{0%{transform:scale(1);opacity:1}to{transform:scale(0);opacity:0}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spinReverse{0%{transform:rotate(360deg)}to{transform:rotate(0)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,to{box-shadow:0 0 5px #0078d480}50%{box-shadow:0 0 20px #0078d4cc}}@keyframes float{0%{transform:translateY(0) translate(0)}25%{transform:translateY(-10px) translate(5px)}50%{transform:translateY(-5px) translate(-5px)}75%{transform:translateY(-15px) translate(3px)}to{transform:translateY(0) translate(0)}}.animate-fade-in{animation:fadeIn var(--transition-normal) ease-out}.animate-fade-out{animation:fadeOut var(--transition-normal) ease-out}.animate-slide-right{animation:slideInFromRight var(--transition-slow) ease-out}.animate-slide-left{animation:slideInFromLeft var(--transition-slow) ease-out}.animate-slide-up{animation:slideInFromBottom var(--transition-slow) ease-out}.animate-slide-down{animation:slideInFromTop var(--transition-slow) ease-out}.animate-scale-in{animation:scaleIn var(--transition-normal) ease-out}.animate-scale-out{animation:scaleOut var(--transition-normal) ease-out}.animate-pulse{animation:pulse 2s infinite}.animate-spin{animation:spin 1s linear infinite}.animate-bounce{animation:bounce 1s infinite}.animate-shake{animation:shake .5s}.animate-glow{animation:glow 2s infinite}.transition-all{transition:all var(--transition-normal)}.transition-fast{transition:all var(--transition-fast)}.transition-slow{transition:all var(--transition-slow)}.transition-none{transition:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-weight:var(--font-medium);transition:all var(--transition-normal);cursor:pointer;-webkit-user-select:none;user-select:none}.btn-sm{padding:var(--space-xs) var(--space-sm);font-size:.875rem}.btn-md{padding:var(--space-sm) var(--space-md);font-size:1rem}.btn-lg{padding:var(--space-md) var(--space-lg);font-size:1.125rem}.btn-primary{background:var(--color-primary);color:#fff;border:none}.btn-primary:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-glow)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--glass-bg-light);color:var(--text-secondary);border:1px solid var(--glass-border)}.btn-secondary:hover{background:var(--glass-bg-lighter);border-color:var(--glass-border-hover)}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid transparent}.btn-ghost:hover{background:var(--glass-bg-light);border-color:var(--glass-border)}.btn-danger{background:var(--color-accent-red);color:#fff;border:none}.btn-danger:hover{filter:brightness(1.1);transform:translateY(-1px)}.btn-success{background:var(--color-accent-green);color:#fff;border:none}.btn-success:hover{filter:brightness(1.1);transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-loading{position:relative;color:transparent}.btn-loading:after{content:"";position:absolute;width:16px;height:16px;top:50%;left:50%;transform:translate(-50%,-50%);border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.btn-icon{padding:var(--space-sm);aspect-ratio:1}.btn-icon-sm{padding:var(--space-xs)}.btn-icon-lg{padding:var(--space-md)}.btn-group{display:flex;gap:var(--space-sm)}.btn-group-vertical{flex-direction:column}.btn-taskbar{background:transparent;padding:var(--space-sm);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.btn-taskbar:hover{background:var(--glass-bg-light)}.btn-taskbar.active{background:var(--glass-bg-lighter);border-bottom:2px solid var(--color-primary)}.disable-user-btn{background-color:#e23b3b;color:#fff;transition:all .3s ease}.disable-user-btn:hover{background-color:#c12c2c}.disable-user-btn.btn-disabled{background-color:#444;color:#bbb;cursor:not-allowed;opacity:.7}.btn-saved{background-color:#666!important;color:#ddd!important;cursor:default}.switch{position:relative;display:inline-block;width:40px;height:22px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.3s;border-radius:22px}.slider:before{position:absolute;content:"";height:16px;width:16px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}input:checked+.slider{background-color:var(--accent-color, #007bff)}input:checked+.slider:before{transform:translate(18px)}@keyframes spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.table{width:100%;border-collapse:collapse;font-size:.95rem}.table thead th{text-align:left;padding:var(--space-sm) var(--space-md);background:var(--glass-bg-darker);border-bottom:1px solid var(--glass-border);color:var(--text-secondary);font-weight:var(--font-semibold);white-space:nowrap}.table tbody td{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--glass-border);vertical-align:middle}.table tr:hover{background:var(--glass-bg-lighter)}.table-col-actions{width:160px;text-align:right}.table-col-tight{width:1%;white-space:nowrap}.table-empty{text-align:center;color:var(--text-tertiary);padding:var(--space-lg)}.table--compact thead th,.table--compact tbody td{padding:var(--space-xs) var(--space-sm)}.table--zebra tbody tr:nth-child(odd){background:#ffffff0a}.pill{display:inline-block;padding:2px 8px;border-radius:9999px;border:1px solid var(--glass-border);background:var(--glass-bg-light);font-size:.8rem;line-height:1.6;text-transform:capitalize;color:var(--text-secondary)}.pill--admin{background:#ff5f571f;border-color:#ff5f5759;color:var(--text-primary)}.pill--ops{background:#0078d41f;border-color:#0078d459;color:var(--text-primary)}.pill--pilot{background:#28ca421f;border-color:#28ca4259;color:var(--text-primary)}.pill--atc{background:#ffbd2e24;border-color:#ffbd2e59;color:var(--text-primary)}.pill--neutral{background:#ffffff14;border-color:var(--glass-border);color:var(--text-secondary)}.pill--sm{font-size:.75rem;padding:1px 6px}.pill--lg{font-size:.9rem;padding:3px 10px}.status-dot{width:8px;height:8px;border-radius:var(--radius-full);display:inline-block;margin-right:6px;background:var(--text-muted)}.status-dot--ok{background:var(--color-accent-green)}.status-dot--off{background:var(--color-accent-red)}.status-dot--warn{background:var(--color-accent-orange)}.status-pill{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.8rem;font-weight:500;text-align:center;min-width:70px}.status-active{background-color:#1f5138;color:#c8f7c5}.status-disabled{background-color:#5a1b1b;color:#f8caca}.desktop{height:100vh;width:100vw;position:relative;background:radial-gradient(ellipse at center,#1a1a3e,#0a0a2e 40%,#000),linear-gradient(45deg,#000014,#003,#000,#012,#000);overflow:hidden}.desktop:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(1px 1px at 20px 30px,rgba(255,255,255,.8),transparent),radial-gradient(1px 1px at 40px 70px,rgba(255,255,255,.4),transparent),radial-gradient(1px 1px at 90px 40px,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 130px 80px,rgba(255,255,255,.3),transparent),radial-gradient(1px 1px at 160px 30px,rgba(255,255,255,.7),transparent);background-size:200px 150px;animation:desktopStars 25s linear infinite;pointer-events:none}.desktop:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(1px 1px at 50px 50px,rgba(135,206,255,.3),transparent),radial-gradient(1px 1px at 100px 100px,rgba(255,255,255,.2),transparent),radial-gradient(1px 1px at 150px 150px,rgba(135,206,255,.4),transparent),radial-gradient(1px 1px at 200px 200px,rgba(255,255,255,.3),transparent);background-size:300px 250px;animation:desktopStars 40s linear infinite reverse;pointer-events:none}@keyframes desktopStars{0%{transform:translate(0) translateY(0);opacity:1}50%{opacity:.2}to{transform:translate(-300px) translateY(-300px);opacity:1}}.desktop-icons{display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-start;height:calc(100vh - 60px);padding:16px;gap:16px}.desktop-icons>*{flex:0 0 auto}.desktop-icon{display:flex;flex-direction:column;align-items:center;background:none;border:none;color:var(--text-primary);cursor:pointer;padding:var(--space-sm);border-radius:var(--radius-sm);transition:all var(--transition-normal)}.desktop-icon:hover{background:var(--glass-bg-light)}.desktop-icon-image{width:48px;height:48px;background:var(--glass-bg-lighter);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:var(--space-xs)}.desktop-icon-label{font-size:12px;text-align:center;color:var(--text-primary);text-shadow:0 1px 2px rgba(0,0,0,.5)}.taskbar{position:fixed;bottom:0;left:0;right:0;height:var(--taskbar-height);background:#1a1a3ee6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:2px solid rgba(135,206,255,.3);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-sm);z-index:var(--z-taskbar);box-shadow:0 -4px 20px #87ceff33}.taskbar-left{display:flex;align-items:center;gap:var(--space-sm)}.taskbar-center{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);position:absolute;left:50%;transform:translate(-50%)}.taskbar-right{display:flex;align-items:center;gap:var(--space-sm)}.start-button{width:48px;height:32px;background:#87ceff33;border:1px solid rgba(135,206,255,.4);border-radius:8px;color:#ffffffe6;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #87ceff33}.start-button:hover{background:#87ceff4d;border-color:#87ceff99;box-shadow:0 4px 12px #87ceff66}.taskbar-logo-button{width:40px;height:32px;background:linear-gradient(135deg,#f5f5f5,#e0e0e0,#d0d0d0);border:none;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-normal);position:relative;padding:2px}.taskbar-logo-button:hover{background:linear-gradient(135deg,#fff,#f0f0f0,#e0e0e0);transform:translateY(-1px)}.taskbar-logo{width:calc(100% - 4px);height:calc(100% - 4px);object-fit:contain}.taskbar-logo-fallback{color:#333;font-size:16px;font-weight:var(--font-bold);width:calc(100% - 4px);height:calc(100% - 4px);display:flex;align-items:center;justify-content:center}.taskbar-apps{display:flex;gap:var(--space-xs)}.taskbar-app{width:40px;height:32px;border:1px solid rgba(135,206,255,.2);border-radius:8px;color:#fffc;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;font-size:18px;position:relative;background:#87ceff1a}.taskbar-app:hover{background:#87ceff33;border-color:#87ceff66;transform:translateY(-1px);box-shadow:0 4px 8px #87ceff4d}.taskbar-app.active{background:#87ceff4d!important;border-color:#87ceff99;box-shadow:0 -2px #87ceffcc inset}.taskbar-app.has-window:after{content:"";position:absolute;bottom:2px;left:50%;transform:translate(-50%);width:4px;height:4px;background:var(--text-primary);border-radius:var(--radius-full)}.taskbar-app-indicator{position:absolute;top:-4px;right:-4px;background:var(--color-accent-red);color:var(--text-primary);font-size:10px;font-weight:var(--font-bold);padding:2px 4px;border-radius:10px;min-width:14px;text-align:center;line-height:1}.taskbar-clock{color:var(--text-primary);font-size:13px;padding:var(--space-xs) var(--space-sm);white-space:nowrap}.taskbar-notifications{position:relative}.taskbar-notification-button{width:32px;height:32px;background:var(--glass-bg-light);border:none;border-radius:var(--radius-sm);color:var(--text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-normal);position:relative}.taskbar-notification-button:hover{background:var(--glass-bg-lighter)}.taskbar-notification-button.has-notifications{background:rgba(var(--color-primary),.3)}.notification-badge{position:absolute;top:-4px;right:-4px;background:var(--color-accent-red);color:var(--text-primary);border-radius:10px;min-width:18px;height:18px;font-size:10px;font-weight:var(--font-bold);display:flex;align-items:center;justify-content:center;border:2px solid var(--glass-bg-darker)}.window{position:absolute;background:var(--glass-bg-dark);-webkit-backdrop-filter:blur(var(--glass-blur-heavy));backdrop-filter:blur(var(--glass-blur-heavy));border:1px solid var(--glass-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);min-width:300px;min-height:200px;z-index:var(--z-windows)}.window-header{height:var(--window-header-height);background:var(--glass-bg-light);border-bottom:1px solid var(--glass-border);display:flex;align-items:center;padding:0 var(--space-sm);cursor:move;-webkit-user-select:none;user-select:none}.window-title{color:var(--text-primary);font-size:14px;font-weight:var(--font-medium);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.window-controls{display:flex;gap:var(--space-sm)}.window-control{width:16px;height:16px;border:none;border-radius:var(--radius-full);cursor:pointer;font-size:10px;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.window-control.minimize{background:var(--color-accent-yellow)}.window-control.maximize{background:var(--color-accent-green)}.window-control.close{background:var(--color-accent-red)}.window-control:hover{filter:brightness(1.1);transform:scale(1.1)}.window-content{color:var(--text-primary);height:calc(100% - var(--window-header-height));overflow:auto;background:transparent}.settings-form{display:flex;flex-direction:column;gap:var(--space-md)}.form-group{display:flex;flex-direction:column;gap:var(--space-xs)}.form-group label{font-size:14px;color:var(--text-tertiary);font-weight:var(--font-medium)}.form-group input{padding:var(--space-sm) var(--space-sm);background:var(--glass-bg-light);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:14px;transition:all var(--transition-normal)}.form-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #0078d433}.form-group input::placeholder{color:var(--text-muted)}.window.maximized{top:0!important;left:0!important;width:100vw!important;height:calc(100vh - var(--taskbar-height))!important;border-radius:0}.window.minimized{transform:scale(0);opacity:0;pointer-events:none}.window-resize-handle{position:absolute;background:transparent}.window-resize-handle.n{top:0;left:0;right:0;height:4px;cursor:n-resize}.window-resize-handle.s{bottom:0;left:0;right:0;height:4px;cursor:s-resize}.window-resize-handle.w{top:0;left:0;bottom:0;width:4px;cursor:w-resize}.window-resize-handle.e{top:0;right:0;bottom:0;width:4px;cursor:e-resize}.window-resize-handle.nw{top:0;left:0;width:8px;height:8px;cursor:nw-resize}.window-resize-handle.ne{top:0;right:0;width:8px;height:8px;cursor:ne-resize}.window-resize-handle.sw{bottom:0;left:0;width:8px;height:8px;cursor:sw-resize}.window-resize-handle.se{bottom:0;right:0;width:8px;height:8px;cursor:se-resize}.snap-indicator{position:fixed;background:#0078d44d;border:2px solid rgba(0,120,212,.8);z-index:9999;pointer-events:none;transition:opacity .2s ease-in-out;opacity:1;animation:snapIndicatorPulse 1.5s infinite}@keyframes snapIndicatorPulse{0%,to{opacity:.3}50%{opacity:.6}}.window.half-snapped{border-radius:0}.window.half-snapped.left{border-top-left-radius:0;border-bottom-left-radius:0}.window.half-snapped.right{border-top-right-radius:0;border-bottom-right-radius:0}.start-menu-backdrop{position:fixed;inset:0;background:#0000004d;z-index:calc(var(--z-start-menu) - 1);-webkit-backdrop-filter:blur(var(--glass-blur-subtle));backdrop-filter:blur(var(--glass-blur-subtle))}.start-menu{position:fixed;bottom:calc(var(--taskbar-height) + var(--space-sm));left:50%;transform:translate(-50%);width:600px;max-width:90vw;background:var(--glass-bg-dark);-webkit-backdrop-filter:blur(var(--glass-blur-heavy));backdrop-filter:blur(var(--glass-blur-heavy));border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);z-index:var(--z-start-menu);animation:slideInFromBottom .3s ease-out;padding:var(--space-lg);max-height:70vh;overflow-y:auto}@keyframes slideInFromBottom{0%{opacity:0;transform:translate(-50%) translateY(20px) scale(.95)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.start-menu-search{display:flex;align-items:center;gap:var(--space-sm);background:var(--glass-bg-light);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-lg);transition:all var(--transition-normal)}.start-menu-search:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 2px #0078d433}.start-menu-search-input{flex:1;background:none;border:none;color:var(--text-primary);font-size:14px;outline:none}.start-menu-search-input::placeholder{color:var(--text-muted)}.start-menu-section{margin-bottom:var(--space-lg)}.start-menu-section:last-child{margin-bottom:0}.start-menu-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm);color:var(--text-primary);font-size:14px;font-weight:var(--font-medium)}.start-menu-apps{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--space-sm)}.start-menu-app{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-sm);background:var(--glass-bg-light);border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-normal);color:var(--text-primary);text-decoration:none}.start-menu-app:hover{background:var(--glass-bg-lighter);transform:translateY(-1px)}.start-menu-app-icon{width:48px;height:48px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:24px}.start-menu-app-label{font-size:12px;text-align:center;line-height:1.2;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.start-menu-footer{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-md);border-top:1px solid var(--glass-border);margin-top:var(--space-lg)}.start-menu-user{display:flex;align-items:center;gap:var(--space-sm)}.start-menu-user-avatar{width:40px;height:40px;background:var(--glass-bg-light);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:var(--text-primary);border:2px solid var(--glass-border);font-size:16px;font-weight:var(--font-medium)}.start-menu-user-info{display:flex;flex-direction:column;gap:2px}.start-menu-user-name{color:var(--text-primary);font-size:14px;font-weight:var(--font-medium)}.start-menu-user-email{color:var(--text-tertiary);font-size:12px}.start-menu-power{width:40px;height:40px;background:var(--glass-bg-light);border:none;border-radius:var(--radius-full);color:var(--text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-normal);font-size:16px}.start-menu-power:hover{background:#ff6b6b33;color:#ff6b6b}@media (max-width: 768px){.start-menu{width:95vw;max-height:80vh}.start-menu-apps{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.start-menu-app{padding:var(--space-sm)}.start-menu-app-icon{width:40px;height:40px;font-size:20px}}.notification-panel-backdrop{position:fixed;inset:0;background:#0000004d;z-index:calc(var(--z-notifications) - 1);-webkit-backdrop-filter:blur(var(--glass-blur-subtle));backdrop-filter:blur(var(--glass-blur-subtle))}.notification-panel{position:fixed;top:0;right:0;width:400px;height:100vh;background:var(--glass-bg-dark);-webkit-backdrop-filter:blur(var(--glass-blur-heavy));backdrop-filter:blur(var(--glass-blur-heavy));border-left:1px solid var(--glass-border);z-index:var(--z-notifications);display:flex;flex-direction:column;animation:slideInFromRight .3s ease-out}.notification-panel-header{padding:var(--space-lg) var(--space-lg);border-bottom:1px solid var(--glass-border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.notification-panel-title{display:flex;align-items:center;gap:var(--space-sm);color:var(--text-primary);font-size:18px;font-weight:var(--font-medium)}.notification-count{background:var(--glass-bg-lighter);color:var(--text-primary);border-radius:12px;padding:2px var(--space-sm);font-size:12px;font-weight:var(--font-bold);min-width:20px;text-align:center}.notification-panel-actions{display:flex;gap:var(--space-sm)}.notification-action-btn{width:32px;height:32px;background:var(--glass-bg-light);border:none;border-radius:var(--radius-md);color:var(--text-tertiary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-normal)}.notification-action-btn:hover{background:var(--glass-bg-lighter);color:var(--text-primary)}.notification-panel-content{flex:1;overflow-y:auto;padding:0}.notification-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:40px var(--space-lg);text-align:center;color:var(--text-muted)}.notification-empty h3{margin:var(--space-md) 0 var(--space-sm) 0;color:var(--text-primary);font-size:20px;font-weight:var(--font-medium)}.notification-empty p{margin:0;font-size:14px;line-height:1.5;color:var(--text-tertiary)}.notification-list{padding:var(--space-md) 0}.notification-item{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-left:3px solid var(--color-primary);border-bottom:1px solid rgba(255,255,255,.05);transition:background var(--transition-normal);position:relative}.notification-item:hover{background:var(--glass-bg-light)}.notification-item.unread{background:#0078d40d}.notification-item.error{border-left-color:var(--color-accent-red)}.notification-item.warning{border-left-color:var(--color-accent-yellow)}.notification-item.success{border-left-color:var(--color-accent-green)}.notification-item.info{border-left-color:var(--color-primary)}.notification-icon{margin-top:2px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:var(--radius-sm);font-size:12px}.notification-icon.error{background:#ff5f5733;color:var(--color-accent-red)}.notification-icon.warning{background:#ffbd2e33;color:var(--color-accent-yellow)}.notification-icon.success{background:#28ca4233;color:var(--color-accent-green)}.notification-icon.info{background:#0078d433;color:var(--color-primary)}.notification-content{flex:1;min-width:0}.notification-message{color:var(--text-primary);font-size:14px;line-height:1.4;margin-bottom:var(--space-xs);word-wrap:break-word}.notification-time{color:var(--text-muted);font-size:12px}.notification-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--space-xs);border-radius:var(--radius-sm);transition:all var(--transition-normal);margin-top:-2px;display:flex;align-items:center;justify-content:center}.notification-close:hover{background:var(--glass-bg-light);color:var(--text-tertiary)}.notification-panel-footer{padding:var(--space-md) var(--space-lg);border-top:1px solid var(--glass-border);flex-shrink:0}.notification-footer-btn{width:100%;padding:var(--space-sm) var(--space-md);background:var(--glass-bg-light);border:none;border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;cursor:pointer;transition:all var(--transition-normal)}.notification-footer-btn:hover{background:var(--glass-bg-lighter)}.notification-toast{position:fixed;top:var(--space-lg);right:var(--space-lg);background:var(--glass-bg-dark);-webkit-backdrop-filter:blur(var(--glass-blur-heavy));backdrop-filter:blur(var(--glass-blur-heavy));border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-md);min-width:300px;max-width:400px;z-index:calc(var(--z-notifications) + 100);animation:slideInFromTop .3s ease-out;box-shadow:var(--shadow-lg)}.notification-toast.success{border-left:4px solid var(--color-accent-green)}.notification-toast.error{border-left:4px solid var(--color-accent-red)}.notification-toast.warning{border-left:4px solid var(--color-accent-yellow)}.notification-toast.info{border-left:4px solid var(--color-primary)}.notification-toast-content{display:flex;align-items:flex-start;gap:var(--space-sm)}.notification-toast-message{flex:1;color:var(--text-primary);font-size:14px;line-height:1.4}.notification-toast-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.notification-toast-close:hover{color:var(--text-primary);background:var(--glass-bg-light)}@media (max-width: 768px){.notification-panel{width:100vw;right:0}.notification-toast{right:var(--space-sm);left:var(--space-sm);max-width:none}}.context-menu{position:fixed;background:var(--glass-bg-dark);-webkit-backdrop-filter:blur(var(--glass-blur-heavy));backdrop-filter:blur(var(--glass-blur-heavy));border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-xs) 0;min-width:180px;max-width:250px;box-shadow:var(--shadow-xl);z-index:var(--z-context-menu);animation:contextMenuSlide .15s ease-out;overflow:hidden}@keyframes contextMenuSlide{0%{opacity:0;transform:scale(.95) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.context-menu-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:none;border:none;color:var(--text-primary);font-size:14px;cursor:pointer;width:100%;text-align:left;transition:background-color var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none}.context-menu-item:hover:not(.disabled){background:var(--glass-bg-light)}.context-menu-item:active:not(.disabled){background:var(--glass-bg-lighter)}.context-menu-item.disabled{opacity:.5;cursor:not-allowed;color:var(--text-muted)}.context-menu-item svg,.context-menu-item i{flex-shrink:0;width:16px;height:16px;font-size:14px}.context-menu-separator{height:1px;background:var(--glass-border);margin:var(--space-xs) 0;border:none}.context-menu-header{padding:var(--space-xs) var(--space-md);color:var(--text-muted);font-size:12px;font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.5px;-webkit-user-select:none;user-select:none}.context-menu-item.has-submenu:after{content:"▶";margin-left:auto;font-size:10px;color:var(--text-muted)}.context-menu-shortcut{margin-left:auto;color:var(--text-muted);font-size:12px;font-family:monospace}.context-menu-item.danger{color:var(--color-accent-red)}.context-menu-item.danger:hover:not(.disabled){background:#ff5f571a;color:var(--color-accent-red)}.context-menu-item.primary{color:var(--color-primary);font-weight:var(--font-medium)}.context-menu-item.primary:hover:not(.disabled){background:#0078d41a;color:var(--color-primary)}.context-menu-item.checkable{position:relative;padding-left:calc(var(--space-md) + 20px)}.context-menu-item.checkable.checked:before{content:"✓";position:absolute;left:var(--space-md);color:var(--color-primary);font-size:12px;font-weight:var(--font-bold)}.context-menu-item.radio{position:relative;padding-left:calc(var(--space-md) + 20px)}.context-menu-item.radio.selected:before{content:"•";position:absolute;left:var(--space-md);color:var(--color-primary);font-size:16px;line-height:1}.context-menu-item-content{display:flex;align-items:center;gap:var(--space-sm);flex:1;min-width:0}.context-menu-item-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context-menu-item-description{color:var(--text-muted);font-size:12px;margin-top:2px}.context-menu.align-right{transform-origin:top right}.context-menu.align-left{transform-origin:top left}.context-menu.align-bottom{transform-origin:bottom center}.context-menu-submenu{position:absolute;left:100%;top:0;margin-left:var(--space-xs)}.context-menu-submenu.align-left{left:auto;right:100%;margin-left:0;margin-right:var(--space-xs)}@media (max-width: 768px){.context-menu{min-width:200px;font-size:16px}.context-menu-item{padding:var(--space-md) var(--space-md)}.context-menu-item svg,.context-menu-item i{width:18px;height:18px;font-size:16px}}@media (hover: none) and (pointer: coarse){.context-menu-item{padding:var(--space-md) var(--space-md);min-height:44px}}.dialog-backdrop,.confirm-dialog-backdrop{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(var(--glass-blur-subtle));backdrop-filter:blur(var(--glass-blur-subtle));display:flex;align-items:center;justify-content:center;z-index:var(--z-dialogs);animation:fadeIn var(--transition-normal) ease-out}.dialog,.confirm-dialog{background:linear-gradient(135deg,#282828fa,#1e1e1efa);border:1px solid var(--glass-border);border-radius:var(--radius-xl);min-width:400px;max-width:90vw;max-height:90vh;box-shadow:var(--shadow-xl);animation:slideUp .3s ease-out;overflow:hidden;-webkit-backdrop-filter:blur(var(--glass-blur-heavy));backdrop-filter:blur(var(--glass-blur-heavy))}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.dialog-header,.confirm-dialog-header{padding:var(--space-lg);border-bottom:1px solid var(--glass-border);display:flex;align-items:center;justify-content:space-between}.dialog-title-wrapper,.confirm-dialog-title-wrapper{display:flex;align-items:center;gap:var(--space-sm)}.dialog-title,.confirm-dialog-title{color:var(--text-primary);font-size:18px;font-weight:var(--font-semibold);margin:0}.dialog-icon,.confirm-dialog-icon-warning{color:var(--color-accent-yellow);font-size:20px}.confirm-dialog-icon-info{color:var(--color-primary);font-size:20px}.confirm-dialog-icon-question{color:#8b5cf6;font-size:20px}.confirm-dialog-icon-error{color:var(--color-accent-red);font-size:20px}.confirm-dialog-icon-success{color:var(--color-accent-green);font-size:20px}.dialog-close,.confirm-dialog-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--space-xs);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all var(--transition-normal);font-size:16px}.dialog-close:hover,.confirm-dialog-close:hover{background:var(--glass-bg-light);color:var(--text-primary)}.dialog-content,.confirm-dialog-content{padding:var(--space-lg);max-height:60vh;overflow-y:auto}.dialog-message,.confirm-dialog-message{color:var(--text-secondary);font-size:15px;line-height:1.5;margin:0}.dialog-footer,.confirm-dialog-footer{padding:var(--space-md) var(--space-lg);border-top:1px solid var(--glass-border);display:flex;justify-content:flex-end;gap:var(--space-sm)}.dialog-button,.confirm-dialog-button{padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);font-size:14px;font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-normal);border:none;min-width:80px}.dialog-button-cancel,.confirm-dialog-button-cancel{background:var(--glass-bg-light);color:var(--text-secondary);border:1px solid var(--glass-border)}.dialog-button-cancel:hover,.confirm-dialog-button-cancel:hover{background:var(--glass-bg-lighter);border-color:var(--glass-border-hover);color:var(--text-primary)}.dialog-button-confirm,.confirm-dialog-button-confirm{background:var(--color-primary);color:var(--text-primary)}.dialog-button-confirm:hover,.confirm-dialog-button-confirm:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-glow)}.dialog-button-danger{background:var(--color-accent-red);color:var(--text-primary)}.dialog-button-danger:hover{filter:brightness(1.1);transform:translateY(-1px)}.dialog-button-success{background:var(--color-accent-green);color:var(--text-primary)}.dialog-button-success:hover{filter:brightness(1.1);transform:translateY(-1px)}.dialog.loading .dialog-content{display:flex;align-items:center;justify-content:center;gap:var(--space-md);padding:var(--space-2xl)}.dialog-spinner{width:24px;height:24px;border:2px solid var(--glass-border);border-top-color:var(--color-primary);border-radius:var(--radius-full);animation:spin 1s linear infinite}.dialog-loading-text{color:var(--text-primary);font-size:16px}.dialog-form{display:flex;flex-direction:column;gap:var(--space-md)}.dialog-form-group{display:flex;flex-direction:column;gap:var(--space-xs)}.dialog-form-label{color:var(--text-primary);font-size:14px;font-weight:var(--font-medium)}.dialog-form-input,.dialog-form-textarea,.dialog-form-select{padding:var(--space-sm) var(--space-md);background:var(--glass-bg-light);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;transition:all var(--transition-normal)}.dialog-form-input:focus,.dialog-form-textarea:focus,.dialog-form-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #0078d433}.dialog-form-textarea{resize:vertical;min-height:80px}.dialog-form-error{color:var(--color-accent-red);font-size:12px;margin-top:var(--space-xs)}.dialog.alert .dialog-content{text-align:center}.dialog.alert .dialog-icon{font-size:48px;margin-bottom:var(--space-md)}.dialog.alert .dialog-message{font-size:16px;margin-bottom:var(--space-lg)}.dialog.prompt .dialog-form-input{width:100%;margin-top:var(--space-md)}@media (max-width: 768px){.dialog,.confirm-dialog{min-width:320px;width:95vw;margin:var(--space-md)}.dialog-header,.confirm-dialog-header,.dialog-content,.confirm-dialog-content,.dialog-footer,.confirm-dialog-footer{padding:var(--space-md)}.dialog-footer,.confirm-dialog-footer{flex-direction:column-reverse}.dialog-button,.confirm-dialog-button{width:100%;padding:var(--space-md)}}@media (prefers-reduced-motion: reduce){.dialog,.confirm-dialog,.dialog-backdrop,.confirm-dialog-backdrop{animation:none}}.login-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;background:radial-gradient(ellipse at center,#1a1a3e,#0a0a2e 40%,#000),linear-gradient(45deg,#000014,#003,#000,#012,#000);display:flex;align-items:center;justify-content:center;z-index:var(--z-dialogs);overflow:hidden}.login-background{position:absolute;inset:0}.login-background:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(2px 2px at 20px 30px,rgba(255,255,255,.8),transparent),radial-gradient(2px 2px at 40px 70px,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 90px 40px,rgba(255,255,255,.9),transparent),radial-gradient(1px 1px at 130px 80px,rgba(255,255,255,.7),transparent),radial-gradient(2px 2px at 160px 30px,rgba(255,255,255,.8),transparent);background-size:200px 100px;animation:starsMove 20s linear infinite}.login-background:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(1px 1px at 50px 50px,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 100px 100px,rgba(255,255,255,.3),transparent),radial-gradient(1px 1px at 150px 150px,rgba(255,255,255,.7),transparent),radial-gradient(2px 2px at 200px 200px,rgba(255,255,255,.4),transparent),radial-gradient(1px 1px at 250px 250px,rgba(255,255,255,.6),transparent);background-size:300px 300px;animation:starsMove 35s linear infinite reverse}@keyframes starsMove{0%{transform:translate(0) translateY(0);opacity:1}50%{opacity:.3}to{transform:translate(-200px) translateY(-200px);opacity:1}}.login-time-display{position:absolute;bottom:100px;left:60px;color:#ffffffe6;text-align:left;text-shadow:0 0 20px rgba(255,255,255,.5),0 0 40px rgba(135,206,255,.3)}.login-time{font-size:72px;font-weight:200;line-height:1;margin-bottom:var(--space-sm);background:linear-gradient(45deg,#fff,#87ceeb,#fff);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-size:200% 200%;animation:shimmer 3s ease-in-out infinite}.login-date{font-size:24px;font-weight:300;color:#fffc;text-shadow:0 0 10px rgba(135,206,255,.5)}@keyframes shimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.login-card{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:2px solid rgba(255,255,255,.3);border-radius:20px;padding:var(--space-lg) var(--space-xl);width:400px;box-shadow:0 0 50px #87ceff4d,0 20px 40px #0000004d,inset 0 1px #ffffffe6;animation:slideIn .6s ease-out,cardGlow 4s ease-in-out infinite;position:relative}.login-card:before{content:"";position:absolute;inset:-2px;background:linear-gradient(45deg,#87ceff80,#fff3,#87ceff80,#fff3);border-radius:22px;z-index:-1;animation:borderGlow 3s linear infinite}@keyframes cardGlow{0%,to{box-shadow:0 0 50px #87ceff4d,0 20px 40px #0000004d,inset 0 1px #ffffffe6}50%{box-shadow:0 0 80px #87ceff80,0 25px 50px #0006,inset 0 1px #fff}}@keyframes borderGlow{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}@keyframes slideIn{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}.login-form{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);position:relative}.login-logo{display:flex;align-items:center;justify-content:center;margin-bottom:calc(var(--space-xs) * .6);height:140px}.login-logo img{max-width:420px;max-height:140px;width:auto;height:auto}.login-title{color:#333;font-size:28px;font-weight:500;margin:0;text-align:center}.login-subtitle{color:#666;font-size:16px;margin:0;text-align:center}.login-input-group{position:relative;width:100%}.login-input{width:100%;padding:var(--space-md) var(--space-lg);background:#ffffffe6;border:2px solid rgba(200,200,200,.5);border-radius:12px;color:#333;font-size:16px;transition:all .3s ease;outline:none}.login-input:focus{border-color:#87ceffcc;background:#fff;box-shadow:0 0 0 3px #87ceff33,0 0 20px #87ceff4d}.login-input::placeholder{color:#999}.login-input-error{border-color:#ff6b6bcc!important;background:#ff6b6b0d!important}.login-input-error:focus{border-color:#ff6b6b!important;box-shadow:0 0 0 3px #ff6b6b33,0 0 20px #ff6b6b4d!important}.login-input-toggle{position:absolute;right:var(--space-md);top:50%;transform:translateY(-50%);background:none;border:none;color:#666;cursor:pointer;padding:var(--space-xs);border-radius:8px;transition:all .3s ease}.login-input-toggle:hover{color:#333;background:#87ceff1a}.login-button{width:100%;padding:var(--space-md) var(--space-lg);background:linear-gradient(45deg,#4a90e2,#87ceeb,#4a90e2);border:none;border-radius:12px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);transition:all .3s ease;position:relative;overflow:hidden;min-height:52px;box-shadow:0 4px 15px #87ceff66}.login-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.login-button:hover:not(:disabled){background:linear-gradient(45deg,#3a80d2,#77bedb,#3a80d2);transform:translateY(-2px);box-shadow:0 8px 25px #87ceff99}.login-button:hover:not(:disabled):before{left:100%}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-loading-overlay{position:absolute;top:calc(var(--space-lg) * -1);left:calc(var(--space-xl) * -1);right:calc(var(--space-xl) * -1);bottom:calc(var(--space-lg) * -1);background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-xl);z-index:10}.login-spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.3);border-top:3px solid white;border-radius:50%;animation:spin 1s linear infinite}.login-back-arrow{position:absolute;top:0;left:0;background:#fffc;border:2px solid rgba(135,206,255,.3);color:#666;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;z-index:10}.login-back-arrow:hover{background:#fff;border-color:#87ceff99;color:#333;transform:translate(-2px);box-shadow:0 4px 10px #87ceff4d}.login-error{color:#ff6b6b;font-size:14px;text-align:center;padding:var(--space-sm) var(--space-md);background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);border-radius:var(--radius-md);width:100%;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.login-bottom{position:absolute;bottom:30px;left:50%;transform:translate(-50%);text-align:center}.login-hint{color:var(--text-secondary);font-size:14px;padding:var(--space-sm) var(--space-lg);background:var(--glass-bg-light);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(var(--glass-blur-light));backdrop-filter:blur(var(--glass-blur-light));border:1px solid var(--glass-border)}.login-hint strong{color:#ffeb3b;font-weight:var(--font-semibold)}@media (max-width: 768px){.login-card{width:90%;max-width:400px;padding:var(--space-xl) var(--space-lg)}.login-time{font-size:48px}.login-date{font-size:18px}.login-time-display{bottom:200px;left:var(--space-lg)}.login-bottom{bottom:var(--space-lg);left:var(--space-lg);right:var(--space-lg);transform:none}}.edge-nodes-widget{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-md);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(var(--glass-blur-light));backdrop-filter:blur(var(--glass-blur-light));transition:all var(--transition-normal);background:var(--glass-bg-light)}.edge-nodes-widget:hover{border-color:var(--glass-border-hover);background:var(--glass-bg-lighter);transform:translateY(-1px)}.edge-nodes-icon{display:flex;align-items:center;font-size:14px;transition:color var(--transition-normal)}.edge-nodes-count{display:flex;align-items:baseline;gap:2px;min-width:40px}.edge-nodes-active{font-size:16px;font-weight:var(--font-bold);color:var(--text-primary);line-height:1}.edge-nodes-total{font-size:11px;color:var(--text-tertiary);font-weight:var(--font-medium);line-height:1}.edge-nodes-details{display:flex;flex-direction:column;gap:2px}.edge-nodes-label{font-size:12px;font-weight:var(--font-bold);color:var(--text-primary);line-height:1}.edge-nodes-status{font-size:10px;color:var(--text-tertiary);line-height:1;display:flex;align-items:center;gap:4px}@keyframes pulse-glow{0%,to{opacity:1;filter:drop-shadow(0 0 2px currentColor)}50%{opacity:.6;filter:drop-shadow(0 0 4px currentColor)}}.edge-nodes-status svg{animation:pulse-glow 2s ease-in-out infinite}@media (max-width: 768px){.edge-nodes-widget{gap:var(--space-xs);padding:var(--space-xs)}.edge-nodes-details{display:none}.edge-nodes-count{min-width:30px}}.app-container{height:100%;display:flex;flex-direction:column;background:var(--glass-bg-dark);color:var(--text-primary)}.app-header{padding:var(--space-md);border-bottom:1px solid var(--glass-border)}.app-title{font-size:1.25rem;font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.app-subtitle{font-size:.875rem;color:var(--text-tertiary);margin-top:var(--space-xs)}.app-content{flex:1;padding:var(--space-md);overflow-y:auto}.app-footer{padding:var(--space-md);border-top:1px solid var(--glass-border);display:flex;justify-content:flex-end;gap:var(--space-sm)}.app-form{display:flex;flex-direction:column;gap:var(--space-md)}.app-form-group{display:flex;flex-direction:column;gap:var(--space-xs)}.app-form-label{font-size:.875rem;color:var(--text-secondary);font-weight:var(--font-medium)}.app-form-input{padding:var(--space-sm);background:var(--glass-bg-light);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-primary);transition:all var(--transition-fast)}.app-form-input:focus{background:var(--glass-bg-lighter);border-color:var(--color-primary);outline:none}.app-list{display:flex;flex-direction:column;gap:var(--space-xs)}.app-list-item{padding:var(--space-sm) var(--space-md);background:var(--glass-bg-light);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.app-list-item:hover{background:var(--glass-bg-lighter);transform:translate(2px)}.app-list-item.selected{background:var(--color-primary);color:#fff}.app-toolbar{display:flex;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--glass-bg-darker);border-bottom:1px solid var(--glass-border)}.app-toolbar-button{padding:var(--space-xs) var(--space-sm);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.app-toolbar-button:hover{background:var(--glass-bg-light);border-color:var(--glass-border)}.app-grid{display:grid;gap:var(--space-md)}.app-grid-2{grid-template-columns:repeat(2,1fr)}.app-grid-3{grid-template-columns:repeat(3,1fr)}.app-grid-auto{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.app-card{padding:var(--space-md);background:var(--glass-bg-light);border:1px solid var(--glass-border);border-radius:var(--radius-lg);transition:all var(--transition-normal)}.app-card:hover{background:var(--glass-bg-lighter);transform:translateY(-2px);box-shadow:var(--shadow-md)}@media (max-width: 768px){.app-grid-2,.app-grid-3{grid-template-columns:1fr}.app-content{padding:var(--space-sm)}}.desktop{z-index:var(--z-base)}.desktop-icons{z-index:var(--z-desktop-icons)}.window{z-index:var(--z-windows)}.window.active{z-index:var(--z-window-active)}.taskbar{z-index:var(--z-taskbar)}.start-menu{z-index:var(--z-start-menu)}.context-menu{z-index:var(--z-context-menu)}.notification-panel{z-index:var(--z-notifications)}.notification-toast{z-index:calc(var(--z-notifications) + 100)}.dialog,.confirm-dialog{z-index:var(--z-dialogs)}.slide-in-right{animation:slideInFromRight .3s ease-out}.slide-in-left{animation:slideInFromLeft .3s ease-out}.slide-in-top{animation:slideInFromTop .3s ease-out}.slide-in-bottom{animation:slideInFromBottom .3s ease-out}.fade-in{animation:fadeIn .3s ease-out}.fade-out{animation:fadeOut .3s ease-out}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (prefers-contrast: high){:root{--glass-bg-dark: rgba(0, 0, 0, .95);--glass-bg-light: rgba(255, 255, 255, .9);--glass-border: rgba(255, 255, 255, .8);--text-primary: #ffffff;--text-secondary: #f0f0f0}}@media print{.taskbar,.start-menu,.notification-panel,.context-menu,.dialog,.login-screen{display:none!important}.desktop{background:#fff!important}.window{box-shadow:none!important;border:1px solid #000!important;background:#fff!important;color:#000!important}}
