:root{--primary: #5E35B1;--primary-dark: #4527A0;--primary-light: #B39DDB;--secondary: #2C3E50;--accent: #F5A623;--bg: #F7F5FB;--card-bg: #FFFFFF;--border: #E0DBED;--text: #2C3E50;--text-muted: #6B7280;--error: #C62828;--pending: #FFB300;--processing: #1E88E5;--completed: #43A047;--failed: #E53935}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Noto Sans KR,system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh}.app{min-height:100vh;display:flex;flex-direction:column}.nav{background:var(--primary);color:#fff;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #5e35b133}.nav .brand{color:#fff;font-weight:800;font-size:1.3rem;text-decoration:none;letter-spacing:-.02em}.nav nav{display:flex;gap:1.2rem;align-items:center}.nav nav a{color:#fff;text-decoration:none;font-size:.95rem;padding:.4rem 0;border-bottom:2px solid transparent}.nav nav a:hover{border-bottom-color:#fff}.nav nav button{background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;padding:.4rem 1rem;cursor:pointer;border-radius:4px;font-family:inherit;font-size:.9rem}.nav nav button:hover{background:#ffffff40}.container{max-width:1280px;margin:2rem auto;padding:0 1.5rem;display:flex;flex-direction:column;gap:1.5rem;flex:1}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;padding:1.75rem;box-shadow:0 1px 6px #5e35b10d}.card h1,.card h2,.card h3{color:var(--secondary)}.card h2{font-size:1.3rem;margin-bottom:.6rem}.hero{display:flex;align-items:center;gap:1.25rem;background:linear-gradient(135deg,var(--primary) 0%,#7E57C2 100%);color:#fff;padding:1.5rem 2rem;border-radius:8px}.hero-icon{font-size:3rem}.hero-text h2{color:#fff;margin-bottom:.3rem}.hero-text p{opacity:.92;font-size:.95rem}form{display:flex;flex-direction:column;gap:1rem}form label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:var(--text-muted);font-weight:500}form input,form textarea{padding:.65rem .9rem;border:1px solid var(--border);border-radius:6px;font-size:1rem;font-family:inherit;background:#fff}form input:focus,form textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #5e35b126}button.primary,a.primary,.primary{background:var(--primary);color:#fff!important;border:none;padding:.7rem 1.5rem;border-radius:6px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block;font-size:1rem;font-family:inherit;transition:background .15s}button.primary:hover,.primary:hover{background:var(--primary-dark)}button.primary:disabled,.primary:disabled{opacity:.5;cursor:not-allowed}.error{color:var(--error);font-size:.9rem}.muted{color:var(--text-muted);font-size:.9rem}.editor-help{background:#faf8fe;border-left:3px solid var(--primary-light);padding:.75rem 1rem;border-radius:6px;font-size:.88rem;color:var(--text-muted);margin-bottom:1rem}.editor-help code{background:#fff;padding:.1em .4em;border-radius:3px;font-family:Courier New,monospace}.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;min-height:500px}.editor-grid>div{display:flex;flex-direction:column}.editor-grid label{font-size:.85rem;color:var(--text-muted);margin-bottom:.3rem}.editor-grid textarea{flex:1;min-height:500px;font-family:JetBrains Mono,Courier New,monospace;font-size:.92rem;resize:vertical;tab-size:4;-moz-tab-size:4}.preview-pane{flex:1;min-height:500px;padding:1.25rem 1.5rem;border:1px solid var(--border);border-radius:6px;background:#fafafa;overflow-y:auto;color:var(--secondary);line-height:1.65}.preview-pane h1{color:var(--primary);border-bottom:2px solid var(--primary);padding-bottom:.3em}.preview-pane h2{color:var(--secondary);margin-top:1em;border-left:4px solid var(--primary-light);padding-left:.5em}.preview-pane h3{color:#555;margin-top:.8em}.preview-pane p{margin:.5em 0}.preview-pane ul,.preview-pane ol{margin:.5em 0;padding-left:1.8em}.preview-pane ul ul,.preview-pane ol ol,.preview-pane ul ol,.preview-pane ol ul{margin:.2em 0;padding-left:1.5em}.preview-pane li{margin:.2em 0}.preview-pane code{background:#f3f0fa;padding:.1em .4em;border-radius:3px;font-family:Courier New,monospace;font-size:.92em}.preview-pane pre{background:#f3f0fa;padding:.9em;border-radius:6px;overflow-x:auto;border-left:3px solid var(--primary-light)}.preview-pane pre code{background:transparent;padding:0}.preview-pane blockquote{border-left:4px solid var(--primary-light);padding:.3em 1em;color:var(--text-muted);margin:.8em 0;background:#faf9fd}.preview-pane table{border-collapse:collapse;width:100%;margin:1em 0}.preview-pane th,.preview-pane td{border:1px solid var(--border);padding:.4em .7em}.preview-pane th{background:#f3f0fa}.report-table{width:100%;border-collapse:collapse}.report-table th,.report-table td{padding:.7rem;text-align:left;border-bottom:1px solid var(--border)}.report-table th{background:#faf8fe;font-weight:700;color:var(--primary)}.report-table a{color:var(--primary-dark);text-decoration:none;font-weight:600}.report-table a:hover{text-decoration:underline}.status-badge{display:inline-block;padding:.2rem .7rem;border-radius:12px;font-size:.82rem;font-weight:700;color:#fff}.status-pending{background:var(--pending)}.status-processing{background:var(--processing)}.status-completed{background:var(--completed)}.status-failed{background:var(--failed)}.pdf-frame{width:100%;height:90vh;min-height:800px;border:1px solid var(--border);border-radius:6px}.auth-card{max-width:420px;margin:2rem auto}.auth-card .auth-icon{font-size:2.5rem;text-align:center;margin-bottom:.5rem}.auth-card h2{text-align:center;margin-bottom:.75rem}.auth-card .auth-intro{text-align:center;color:var(--text-muted);margin-bottom:1.5rem;font-size:.9rem}@media (max-width: 768px){.editor-grid{grid-template-columns:1fr}}
