/* MT Buchungssystem – Frontend Styles */

.mt-buchung-wrapper{font-family:'Nunito Sans',sans-serif;width:100%;display:block}
.mt-form-header{background:#0093A2;border-radius:12px 12px 0 0;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;width:100%;box-sizing:border-box}
.mt-form-title{color:#fff;font-size:15px;font-weight:700}
.mt-form-step-label{color:rgba(255,255,255,.85);font-size:13px;font-weight:600}
.mt-form-card{background:#fff;border:1px solid #d1d5db;border-top:none;border-radius:0 0 12px 12px;padding-bottom:2rem;width:100%;box-sizing:border-box}
.mt-step-content{width:100%;box-sizing:border-box}

/* Progress */
.mt-progress-bar{padding:1.5rem 1.5rem 1.25rem}
.mt-steps{display:flex;align-items:flex-start}
.mt-step-col{display:flex;flex-direction:column;align-items:center;flex:0 0 auto}
.mt-step-circle{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0;border:2px solid #d1d5db;background:#fff;color:#000;transition:all .2s}
.mt-step-circle.active{background:var(--mt-primary,#0093A2);border-color:var(--mt-primary,#0093A2);color:#fff}
.mt-step-circle.done{background:var(--mt-primary,#0093A2);border-color:var(--mt-primary,#0093A2);color:#fff}
.mt-step-circle.done span::before{content:'✓'}
.mt-step-circle.done span{font-size:0}
.mt-step-circle.done::after{content:'✓';font-size:13px}
.mt-step-line{flex:1 1 auto;height:2px;min-width:12px;background:#d1d5db;transition:background .3s;margin-top:15px}
.mt-step-line.done{background:#0093A2}
.mt-step-lbl{margin-top:6px;font-size:11px;color:#000;text-align:center;font-weight:600;max-width:90px;line-height:1.3}
.mt-step-lbl.active{color:#0093A2;font-weight:700}
.mt-step-lbl.done{color:#0093A2}

/* Body */
.mt-form-body{padding:0 1.5rem}
.mt-step-content{display:none}
.mt-step-content.active{display:block}
.mt-step-title{font-size:17px;font-weight:700;color:#1a1a1a;margin:0 0 .35rem}
.mt-step-subtitle{font-size:13px;color:#6b7280;margin:0 0 1.25rem;line-height:1.5}
.mt-info-box{background:#e6f6f8;border-left:3px solid #0093A2;border-radius:0 6px 6px 0;padding:.75rem 1rem;margin-bottom:1.5rem;font-size:13px;color:#54595F;line-height:1.5}
.mt-section-label{font-size:16px;font-weight:700;color:#0093A2;letter-spacing:0;margin-bottom:.75rem}

/* Fields */
.mt-field-group{margin-bottom:1.25rem}
.mt-field-label{display:block;font-size:13px;font-weight:700;color:#54595F;margin-bottom:.4rem}
.mt-field-label span{color:#dc2626}
.mt-field-input{width:100%;padding:.65rem .85rem;border:1.5px solid #d1d5db;border-radius:8px;font-size:14px;font-family:'Nunito Sans',sans-serif;color:#1a1a1a;transition:border-color .15s;box-sizing:border-box}
.mt-field-input:focus{outline:none;border-color:#0093A2;box-shadow:0 0 0 3px rgba(0,147,162,.12)}
.mt-field-input::placeholder{color:#000}
.mt-field-input[readonly]{background:#f8fafb;color:#54595F}
.mt-field-hint{font-size:14px;color:#000;margin-top:.35rem}
.mt-sn-duplicate-warn{font-size:13px;color:#b45309;margin-top:.35rem;font-weight:600}
.mt-field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}

/* Verify status */
.mt-verify-status{padding:.65rem 1rem;border-radius:8px;font-size:13px;font-weight:700;margin-top:.75rem}
.mt-verify-status.success{background:#dcfce7;color:#16a34a;border:1px solid #bbf7d0}
.mt-verify-status.error{background:#fee2e2;color:#dc2626;border:1px solid #fecaca}

/* Customer badge */
.mt-customer-badge{background:#e6f6f8;border:1px solid rgba(0,147,162,.2);border-radius:8px;padding:.75rem 1rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem}
.mt-badge-icon{width:36px;height:36px;background:#0093A2;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;flex-shrink:0}
.mt-badge-info strong{display:block;font-size:14px;color:#1a1a1a}
.mt-badge-info span{font-size:12px;color:#6b7280}

/* Calendar */
.mt-calendar-wrapper{border:1.5px solid #d1d5db;border-radius:10px;overflow:hidden;margin-bottom:1.25rem}
.mt-cal-header{background:#0093A2;color:#fff;padding:.85rem 1rem;display:flex;align-items:center;justify-content:space-between}
.mt-cal-month{font-size:14px;font-weight:700}
.mt-cal-nav{background:none;border:none;color:#fff;cursor:pointer;padding:4px 8px;border-radius:4px;font-size:20px;opacity:.85;line-height:1}
.mt-cal-nav:hover{opacity:1}
.mt-cal-grid{padding:.75rem}
.mt-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:6px}
.mt-cal-weekdays span{text-align:center;font-size:11px;font-weight:700;color:#000;padding:4px 0;text-transform:uppercase}
.mt-cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.mt-cal-day{text-align:center;padding:6px 2px;border-radius:6px;font-size:13px;font-weight:600;min-height:32px;display:flex;align-items:center;justify-content:center;border:1.5px solid transparent;transition:all .15s}
.mt-cal-day.free{background:rgba(0,147,162,.1);color:#0093A2;border-color:rgba(0,147,162,.2);cursor:pointer}
.mt-cal-day.free:hover,.mt-cal-day.free:focus{background:var(--mt-primary,#0093A2);color:#fff;border-color:var(--mt-primary,#0093A2)}
.mt-cal-day.selected{background:#0093A2;color:#fff;border-color:#0093A2}
.mt-cal-day.blocked,.mt-cal-day.past,.mt-cal-day.empty{background:#f3f4f6;color:#d1d5db;cursor:not-allowed}
.mt-cal-legend{display:flex;gap:1.25rem;padding:0 .75rem .75rem;font-size:12px;color:#6b7280}
.mt-legend-item{display:flex;align-items:center;gap:6px}
.mt-legend-dot{width:12px;height:12px;border-radius:3px}
.mt-legend-dot.free{background:rgba(0,147,162,.12);border:1.5px solid rgba(0,147,162,.3)}
.mt-legend-dot.blocked{background:#f3f4f6;border:1.5px solid #e5e7eb}
.mt-legend-dot.selected{background:#0093A2}
.mt-selected-date{font-size:13px;color:#54595F;font-weight:700;text-align:center;padding:.5rem;background:#e6f6f8;border-radius:6px;margin-bottom:1.25rem}

/* Devices */
.mt-device-block{border:1.5px solid #d1d5db;border-radius:10px;padding:1rem;margin-bottom:1rem}
.mt-device-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}
.mt-device-title{font-size:13px;font-weight:700;color:#54595F}
.mt-device-remove{background:none;border:none;color:#d1d5db;cursor:pointer;font-size:20px;padding:0;line-height:1;transition:color .15s}
.mt-device-remove:hover{color:#dc2626}
.mt-device-info{background:#f8fafb;border:1.5px solid #d1d5db;border-radius:6px;padding:.65rem .85rem;margin-top:.5rem}
.mt-device-info strong{display:block;font-size:13px;color:#1a1a1a}
.mt-device-info span{font-size:12px;color:#6b7280}
.mt-device-info.error{background:#fee2e2;border-color:#fecaca}
.mt-device-info.error strong{color:#dc2626}
.mt-add-device-btn{width:100%;padding:.65rem;border:1.5px dashed var(--mt-primary,#0093A2);border-radius:8px;background:transparent;color:var(--mt-primary,#0093A2);font-size:13px;font-weight:700;cursor:pointer;transition:all .15s;font-family:'Nunito Sans',sans-serif;display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1.25rem}
.mt-add-device-btn:hover{background:var(--mt-primary-tint,#e6f6f8)}

/* Radio */
.mt-radio-group{display:flex;gap:1rem;margin-bottom:.75rem}
.mt-radio-option{flex:1;border:1.5px solid #d1d5db;border-radius:8px;padding:.75rem 1rem;cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:.75rem;font-size:14px;font-weight:600;color:#1a1a1a}
.mt-radio-option:hover{border-color:var(--mt-primary,#0093A2)}
.mt-radio-option.selected{border-color:#0093A2;background:#e6f6f8}
.mt-radio-option input{accent-color:#0093A2}
.mt-checkbox-option{display:flex;align-items:center;gap:.6rem;font-size:14px;font-weight:600;color:#1a1a1a;cursor:pointer;margin-bottom:1rem}
.mt-checkbox-option input{accent-color:#0093A2;width:16px;height:16px}
.mt-zubehoer-row{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin-top:.4rem}
.mt-zubehoer-row .mt-checkbox-option{font-size:13px;font-weight:500;margin-bottom:0;gap:.4rem}
.mt-zubehoer-row .mt-checkbox-option input{width:15px;height:15px}

/* Kontamination link */
.mt-kontamination{margin-top:1rem}
.mt-dl-link{font-size:13px;color:#0093A2;font-weight:700;text-decoration:none}
.mt-dl-link:hover{text-decoration:underline}

/* Summary */
.mt-summary-section{border:1.5px solid #d1d5db;border-radius:10px;overflow:hidden;margin-bottom:1rem}
.mt-summary-header{background:#f8fafb;padding:.6rem 1rem;font-size:16px;font-weight:700;color:#0093A2;letter-spacing:0;margin-bottom:.75rem;border-bottom:1px solid #d1d5db}
.mt-summary-row{display:flex;justify-content:space-between;align-items:flex-start;padding:.65rem 1rem;border-bottom:1px solid #f3f4f6;font-size:13px}
.mt-summary-row:last-child{border-bottom:none}
.mt-summary-row span{color:#6b7280;font-weight:500}
.mt-summary-row strong{font-weight:700;color:#1a1a1a;text-align:right;max-width:55%}
.mt-summary-notice{background:#fff8f5;border:1px solid rgba(234,103,51,.2);border-radius:8px;padding:.75rem 1rem;font-size:13px;color:#54595F;line-height:1.5;margin-bottom:1.25rem}
.mt-summary-notice strong{color:#EA6733}

/* Success */
.mt-success-icon{width:64px;height:64px;background:#0093A2;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:28px;margin:0 auto}

/* Footer / Buttons */
.mt-form-footer{padding:1.5rem 1.5rem 0;display:flex;gap:.75rem;align-items:center}
.mt-btn{padding:.75rem 1.75rem;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;transition:all .18s;font-family:'Nunito Sans',sans-serif;border:none !important}
.mt-btn-primary{background:var(--mt-primary,#0093A2);color:#fff;flex:1}
.mt-btn-primary:hover{background:var(--mt-primary-hover,#007585)}
.mt-btn-primary.submit{background:var(--mt-accent,#EA6733)}
.mt-btn-primary.submit:hover{background:var(--mt-accent-hover,#d4531e)}
.mt-btn-primary:disabled{opacity:.5;cursor:not-allowed}
.mt-btn-secondary{background:transparent;color:#54595F}
.mt-btn-secondary:hover{background:#f8fafb}

/* Loading spinner */
.mt-btn.loading{position:relative;color:transparent}
.mt-btn.loading::after{content:'';position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:mt-spin .7s linear infinite}
@keyframes mt-spin{to{transform:rotate(360deg)}}

@media(max-width:480px){
  .mt-field-row{grid-template-columns:1fr}
  .mt-radio-group{flex-direction:column}
  .mt-form-footer{flex-direction:column}
  .mt-btn{width:100%}
  .mt-step-lbl{font-size:9.5px;max-width:60px}
  .mt-step-line{min-width:6px}
}
