/* ── Reset ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#070711;--surface:rgba(255,255,255,0.06);--surface-hover:rgba(255,255,255,0.10);
  --border:rgba(255,255,255,0.14);--border-accent:rgba(99,102,241,0.4);
  --text:#f0f0ff;--text-muted:rgba(240,240,255,0.70);--text-faint:rgba(240,240,255,0.50);
  --accent:#6366f1;--accent-2:#8b5cf6;--accent-3:#34d399;
  --green:#34d399;--blue:#60a5fa;--red:#f87171;--amber:#f59e0b;
  --radius:16px;--radius-sm:10px;
}
html, * { scroll-behavior: smooth; }
body{font-family:'Inter',system-ui,sans-serif;background:var(--bg);color:var(--text);overflow:hidden;line-height:1.6}

/* Global Select Reset for High Contrast Options */
select option {
  background-color: #070711 !important; /* Force deep dark background */
  color: #f0f0ff !important; /* Force high contrast white text */
}

/* ── Background ── */
.bg-grid{position:fixed;inset:0;background-image:linear-gradient(rgba(99,102,241,0.04) 1px,transparent 1px),linear-gradient(90deg,rgba(99,102,241,0.04) 1px,transparent 1px);background-size:60px 60px;pointer-events:none;z-index:0}
.orb{position:fixed;border-radius:50%;filter:blur(80px);pointer-events:none;z-index:0;animation:drift 20s ease-in-out infinite}
.orb-1{width:600px;height:600px;background:radial-gradient(circle,rgba(99,102,241,0.15),transparent 70%);top:-200px;left:-150px}
.orb-2{width:500px;height:500px;background:radial-gradient(circle,rgba(139,92,246,0.12),transparent 70%);bottom:-100px;right:-100px;animation-delay:-7s}
.orb-3{width:400px;height:400px;background:radial-gradient(circle,rgba(52,211,153,0.08),transparent 70%);top:50%;right:20%;animation-delay:-14s}
@keyframes drift{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(40px,-30px) scale(1.05)}66%{transform:translate(-30px,20px) scale(0.97)}}

/* ── App Layout (Dashboard) ── */
.app-layout { display: flex; height: 100vh; position: relative; z-index: 1; }

/* ── Sidebar ── */
.sidebar { width: 300px; background: rgba(7,7,17,0.75); border-right: 1px solid var(--border); display: flex; flex-direction: column; backdrop-filter: blur(20px); z-index: 100; transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1); }
.sidebar-header { padding: 32px 24px 24px; display: flex; flex-direction: column; align-items: flex-start; gap: 16px; border-bottom: 1px solid var(--border); }
.brand-logo { width: 80px; height: 80px; border-radius: 18px; object-fit: cover; box-shadow: 0 8px 24px rgba(99,102,241,0.25); border: 2px solid rgba(255,255,255,0.05); }
.brand-text { font-size: 1.5rem; font-weight: 800; letter-spacing: -0.03em; }
.brand-text .accent { color: var(--accent-3); margin: 0 2px; }

.sidebar-nav { flex: 1; overflow-y: auto; padding: 24px; display: flex; flex-direction: column; gap: 32px; }
.sidebar-nav::-webkit-scrollbar { width: 6px; }
.sidebar-nav::-webkit-scrollbar-track { background: transparent; }
.sidebar-nav::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.1); border-radius: 10px; }

.nav-section h4 { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.08em; color: rgba(240,240,255,0.75); margin-bottom: 0; font-weight: 700; cursor: pointer; display: flex; align-items: center; justify-content: space-between; padding: 10px 0; transition: color 0.2s; user-select: none; }
.nav-section h4:hover { color: rgba(240,240,255,0.95); }
.nav-section h4::after { content: '▸'; font-size: 0.7rem; transition: transform 0.25s; color: var(--text-faint); }
.nav-section.open h4::after { transform: rotate(90deg); }
.nav-section .nav-links-group { max-height: 0; overflow: hidden; transition: max-height 0.3s ease; }
.nav-section.open .nav-links-group { max-height: 600px; }
.nav-links-group .nav-link:first-child { margin-top: 8px; }
.nav-link { display: flex; align-items: center; justify-content: space-between; text-decoration: none; color: rgba(240,240,255,0.7); font-size: 0.88rem; padding: 8px 12px; border-radius: 8px; transition: all 0.2s; margin-bottom: 4px; border: 1px solid transparent; }
.nav-link:not(.soon):hover { background: var(--surface); color: var(--text); }
.nav-link.active { background: linear-gradient(90deg, rgba(99,102,241,0.15), transparent); color: white; font-weight: 600; border-color: rgba(99,102,241,0.3); border-left: 3px solid var(--accent); }
.badge-soon { font-size: 0.6rem; background: var(--surface); border: 1px solid var(--border); padding: 2px 6px; border-radius: 4px; font-weight: 600; color: var(--text-faint); text-transform: uppercase; letter-spacing: 0.04em; }

/* Sidebar Search */
.sidebar-search { padding: 16px 24px 0; }
.sidebar-search input { width: 100%; background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 9px 12px 9px 36px; color: var(--text); font-family: inherit; font-size: 0.85rem; transition: border-color 0.2s; }
.sidebar-search input:focus { outline: none; border-color: var(--accent); }
.sidebar-search input::placeholder { color: var(--text-faint); }
.sidebar-search { position: relative; }
.sidebar-search::before { content: '🔍'; position: absolute; left: 36px; top: 50%; transform: translateY(-30%); font-size: 0.8rem; pointer-events: none; }

/* Dashboard Card Grid */
.dashboard-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; margin-top: 8px; }
.dashboard-category { margin-bottom: 36px; }
.dashboard-category h2 { font-size: 1.15rem; font-weight: 700; color: var(--text); margin-bottom: 16px; display: flex; align-items: center; gap: 10px; letter-spacing: -0.01em; }
.dashboard-category h2 .cat-icon { width: 32px; height: 32px; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 1rem; flex-shrink: 0; }
.dash-card { background: var(--surface); border: 1px solid var(--border); border-radius: 12px; padding: 18px 20px; cursor: pointer; transition: all 0.25s; display: flex; align-items: center; gap: 14px; text-decoration: none; }
.dash-card:hover { border-color: var(--border-accent); background: var(--surface-hover); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,0.2); }
.dash-card .card-icon { width: 40px; height: 40px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; flex-shrink: 0; background: rgba(99,102,241,0.1); border: 1px solid rgba(99,102,241,0.2); }
.dash-card .card-info h3 { font-size: 0.92rem; font-weight: 600; color: var(--text); margin-bottom: 3px; }
.dash-card .card-info p { font-size: 0.75rem; color: var(--text-faint); line-height: 1.4; }


/* ── Main Content ── */
.main-content { flex: 1; display: flex; flex-direction: column; height: 100vh; overflow-y: auto; position: relative; scroll-behavior: smooth; }

.top-header { padding: 32px 48px; border-bottom: 1px solid var(--border); display: flex; align-items: center; gap: 20px; background: linear-gradient(to bottom, rgba(7,7,17,0.8), transparent); }
.menu-toggle { display: none; background: transparent; border: 1px solid var(--border); color: var(--text); border-radius: 8px; width: 40px; height: 40px; cursor: pointer; align-items: center; justify-content: center; font-size: 1.2rem; }
.active-tool-badge h1 { font-size: 2rem; font-weight: 800; letter-spacing: -0.03em; margin-bottom: 4px; display: flex; align-items: center; gap: 12px; }
.status-pill { font-size: 0.75rem; font-weight: 600; background: rgba(52,211,153,0.1); border: 1px solid rgba(52,211,153,0.3); color: var(--green); padding: 4px 10px; border-radius: 999px; text-transform: uppercase; letter-spacing: 0.05em; }

.content-body { max-width: 900px; margin: 0 auto; padding: 48px 24px 100px; width: 100%; }

/* ── Hero ── */
.hero{text-align:center;margin-bottom:48px}
.hero-badge{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:600;color:var(--accent-3);background:rgba(99,102,241,0.12);border:1px solid rgba(99,102,241,0.3);border-radius:999px;padding:5px 14px;margin-bottom:24px;letter-spacing:.02em;text-transform:uppercase}
.hero-title{font-size:clamp(2.5rem,5vw,3.5rem);font-weight:800;line-height:1.1;letter-spacing:-0.03em;margin-bottom:20px}
.gradient-text{background:linear-gradient(135deg,#6366f1,#a78bfa,#34d399);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-subtitle{font-size:1.05rem;color:var(--text-muted);max-width:560px;margin:0 auto}
.hero { position: relative; }
.btn-share { position: absolute; top: 0; right: 0; background: rgba(99,102,241,0.1); border: 1px solid rgba(99,102,241,0.3); color: var(--accent-3); border-radius: 999px; padding: 6px 14px; font-size: 0.8rem; font-weight: 600; display: inline-flex; align-items: center; gap: 6px; cursor: pointer; transition: all 0.2s; box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
.btn-share:hover { background: rgba(99,102,241,0.2); transform: translateY(-1px); box-shadow: 0 6px 16px rgba(0,0,0,0.2); }
.btn-share svg { width: 14px; height: 14px; }
@media (max-width: 600px) { .btn-share { position: relative; margin-top: 16px; margin-bottom: -10px; right: auto; top: auto; display: inline-flex; } }
.hero-subtitle strong{color:var(--text)}

/* ── Content Highlights ── */
.info-section { margin-top:40px; padding:40px; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); backdrop-filter:blur(10px); }
.info-title { font-size:1.6rem; font-weight:800; margin-bottom:32px; text-align:center; color:white; letter-spacing:-0.02em; }
.steps-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:24px; margin-bottom:48px; }
.step-card { text-align:center; }
.step-num { width:48px; height:48px; margin:0 auto 16px; background:linear-gradient(135deg, var(--accent), var(--accent-2)); border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:1.3rem; color:white; box-shadow:0 4px 16px rgba(99,102,241,0.4); }
.step-card h3 { font-size:1.1rem; font-weight:700; margin-bottom:8px; }
.step-card p { font-size:.9rem; color:var(--text-muted); line-height:1.6; }

.highlights-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(250px, 1fr)); gap:24px; border-top:1px solid var(--border); padding-top:48px; }
.highlight-item { display:flex; gap:16px; align-items:flex-start; }
.highlight-icon { width:40px; height:40px; border-radius:10px; background:rgba(52,211,153,.1); border:1px solid rgba(52,211,153,.3); color:var(--green); display:flex; align-items:center; justify-content:center; font-size:1.2rem; flex-shrink:0; }
.highlight-item:nth-child(2) .highlight-icon { background:rgba(96,165,250,.1); border-color:rgba(96,165,250,.3); color:var(--blue); }
.highlight-item:nth-child(3) .highlight-icon { background:rgba(245,158,11,.1); border-color:rgba(245,158,11,.3); color:var(--amber); }
.highlight-item:nth-child(4) .highlight-icon { background:rgba(248,113,113,.1); border-color:rgba(248,113,113,.3); color:var(--red); }
.highlight-item h4 { font-size:1.05rem; font-weight:700; margin-bottom:6px; color:white; }
.highlight-item p { font-size:.85rem; color:var(--text-muted); line-height:1.5; }

/* ── Upload ── */
.upload-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;backdrop-filter:blur(12px);transition:border-color .3s;margin-bottom:24px}
.upload-card.dragover{border-color:var(--accent);background:rgba(99,102,241,0.06);box-shadow:0 0 0 4px rgba(99,102,241,0.1)}
.upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:56px 32px;cursor:pointer;text-align:center;gap:8px}
.upload-icon-wrap{position:relative;width:80px;height:80px;margin-bottom:16px}
.upload-icon-ring{position:absolute;inset:0;border:2px dashed rgba(99,102,241,0.3);border-radius:50%;animation:rotate 10s linear infinite}
.upload-icon{width:32px;height:32px;color:var(--accent);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}
@keyframes rotate{to{transform:rotate(360deg)}}
.upload-title{font-size:1.2rem;font-weight:700}
.upload-subtitle{font-size:.9rem;color:var(--text-muted)}
.browse-link{color:var(--accent-2);font-weight:600;text-decoration:underline;text-underline-offset:4px}
.upload-note{margin-top:12px;font-size:.8rem;color:var(--text-faint)}

/* ── Processing ── */
.batch-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin-bottom:24px;backdrop-filter:blur(12px)}
.batch-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}
.batch-header-left{display:flex;align-items:center;gap:12px}
.batch-title-icon{width:40px;height:40px;background:rgba(255,255,255,0.05);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem}
.batch-title{font-weight:700;font-size:1.05rem}
.batch-sub{font-size:.82rem;color:var(--text-muted)}
.batch-header-right{display:flex;gap:8px}
.progress-track{height:6px;background:rgba(255,255,255,0.05);border-radius:999px;overflow:hidden;margin-bottom:24px}
.progress-bar{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-3));width:0%;transition:width .3s ease;border-radius:999px}
.batch-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto;padding-right:8px}

.file-item{display:flex;align-items:center;padding:12px 16px;background:rgba(0,0,0,0.2);border:1px solid var(--border);border-radius:10px;gap:16px;transition:all .2s}
.file-item.error{border-color:rgba(248,113,113,.3);background:rgba(248,113,113,.05)}
.file-item.done{border-color:rgba(52,211,153,.2)}
.fi-icon{flex-shrink:0;width:32px;height:32px;border-radius:8px;background:rgba(255,255,255,0.05);display:flex;align-items:center;justify-content:center;font-size:1rem}
.file-item.done .fi-icon{background:rgba(52,211,153,.1);color:var(--green)}
.file-item.error .fi-icon{background:rgba(248,113,113,.1);color:var(--red)}
.fi-body{flex:1;min-width:0}
.fi-name{font-size:.85rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}
.fi-meta{display:flex;align-items:center;gap:8px;font-size:.75rem;color:var(--text-faint)}
.fi-status{font-weight:600}
.text-accent{color:var(--accent-3)}
.text-green{color:var(--green)}
.text-red{color:var(--red)}
.fi-action{flex-shrink:0}

/* ── Results ── */
.results-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;backdrop-filter:blur(12px);margin-bottom:24px}
.results-header{padding:24px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.results-icon{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,rgba(52,211,153,.2),rgba(52,211,153,.05));border:1px solid rgba(52,211,153,.3);color:var(--green);display:flex;align-items:center;justify-content:center;font-size:1.5rem}
.results-title{font-size:1.2rem;font-weight:700;letter-spacing:-.01em;margin-bottom:4px}
.results-meta{font-size:.85rem;color:var(--text-muted)}
.results-actions-top{margin-left:auto;display:flex;gap:8px}
.sheet-tabs{display:flex;gap:4px;padding:10px 14px;border-bottom:1px solid var(--border);overflow-x:auto}
.sheet-tab{padding:5px 14px;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;color:var(--text-muted);border:1px solid transparent;background:transparent;transition:all .2s;white-space:nowrap;display:flex;align-items:center;gap:6px}
.sheet-tab:hover{color:var(--text);background:var(--surface-hover)}
.sheet-tab.active{color:var(--accent-3);background:rgba(99,102,241,.1);border-color:rgba(99,102,241,.3)}
.ocr-badge{display:inline-flex;align-items:center;font-size:.65rem;font-weight:700;padding:1px 6px;border-radius:4px;background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.3);color:var(--amber);letter-spacing:.03em}

/* Table */
.table-wrap{overflow:auto;max-height:360px}
.data-table{width:100%;border-collapse:collapse;font-size:.82rem;min-width:400px}
.data-table th{background:rgba(99,102,241,.08);color:var(--accent-3);font-weight:600;font-size:.73rem;text-transform:uppercase;letter-spacing:.05em;padding:10px 14px;text-align:left;border-bottom:1px solid var(--border-accent);white-space:nowrap;position:sticky;top:0;z-index:2}
.data-table td{padding:9px 14px;border-bottom:1px solid var(--border);color:var(--text);vertical-align:top;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.data-table tr:hover td{background:var(--surface-hover)}
.data-table tr:last-child td{border-bottom:none}
.actions-row{display:flex;gap:12px;padding:18px 24px;border-top:1px solid var(--border);flex-wrap:wrap}

/* Buttons */
.btn-primary{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:white;font-family:inherit;font-size:.9rem;font-weight:600;padding:11px 22px;border-radius:var(--radius-sm);border:none;cursor:pointer;transition:all .2s;letter-spacing:-.01em}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(99,102,241,.35)}
.btn-primary:active{transform:translateY(0)}
.btn-secondary{display:inline-flex;align-items:center;gap:8px;background:var(--surface);color:var(--text);font-family:inherit;font-size:.85rem;font-weight:500;padding:11px 18px;border-radius:var(--radius-sm);border:1px solid var(--border);cursor:pointer;transition:all .2s}
.btn-secondary:hover{border-color:var(--border-accent);background:var(--surface-hover)}
.btn-ghost{display:inline-flex;align-items:center;gap:6px;background:transparent;color:var(--text-muted);font-family:inherit;font-size:.82rem;font-weight:500;padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);cursor:pointer;transition:all .2s}
.btn-ghost:hover{color:var(--text);border-color:rgba(255,255,255,.2)}

/* ── Error ── */
.error-card{display:flex;align-items:flex-start;gap:16px;background:rgba(248,113,113,.06);border:1px solid rgba(248,113,113,.2);border-radius:var(--radius);padding:24px;margin-bottom:24px;animation:slideUp .3s ease;flex-wrap:wrap}
.error-icon{font-size:1.5rem;color:var(--red);flex-shrink:0}
.error-title{font-weight:700;font-size:.95rem;color:var(--red);margin-bottom:4px}
.error-msg{font-size:.85rem;color:var(--text-muted)}

/* ── Footer ── */
.footer{text-align:center;padding:40px 24px 24px; font-size:.85rem;color:var(--text-faint); margin-top: auto;}

/* ── Modal ── */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(8px);z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.modal-box{background:#0d0d1e;border:1px solid var(--border-accent);border-radius:var(--radius);width:100%;max-width:560px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 24px 80px rgba(0,0,0,.6);animation:slideUp .25s ease}
.modal-hd{display:flex;align-items:flex-start;justify-content:space-between;padding:22px 24px 16px;border-bottom:1px solid var(--border)}
.modal-title{font-size:1.05rem;font-weight:700;letter-spacing:-.02em}
.modal-subtitle{font-size:.78rem;color:var(--text-muted);margin-top:4px}
.modal-close-btn{width:28px;height:28px;border-radius:50%;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;font-size:.8rem;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}
.modal-close-btn:hover{background:var(--surface-hover);color:var(--text)}
.col-map-instructions{padding:10px 24px;font-size:.8rem;color:var(--text-muted);background:rgba(99,102,241,.04);border-bottom:1px solid var(--border)}
.col-map-list{flex:1;overflow-y:auto}
.col-map-row{display:flex;align-items:center;gap:12px;padding:10px 24px;transition:background .2s}
.col-map-row:hover{background:var(--surface-hover)}
.col-map-row.excluded{opacity:.5}
.col-map-check{width:17px;height:17px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}
.col-map-original{font-size:.76rem;color:var(--text-muted);min-width:90px;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0}
.col-map-arrow{color:var(--text-faint);font-size:.75rem;flex-shrink:0}
.col-map-input{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:6px 10px;color:var(--text);font-family:inherit;font-size:.82rem;transition:border-color .2s;min-width:0}
.col-map-input:focus{outline:none;border-color:var(--accent)}
.col-map-input:disabled{opacity:.35;cursor:not-allowed}
.modal-ft{display:flex;align-items:center;gap:8px;padding:14px 24px;border-top:1px solid var(--border)}
.modal-ft .spacer{flex:1}

/* ── Toast ── */
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#1e1e3a;border:1px solid var(--border-accent);border-radius:10px;padding:10px 20px;font-size:.85rem;color:var(--text);z-index:300;animation:slideUp .3s ease;pointer-events:none}
@keyframes slideUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* ── Utility ── */
.hidden{display:none!important}

/* ── Responsive ── */
.mobile-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,0.6); z-index:90; backdrop-filter:blur(4px); opacity:0; transition:opacity 0.3s; pointer-events:none; }
.mobile-overlay.active { opacity:1; pointer-events:auto; }
@media(max-width:900px){
  .sidebar { position:fixed; top:0; left:0; bottom:0; transform:translateX(-100%); width:300px; box-shadow:10px 0 30px rgba(0,0,0,0.5); background: #070711; backdrop-filter: none; -webkit-backdrop-filter: none; }
  .sidebar.open { transform:translateX(0); }
  .menu-toggle { display: flex; }
  .mobile-overlay { display: block; }
  .top-header { padding: 24px; }
  .content-body { padding: 32px 16px 80px; }
  
  /* Flatten rigid inline calculator grids on mobile */
  .tool-view [style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
  }
}
@media(max-width:640px){
  .upload-zone{padding:44px 16px}
  .results-actions-top{order:3;width:100%; margin-top:12px; margin-left:0;}
  .batch-header{flex-direction:column;align-items:flex-start;gap:12px}
  .actions-row{flex-direction:column}
  .btn-primary,.btn-secondary{justify-content:center}
}

/* Spinner animation for YouTube converter */
@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

/* Print Button Styling */
.print-btn {
  margin-top: 24px; width: 100%; padding: 12px; border-radius: 8px; 
  border: 1px solid var(--border); background: var(--bg-hover); color: var(--text-primary); 
  cursor: pointer; font-size: 1rem; display: flex; align-items: center; justify-content: center; 
  gap: 8px; transition: background 0.2s; font-family: 'Inter', sans-serif;
}
.print-btn:hover { background: rgba(255, 255, 255, 0.1); }

/* Print Media Queries */
@media print {
  body { background: #fff !important; color: #000 !important; overflow: visible !important; height: auto !important; }
  .sidebar, .top-header, .hero, .info-section, .print-btn, .upload-card, .hide-on-print { display: none !important; }
  .content-main { margin: 0 !important; padding: 0 !important; overflow: visible !important; }
  .results-card { 
    box-shadow: none !important; border: none !important; 
    margin: 0 !important; width: 100% !important; max-width: none !important; 
    page-break-inside: avoid; background: #fff !important;
  }
}
