*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background-color:#f0f2f5;color:#1a1a1a;min-height:100vh}.app{min-height:100vh;display:flex;flex-direction:column}.header{background:#fff;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;box-shadow:0 1px 3px #00000014}.header-left{display:flex;align-items:center;gap:.5rem}.header-icon{width:28px;height:28px;color:#2563eb}.header-title{font-size:1.25rem;font-weight:600;margin:0}.sign-out-btn{padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:#374151;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer}.sign-out-btn:hover{background:#e5e7eb}.main{flex:1;padding:1.5rem;max-width:900px;margin:0 auto;width:100%}.card{background:#fff;border-radius:8px;box-shadow:0 1px 3px #00000014;padding:1.5rem;margin-bottom:1rem}.section-title{font-size:1rem;font-weight:600;margin:0 0 1rem;color:#111827}.upload-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.file-input-wrap{flex:1;min-width:200px}.file-input-wrap input[type=file]{font-size:.875rem;padding:.25rem 0}.upload-btn{padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;color:#fff;background:#ea580c;border:none;border-radius:6px;cursor:pointer;white-space:nowrap}.upload-btn:hover:not(:disabled){background:#c2410c}.upload-btn:disabled{opacity:.6;cursor:not-allowed}.files-table-wrap{overflow-x:auto}.files-table{width:100%;border-collapse:collapse;font-size:.875rem}.files-table th{text-align:left;padding:.75rem;font-weight:600;color:#374151;border-bottom:2px solid #e5e7eb}.files-table td{padding:.75rem;border-bottom:1px solid #f3f4f6}.files-table tbody tr:hover{background:#f9fafb}.delete-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.8125rem;color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;cursor:pointer}.delete-btn:hover{background:#fee2e2}.delete-btn svg{width:14px;height:14px}.footer{text-align:center;padding:1rem;font-size:.875rem;color:#6b7280;background:#fff;border-top:1px solid #f3f4f6}.login-card{max-width:380px;margin:4rem auto;padding:2rem}.login-card .section-title{margin-bottom:1.25rem}.login-form label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.35rem;color:#374151}.login-form input{width:100%;padding:.5rem .75rem;font-size:.875rem;border:1px solid #d1d5db;border-radius:6px;margin-bottom:1rem}.login-form input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb33}.login-submit{width:100%;padding:.6rem;font-size:.875rem;font-weight:500;color:#fff;background:#2563eb;border:none;border-radius:6px;cursor:pointer}.login-submit:hover{background:#1d4ed8}.login-error{font-size:.875rem;color:#dc2626;margin-bottom:1rem}.auth-switch{text-align:center;margin-top:1rem;font-size:.875rem;color:#6b7280}.auth-link{background:none;border:none;color:#2563eb;cursor:pointer;font-size:inherit;padding:0;text-decoration:underline}.auth-link:hover{color:#1d4ed8}.confirm-message{font-size:.875rem;color:#374151;margin-bottom:1rem}.success-banner{margin-bottom:0;max-width:380px}.status-msg{font-size:.875rem;margin-top:.5rem}.status-msg.success{color:#059669}.status-msg.error{color:#dc2626}.loading{color:#6b7280}.empty-files{color:#6b7280;font-size:.875rem;padding:1rem 0}
