.menu-item[data-v-cbfb7920]:hover{background-color:#f3f4f6!important}:root{--left-width:300px;--bg:#f5f7fb;--panel:#ffffff;--border:#e5e7eb;--text:#111827;--muted:#6b7280;--primary:#2563eb;--primary-hover:#1d4ed8}html,body,#app{height:100%;margin:0}body{font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}.container{display:flex;height:100vh;gap:16px;padding:12px;box-sizing:border-box}.left{flex:0 0 var(--left-width);width:var(--left-width);padding:16px;border:1px solid var(--border);border-radius:10px;background:var(--panel);box-shadow:0 10px 30px -18px #00000059;overflow-y:auto}.right{flex:1;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:10px;background:var(--panel);box-shadow:0 10px 30px -18px #00000059;padding:8px;box-sizing:border-box}.controls{display:flex;align-items:center;padding:10px;gap:10px;border-bottom:1px solid var(--border);border-radius:8px;background:#f9fafb}.viewer{flex:1;display:flex;align-items:center;justify-content:center;overflow:auto;padding:16px;background:#f3f4f6;border-radius:8px;margin-top:8px;box-sizing:border-box}canvas{border:1px solid #d1d5db;background:#fff;border-radius:6px}button{padding:8px 12px;border-radius:4px;border:1px solid #cbd5e1;background:#f8fafc;cursor:pointer;transition:all .15s ease;font-size:13px;font-weight:500;color:#475569}button:not(:disabled):hover{background:#e2e8f0;border-color:#94a3b8}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:#e2e8f0;color:#334155;border-color:#cbd5e1}.btn-primary:not(:disabled):hover{background:#cbd5e1;border-color:#94a3b8}.btn-success{background:#e2e8f0;color:#334155;border-color:#cbd5e1}.btn-success:not(:disabled):hover{background:#cbd5e1;border-color:#94a3b8}.btn-danger{background:#fee2e2;color:#991b1b;border-color:#fecaca}.btn-danger:not(:disabled):hover{background:#fecaca;border-color:#fca5a5}.btn-secondary{background:#f8fafc;color:#475569;border-color:#cbd5e1}.btn-secondary:not(:disabled):hover{background:#e2e8f0;border-color:#94a3b8}textarea{min-height:80px}.btn-col button{width:100%;text-align:center}.file-label input{width:100%}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}
