:root{
  --gls-ink:#241B2E; --gls-purple:#7C2AE8; --gls-coral:#FF7A59; --gls-sage:#6FBE96; --gls-wa:#25D366;
  --gls-bg:#FAF8FC; --gls-card:#FFFFFF; --gls-border:#E8E2F0; --gls-muted:#6b6478;
}
.gls-wizard-root{
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  color:var(--gls-ink);
  max-width:560px;
  margin:0 auto;
  padding:16px 0 40px;
}
.gls-wizard-root *{box-sizing:border-box;}
.gls-wizard-error{
  max-width:480px; margin:40px auto; padding:20px; text-align:center;
  background:#fff3cd; border:1px solid #ffeeba; border-radius:10px; color:#856404;
}
.gls-brand{font-family:'Space Grotesk',system-ui,sans-serif;font-weight:700;font-size:13px;color:var(--gls-purple);margin-bottom:10px;}
.gls-frame-strip{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.gls-frame-strip img{width:56px;height:56px;object-fit:cover;border-radius:8px;border:1px solid var(--gls-border);}
.gls-frame-strip .name{font-weight:600;font-size:14px;}
.gls-frame-strip .price{color:var(--gls-muted);font-size:12.5px;}
.gls-progress{display:flex;gap:6px;margin-bottom:18px;}
.gls-progress span{flex:1;height:4px;border-radius:2px;background:var(--gls-border);}
.gls-progress span.done{background:var(--gls-sage);}
.gls-progress span.active{background:var(--gls-purple);}
.gls-card{background:var(--gls-card);border:1px solid var(--gls-border);border-radius:16px;padding:22px 20px;box-shadow:0 2px 12px rgba(36,27,46,.06);}
.gls-q-title{font-family:'Space Grotesk',system-ui,sans-serif;font-size:19px;margin:0 0 6px;}
.gls-q-sub{color:var(--gls-muted);font-size:13.5px;margin:0 0 18px;line-height:1.5;}
.gls-options{display:flex;flex-direction:column;gap:10px;margin-bottom:6px;}
.gls-opt-card{border:1.5px solid var(--gls-border);border-radius:10px;padding:12px 14px;cursor:pointer;transition:border-color .15s,background .15s;}
.gls-opt-card:hover{border-color:var(--gls-purple);}
.gls-opt-card.sel{border-color:var(--gls-purple);background:rgba(124,42,232,.07);}
.gls-opt-card.outline{border-style:dashed;}
.gls-opt-label{font-weight:600;font-size:14.5px;}
.gls-opt-cap{color:var(--gls-muted);font-size:12.5px;margin-top:3px;line-height:1.4;}
.gls-tag-free{display:inline-block;background:var(--gls-sage);color:#fff;font-size:10.5px;font-weight:700;padding:1px 7px;border-radius:20px;margin-left:8px;vertical-align:middle;}
.gls-nav{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:22px;}
.gls-wizard-root button{font-family:inherit;font-weight:600;font-size:14px;border-radius:8px;padding:11px 18px;cursor:pointer;border:1px solid transparent;}
.gls-btn-primary{background:var(--gls-purple);color:#fff;}
.gls-btn-primary:hover{background:#6a22c9;}
.gls-btn-primary:disabled{opacity:.4;cursor:default;}
.gls-btn-ghost{background:transparent;border-color:var(--gls-border);color:inherit;}
.gls-btn-ghost:hover{border-color:var(--gls-purple);}
.gls-btn-ghost:disabled{opacity:.3;cursor:default;}
.gls-upload-zone{border:2px dashed var(--gls-purple);border-radius:12px;padding:20px;text-align:center;cursor:pointer;margin-bottom:12px;}
.gls-upload-zone:hover{background:rgba(124,42,232,.05);}
.gls-toggle-manual{background:none;border:none;color:var(--gls-purple);font-weight:600;font-size:13.5px;padding:4px 0;cursor:pointer;}
.gls-manual-box{margin-top:14px;padding-top:14px;border-top:1px solid var(--gls-border);}
.gls-eye-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:10px;}
.gls-eye-row label{font-size:11px;font-weight:600;color:var(--gls-muted);display:block;margin-bottom:3px;}
.gls-wizard-root select,.gls-wizard-root input[type=text]{width:100%;border:1px solid var(--gls-border);border-radius:7px;padding:8px;font-family:inherit;font-size:13px;background:var(--gls-card);color:inherit;}
.gls-field-cap{color:var(--gls-muted);font-size:11.5px;margin:2px 0 10px;line-height:1.35;}
.gls-confirm-banner{background:rgba(111,190,150,.12);border:1px solid var(--gls-sage);border-radius:10px;padding:13px;font-size:13.5px;line-height:1.5;margin:16px 0;}
.gls-upload-status{margin-top:8px;font-size:13px;min-height:16px;}
.gls-upload-status.gls-err{color:#dc3545;}
.gls-upload-status.gls-ok{color:#1e7e34;}
.gls-review-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--gls-border);font-size:14px;gap:10px;}
.gls-review-row:last-child{border-bottom:none;}
.gls-review-label{color:var(--gls-muted);}
.gls-review-row.total{font-weight:700;font-size:16px;border-top:2px solid var(--gls-border);border-bottom:none;padding-top:12px;margin-top:4px;}
.gls-help-stack{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap;}
.gls-help-btn{flex:1;min-width:140px;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border-radius:10px;font-weight:600;font-size:13.5px;color:#fff;border:none;cursor:pointer;}
.gls-help-wa{background:var(--gls-wa);}
.gls-help-call{background:var(--gls-purple);}
.gls-callback-form{margin-top:10px;padding:14px;border:1px solid var(--gls-border);border-radius:10px;}
.gls-callback-form input{margin-bottom:8px;}
.gls-done-screen{text-align:center;padding:10px 0;}
.gls-done-screen .gls-big-check{font-size:42px;margin-bottom:8px;}

@media (max-width:600px){
  .gls-wizard-root{padding:12px 12px 40px;}
  .gls-card{padding:18px 16px;}
  .gls-eye-row{grid-template-columns:1fr 1fr 1fr;gap:6px;}
  .gls-wizard-root button{width:100%;}
  .gls-nav{flex-direction:column;}
  .gls-nav button{width:100%;}
}
