:root{--bg: #0f1115;--surface: #161920;--surface-2: #1e222b;--border: #2a2f3a;--text: #e4e6eb;--text-secondary: #9ca3af;--accent: #3b82f6;--accent-hover: #2563eb;--danger: #ef4444;--success: #22c55e;--radius: 8px;--shadow: 0 4px 24px rgba(0,0,0,.35);--font: "Inter", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.55;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer;border:none;border-radius:var(--radius);padding:10px 16px;font-size:14px;font-weight:500;transition:background .15s ease,transform .05s ease}button:active{transform:translateY(1px)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:#252a36}.btn-danger{background:#ef444426;color:var(--danger);border:1px solid rgba(239,68,68,.35)}.btn-danger:hover{background:#ef444440}input,select,textarea{font-family:inherit;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;font-size:14px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.container{max-width:1100px;margin:0 auto;padding:0 20px}.app-layout{display:flex;flex-direction:column;min-height:100%}.app-main{flex:1;padding:24px 0 40px}.app-header{border-bottom:1px solid var(--border);background:#0f1115d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:10}.header-inner{max-width:1100px;margin:0 auto;padding:0 20px;height:56px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:700;font-size:18px;letter-spacing:.3px;color:var(--text);display:flex;align-items:center;gap:8px}.brand span.accent{color:var(--accent)}.nav-links{display:flex;gap:20px;align-items:center}.nav-links a{color:var(--text-secondary);font-size:14px;font-weight:500}.nav-links a:hover{color:var(--text);text-decoration:none}.app-footer{border-top:1px solid var(--border);padding:16px 0;color:var(--text-secondary);font-size:12px;text-align:center}.hero{padding:64px 0 48px;text-align:center}.hero h1{font-size:clamp(28px,5vw,48px);margin:0 0 12px;line-height:1.15;letter-spacing:-.02em}.hero p.lead{font-size:18px;color:var(--text-secondary);max-width:640px;margin:0 auto 28px}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:32px}.feature{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.feature h3{margin:0 0 8px;font-size:16px}.feature p{margin:0;color:var(--text-secondary);font-size:14px}.dropzone{border:2px dashed var(--border);border-radius:var(--radius);padding:48px 24px;text-align:center;color:var(--text-secondary);transition:border-color .2s ease,background .2s ease;cursor:pointer}.dropzone:hover,.dropzone.dragover{border-color:var(--accent);background:#3b82f60f}.import-list{display:flex;flex-direction:column;gap:12px;margin-top:20px}.import-row{display:flex;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.import-meta{display:flex;flex-direction:column;gap:2px}.import-meta strong{font-size:14px;color:var(--text)}.import-meta small{font-size:12px;color:var(--text-secondary)}.import-actions{display:flex;gap:8px}.toast{position:fixed;top:16px;right:16px;z-index:100;padding:12px 16px;border-radius:var(--radius);font-size:14px;color:#fff;background:var(--surface-2);border:1px solid var(--border);box-shadow:var(--shadow);animation:slideIn .25s ease}.toast.success{border-color:var(--success)}.toast.error{border-color:var(--danger)}@keyframes slideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.spin{display:inline-block;width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:640px){.header-inner{height:52px}.nav-links{gap:12px}.features{grid-template-columns:1fr}.import-row{flex-direction:column;align-items:flex-start;gap:10px}}
