.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-container{background:var(--window-content-bg);border-radius:var(--window-border-radius);box-shadow:var(--aero-shadow);border:1px solid var(--aero-glass-border);max-width:500px;width:90%;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .2s ease-out;color:var(--text-color);overflow:hidden}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{background:var(--aero-glass-bg);backdrop-filter:blur(var(--aero-glass-blur));-webkit-backdrop-filter:blur(var(--aero-glass-blur));padding:10px 16px;border-top:1px solid rgba(255,255,255,.4);border-bottom:1px solid rgba(0,0,0,.2);display:flex;justify-content:space-between;align-items:center;position:relative}.modal-header:before{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(to bottom,#fff3,#ffffff0d);pointer-events:none;border-radius:var(--window-border-radius) var(--window-border-radius) 0 0}.modal-header h2,.modal-title{color:var(--light-text);font-size:.9375rem;font-weight:600;margin:0}.modal-close{background:var(--control-default);border:1px solid rgba(0,0,0,.3);width:20px;height:20px;border-radius:50%;color:transparent;cursor:pointer;position:relative;padding:0;flex-shrink:0;transition:all .2s;box-shadow:inset 0 1px #ffffff4d,0 1px 2px #0003;z-index:1}.modal-close:before,.modal-close:after{content:"";position:absolute;top:50%;left:50%;width:10px;height:2px;background:var(--light-text);transform-origin:center}.modal-close:before{transform:translate(-50%,-50%) rotate(45deg)}.modal-close:after{transform:translate(-50%,-50%) rotate(-45deg)}.modal-close:hover{background:var(--control-close);box-shadow:inset 0 1px #fff6,0 0 8px #ed6a5e99}.modal-body{padding:1.5rem;overflow-y:auto;color:var(--text-color)}.modal-footer{padding:calc(var(--spacing-unit) * 1.5);border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:calc(var(--spacing-unit) * .75)}.modal-button{padding:calc(var(--spacing-unit) * .5) calc(var(--spacing-unit) * 1.5);border:none;border-radius:var(--border-radius);cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s}.modal-button-primary{background-color:var(--primary-color);color:#fff}.modal-button-primary:hover{opacity:.9}.modal-button-secondary{background-color:var(--light-color);color:var(--text-color);border:1px solid var(--border-color)}.modal-button-secondary:hover{background-color:var(--border-color)}.modal-button-danger{background-color:var(--danger-color);color:#fff}.modal-button-danger:hover{opacity:.9}.modal-success{border-top:3px solid var(--success-color)}.modal-error{border-top:3px solid var(--danger-color)}.modal-warning{border-top:3px solid var(--warning-color)}.modal-info{border-top:3px solid var(--info-color)}.toast-container{position:fixed;top:1rem;right:1rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem;pointer-events:none}.toast{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:var(--card-bg, #fff);border-radius:var(--border-radius, 8px);box-shadow:0 4px 12px #00000026;min-width:280px;max-width:420px;pointer-events:auto;animation:toast-enter .3s ease-out;border-left:4px solid}.toast-exit{animation:toast-exit .3s ease-in forwards}@keyframes toast-enter{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toast-exit{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.toast-success{border-left-color:var(--success-color)}.toast-success .toast-icon{color:var(--success-color)}.toast-error{border-left-color:var(--danger-color)}.toast-error .toast-icon{color:var(--danger-color)}.toast-warning{border-left-color:var(--warning-color)}.toast-warning .toast-icon{color:var(--warning-color)}.toast-info{border-left-color:var(--info-color)}.toast-info .toast-icon{color:var(--info-color)}.toast-icon{flex-shrink:0;width:1.25rem;height:1.25rem}.toast-icon svg{width:100%;height:100%}.toast-message{flex:1;font-size:.9375rem;color:var(--text-color, #333);line-height:1.4}.toast-close{flex-shrink:0;width:1.5rem;height:1.5rem;padding:0;border:none;background:transparent;cursor:pointer;color:var(--secondary-color, #666);opacity:.6;transition:opacity .2s;display:flex;align-items:center;justify-content:center}.toast-close:hover{opacity:1}.toast-close svg{width:1rem;height:1rem}@media (max-width: 480px){.toast-container{left:1rem;right:1rem;top:auto;bottom:1rem}.toast{min-width:auto;max-width:none;animation-name:toast-enter-mobile}.toast-exit{animation-name:toast-exit-mobile}@keyframes toast-enter-mobile{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes toast-exit-mobile{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}}.loading-spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(var(--spacing-unit) * 2)}.loading-spinner{display:flex;align-items:center;justify-content:center}.spinner{border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}.spinner-small .spinner{width:20px;height:20px;border-width:2px}.spinner-medium .spinner{width:40px;height:40px;border-width:3px}.spinner-large .spinner{width:60px;height:60px;border-width:4px}.loading-message{margin-top:var(--spacing-unit);color:var(--secondary-color);font-size:.9rem}@keyframes spin{to{transform:rotate(360deg)}}.desktop{min-height:100vh;background-color:var(--desktop-bg);color:var(--light-text);background-image:radial-gradient(ellipse at 30% 20%,rgba(92,61,138,.15) 0%,transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(45,27,78,.2) 0%,transparent 50%),repeating-linear-gradient(45deg,transparent,transparent 2px,rgba(255,255,255,.015) 2px,rgba(255,255,255,.015) 4px);background-size:cover;background-position:center;background-attachment:fixed}.icon-dock{position:fixed;left:0;top:0;bottom:0;width:var(--dock-width);background:var(--aero-glass-bg);backdrop-filter:blur(var(--aero-glass-blur));-webkit-backdrop-filter:blur(var(--aero-glass-blur));display:flex;flex-direction:column;justify-content:space-between;padding:16px 0;z-index:100;box-shadow:2px 0 16px #0006,inset -1px 0 0 var(--aero-glass-border);border-right:1px solid var(--aero-glass-border)}.dock-items{display:flex;flex-direction:column;gap:8px}.dock-footer{display:flex;flex-direction:column;gap:8px;border-top:1px solid rgba(255,255,255,.1);padding-top:16px}.dock-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;margin:0 8px;border-radius:8px;color:var(--light-text);text-decoration:none;transition:all .15s ease;background:transparent;border:none;cursor:pointer;font-family:inherit}.dock-item:hover{background:#ffffff26;transform:scale(1.08);box-shadow:0 0 12px #9b7bc780}.dock-item.active{background:linear-gradient(to bottom,#9b7bc799,#5c3d8acc);box-shadow:0 2px 12px #5c3d8a99,inset 0 1px #ffffff4d}.dock-label{font-size:.6875rem;font-weight:500;text-align:center}.dock-logout{color:var(--control-close)}.dock-logout:hover{background:#ed6a5e33}@media (max-width: 768px){.icon-dock{position:fixed;left:0;right:0;top:auto;bottom:0;width:100%;height:70px;flex-direction:row;justify-content:space-around;padding:8px 0;box-shadow:0 -4px 16px #0006,inset 0 1px 0 var(--aero-glass-border);border-right:none;border-top:1px solid var(--aero-glass-border)}.dock-items{flex-direction:row;flex:1;justify-content:space-around;gap:0}.dock-footer{flex-direction:row;border-top:none;border-left:1px solid rgba(255,255,255,.1);padding-top:0;padding-left:8px;gap:4px}.dock-item{padding:8px 4px;margin:0}.dock-label{font-size:.5625rem}}.window{background:var(--window-content-bg);border-radius:var(--window-border-radius);box-shadow:var(--aero-shadow);overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--aero-glass-border);transition:box-shadow .3s ease}.window:hover{box-shadow:var(--aero-shadow),var(--aero-glow-spread)}.window-titlebar{height:var(--titlebar-height);background:var(--aero-glass-bg);backdrop-filter:blur(var(--aero-glass-blur));-webkit-backdrop-filter:blur(var(--aero-glass-blur));display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-top:1px solid rgba(255,255,255,.4);border-bottom:1px solid rgba(0,0,0,.2);-webkit-user-select:none;user-select:none;position:relative}.window-titlebar:before{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(to bottom,#fff3,#ffffff0d);pointer-events:none;border-radius:var(--window-border-radius) var(--window-border-radius) 0 0}.window-title{color:#fff;font-weight:600;font-size:.875rem;letter-spacing:.02em;text-shadow:0 1px 2px rgba(0,0,0,.5);position:relative;z-index:1;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:12px}.window-controls{display:flex;gap:8px;position:relative;z-index:1;flex-shrink:0}.window-control{width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.3);cursor:default;background:var(--control-default);transition:all .2s ease;box-shadow:inset 0 1px #ffffff4d,0 1px 2px #0003}.window-control.minimize:hover{background:var(--control-minimize);box-shadow:inset 0 1px #fff6,0 0 8px #f4bf4f99}.window-control.maximize:hover{background:var(--control-maximize);box-shadow:inset 0 1px #fff6,0 0 8px #61c55499}.window-control.close:hover{background:var(--control-close);box-shadow:inset 0 1px #fff6,0 0 8px #ed6a5e99}.window-menubar{height:28px;background:linear-gradient(to bottom,#e8dff5f2,#9b7bc74d);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--deep-purple);display:flex;align-items:center;padding:0 12px;gap:16px;font-size:.8125rem;color:var(--dark-text)}.window-body{flex:1;padding:var(--spacing-unit);overflow:auto;color:#2a2a3a}.not-found-content{margin-left:var(--dock-width);padding:40px 24px 24px;display:flex;justify-content:center;align-items:flex-start;min-height:100vh}.not-found-window{max-width:500px;text-align:center}.not-found-code{font-size:6rem;font-weight:700;color:var(--primary-color);margin:0;line-height:1}.not-found-title{font-size:1.5rem;color:var(--text-color);margin:var(--spacing-unit) 0}.not-found-message{color:var(--secondary-color);margin-bottom:calc(var(--spacing-unit) * 2)}.not-found-message code{background-color:var(--light-color);padding:.2em .4em;border-radius:var(--border-radius);font-size:.9em}.not-found-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:calc(var(--spacing-unit) * .75)}.not-found-link,.not-found-button{display:inline-block;padding:calc(var(--spacing-unit) * .75) calc(var(--spacing-unit) * 1.5);background-color:var(--primary-color);color:#fff;text-decoration:none;border-radius:var(--border-radius);font-weight:500;transition:opacity .2s;border:none;cursor:pointer;font-size:1rem}.not-found-button{background-color:var(--secondary-color)}.not-found-link:hover,.not-found-button:hover{opacity:.9}@media (max-width: 768px){.not-found-content{margin-left:0;margin-bottom:70px;padding:24px 16px}}@media (max-width: 480px){.not-found-code{font-size:4rem}.not-found-title{font-size:1.25rem}.not-found-actions{flex-direction:column;align-items:center}.not-found-link,.not-found-button{width:100%;max-width:200px;text-align:center}}*{margin:0;padding:0;box-sizing:border-box}:root{--deep-purple: #2d1b4e;--mid-purple: #5c3d8a;--light-purple: #9b7bc7;--pale-purple: #e8dff5;--desktop-bg: #1a1a2e;--window-content-bg: #f5f3f7;--dark-text: #2a2a3a;--light-text: #e8e8f0;--primary-color: var(--mid-purple);--secondary-color: var(--deep-purple);--success-color: #28a745;--danger-color: #dc3545;--warning-color: #ffc107;--info-color: #17a2b8;--light-color: var(--pale-purple);--dark-color: var(--deep-purple);--background-color: var(--window-content-bg);--text-color: var(--dark-text);--text-secondary: #6b6b7b;--border-color: var(--deep-purple);--titlebar-height: 32px;--titlebar-gradient: linear-gradient(to bottom, var(--mid-purple), var(--deep-purple));--window-shadow: 0 6px 20px rgba(0, 0, 0, .35);--window-border-radius: 6px;--panel-height: 36px;--panel-bg: var(--desktop-bg);--dock-width: 80px;--spacing-unit: 1rem;--border-radius: .25rem;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;--accent: var(--mid-purple);--accent-rgb: 92, 61, 138;--border: var(--border-color);--surface: var(--window-content-bg);--surface-elevated: var(--pale-purple);--text-primary: var(--text-color);--success-rgb: 40, 167, 69;--danger-rgb: 220, 53, 69;--error-rgb: 220, 53, 69;--info-rgb: 23, 162, 184;--warning-rgb: 255, 193, 7;--success-hover: #218838;--danger-hover: #c82333;--info-hover: #138496;--warning-hover: #e0a800;--primary-hover: #0056b3;--success-light: #38c952;--danger-light: #f06565;--info-light: #3bc5d9;--neutral-light: #7b7b8b;--control-default: #6b6b7b;--control-close: #ed6a5e;--control-minimize: #f4bf4f;--control-maximize: #61c554;--neutral-gray: #6b6b7b;--neutral-gray-hover: #5a5a6a;--input-bg: #ffffff;--link-on-dark: #4da6ff;--video-bg: #000000;--aero-glass-bg: rgba(45, 27, 78, .7);--aero-glass-border: rgba(255, 255, 255, .25);--aero-glass-blur: 12px;--aero-glow-color: rgba(155, 123, 199, .5);--aero-glow-spread: 0 0 20px var(--aero-glow-color);--aero-reflection: linear-gradient( to bottom, rgba(255, 255, 255, .3) 0%, rgba(255, 255, 255, .1) 50%, transparent 50%, transparent 100% );--aero-shadow: 0 8px 32px rgba(0, 0, 0, .4), 0 0 1px rgba(255, 255, 255, .3) inset}body{font-family:var(--font-family);background-color:var(--background-color);color:var(--text-color);line-height:1.6}a{color:var(--primary-color);text-decoration:none}a:hover{text-decoration:underline}button{font-family:var(--font-family);cursor:pointer}input,textarea,select{font-family:var(--font-family)}.form-group{margin-bottom:calc(var(--spacing-unit) * 2)}.form-group label{display:block;margin-bottom:calc(var(--spacing-unit) * .5);font-weight:500;color:var(--text-color)}.form-input{width:100%;padding:calc(var(--spacing-unit) * .75);border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:1rem;background-color:var(--background-color);color:var(--text-color);font-family:var(--font-family)}.form-input::placeholder{color:var(--secondary-color);opacity:.7}.form-input:focus{outline:none;border-color:var(--mid-purple);box-shadow:inset 0 2px 4px #0000001a,0 0 0 3px #9b7bc766,0 0 12px #9b7bc74d}input[type=text],input[type=email],input[type=password],input[type=search],input[type=url],input[type=number],textarea,select{width:100%;padding:.5rem .75rem;font-size:.875rem;border:1px solid var(--deep-purple);border-radius:4px;background:var(--input-bg);color:var(--dark-text);box-shadow:inset 0 2px 4px #0000001a;transition:border-color .15s ease,box-shadow .15s ease}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--mid-purple);box-shadow:inset 0 2px 4px #0000001a,0 0 0 3px #9b7bc766,0 0 12px #9b7bc74d}.required{color:var(--danger-color)}.button,button[type=submit],.button-primary,.button-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;border:1px solid rgba(0,0,0,.3);border-radius:4px;cursor:pointer;transition:all .2s ease;background:linear-gradient(to bottom,rgba(255,255,255,.25) 0%,rgba(255,255,255,.1) 50%,transparent 50%,rgba(0,0,0,.1) 100%),var(--titlebar-gradient);color:var(--light-text);box-shadow:0 2px 4px #0000004d,inset 0 1px #ffffff4d;text-shadow:0 1px 2px rgba(0,0,0,.3);position:relative;overflow:hidden}.button:hover,button[type=submit]:hover,.button-primary:hover{background:linear-gradient(to bottom,rgba(255,255,255,.35) 0%,rgba(255,255,255,.15) 50%,transparent 50%,rgba(0,0,0,.05) 100%),linear-gradient(to bottom,var(--light-purple),var(--mid-purple));box-shadow:0 4px 8px #0000004d,0 0 12px #9b7bc766,inset 0 1px #fff6}.button:active,button[type=submit]:active,.button-primary:active{box-shadow:inset 0 2px 6px #0006;background:linear-gradient(to bottom,rgba(0,0,0,.1) 0%,transparent 50%,rgba(255,255,255,.1) 100%),var(--titlebar-gradient)}.button:focus,button[type=submit]:focus,.button-primary:focus{outline:none;box-shadow:0 0 0 3px #9b7bc780,0 2px 4px #0000004d,inset 0 1px #ffffff4d}.button:disabled{opacity:.6;cursor:not-allowed}.button-secondary{background:linear-gradient(to bottom,rgba(255,255,255,.25) 0%,rgba(255,255,255,.1) 50%,transparent 50%,rgba(0,0,0,.1) 100%),linear-gradient(to bottom,var(--neutral-gray),var(--neutral-gray-hover))}.button-secondary:hover{background:linear-gradient(to bottom,rgba(255,255,255,.35) 0%,rgba(255,255,255,.15) 50%,transparent 50%,rgba(0,0,0,.05) 100%),linear-gradient(to bottom,var(--neutral-light),var(--neutral-gray));box-shadow:0 4px 8px #0000004d,0 0 10px #6b6b7b66,inset 0 1px #fff6}.button-success{background:linear-gradient(to bottom,rgba(255,255,255,.25) 0%,rgba(255,255,255,.1) 50%,transparent 50%,rgba(0,0,0,.1) 100%),linear-gradient(to bottom,var(--success-color),var(--success-hover));color:#fff}.button-success:hover{background:linear-gradient(to bottom,rgba(255,255,255,.35) 0%,rgba(255,255,255,.15) 50%,transparent 50%,rgba(0,0,0,.05) 100%),linear-gradient(to bottom,var(--success-light),var(--success-color));box-shadow:0 4px 8px #0000004d,0 0 12px #28a74580,inset 0 1px #fff6}.button-danger{background:linear-gradient(to bottom,rgba(255,255,255,.25) 0%,rgba(255,255,255,.1) 50%,transparent 50%,rgba(0,0,0,.1) 100%),linear-gradient(to bottom,var(--danger-color),var(--danger-hover))}.button-danger:hover{background:linear-gradient(to bottom,rgba(255,255,255,.35) 0%,rgba(255,255,255,.15) 50%,transparent 50%,rgba(0,0,0,.05) 100%),linear-gradient(to bottom,var(--danger-light),var(--danger-color));box-shadow:0 4px 8px #0000004d,0 0 12px #dc354580,inset 0 1px #fff6}.button-info{background:linear-gradient(to bottom,rgba(255,255,255,.25) 0%,rgba(255,255,255,.1) 50%,transparent 50%,rgba(0,0,0,.1) 100%),linear-gradient(to bottom,var(--info-color),var(--info-hover));color:#fff}.button-info:hover{background:linear-gradient(to bottom,rgba(255,255,255,.35) 0%,rgba(255,255,255,.15) 50%,transparent 50%,rgba(0,0,0,.05) 100%),linear-gradient(to bottom,var(--info-light),var(--info-color));box-shadow:0 4px 8px #0000004d,0 0 12px #17a2b880,inset 0 1px #fff6}.page-container{min-height:100vh;background-color:var(--background-color)}.page-header{background-color:var(--light-color);border-bottom:1px solid var(--border-color);padding:calc(var(--spacing-unit) * 1.5);display:flex;justify-content:space-between;align-items:center}.page-header h1{margin:0;font-size:1.5rem;color:var(--text-color)}.content-container{max-width:1200px;margin:0 auto;padding:calc(var(--spacing-unit) * 2)}
