@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@font-face{font-family:"Kanit";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/kanit-v17-latin_thai-regular.woff2)format("woff2")}@font-face{font-family:"Kanit";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/kanit-v17-latin_thai-700.woff2)format("woff2")}:root{--bg-dark:#0f172a;--bg-card:#1e293b;--bg-main:#1e293b;--surface:#1e293b;--text-main:#f8fafc;--text-muted:#94a3b8;--primary:#d946ef;--primary-hover:#c026d3;--success:#10b981;--success-hover:#059669;--border:#334155;--error:#ef4444;--warning:#facc15;--info:#3b82f6}*{box-sizing:border-box;margin:0;padding:0;font-family:"Kanit",sans-serif}body{background-color:var(--bg-dark);color:var(--text-main);min-height:100vh;line-height:1.6}main{flex:1;padding:1.5rem;max-width:900px;margin:0 auto;width:100%}header{text-align:center;padding:60px 20px 30px}header h1{font-size:2.2rem;margin-bottom:10px;color:#fff;font-weight:700;line-height:1.2;text-shadow:0 2px 10px rgba(0,0,0,.3)}header p{color:rgba(255,255,255,.85);font-size:1.1rem;max-width:600px;margin:0 auto;line-height:1.5}.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem;align-items:start}.card-wrapper,body{display:flex;flex-direction:column}.card-wrapper{gap:12px}.upload-card{background-color:var(--bg-card);border:2px dashed var(--border);border-radius:16px;padding:1.8rem 1rem;text-align:center;transition:all .3s ease;cursor:pointer;position:relative}.upload-card:hover{border-color:var(--primary);background-color:rgba(217,70,239,.05);transform:translateY(-2px)}.upload-card input[type=file]{display:none}.upload-icon{display:block;margin:0 auto 10px;width:36px;height:36px}.file-name{display:block;font-size:.85rem;color:#f0abfc;margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.config-panel,.sheet-selector{border:1px solid var(--border);display:none}.sheet-selector{background:var(--bg-card);padding:15px;border-radius:12px}.config-panel.visible,.sheet-selector.visible{display:block;animation:fadeIn .3s ease}.config-panel{background-color:var(--bg-card);border-radius:16px;padding:1.5rem;margin-bottom:1.5rem}.form-group{margin-bottom:1.2rem}.form-group:last-child{margin-bottom:0}label,label.section-title{display:block;font-weight:600}label.section-title{font-size:1rem;margin-bottom:.8rem;color:#60a5fa}label{font-size:.9rem;margin-bottom:.4rem}.checkbox-grid,input[type=number],select{border-radius:10px;border:1px solid var(--border)}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;background:var(--bg-dark);padding:15px;max-height:250px;overflow-y:auto}.checkbox-item{display:flex;align-items:center;gap:8px;font-size:.95rem;cursor:pointer;padding:4px;border-radius:4px;transition:background .2s;font-weight:400}.checkbox-item:hover{background:rgba(255,255,255,.05)}.checkbox-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}input[type=number],select{width:100%;padding:.75rem;background-color:var(--bg-dark);color:var(--text-main);font-size:.95rem;cursor:pointer;transition:border-color .2s}input[type=number]:focus,select:focus{outline:1px solid var(--primary);border-color:transparent}.btn-action{width:100%;background-color:var(--success);color:#fff;padding:1rem;border:0;border-radius:12px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:background-color .2s,transform .2s;box-shadow:0 4px 15px rgba(16,185,129,.3)}.btn-action:hover:not(:disabled){background-color:var(--success-hover);transform:translateY(-2px)}.btn-action:disabled{background-color:var(--border);color:var(--text-muted);cursor:not-allowed;box-shadow:none;transform:none}#progress-container{display:none;margin-top:1.2rem}.progress-bar-bg{width:100%;background-color:var(--bg-dark);border-radius:8px;height:12px;overflow:hidden;border:1px solid var(--border)}.progress-bar-fill{height:100%;background-color:var(--success);width:0%;transition:width .2s ease-out}#status-text{margin-top:.6rem;font-size:.9rem;text-align:center;color:var(--info);font-weight:500}.help-box{background-color:rgba(217,70,239,.08);border-left:4px solid var(--primary);padding:1.2rem;border-radius:12px;margin-top:1.5rem;font-size:.92rem;line-height:1.6}.help-box code{background:rgba(0,0,0,.4);padding:2px 6px;border-radius:4px;color:#f472b6;font-family:monospace}@media (max-width:600px){.upload-grid{grid-template-columns:1fr}header h1{font-size:1.6rem}main{padding:1rem}}
