@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--bg:#fff;--fg:#000;--border-soft:1px solid #e5e7eb;--hover-gray:#f9fafb;--text-muted:#6b7280}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;font-family:Inter,sans-serif;line-height:1.5}input,button,select{font-family:inherit}button{background:var(--bg);color:var(--fg);border:var(--border-soft);cursor:pointer;border-radius:12px;padding:14px 24px;font-weight:600;transition:all .2s}button:hover:not(:disabled){background:#f3f4f6}button:active:not(:disabled){transform:scale(.98)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--fg);color:var(--bg);border:1px solid var(--fg)}button.primary:hover:not(:disabled){background:#333;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}input{background:var(--bg);color:var(--fg);border:1px solid #d1d5db;border-radius:12px;outline:none;padding:14px 16px;font-weight:500;transition:all .2s}input:focus{border-color:#000;box-shadow:0 0 0 2px #0000001a}.menu-toggle{z-index:100;background:var(--bg);color:var(--fg);cursor:pointer;border:1px solid #e5e7eb;border-radius:8px;padding:8px 14px;font-size:1.2rem;transition:all .2s;position:absolute;top:20px;left:20px;box-shadow:0 4px 12px #0000000d}.menu-toggle:hover{background:#f9fafb;transform:translateY(-1px)}.mobile-overlay{z-index:80;background:#00000080;display:none;position:fixed;inset:0}.app-layout{height:100vh;display:flex;position:relative;overflow:hidden}.sidebar{border-right:var(--border-soft);z-index:90;background:#fff;flex-direction:column;flex-shrink:0;width:280px;padding:30px 20px;transition:all .3s;display:flex}.sidebar.closed{margin-left:-280px;transform:translate(-100%)}.sidebar-header{justify-content:space-between;align-items:center;margin-bottom:40px;display:flex}.sidebar h1{letter-spacing:-.5px;margin:0;font-size:1.5rem;font-weight:800}.close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1;transition:color .2s;display:block}.close-btn:hover{color:var(--fg)}.nav-item{cursor:pointer;color:var(--text-muted);border-radius:8px;margin-bottom:8px;padding:12px 16px;font-weight:500;transition:all .2s}.nav-item:hover:not(.active){background:var(--hover-gray);color:var(--fg)}.nav-item.active{background:var(--fg);color:var(--bg)}.history-section{border-top:1px solid #eaeaea;flex:1;margin:20px 0;padding-top:20px;overflow-y:auto}.history-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;padding:0 16px;font-size:.75rem;font-weight:700}.history-item{white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;overflow:hidden}.sidebar-footer{flex-direction:column;gap:12px;margin-top:auto;display:flex}.admin-badge{border:var(--border-soft);text-transform:uppercase;text-align:center;background:var(--hover-gray);color:#374151;letter-spacing:.5px;border-radius:20px;padding:6px 12px;font-size:.75rem;font-weight:700}.user-email{color:var(--text-muted);word-break:break-all;text-align:center;font-size:.85rem;font-weight:500}.main-content{background:#fdfdfd;flex-direction:column;flex:1;width:100%;min-width:0;transition:all .3s;display:flex;position:relative}.chat-window{flex-direction:column;flex:1;gap:40px;padding:40px;display:flex;overflow-y:auto}@media (width<=768px){.mobile-overlay{display:block}.sidebar{height:100%;margin-left:0;position:fixed;left:0;transform:translate(-100%);box-shadow:4px 0 24px #0000001a}.sidebar.open{transform:translate(0)}.sidebar.closed{margin-left:0;transform:translate(-100%)}.chat-window{padding:80px 20px 40px}}.chat-bubble-wrapper{width:100%;display:flex}.chat-bubble-wrapper.user{justify-content:flex-end}.chat-bubble-wrapper.ai{justify-content:flex-start}.chat-bubble{max-width:75%;padding:24px;font-size:1.05rem;line-height:1.7;position:relative}.chat-bubble.user{background:var(--fg);color:var(--bg);border-radius:12px 12px 0;font-size:1.15rem;font-weight:600}.chat-bubble.ai{background:var(--bg);color:var(--fg);border:2px solid #000;border-radius:12px 12px 12px 0;box-shadow:4px 4px #000}.thinking-indicator{color:#666;align-items:center;gap:8px;margin-bottom:10px;font-size:.9rem;font-style:italic;display:flex}.spinner{border:2px solid #666;border-top-color:#0000;border-radius:50%;width:12px;height:12px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.chat-actions{border-top:1px solid #eaeaea;gap:12px;margin-top:20px;padding-top:20px;display:flex}.btn-small{border-radius:8px;padding:8px 16px;font-size:.85rem}.input-dock{border-top:var(--border-soft);background:var(--bg);z-index:10;align-items:flex-end;gap:16px;padding:24px 40px;display:flex;box-shadow:0 -4px 20px #00000005}.input-dock .topic-input{flex-direction:column;flex:1;gap:8px;display:flex}.input-dock .words-input{flex-direction:column;gap:8px;width:100px;display:flex}.input-dock label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-left:4px;font-size:.8rem;font-weight:700}.input-dock textarea{background:var(--bg);color:var(--fg);resize:none;border:1px solid #d1d5db;border-radius:12px;outline:none;min-height:48px;max-height:200px;padding:14px 16px;font-family:inherit;font-size:.95rem;font-weight:500;line-height:1.5;transition:all .2s;overflow:hidden}.input-dock textarea:focus{border-color:#000;box-shadow:0 0 0 2px #0000001a}@media (width<=768px){.input-dock{gap:10px;padding:16px 20px}.input-dock .words-input{width:80px}button{padding:14px 16px}}.auth-container{background:#f3f4f6;justify-content:center;align-items:center;height:100vh;padding:20px;display:flex}.auth-card{background:var(--bg);border:var(--border-soft);border-radius:20px;width:100%;max-width:400px;padding:40px;box-shadow:0 10px 25px #0000000d}.auth-card h2{text-align:center;margin-bottom:25px;font-size:1.75rem;font-weight:700}.form-group{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.form-group label{color:var(--text-muted);margin-left:4px;font-size:.85rem;font-weight:600}.admin-container{flex:1;padding:40px;overflow-y:auto}.admin-card{border:var(--border-soft);background:#fff;border-radius:16px;margin-bottom:30px;padding:30px;box-shadow:0 4px 6px #00000005}table{border-collapse:collapse;border:var(--border-soft);border-radius:12px;width:100%;margin-top:20px;overflow:hidden}th,td{text-align:left;border-bottom:var(--border-soft);padding:16px}th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;background:var(--hover-gray);font-size:.85rem;font-weight:600}tr:last-child td{border-bottom:none}
