.login-bg{position:relative;width:100%;min-height:100vh;background:#000;overflow:hidden}.matrix-container{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background:#000;display:flex;justify-content:center}.matrix-pattern{position:relative;width:1000px;height:100%;flex-shrink:0}.matrix-column{position:absolute;top:-100%;width:20px;height:100%;font-size:16px;line-height:18px;font-weight:700;animation:fall linear infinite;white-space:nowrap}.matrix-column:before{content:"012345678901234567890123456789";position:absolute;top:0;left:0;background:linear-gradient(to bottom,#ffffff 0%,#ffffff 5%,#00ff41 10%,#00ff41 20%,#00dd33 30%,#00bb22 40%,#009911 50%,#007700 60%,#005500 70%,#003300 80%,rgba(0,255,65,.5) 90%,transparent 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;writing-mode:vertical-lr;letter-spacing:1px}@keyframes fall{0%{transform:translateY(-10%);opacity:1}to{transform:translateY(200%);opacity:0}}.maintenance-bg{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;background:#070707;overflow:hidden}.maintenance-rain{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:1}.maintenance-line{position:absolute;left:-20%;width:140%;font-family:Fira Code,monospace;font-size:clamp(22px,2.4vw,34px);letter-spacing:8px;color:#6eff9638;text-shadow:0 0 8px rgba(0,255,100,.25);white-space:nowrap;transform:rotate(-8deg);animation:run404line 8s linear infinite}.maintenance-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(-62.5deg,#00ff7824,#0080001f,#00ff7824);mix-blend-mode:screen;background-size:250%;background-position:10%;animation:move-light 5s infinite;z-index:1}@keyframes run404line{0%{transform:translate(-10%) rotate(-8deg)}to{transform:translate(20%) rotate(-8deg)}}@keyframes move-light{0%{background-position:10%}50%{background-position:90%}to{background-position:10%}}.maintenance-card{position:relative;z-index:2;max-width:560px;margin:16px;padding:24px;border:1px solid rgba(0,242,234,.35);background:#050505e0;color:#e5e7eb;text-align:center;box-shadow:0 0 30px #00f2ea26}.maintenance-card h1{margin-bottom:10px;color:#b7ffd1}.maintenance-card p{margin-bottom:16px;color:#d1fae5}.glitch-form-wrapper{--bg-color: #0d0d0d;--primary-color: #00f2ea;--secondary-color: #a855f7;--text-color: #e5e5e5;--font-family: "Fira Code", Consolas, "Courier New", Courier, monospace;--glitch-anim-duration: .5s;min-height:100vh;display:flex;justify-content:center;align-items:center;font-family:var(--font-family);position:relative;z-index:2}.glitch-card{background-color:var(--bg-color);width:100%;max-width:380px;border:1px solid rgba(0,242,234,.2);box-shadow:0 0 20px #00f2ea1a,inset 0 0 10px #00000080;overflow:hidden;margin:1rem}.card-header{display:flex;justify-content:space-between;align-items:center;background-color:#0000004d;padding:.5em 1em;border-bottom:1px solid rgba(0,242,234,.2)}.card-title{color:var(--primary-color);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;display:flex;align-items:center;gap:.5em}.card-title svg{width:1.2em;height:1.2em;stroke:var(--primary-color)}.card-dots span{display:inline-block;width:8px;height:8px;border-radius:50%;background-color:#333;margin-left:5px}.card-body{padding:1.5rem}.login-error{border:1px solid rgba(255,88,88,.45);background:#ff58581a;color:#ff9b9b;padding:10px;margin-bottom:12px;font-size:13px}.glitch-form-wrapper .form-group{position:relative;margin-bottom:1.5rem}.glitch-form-wrapper .form-label{position:absolute;top:.75em;left:0;font-size:1rem;color:var(--primary-color);opacity:.6;text-transform:uppercase;letter-spacing:.1em;pointer-events:none;transition:all .3s ease}.glitch-form-wrapper .form-group input{width:100%;background:transparent;border:none;border-bottom:2px solid rgba(0,242,234,.3);padding:.75em 0;font-size:1rem;color:var(--text-color);font-family:inherit;outline:none;transition:border-color .3s ease}.glitch-form-wrapper .form-group input:focus{border-color:var(--primary-color)}.glitch-form-wrapper .form-group input:focus+.form-label,.glitch-form-wrapper .form-group input:not(:placeholder-shown)+.form-label{top:-1.2em;font-size:.8rem;opacity:1}.glitch-form-wrapper .form-group input:focus+.form-label:before,.glitch-form-wrapper .form-group input:focus+.form-label:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--bg-color)}.glitch-form-wrapper .form-group input:focus+.form-label:before{color:var(--secondary-color);animation:glitch-anim var(--glitch-anim-duration) cubic-bezier(.25,.46,.45,.94) both}.glitch-form-wrapper .form-group input:focus+.form-label:after{color:var(--primary-color);animation:glitch-anim var(--glitch-anim-duration) cubic-bezier(.25,.46,.45,.94) reverse both}@keyframes glitch-anim{0%{transform:translate(0);clip-path:inset(0 0 0 0)}20%{transform:translate(-5px,3px);clip-path:inset(50% 0 20% 0)}40%{transform:translate(3px,-2px);clip-path:inset(20% 0 60% 0)}60%{transform:translate(-4px,2px);clip-path:inset(80% 0 5% 0)}80%{transform:translate(4px,-3px);clip-path:inset(30% 0 45% 0)}to{transform:translate(0);clip-path:inset(0 0 0 0)}}.submit-btn{width:100%;padding:.8em;margin-top:1rem;background-color:transparent;border:2px solid var(--primary-color);color:var(--primary-color);font-family:inherit;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;cursor:pointer;position:relative;transition:all .3s;overflow:hidden}.submit-btn:hover,.submit-btn:focus{background-color:var(--primary-color);color:var(--bg-color);box-shadow:0 0 25px var(--primary-color);outline:none}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.submit-btn .btn-text{position:relative;z-index:1;transition:opacity .2s ease}.submit-btn:hover .btn-text{opacity:0}.submit-btn:before,.submit-btn:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;opacity:0;background-color:var(--primary-color);transition:opacity .2s ease}.submit-btn:hover:before,.submit-btn:focus:before{opacity:1;color:var(--secondary-color);animation:glitch-anim var(--glitch-anim-duration) cubic-bezier(.25,.46,.45,.94) both}.submit-btn:hover:after,.submit-btn:focus:after{opacity:1;color:var(--bg-color);animation:glitch-anim var(--glitch-anim-duration) cubic-bezier(.25,.46,.45,.94) reverse both}:root{--primary: #2563eb;--primary-dark: #1d4ed8;--danger: #ef4444;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-600: #4b5563;--gray-700: #374151;--gray-900: #111827}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,sans-serif;background:var(--gray-50);color:var(--gray-900);line-height:1.5}.loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.2rem;color:var(--gray-600)}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%)}.login-box{background:#fff;padding:2.5rem;border-radius:12px;box-shadow:0 10px 40px #0003;width:100%;max-width:400px}.login-title{font-size:1.5rem;font-weight:700;text-align:center;margin-bottom:.5rem}.login-subtitle{text-align:center;color:var(--gray-600);margin-bottom:2rem}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.875rem;font-weight:500;color:var(--gray-700);margin-bottom:.5rem}.form-input{width:100%;padding:.75rem 1rem;border:1px solid var(--gray-300);border-radius:8px;font-size:1rem}.form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.btn{width:100%;padding:.75rem 1rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-primary:disabled{background:var(--gray-300);cursor:not-allowed}.btn-secondary{background:var(--gray-100);color:var(--gray-700)}.btn-danger{background:var(--danger);color:#fff}.error-message{background:#fef2f2;color:var(--danger);padding:.75rem;border-radius:8px;margin-bottom:1rem;font-size:.875rem}[data-theme=night]{--primary: #3b82f6;--primary-dark: #2563eb;--gray-50: #0f172a;--gray-100: #111827;--gray-200: #1f2937;--gray-300: #374151;--gray-600: #9ca3af;--gray-700: #d1d5db;--gray-900: #f9fafb}[data-theme=night] .chat-panel,[data-theme=night] .chat-header,[data-theme=night] .chat-input-container{background:#111827;border-color:#374151}[data-theme=night] .chat-input{background:#0b1220;color:#f9fafb;border-color:#374151}[data-theme=night] .message-assistant{background:#1f2937;color:#f9fafb}[data-theme=night] .message-user{color:#fff}[data-theme=night] .btn-secondary{background:#1f2937;color:#e5e7eb}[data-theme=night] .admin-container{background:#0f172a;color:#e5e7eb}[data-theme=night] .admin-title,[data-theme=night] .modal-title,[data-theme=night] .form-label{color:#f3f4f6}[data-theme=night] .admin-card,[data-theme=night] .modal{background:#111827;border:1px solid #374151}[data-theme=night] .admin-table th{background:#1f2937;color:#cbd5e1}[data-theme=night] .admin-table td{color:#e5e7eb;border-bottom-color:#374151}[data-theme=night] .admin-table tr:hover{background:#1f2937}[data-theme=night] .form-input{background:#0b1220;color:#f9fafb;border-color:#374151}[data-theme=night] .action-btn{background:#1f2937;color:#e5e7eb;border-color:#4b5563}[data-theme=night] .action-btn:hover{background:#374151}[data-theme=night] .chat-messages{background:#0f172a}.admin-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-header-actions .switch{flex:0 0 auto}.admin-header-actions .btn{width:auto}.chat-container{display:flex;flex-direction:column;height:100vh}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#fff;border-bottom:1px solid var(--gray-200)}.chat-title{font-size:1.25rem;font-weight:600}.chat-header-actions{display:flex;gap:.75rem;align-items:center}.btn-small{padding:.5rem 1rem;font-size:.875rem;width:auto}.chat-panel{max-width:900px;width:100%;margin:16px auto;background:var(--gray-100);border:1px solid var(--gray-200);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;height:calc(100vh - 110px)}.chat-messages{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.message{max-width:80%;padding:1rem 1.25rem;border-radius:12px;line-height:1.4}.message-user{align-self:flex-end;background:var(--primary);color:#fff;border-bottom-right-radius:4px}.message-assistant{align-self:flex-start;background:#fff;color:var(--gray-900);border-bottom-left-radius:4px;box-shadow:0 1px 3px #0000001a}.message-time{font-size:.75rem;opacity:.7;margin-top:.5rem}.typing-indicator{opacity:.85;font-style:italic}.message-content strong{font-weight:700}.message-content em{font-style:italic;opacity:.95}.message-content code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#7f7f7f2e;padding:2px 6px;border-radius:6px}.switch{font-size:17px;position:relative;display:inline-block;width:4em;height:2.2em;border-radius:30px;box-shadow:0 0 10px #0000001a}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#2a2a2a;transition:.4s;border-radius:30px;overflow:hidden}.slider:before{position:absolute;content:"";height:1.2em;width:1.2em;border-radius:20px;left:.5em;bottom:.5em;transition:.4s;transition-timing-function:cubic-bezier(.81,-.04,.38,1.5);box-shadow:inset 8px -4px #fff}.switch input:checked+.slider{background-color:#00a6ff}.switch input:checked+.slider:before{transform:translate(1.8em);box-shadow:inset 15px -4px 0 15px #ffcf48}.star{background-color:#fff;border-radius:50%;position:absolute;width:5px;transition:all .4s;height:5px}.star_1{left:2.5em;top:.5em}.star_2{left:2.2em;top:1.2em}.star_3{left:3em;top:.9em}.switch input:checked~.slider .star{opacity:0}.cloud{width:3.5em;position:absolute;bottom:-1.4em;left:-1.1em;opacity:0;transition:all .4s}.switch input:checked~.slider .cloud{opacity:1}.chat-input-container{display:flex;gap:.75rem;padding:1rem 1.5rem;background:#fff;border-top:1px solid var(--gray-200)}.chat-input{flex:1;padding:.75rem 1rem;border:1px solid var(--gray-300);border-radius:8px;font-size:1rem;resize:none}.chat-input:focus{outline:none;border-color:var(--primary)}.btn-send{width:auto;padding:.75rem 1.5rem}.admin-container{min-height:100vh;padding:1.5rem}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.admin-title{font-size:1.5rem;font-weight:700}.admin-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:1rem 1.25rem;text-align:left;border-bottom:1px solid var(--gray-200)}.admin-table th{background:var(--gray-50);font-weight:600;font-size:.875rem;color:var(--gray-600);text-transform:uppercase}.admin-table tr:hover{background:var(--gray-50)}.status-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600}.status-online{background:#d1fae5;color:#065f46}.status-offline{background:var(--gray-100);color:var(--gray-600)}.status-dot{width:.5rem;height:.5rem;border-radius:50%;background:currentColor}.role-badge{padding:.25rem .75rem;border-radius:6px;font-size:.75rem;font-weight:600}.role-admin{background:#fef3c7;color:#92400e}.role-user{background:var(--gray-100);color:var(--gray-600)}.action-btn{padding:.375rem .75rem;font-size:.875rem;border-radius:6px;border:1px solid var(--gray-300);background:#fff;cursor:pointer;margin-right:.5rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal{background:#fff;border-radius:12px;padding:2rem;width:100%;max-width:500px;max-height:80vh;overflow-y:auto}.modal-title{font-size:1.25rem;font-weight:600;margin-bottom:1.5rem}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.chat-welcome{text-align:center;padding:3rem 1rem;color:var(--gray-600)}.chat-welcome h2{font-size:1.5rem;margin-bottom:.5rem;color:var(--gray-900)}.chat-disclaimer{margin-top:1rem;padding:1rem;background:#fef3c7;border-radius:8px;font-size:.875rem}
