*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Inter',sans-serif;background:#f6f7f8;height:100vh;overflow:hidden;display:flex;}
.material-symbols-outlined{font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24;vertical-align:middle;line-height:1;}
.layout-container{flex:1;display:flex;flex-direction:column;overflow-y:auto;height:100vh;}
.page-header{background:#fff;border-bottom:1px solid #e5e7eb;padding:0 24px;height:52px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}
.card{background:#fff;border-radius:12px;border:1.5px solid #e5e7eb;padding:16px 20px;}
.card-icon{width:26px;height:26px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}

/* Form inputs */
.form-input{width:100%;background:#f8fafc;border:1.5px solid #e5e7eb;border-radius:8px;padding:9px 11px;font-size:13px;color:#111827;font-family:inherit;outline:none;transition:border-color .15s;}
.form-input:focus{border-color:#207fdf;}
.form-input:disabled{opacity:.5;cursor:not-allowed;background:#f1f5f9;}
select.form-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px;}

/* Drop zone */
.drop-zone{border:2px dashed #d1d5db;border-radius:10px;padding:28px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fafafa;cursor:pointer;transition:all .15s;min-height:140px;}
.drop-zone:hover{border-color:#207fdf;background:#f0f7ff;}
.drop-zone.drag-over{border-color:#207fdf;background:#eff6ff;}

/* Buttons */
.btn-primary{display:inline-flex;align-items:center;gap:6px;padding:9px 20px;border-radius:8px;border:none;background:#207fdf;color:#fff;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;transition:background .15s;}
.btn-primary:hover{background:#1a6bc0;}
.btn-primary:disabled{opacity:.7;cursor:not-allowed;}
.btn-primary:focus-visible{outline:2px solid #207fdf;outline-offset:2px;}
.btn-ghost{background:none;border:none;cursor:pointer;color:#6b7280;font-size:13px;font-weight:600;font-family:inherit;padding:9px 16px;border-radius:8px;transition:all .15s;}
.btn-ghost:hover{color:#111827;background:#f1f5f9;}
.btn-ghost:focus-visible{outline:2px solid #207fdf;outline-offset:2px;}

/* Submit button (full-width variant) */
.btn-submit{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:13px 20px;border-radius:9px;border:none;background:#207fdf;color:#fff;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;transition:background .15s;}
.btn-submit:hover{background:#1a6bc0;}
.btn-submit:disabled{opacity:.7;cursor:not-allowed;}
.btn-submit:focus-visible{outline:2px solid #207fdf;outline-offset:2px;}

@keyframes spin{to{transform:rotate(360deg);}}
.spin{animation:spin 1s linear infinite;display:inline-block;}

/* Responsive */
@media(max-width:768px){
  .page-header{padding:0 16px;}
  .step1-grid{grid-template-columns:1fr !important;}
  .step1-right{order:-1;}
}
