*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f0f0f;--surface: #1a1a1a;--card: #222222;--border: #333333;--primary: #2563eb;--primary-dark: #1d4ed8;--text: #ffffff;--text-secondary: #aaaaaa;--error: #ff4d4d;--success: #4caf50;--nav-height: 64px}html,body{height:100%;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}#root{height:100%;display:flex;flex-direction:column}.auth-page{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 20px;min-height:100vh}.auth-logo{margin-bottom:32px;text-align:center}.auth-logo h1{font-size:2rem;font-weight:800;color:var(--primary);letter-spacing:-.5px}.auth-logo p{color:var(--text-secondary);margin-top:4px;font-size:.9rem}.auth-card{width:100%;max-width:400px;background:var(--surface);border-radius:16px;padding:28px 24px;border:1px solid var(--border)}.auth-card h2{font-size:1.3rem;font-weight:700;margin-bottom:24px}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:.85rem;color:var(--text-secondary);margin-bottom:6px;font-weight:500}.form-group input{width:100%;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:12px 14px;color:var(--text);font-size:1rem;outline:none;transition:border-color .2s;-webkit-appearance:none}.form-group input:focus{border-color:var(--primary)}.form-group input::placeholder{color:#555}.btn-primary{width:100%;background:var(--primary);color:#fff;border:none;border-radius:10px;padding:14px;font-size:1rem;font-weight:700;cursor:pointer;margin-top:8px;transition:background .2s,transform .1s;-webkit-appearance:none}.btn-primary:hover{background:var(--primary-dark)}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-link{text-align:center;margin-top:20px;font-size:.9rem;color:var(--text-secondary)}.auth-link a{color:var(--primary);text-decoration:none;font-weight:600}.error-msg{background:#ff4d4d1a;border:1px solid var(--error);color:var(--error);border-radius:8px;padding:10px 14px;font-size:.875rem;margin-bottom:16px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:var(--nav-height);background:var(--surface);border-top:1px solid var(--border);display:flex;align-items:stretch;z-index:100;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--text-secondary);text-decoration:none;font-size:.7rem;font-weight:500;transition:color .2s;-webkit-tap-highlight-color:transparent}.bottom-nav--wide .bottom-nav-item{font-size:.6rem;gap:2px}.bottom-nav-item svg{transition:transform .2s}.bottom-nav-item.active{color:var(--primary)}.bottom-nav-item.active svg{transform:scale(1.1)}.page{flex:1;overflow-y:auto;padding:20px 16px;padding-bottom:calc(var(--nav-height) + 16px + env(safe-area-inset-bottom))}.page-header{margin-bottom:24px}.page-header h1{font-size:1.6rem;font-weight:800}.page-header p{color:var(--text-secondary);margin-top:4px;font-size:.9rem}.card{background:var(--surface);border-radius:14px;padding:20px;border:1px solid var(--border);margin-bottom:16px}.loading-screen{flex:1;display:flex;align-items:center;justify-content:center;min-height:100vh}.spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
