.app-header{display:flex;justify-content:space-between;align-items:center;padding:15px 24px;background-color:var(--color-surface);border-bottom:1px solid var(--color-border);color:var(--color-text);box-shadow:0 2px 6px #ff004833}.name-placeholder{font-weight:700;font-size:1.4rem;color:var(--color-accent-light);cursor:pointer}.username-placeholder{font-weight:500;font-size:1rem;color:var(--color-accent);cursor:pointer;transition:color .2s ease,transform .2s ease}.username-placeholder:hover{color:var(--color-accent-light);transform:translateY(-1px)}.burger{display:none;background:none;border:none;font-size:1.8rem;color:var(--color-text);cursor:pointer}@media (max-width: 768px){.burger{display:flex;width:5%;justify-content:center}.name-placeholder{font-size:150%;width:30%}.sidebar{box-shadow:2px 0 12px #0006}.sidebar-list{margin-top:40px}}.app-footer{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background-color:var(--color-surface);border-top:1px solid var(--color-border);color:var(--color-text);font-size:.9rem;box-shadow:0 -2px 6px #ff004833;margin-top:auto}.app-footer a{color:var(--color-accent);text-decoration:none;font-weight:500;transition:color .2s ease,transform .2s ease}.app-footer a:hover{color:var(--color-accent-light);transform:translateY(-1px)}.login-page{display:flex;justify-content:center;align-items:center;height:100vh;width:100vw;background-color:var(--color-bg)}.login-card{padding:40px;border-radius:12px;box-shadow:0 0 25px #ff00484d;width:320px;text-align:center;background-color:var(--color-surface)}.login-header{font-size:1.8rem;margin-bottom:20px;color:var(--color-accent-light);font-weight:700;letter-spacing:1px}.login-card form{display:flex;flex-direction:column;gap:12px}.login-card label{text-align:left;font-size:.9rem;color:var(--color-text)}.login-card input{padding:10px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text);outline:none;transition:border-color .2s ease,box-shadow .2s ease}.login-card input:focus{border-color:var(--color-accent-light);box-shadow:0 0 8px var(--color-accent-light)}.login-card button{background:var(--color-accent);border:none;color:#fff;border-radius:6px;padding:10px;font-weight:600;cursor:pointer;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}.login-card button:hover{background:var(--color-accent-light);transform:translateY(-2px);box-shadow:0 0 10px var(--color-accent-light)}.message{margin-top:15px;padding:10px;border-radius:6px;font-size:.9rem;animation:fadeIn .3s ease}.message.success{background:#00ff801a;border:1px solid #2ce070;color:#2ce070}.message.error{background:#ff00481a;border:1px solid var(--color-accent-light);color:var(--color-accent-light)}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.main-page{padding:30px;max-width:1200px;margin:0 auto;color:var(--color-text)}.main-header h1{font-size:2rem;color:var(--color-accent-light);margin-bottom:10px}.main-description{font-size:1.1rem;color:var(--color-text);margin-bottom:30px}.main-instructions h2{color:var(--color-accent);margin-bottom:10px}.main-instructions ul{list-style:disc;margin-left:20px}.main-instructions li{margin-bottom:6px;color:var(--color-text)}.main-stats{display:flex;gap:20px;margin-top:30px;flex-wrap:wrap}.stat-card{background-color:var(--color-surface);border:1px solid var(--color-border);padding:20px;border-radius:10px;flex:1 1 200px;text-align:center;box-shadow:0 0 15px #ff004833;transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{transform:translateY(-3px);box-shadow:0 0 25px #ff004866}.stat-number{font-size:2rem;color:var(--color-accent-light);font-weight:700}.stat-label{margin-top:5px;font-size:.9rem;color:var(--color-text)}.me-page{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:20px;max-width:500px;margin:20px auto;color:var(--color-text)}.me-page h2{color:var(--color-accent-light);margin-bottom:15px}.error-message{color:var(--color-accent-light);text-align:center;margin-top:20px}.chat-page{padding:20px;font-family:inherit;color:var(--color-text)}.chat-window{border:1px solid var(--color-border);border-radius:10px;height:400px;overflow-y:auto;padding:10px;background-color:var(--color-surface);margin-bottom:15px;display:flex;flex-direction:column;gap:8px}.chat-message{padding:8px 12px;border-radius:8px;max-width:70%}.chat-sent{background-color:var(--color-accent);color:var(--color-text);align-self:flex-end}.chat-received{background-color:var(--color-border);color:var(--color-text);align-self:flex-start}.chat-sender{font-size:12px;font-weight:700;margin-bottom:2px}.chat-text{font-size:14px}.chat-empty{text-align:center;color:var(--color-text);margin-top:20px}.chat-input-container{display:flex;gap:8px}.chat-input-container input{flex:1 1 auto;padding:8px 10px;border-radius:8px;border:1px solid var(--color-border);font-size:14px}.chat-input-container button{padding:8px 12px;border-radius:8px;border:none;background-color:var(--color-accent);color:var(--color-text);cursor:pointer;font-weight:500;transition:background-color .2s}.chat-input-container button:hover{background-color:var(--color-accent-light)}.wishlist-page{padding:20px;color:var(--color-text)}.wishlist-page h2{color:var(--color-accent-light);margin-bottom:10px}.wishlist-page p{color:var(--color-text);opacity:.85;margin-bottom:20px}.wishlist-form{display:flex;align-items:center;flex-wrap:wrap;gap:10px;background-color:var(--color-surface);padding:12px 15px;border-radius:10px;border:1px solid var(--color-border);margin-bottom:25px}.wishlist-fields{display:flex;flex-wrap:wrap;gap:10px;flex:1}.wishlist-form input{padding:8px 10px;border-radius:6px;border:1px solid var(--color-border);background-color:var(--color-bg);color:var(--color-text);width:160px;font-size:.9em;transition:border-color .2s}.wishlist-form input:focus{border-color:var(--color-accent-light);outline:none}.wishlist-form button{background-color:var(--color-accent);color:#fff;border:none;border-radius:6px;padding:8px 14px;cursor:pointer;font-weight:600;transition:background-color .3s,transform .2s;align-self:stretch;width:10%}.wishlist-form button:hover{background-color:var(--color-accent-light);transform:translateY(-1px)}.wishlist-list{display:flex;flex-direction:column;gap:15px}.wishlist-item{background-color:var(--color-surface);padding:15px 20px;border-radius:10px;border:1px solid var(--color-border);box-shadow:0 0 10px #a000501a;transition:transform .2s,box-shadow .2s}.wishlist-item:hover{transform:translateY(-2px);box-shadow:0 0 15px #ff004833}.wishlist-item h3{margin:0 0 6px;color:var(--color-accent-light);font-size:1.1em}.wishlist-item p{margin:4px 0;font-size:.95em;color:var(--color-text)}.wishlist-item a{color:var(--color-accent-light);text-decoration:none}.wishlist-item a:hover{text-decoration:underline}.wishlist-actions{margin-top:10px;display:flex;gap:10px}.wishlist-actions button{background-color:var(--color-accent);border:none;border-radius:6px;padding:6px 10px;color:#fff;cursor:pointer;font-size:.9em;transition:background-color .3s}.wishlist-actions button:hover{background-color:var(--color-accent-light)}.wishlist-edit-form{display:flex;flex-wrap:wrap;gap:10px;background-color:var(--color-surface);padding:10px 15px;border-radius:10px;border:1px solid var(--color-border)}.wishlist-edit-form input{flex:1 1 150px;padding:8px;border-radius:6px;border:1px solid var(--color-border);background-color:var(--color-bg);color:var(--color-text)}.wishlist-edit-form input:focus{border-color:var(--color-accent-light);outline:none}.error-message{color:var(--color-accent-light);margin:15px 0}.toast{animation:fadeInOut 3s forwards}@keyframes fadeInOut{0%{opacity:0;transform:translateY(-10px)}10%,90%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}@media (max-width: 768px){.wishlist-form button,.wishlist-form input{width:100%}}.groups-page{background-color:var(--color-surface);padding:20px;border-radius:12px;max-width:700px;margin:20px auto;color:var(--color-text)}.groups-page h2{text-align:center;margin-bottom:20px;color:var(--color-accent-light)}.new-group{display:flex;gap:10px;margin-bottom:20px}.new-group input{flex:1;padding:8px;border-radius:6px;border:1px solid var(--color-border);background-color:var(--color-bg);color:var(--color-text)}.new-group button{background-color:var(--color-accent);color:#fff;border:none;border-radius:6px;padding:12px;cursor:pointer;width:20%}.new-group button:hover{background-color:var(--color-accent-light)}.groups-list{list-style:none;padding:0}.groups-list li{display:flex;justify-content:space-between;align-items:center;background-color:var(--color-bg);padding:10px;margin-bottom:8px;border-radius:6px}.groups-list li button:hover{background-color:var(--color-accent-light)}.groups-list li button{width:9rem;background-color:var(--color-accent);padding:7px 8px;margin:5px;font-size:.9rem}.modal li button{width:12rem;background-color:var(--color-accent);padding:7px 8px;margin:5px;font-size:.9rem}@media (max-width: 768px){.groups-list li button{width:90%;background-color:var(--color-accent);padding:7px 8px;font-size:90%;justify-content:right}.groups-list li div{display:flex;justify-content:space-between;align-items:center}.new-group button{width:12rem}}.invites-page{padding:24px;max-width:800px;margin:0 auto;color:var(--color-text)}.invites-page h2{font-size:1.8rem;color:var(--color-accent-light);margin-bottom:20px;border-bottom:2px solid var(--color-border);padding-bottom:8px}.invite-list{display:flex;flex-direction:column;gap:12px}.invite-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;transition:all .2s ease;box-shadow:0 0 6px #0000004d}.invite-card:hover{border-color:var(--color-accent-light);box-shadow:0 0 10px #a000504d;transform:translateY(-2px)}.invite-info{display:flex;flex-direction:column;gap:4px}.invite-info strong{color:var(--color-accent-light);font-size:1.1rem}.invite-info span{color:var(--color-text);opacity:.8;font-size:.9rem}.invite-actions{display:flex;gap:10px}.invite-actions button{border:none;padding:8px 14px;border-radius:8px;font-family:inherit;font-weight:600;cursor:pointer;transition:all .2s ease}.invite-actions .accept-btn{background-color:var(--color-accent);color:#fff}.invite-actions .accept-btn:hover{background-color:var(--color-accent-light);box-shadow:0 0 8px #ff004866}.invite-actions .reject-btn{background-color:transparent;color:var(--color-accent-light);border:1px solid var(--color-accent)}.invite-actions .reject-btn:hover{background-color:var(--color-accent);color:#fff}.invites-empty{text-align:center;color:var(--color-text);opacity:.7;padding:40px 0;font-size:1rem;font-style:italic;border:1px dashed var(--color-border);border-radius:10px;background-color:var(--color-surface)}.events-page{padding:20px;font-family:inherit;color:var(--color-text)}.events-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.events-header h2{margin:0;color:var(--color-text)}.events-header button{padding:.6em 1.2em;font-size:1em;font-weight:500;border-radius:8px;border:1px solid transparent;cursor:pointer;background-color:var(--color-accent);color:var(--color-text);transition:background-color .3s,border-color .3s;width:10%;height:10%}.events-header button:hover{background-color:var(--color-accent-light);border-color:var(--color-accent-light)}.events-list{display:flex;flex-wrap:wrap;gap:15px}.event-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:15px;width:260px;height:25%;display:flex;flex-direction:column;justify-content:space-between;transition:transform .2s,box-shadow .2s}.event-card:hover{transform:translateY(-3px);box-shadow:0 6px 18px #0000004d}.event-card h3{margin:0 0 10px;font-size:18px;color:var(--color-text)}.event-card p{margin:5px 0;font-size:14px;color:var(--color-text)}.event-footer{margin-top:10px;display:flex;flex-wrap:wrap;gap:5px;align-items:center}.event-footer button{flex:1 1 auto;padding:6px 10px;border:1px solid transparent;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;background-color:var(--color-accent);color:var(--color-text);transition:background-color .2s,border-color .2s;height:30%}.event-footer button:hover{background-color:var(--color-accent-light);border-color:var(--color-accent-light)}.btn-details{background-color:var(--color-accent-light)}.btn-generate{background-color:var(--color-accent)}.btn-my-pair{background-color:var(--color-border)}.btn-chat{background-color:var(--color-accent)}.btn-chat:hover{background-color:var(--color-accent-light)}.assignments-status{font-size:12px;color:var(--color-text);margin-top:5px}@media (max-width: 768px){.events-page{padding:10px}.events-header{flex-direction:column;gap:10px}.events-header button{width:100%}.events-list{flex-direction:column}.event-card{width:90%}.event-footer{display:flex;flex-direction:column}.event-footer button{width:90%;height:auto}}.sidebar{width:220px;height:100vh;background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;padding:20px;box-shadow:2px 0 12px #0006}.sidebar ul{list-style:none;padding:0;margin:0;flex:1}.sidebar li{margin-bottom:12px}.sidebar a{color:var(--color-text);text-decoration:none;padding:10px 12px;border-radius:6px;display:block;transition:all .2s ease}.sidebar a:hover{background:var(--color-accent-light);color:#fff;transform:translate(4px)}.sidebar a.active-link{background:var(--color-accent);color:#fff;font-weight:600;box-shadow:0 0 10px var(--color-accent-light)}.sidebar-group-header{font-weight:600;font-size:.95rem;color:var(--color-text);opacity:.8;padding:8px 12px;margin-top:16px}.sidebar-submenu{list-style:none;padding-left:16px;margin:6px 0 0;border-left:2px solid var(--color-border);display:flex;flex-direction:column;gap:6px}.register-token-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:var(--color-bg)}.register-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;padding:40px;width:400px;box-shadow:0 0 20px #a0005033;color:var(--color-text);text-align:center}.register-card h2{color:var(--color-accent-light);margin-bottom:20px}.form-field{margin-bottom:20px;text-align:left}.form-field label{display:block;margin-bottom:8px;font-weight:500;color:var(--color-text)}.form-field input{width:100%;padding:10px;border:1px solid var(--color-border);border-radius:8px;background-color:var(--color-bg);color:var(--color-text)}button{width:100%;background-color:var(--color-accent);color:#fff;border:none;padding:10px;border-radius:8px;cursor:pointer;font-size:1em;transition:background-color .3s}button:hover{background-color:var(--color-accent-light)}button:disabled{opacity:.6;cursor:not-allowed}.error{color:var(--color-accent-light);margin-bottom:10px}.redirect-msg{margin-top:15px;font-size:.9em;opacity:.7}:root{--color-bg: #050509;--color-surface: #121018;--color-accent: #a00050;--color-accent-light: #ff0048;--color-text: #d0baff;--color-border: #2a1f38;font-family:Droid Sans Mono,Menlo,Monaco,Consolas,Courier New,monospace;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}.app-wrapper{display:flex;flex-direction:column;min-height:100vh;background-color:var(--color-bg)}.app-body{display:flex;flex:1;min-height:0}.app-main{flex:1;padding:20px;overflow-y:auto}body{margin:0;padding:0;width:100%;height:100%;overflow-x:hidden;background-color:var(--color-bg)}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s;height:20%}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background-color:var(--color-surface);color:var(--color-text);padding:20px;border-radius:12px;z-index:1000;max-width:500px;width:90%;box-shadow:0 0 25px #ff00484d}.modal ul{list-style:none;padding:0}.modal li{display:flex;justify-content:space-between;margin-bottom:6px;align-items:center}.modal-add-user{display:flex;gap:10px;margin-top:10px}.modal input{flex:1;padding:6px;border-radius:6px;border:1px solid var(--color-border);background-color:var(--color-bg);color:var(--color-text)}.modal button{background-color:var(--color-accent);color:#fff;border:none;border-radius:6px;padding:6px 10px;cursor:pointer}.modal button:hover{background-color:var(--color-accent-light)}.modal-close{margin-top:10px;width:100%}.toast{position:fixed;top:20px;right:20px;background-color:var(--color-surface);color:var(--color-text);border:1px solid var(--color-accent-light);padding:12px 20px;border-radius:8px;font-weight:600;z-index:1000;box-shadow:0 0 15px #ff004880;animation:fadeInOut 3s forwards}.toast.success{background-color:#ff0048e6}.toast.error{border-color:var(--color-accent-light);color:var(--color-accent-light)}@media (max-width: 768px){.app-body{flex-direction:column}.app-main{padding:12px}.sidebar{position:fixed;left:-260px;top:0;height:100vh;width:220px;transition:left .25s ease;z-index:999}.sidebar.open{left:0}.sidebar-overlay{position:fixed;inset:0;background:#00000080;z-index:998}.app-header{padding:10px 14px}.app-header .button-placeholder button{padding:6px 10px}}
