*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}#root{min-height:100vh}:root{--primary:#3b82f6;--primary-dark:#2563eb;--secondary:#8b5cf6;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-tertiary:#f1f5f9;--text-primary:#1e293b;--text-secondary:#64748b;--text-tertiary:#94a3b8;--border:#e2e8f0;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1);--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif}body{font-family:var(--font-sans);background:var(--bg-secondary);color:var(--text-primary)}.app{display:flex;flex-direction:column;min-height:100vh}.app-nav{background:var(--bg-primary);border-bottom:1px solid var(--border);padding:16px 32px;justify-content:space-between;position:-webkit-sticky;position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:hsla(0,0%,100%,.95)}.app-nav,.nav-brand{display:flex;align-items:center}.nav-brand{gap:16px}.brand-logo svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.brand-text h1{font-size:20px;font-weight:700;color:var(--text-primary);margin:0}.brand-text p{font-size:12px;color:var(--text-tertiary);margin:0}.nav-tabs{display:flex;gap:8px}.nav-tab{padding:10px 20px;background:transparent;border:none;border-radius:8px;font-size:14px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative}.nav-tab:hover{background:var(--bg-tertiary);color:var(--text-primary)}.nav-tab.active{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;box-shadow:var(--shadow-md)}.nav-tab.active:after{content:"";position:absolute;bottom:-17px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid var(--secondary)}.nav-user{display:flex;align-items:center;gap:12px}.nav-user-name{font-size:13px}.nav-sign-out,.nav-user-name{font-weight:500;color:var(--text-secondary);white-space:nowrap}.nav-sign-out{padding:6px 12px;background:transparent;border:1px solid var(--border);border-radius:6px;font-size:12px;cursor:pointer;transition:all .15s}.nav-sign-out:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--text-tertiary)}.app-main{flex:1 1}@media (max-width:1024px){.app-nav{flex-direction:column;gap:16px;padding:16px}.nav-tabs{width:100%;overflow-x:auto;padding-bottom:8px}.nav-tab{white-space:nowrap}}@media (prefers-color-scheme:dark){:root{--bg-primary:#1e293b;--bg-secondary:#0f172a;--bg-tertiary:#334155;--text-primary:#f1f5f9;--text-secondary:#cbd5e1;--text-tertiary:#94a3b8;--border:#334155}.app-nav{background:rgba(30,41,59,.95)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-secondary) 50%,var(--bg-tertiary) 75%);background-size:2000px 100%;animation:shimmer 2s infinite;border-radius:8px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.login-card{background:#fff;border-radius:16px;padding:48px;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);text-align:center;max-width:400px;width:100%;margin:0 16px}.login-brand{margin-bottom:32px}.login-brand svg{margin-bottom:16px}.login-brand h1{font-size:24px;font-weight:700;color:#1e293b;margin-bottom:4px}.login-brand p{font-size:14px;color:#64748b}.login-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:12px 24px;background:#0070d2;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s}.login-btn:hover{background:#005bb5}.login-loading{color:#64748b;font-size:14px;padding:24px}