:root{--bg: #f4f6fb;--panel: #ffffff;--panel-2: #f3f5fa;--panel-3: #eaeef6;--border: #d9dee9;--border-soft: #e7eaf2;--text: #1e2330;--muted: #6b7385;--accent: #6366f1;--accent-2: #4f46e5;--grad: linear-gradient(135deg, #6366f1 0%, #a855f7 52%, #ec4899 100%);--grad-soft: linear-gradient(135deg, rgba(99,102,241,.1), rgba(236,72,153,.08));--shadow: 0 6px 24px rgba(23, 33, 64, .08);--glow: 0 0 0 3px rgba(99, 102, 241, .18)}*{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--text);font-size:14px;background:radial-gradient(1100px 520px at 8% -8%,rgba(99,102,241,.1),transparent 60%),radial-gradient(900px 460px at 100% 0%,rgba(236,72,153,.07),transparent 55%),var(--bg);background-attachment:fixed;-webkit-font-smoothing:antialiased}a{color:var(--accent-2)}.app{display:flex;min-height:100vh}.sidebar{width:236px;background:#ffffffbf;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-right:1px solid var(--border-soft);padding:22px 14px;display:flex;flex-direction:column;gap:4px}.brand{font-weight:800;font-size:22px;letter-spacing:-.5px;padding:2px 8px}.brand span{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.company{padding:0 8px 10px;font-size:12px;color:var(--muted);font-weight:600}.brand .region-badge{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.3px;color:#fff;background:var(--grad);vertical-align:middle;-webkit-background-clip:border-box;background-clip:border-box;-webkit-text-fill-color:#fff}.navbtn{text-align:left;background:none;border:none;color:var(--muted);padding:10px 12px;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;transition:all .15s ease}.navbtn:hover{background:var(--panel-3);color:var(--text)}.navbtn.active{background:var(--grad);color:#fff;box-shadow:0 6px 16px #6366f14d}.nav-divider{height:1px;background:var(--border-soft);margin:8px 6px}.nav-section{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.7px;color:var(--accent-2);padding:14px 12px 4px}.main{flex:1;padding:36px 44px;max-width:1000px}h1{font-size:26px;margin:0 0 6px;letter-spacing:-.6px;font-weight:800}h2{font-size:16px;margin:26px 0 12px;letter-spacing:-.2px}.sub{color:var(--muted);margin:0 0 24px;font-size:14.5px}.card{background:var(--panel);border:1px solid var(--border-soft);border-radius:14px;padding:18px;margin-bottom:16px;box-shadow:var(--shadow);transition:border-color .15s ease}.card:hover{border-color:var(--border)}.row{display:flex;gap:12px;align-items:center}.spread{justify-content:space-between}.col{display:flex;flex-direction:column;gap:6px}button.primary{background:var(--grad);background-size:160% 160%;color:#fff;border:none;padding:11px 20px;border-radius:10px;cursor:pointer;font-size:14px;font-weight:700;box-shadow:0 6px 16px #6366f14d;transition:transform .12s ease,box-shadow .15s ease,background-position .4s ease}button.primary:hover{transform:translateY(-1px);background-position:100% 0;box-shadow:0 10px 24px #a855f759}button.primary:active{transform:translateY(0)}button.ghost{background:var(--panel);color:var(--text);border:1px solid var(--border);padding:9px 14px;border-radius:10px;cursor:pointer;font-weight:600;transition:all .15s ease}button.ghost:hover{border-color:var(--accent);color:var(--accent-2)}button:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none}input,select,textarea{background:#fff;border:1px solid var(--border);border-radius:10px;color:var(--text);padding:10px 12px;font-size:14px;font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--glow)}label{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}.check-label{color:var(--text);font-size:14px;font-weight:500;text-transform:none;letter-spacing:0;display:flex;align-items:center;cursor:pointer}textarea{width:100%;min-height:90px;resize:vertical}.tag{font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;border:1px solid var(--border);color:var(--muted);background:var(--panel-2);display:inline-block}.status-ready{color:#166534;border-color:#86efac;background:#dcfce7}.status-failed{color:#991b1b;border-color:#fca5a5;background:#fee2e2}.status-processing,.status-generating,.status-pending{color:#92400e;border-color:#fcd34d;background:#fef3c7}.progress-row{padding:11px 4px;border-bottom:1px solid var(--border-soft)}.progress-row:last-child{border-bottom:none}.section-block{border-left:2px solid var(--border);padding-left:14px;margin:16px 0}.section-block h3{margin:0 0 6px;font-size:15px}.content{white-space:pre-wrap;line-height:1.6}.citations{color:var(--muted);font-size:12px;margin-top:6px}.issue{border-left:3px solid #f59e0b;padding:9px 12px;margin:8px 0;background:var(--panel-2);border-radius:0 8px 8px 0}.issue.critical,.issue.major{border-color:#ef4444}.sev{font-weight:800;text-transform:uppercase;font-size:11px;letter-spacing:.5px}.banner{padding:13px 16px;border-radius:12px;margin-bottom:16px;border:1px solid var(--border);background:var(--grad-soft)}.banner.good{background:#ecfdf5;border-color:#86efac}.banner.bad{background:#fef2f2;border-color:#fca5a5}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:100%;max-width:400px;gap:12px}.login-sep{text-align:center;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.6px;margin:8px 0 0}.user-box{margin-top:auto;padding-top:14px;border-top:1px solid var(--border-soft);display:flex;flex-direction:column;gap:6px}.user-email{font-size:12.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.signout{padding:6px 10px;font-size:12.5px}.muted{color:var(--muted)}.error{color:#dc2626}.dropzone{border:1px dashed var(--border);border-radius:10px;padding:18px;text-align:center;color:var(--muted)}.sev-critical{color:#991b1b;border-color:#fca5a5;background:#fee2e2}.sev-major{color:#9a3412;border-color:#fdba74;background:#ffedd5}.sev-minor{color:#92400e;border-color:#fcd34d;background:#fef3c7}.sev-info{color:#1e40af;border-color:#93c5fd;background:#dbeafe}.review-diff{display:grid;gap:8px}.review-diff-label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:3px}.review-original{background:#fef2f2;border-left:3px solid #fca5a5;padding:8px 10px;border-radius:6px;text-decoration:line-through;color:#7f1d1d}.review-fix{background:#f0fdf4;border-left:3px solid #86efac;padding:8px 10px;border-radius:6px;color:#14532d}
