*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f3f4f6;color:#111827}.app{min-height:100vh}.loading{display:flex;align-items:center;justify-content:center;height:60vh;color:#6b7280;font-size:18px}.list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.list-header h2{margin:0}.login-screen{max-width:360px;margin:15vh auto;text-align:center;background:#fff;padding:32px;border-radius:12px;box-shadow:0 1px 3px #0000001a}.login-screen h1{margin-bottom:4px}.oauth-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;margin:8px 0;padding:12px;border:1px solid #d1d5db;border-radius:8px;background:#fff;cursor:pointer;font-size:15px}.oauth-btn:hover{background:#f9fafb}.topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:#111827;color:#fff}.topbar h1{font-size:20px;margin:0}.topbar-right{display:flex;align-items:center;gap:12px}.user-chip{padding:6px 12px;background:#374151;border-radius:20px;font-size:14px}.signout-btn{padding:8px 14px;border:none;border-radius:8px;background:#ef4444;color:#fff;cursor:pointer}.content{max-width:860px;margin:24px auto;padding:0 16px}.card{background:#fff;border-radius:12px;padding:20px;margin-bottom:20px;box-shadow:0 1px 3px #0000001a}.card h2{margin-top:0;font-size:18px}.error-banner{background:#fee2e2;color:#b91c1c;padding:12px 16px;border-radius:8px;margin-bottom:20px}.search-row{display:flex;gap:8px}.search-row input{flex:1;padding:10px;border:1px solid #d1d5db;border-radius:8px}button{padding:10px 16px;border:none;border-radius:8px;background:#2563eb;color:#fff;cursor:pointer}button:hover{opacity:.9}button.danger{background:#ef4444}.doc-list{list-style:none;padding:0;margin:12px 0 0}.doc-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #e5e7eb}.doc-name{font-weight:500;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-meta{color:#6b7280;font-size:13px}.doc-actions{display:flex;gap:8px}.empty{color:#6b7280;text-align:center}
