.viewer-container{max-width:1000px;margin:0 auto;padding:40px 20px;min-height:100vh}.powered-banner{background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(255,248,241,.96));border:1px solid var(--border2);border-radius:18px;padding:20px 28px;margin-bottom:36px;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 20px 44px rgba(88,55,24,.1)}.powered-banner .banner-left{display:flex;align-items:center;gap:16px;min-width:0}.powered-banner .branding-logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}.powered-banner .logo-icon{width:36px;height:36px;background:var(--accent);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;color:#1d120c;flex-shrink:0;font-weight:800}.banner-tagline{font-size:13px;color:var(--text2);line-height:1.4;border-inline-start:2px solid var(--border2);padding-inline-start:16px}.banner-tagline strong{color:var(--text);display:block;font-size:14px;margin-bottom:2px}.cta-btn{background:var(--accent);color:#1d120c;padding:11px 22px;border-radius:10px;font-size:14px;font-weight:700;font-family:var(--body);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;white-space:nowrap;flex-shrink:0;border:none;cursor:pointer;box-shadow:0 14px 28px rgba(255,107,53,.22)}.cta-btn:hover{background:var(--accent-light);transform:translateY(-1px);box-shadow:0 18px 32px rgba(255,107,53,.28)}.viewer-report-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:26px;flex-wrap:wrap;gap:16px}.viewer-report-titleblock{min-width:0}.viewer-meta-badge{display:inline-block;font-family:var(--mono);font-size:12px;color:var(--text2);background:rgba(255,255,255,.7);border:1px solid var(--border2);padding:5px 12px;border-radius:999px;margin-bottom:12px}.viewer-loading{display:flex;flex-direction:column;align-items:center;gap:16px;padding:100px 0;color:var(--text2)}.password-card{background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(255,248,241,.98));border:1px solid var(--border);border-radius:18px;padding:40px;max-width:420px;width:100%;margin:60px auto;text-align:center;box-shadow:0 24px 48px rgba(88,55,24,.12)}.password-icon{font-size:48px;margin-bottom:20px;display:block}.password-card h2{margin-bottom:12px;color:var(--text)}.password-card p{color:var(--text2);font-size:14px;margin-bottom:28px}.password-card .input-group{position:relative;margin-bottom:22px}.password-input{width:100%;background:rgba(255,255,255,.94);border:1px solid var(--border);border-radius:10px;padding:14px 16px;color:var(--text);font-size:16px;text-align:center;outline:none;transition:border-color .3s}.password-input:focus{border-color:var(--accent)}.password-error{color:var(--accent-dark);font-size:12px;margin-top:8px}.unlock-btn{width:100%;background:var(--accent);color:#1d120c;border:none;padding:14px;border-radius:10px;font-size:16px;font-weight:700;cursor:pointer;transition:transform .2s ease,background .2s ease;box-shadow:0 14px 28px rgba(255,107,53,.22)}.unlock-btn:hover{background:var(--accent-light);transform:translateY(-1px)}.unlock-btn:disabled{opacity:.6;cursor:default;transform:none}.error-card{text-align:center;padding:80px 20px}.error-card h1{font-size:64px;margin-bottom:16px}.error-card h2{color:var(--text);margin-bottom:10px}.error-card p{color:var(--text2);max-width:460px;margin:0 auto}.viewer-footer{margin-top:60px;text-align:center;padding:40px 0;border-top:1px solid var(--border)}.viewer-footer p{color:var(--text3);font-size:14px}@media (max-width:640px){.viewer-container{padding:24px 14px 36px}.powered-banner{gap:16px}.powered-banner,.powered-banner .banner-left{flex-direction:column;align-items:flex-start}.banner-tagline{border-inline-start:none;padding-inline-start:0;border-top:1px solid var(--border2);padding-top:12px}.cta-btn{width:100%;text-align:center}}