*,*:before,*:after{box-sizing:border-box}*{margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}a{color:inherit;text-decoration:none}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(135deg,#1a1a2e,#16213e)}.auth-container{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:2.5rem;width:100%;max-width:400px;text-align:center}.auth-container h1{font-size:1.75rem;font-weight:600;margin-bottom:.5rem;color:#fff}.auth-container p{color:#ffffffb3;margin-bottom:2rem}.auth-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:.75rem 1rem;border-radius:8px;margin-bottom:1.5rem;font-size:.875rem}.oauth-button{display:flex;align-items:center;justify-content:center;width:100%;padding:.875rem 1.5rem;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#ffffff0d;color:#fff;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.oauth-button:hover{background:#ffffff1a;border-color:#ffffff4d}.oauth-button:disabled{opacity:.5;cursor:not-allowed}.oauth-button.google{background:#fff;color:#1f2937;border-color:transparent}.oauth-button.google:hover{background:#f3f4f6}.auth-links{margin-top:1.5rem;display:flex;flex-direction:column;gap:.5rem}.auth-links a{color:#fff9;font-size:.875rem;transition:color .2s ease}.auth-links a:hover{color:#fff}.dashboard-page{min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff}.dashboard-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;color:#ffffffb3}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.1)}.dashboard-header h1{font-size:1.25rem;font-weight:600}.user-info{display:flex;align-items:center;gap:.75rem}.user-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover}.user-name{font-size:.875rem;color:#fffc}.logout-button{padding:.5rem 1rem;font-size:.875rem;background:transparent;border:1px solid rgba(255,255,255,.2);color:#fffc;border-radius:6px;cursor:pointer;transition:all .2s ease}.logout-button:hover{background:#ffffff1a;border-color:#ffffff4d}.dashboard-content{padding:2rem;max-width:1200px;margin:0 auto}.welcome-section{margin-bottom:2rem}.welcome-section h2{font-size:1.75rem;font-weight:600;margin-bottom:.5rem}.welcome-section p{color:#ffffffb3}.quick-actions h3{font-size:1.125rem;font-weight:500;margin-bottom:1rem;color:#ffffffe6}.action-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.action-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem;transition:all .2s ease}.action-card:hover{background:#ffffff14;border-color:#fff3}.action-card h4{font-size:1rem;font-weight:500;margin-bottom:.5rem}.action-card p{font-size:.875rem;color:#fff9}
