.dropzone{display:flex;flex-direction:column;align-items:center;gap:6px;border:2px dashed var(--gray-300);border-radius:20px;padding:36px 20px;text-align:center;cursor:pointer;background:var(--gray-50);transition:border-color .15s,background .15s;-webkit-tap-highlight-color:transparent}.dropzone:hover,.dropzone:focus-visible{border-color:var(--orange);background:var(--orange-tint);outline:none}.dropzone.dragging{border-color:var(--orange);background:var(--orange-tint)}.dropzone-glyph{width:40px;height:40px;color:var(--orange)}.dropzone-title{font-size:16px;font-weight:700;color:var(--gray-900)}.dropzone-hint{font-size:13px;font-weight:600;color:var(--gray-500);letter-spacing:.02em}.dropzone-btn{margin-top:10px;display:inline-block;padding:10px 20px;border-radius:12px;background:var(--orange);color:#fff;font-size:15px;font-weight:700}.dropzone-input{display:none}.privacy-note{margin-top:14px;font-size:13px;line-height:1.6;color:var(--gray-500);text-align:center}.file-name{margin-top:10px;font-size:14px;font-weight:600;color:var(--gray-700);text-align:center;word-break:break-all}.error-msg{margin-top:12px;padding:12px 14px;border-radius:12px;background:#fdeceb;color:#d63a35;font-size:14px;font-weight:600;line-height:1.5;text-align:center}.opt-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}.opt-block{margin-top:20px}.opt-block:first-child{margin-top:8px}.opt-label{font-size:14px;font-weight:700;color:var(--gray-700)}.opt-hint{margin-top:10px;font-size:12px;font-weight:500;line-height:1.6;color:var(--gray-500)}.sheet-select{flex:1;max-width:60%;border:2px solid var(--gray-200);border-radius:12px;padding:10px 12px;font-family:inherit;font-size:15px;font-weight:600;color:var(--gray-900);background:#fff;outline:none;transition:border-color .15s}.sheet-select:focus{border-color:var(--orange)}.result-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:4px}.result-meta{font-size:13px;font-weight:600;color:var(--gray-500);font-variant-numeric:tabular-nums}.result-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.act-btn{border:none;cursor:pointer;font-family:inherit;font-size:14px;font-weight:700;color:var(--gray-700);background:var(--gray-100);border-radius:12px;padding:9px 16px;transition:background .15s,color .15s}.act-btn:hover{background:var(--gray-200)}.act-btn.primary{color:#fff;background:var(--orange)}.act-btn.primary:hover{background:var(--orange-strong)}.act-btn:disabled{opacity:.45;cursor:not-allowed}.act-btn:disabled:hover{background:var(--gray-100)}.act-btn.primary:disabled:hover{background:var(--orange)}.json-editor{display:block;width:100%;margin-top:14px;min-height:260px;max-height:460px;resize:vertical;overflow:auto;padding:16px;border:2px solid transparent;border-radius:16px;background:var(--gray-900);color:#e6edf3;caret-color:var(--orange);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.6;white-space:pre;-moz-tab-size:2;tab-size:2;outline:none;transition:border-color .15s}.json-editor:focus{border-color:var(--orange)}.validity{display:flex;align-items:center;gap:7px;margin-top:12px;font-size:13px;font-weight:700}.validity.valid{color:#12805c}.validity.invalid{color:#d63a35}.validity-icon{width:16px;height:16px;flex-shrink:0}.validity-pos{font-weight:600}.validity-reason{margin-top:8px;padding:10px 12px;border-radius:10px;background:#fdeceb;color:#b5322e;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.5;word-break:break-word;white-space:normal}
