:root{--teal:#447C8D;--teal-dark:#2e5d6b;--teal-lt:#5a9bae;--teal-pale:#e8f4f7;--white:#ffffff;--g50:#f8f9fa;--g100:#f0f1f3;--g200:#e2e5e8;--g300:#cdd2d7;--g400:#9ba5af;--g600:#5c6670;--g900:#1a2228;--font:'DM Sans',sans-serif;--r-sm:8px;--r-md:14px;--r-lg:20px;--r-xl:28px;--sh-card:0 2px 12px rgba(0,0,0,.08);--sh-lg:0 12px 40px rgba(68,124,141,.18)}
*,::after,::before{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font);background:linear-gradient(160deg,#2e5d6b 0,#447c8d 45%,#5a9bae 100%);min-height:100vh;color:var(--g900);display:flex;flex-direction:column}

/* ── Presentation overlay ── */
#pres{position:fixed;inset:0;z-index:9999;background:#07101a;display:none;flex-direction:column;align-items:center;justify-content:center}
#pres.on{display:flex}
#pres-canvas-wrap{flex:1;width:100%;position:relative;display:flex;align-items:center;justify-content:center;padding:44px 44px 0;opacity:0;transform:scale(1.03);transition:opacity .65s ease,transform .65s ease}
#pres.reveal #pres-canvas-wrap{opacity:1;transform:scale(1)}
#pres-canvas-wrap img{position:absolute;top:44px;left:44px;right:44px;bottom:0;width:calc(100% - 88px);height:calc(100% - 44px);object-fit:contain}
#pres-pills{width:100%;padding:18px 44px 30px;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;opacity:0;transform:translateY(10px);transition:opacity .4s ease .5s,transform .4s ease .5s}
#pres.reveal #pres-pills{opacity:1;transform:translateY(0)}
.ppill{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.85);padding:5px 14px;border-radius:999px;font-size:12.5px;font-weight:500}
.ppill.hi{background:rgba(68,124,141,.42);border-color:rgba(90,155,174,.55);color:#c8eaf0}
#btn-exit{position:fixed;top:18px;right:20px;z-index:10000;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.5);font-family:var(--font);font-size:11.5px;font-weight:500;padding:6px 14px;border-radius:999px;cursor:pointer;transition:all .2s}
#btn-exit:hover{background:rgba(255,255,255,.18);color:rgba(255,255,255,.9)}

/* ── Toast ── */
.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(16px);background:var(--g900);color:#fff;padding:9px 20px;border-radius:999px;font-size:13px;font-weight:500;opacity:0;pointer-events:none;z-index:10001;white-space:nowrap;transition:opacity .25s,transform .25s}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ── Wall lightbox ── */
.wall-lb{position:fixed;inset:0;z-index:9998;display:none;align-items:center;justify-content:center;padding:24px}
.wall-lb.open{display:flex}
.wall-lb-backdrop{position:absolute;inset:0;background:rgba(7,16,26,.82);backdrop-filter:blur(6px);animation:fadeIn .2s ease}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.wall-lb-panel{position:relative;z-index:1;background:var(--white);border-radius:var(--r-xl);overflow:hidden;width:100%;max-width:640px;box-shadow:0 32px 80px rgba(0,0,0,.45);animation:lbIn .25s ease}
@keyframes lbIn{from{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}
.wall-lb-img{width:100%;aspect-ratio:3/4;max-height:60vh;background-size:cover;background-position:center;border-bottom:1px solid var(--g100)}
.wall-lb-footer{padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--g100)}
.wall-lb-name{font-size:17px;font-weight:700;color:var(--g900);letter-spacing:-.2px}
.wall-lb-style{font-size:12px;color:var(--g400);margin-top:2px}
.wall-lb-select{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;background:linear-gradient(135deg,var(--teal) 0,var(--teal-dark) 100%);color:#fff;border:none;border-radius:var(--r-lg);font-family:var(--font);font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 4px 14px rgba(68,124,141,.35);white-space:nowrap;transition:transform .14s,box-shadow .14s}
.wall-lb-select:hover{transform:translateY(-1px);box-shadow:0 7px 20px rgba(68,124,141,.42)}
.wall-lb-close{position:absolute;top:12px;right:12px;z-index:2;width:30px;height:30px;border-radius:50%;background:rgba(0,0,0,.32);border:none;color:#fff;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}
.wall-lb-close:hover{background:rgba(0,0,0,.55)}

/* ── Header ── */
.site-header{padding:18px 28px 14px;display:flex;align-items:center;gap:12px;flex-shrink:0}
.logo-icon{width:42px;height:42px;background:transparent;border-radius:10px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 12px rgba(0,0,0,.18);flex-shrink:0;overflow:hidden}
.logo-icon img{width:36px;height:36px;object-fit:contain}
.logo-text{color:#fff;font-size:17px;font-weight:700;letter-spacing:-.3px;line-height:1.15}
.logo-text span{display:block;font-size:10px;font-weight:400;opacity:.7;letter-spacing:.6px;text-transform:uppercase}
.header-badge{margin-left:auto;font-size:11px;font-weight:600;color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:.6px}

/* ── Main layout ── */
.main{flex:1;display:grid;grid-template-columns:420px 1fr;gap:0;padding:0 20px 24px;min-height:0}
.wizard-col{display:flex;flex-direction:column;gap:10px;padding-right:16px;overflow-y:auto;max-height:calc(100vh - 100px);padding-bottom:8px}
.wizard-col::-webkit-scrollbar{width:0}

/* ── Progress bar ── */
.progress-bar{background:rgba(255,255,255,.13);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.22);border-radius:var(--r-lg);padding:10px 12px;width:100%;display:grid;grid-template-columns:repeat(7,1fr);flex-shrink:0}
.prog-step{display:flex;flex-direction:column;align-items:center;gap:4px;position:relative;cursor:default;transition:opacity .2s}
.prog-step.done{cursor:pointer}
.prog-step::after{content:'';position:absolute;top:11px;left:calc(50% + 13px);right:calc(-50% + 13px);height:2px;background:rgba(255,255,255,.18);transition:background .3s}
.prog-step:last-child::after{display:none}
.prog-step.active::after,.prog-step.done::after{background:rgba(255,255,255,.45)}
.prog-dot{width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.14);border:2px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:rgba(255,255,255,.55);transition:all .25s;flex-shrink:0}
.prog-step.active .prog-dot{background:#fff;border-color:#fff;color:var(--teal-dark);box-shadow:0 0 0 3px rgba(255,255,255,.2)}
.prog-step.done .prog-dot{background:rgba(255,255,255,.8);border-color:#fff;color:var(--teal-dark)}
.prog-label{font-size:8px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:rgba(255,255,255,.45);text-align:center;line-height:1.2;transition:color .25s}
.prog-step.active .prog-label{color:rgba(255,255,255,.88)}
.prog-step.done .prog-label{color:rgba(255,255,255,.65)}
.prog-val{font-size:7.5px;color:rgba(255,255,255,.5);text-align:center;max-width:50px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:10px}
.prog-step.done .prog-val{color:rgba(255,255,255,.7)}

/* ── Wizard card ── */
.wizard-card{background:var(--white);border-radius:var(--r-xl);box-shadow:var(--sh-lg);overflow:hidden;width:100%;flex-shrink:0;display:flex;flex-direction:column}
.panel{display:none;padding:18px 22px 20px;min-height:240px;flex:1}
.panel.active{display:flex;flex-direction:column;animation:panelIn .22s ease both}
.card-step-header{background:linear-gradient(135deg,var(--teal-pale) 0,#d4ecf2 100%);border-bottom:1px solid var(--g200);padding:16px 22px 14px;display:flex;align-items:center;gap:12px}
.step-badge{width:34px;height:34px;border-radius:50%;flex-shrink:0;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;box-shadow:0 3px 10px rgba(68,124,141,.3)}
.card-step-title{font-size:16px;font-weight:700;color:var(--teal-dark);letter-spacing:-.2px}
.card-step-hint{font-size:12px;color:var(--g600);margin-top:1px}
@keyframes panelIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

/* ── Card footer ── */
.card-footer{padding:0 22px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.btn-back{display:inline-flex;align-items:center;gap:6px;background:0 0;border:1.5px solid var(--g200);font-family:var(--font);font-size:13px;font-weight:600;color:var(--g600);padding:7px 16px;border-radius:999px;cursor:pointer;transition:all .15s}
.btn-back:hover{border-color:var(--teal);color:var(--teal)}
.btn-back svg{width:13px;height:13px}
.step-counter{font-size:12px;color:var(--g400)}
.btn-generate,.btn-continue{display:none;align-items:center;gap:7px;padding:9px 20px;background:linear-gradient(135deg,var(--teal) 0,var(--teal-dark) 100%);color:#fff;border:none;border-radius:999px;font-family:var(--font);font-size:13px;font-weight:700;cursor:pointer;box-shadow:0 4px 14px rgba(68,124,141,.35);white-space:nowrap;transition:transform .14s,box-shadow .14s,filter .14s}
.btn-generate:hover,.btn-continue:hover{transform:translateY(-1px);box-shadow:0 7px 20px rgba(68,124,141,.42);filter:brightness(1.06)}
.btn-generate svg,.btn-continue svg{width:16px;height:16px;flex-shrink:0}
.btn-continue.visible{display:inline-flex}

/* ── Present section ── */
.present-section{padding:16px 22px 20px;display:none;flex-direction:column;align-items:stretch;gap:8px;background:var(--white);border-top:1px solid var(--g100)}
.btn-present{display:flex;align-items:center;justify-content:center;gap:10px;padding:15px 24px;background:linear-gradient(135deg,var(--teal) 0,var(--teal-dark) 100%);color:#fff;border:none;border-radius:var(--r-lg);font-family:var(--font);font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 6px 20px rgba(68,124,141,.38);letter-spacing:-.2px;transition:transform .14s,box-shadow .14s,filter .14s}
.btn-present:hover{transform:translateY(-1px);box-shadow:0 10px 28px rgba(68,124,141,.44);filter:brightness(1.06)}
.btn-present svg{width:18px;height:18px;flex-shrink:0}
.present-hint{font-size:11.5px;color:var(--g400);text-align:center}
.btn-copy-link{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;background:var(--white);border:1.5px solid var(--g200);color:var(--g600);border-radius:var(--r-lg);font-family:var(--font);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;width:100%}
.btn-copy-link:hover{border-color:var(--teal);color:var(--teal);background:var(--teal-pale)}
.btn-copy-link.copied{border-color:var(--teal);background:var(--teal-pale);color:var(--teal-dark)}
.btn-send-pulse{display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 24px;background:linear-gradient(135deg,#6366f1 0,#4f46e5 100%);color:#fff;border:none;border-radius:var(--r-lg);font-family:var(--font);font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 6px 20px rgba(99,102,241,.35);letter-spacing:-.2px;transition:transform .14s,box-shadow .14s,filter .14s;width:100%}
.btn-send-pulse:hover{transform:translateY(-1px);box-shadow:0 10px 28px rgba(99,102,241,.44);filter:brightness(1.08)}
.btn-send-pulse svg{width:16px;height:16px;flex-shrink:0}
.btn-restart{background:0 0;border:none;font-family:var(--font);font-size:12px;font-weight:500;color:var(--g400);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px;padding:3px;transition:color .15s}
.btn-restart:hover{color:var(--teal)}

/* ── Wall style toggle ── */
.wall-style-toggle{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}
.style-btn{border:2px solid var(--g200);border-radius:var(--r-md);padding:11px 10px;cursor:pointer;text-align:center;background:var(--g50);display:flex;flex-direction:column;align-items:center;gap:5px;transition:border-color .13s,background .13s,transform .12s}
.style-btn:hover{border-color:var(--teal-lt);background:#fff;transform:translateY(-1px)}
.style-btn.sel{border-color:var(--teal);background:var(--teal-pale);box-shadow:0 0 0 3px rgba(68,124,141,.1)}
.style-btn-label{font-size:13px;font-weight:700;color:var(--g900)}
.style-btn.sel .style-btn-label{color:var(--teal-dark)}
.style-btn-sub{font-size:10.5px;color:var(--g400)}
.wall-group{display:none}
.wall-group.visible{display:block;animation:panelIn .2s ease both}
.wall-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.wall-tile{aspect-ratio:3/4;border-radius:8px;position:relative;cursor:pointer;border:2.5px solid transparent;overflow:hidden;transition:transform .13s,border-color .13s,box-shadow .13s;background-size:cover;background-position:center}
.wall-tile:hover{transform:translateY(-2px);box-shadow:0 5px 14px rgba(0,0,0,.18)}
.wall-tile.sel{border-color:var(--teal);box-shadow:0 0 0 3px rgba(68,124,141,.2)}
.tile-lbl{position:absolute;bottom:0;left:0;right:0;padding:6px 7px;font-size:9.5px;font-weight:700;line-height:1.2;color:#fff;background:rgba(0,0,0,.65);backdrop-filter:blur(6px)}
.tile-chk{position:absolute;top:5px;right:5px;width:18px;height:18px;background:var(--teal);border-radius:50%;display:none;align-items:center;justify-content:center}
.wall-tile.sel .tile-chk{display:flex}
.wall-tile.oos{cursor:not-allowed}
.wall-tile.oos:hover{transform:none;box-shadow:none}
.wall-tile.oos::after{content:"— Out of Stock —";position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);text-align:center;font-size:10px;font-weight:700;color:#fff;background:rgba(0,0,0,.75);padding:4px 2px;letter-spacing:.3px}

/* ── Option cards ── */
.opt-grid{display:grid;gap:8px}
.opt-grid.c1{grid-template-columns:1fr}
.opt-grid.c2{grid-template-columns:1fr 1fr}
.opt-card{border:2px solid var(--g200);border-radius:var(--r-md);padding:11px 8px;cursor:pointer;text-align:center;background:var(--g50);display:flex;flex-direction:column;align-items:center;gap:7px;transition:border-color .13s,background .13s,transform .12s,box-shadow .12s}
.opt-card:hover{border-color:var(--teal-lt);background:#fff;transform:translateY(-1px);box-shadow:0 3px 10px rgba(0,0,0,.06)}
.opt-card.sel{border-color:var(--teal);background:var(--teal-pale);box-shadow:0 0 0 3px rgba(68,124,141,.1)}
.opt-card.disabled{opacity:.4;pointer-events:none;cursor:default;filter:grayscale(.5)}
.select-control{width:100%;appearance:none;background:var(--white);border:1.5px solid var(--g200);border-radius:var(--r-md);padding:11px 38px 11px 13px;font-family:var(--font);font-size:13px;font-weight:600;color:var(--g900);cursor:pointer;outline:none;transition:border-color .15s,box-shadow .15s;background-image:linear-gradient(45deg,transparent 50%,var(--g600) 50%),linear-gradient(135deg,var(--g600) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.select-control:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(68,124,141,.1)}
.multi-select-list{display:grid;grid-template-columns:1fr;gap:7px}
.multi-select-option{width:100%;display:flex;align-items:center;gap:9px;border:1.5px solid var(--g200);border-radius:var(--r-md);background:var(--white);padding:10px 12px;font-family:var(--font);font-size:12px;font-weight:700;color:var(--g900);cursor:pointer;text-align:left;transition:border-color .13s,background .13s,box-shadow .13s}
.multi-select-option:hover{border-color:var(--teal-lt);background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.multi-select-option.sel{border-color:var(--teal);background:var(--teal-pale);box-shadow:0 0 0 3px rgba(68,124,141,.09);color:var(--teal-dark)}
.multi-select-check{width:18px;height:18px;border-radius:5px;border:1.5px solid var(--g200);background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:transparent}
.multi-select-option.sel .multi-select-check{border-color:var(--teal);background:var(--teal);color:#fff}
.quantity-list{display:grid;grid-template-columns:1fr;gap:7px}
.quantity-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1.5px solid var(--g200);border-radius:var(--r-md);background:var(--white);padding:8px 10px}
.quantity-label{font-size:12px;font-weight:700;color:var(--g900)}
.quantity-row .select-control{width:86px;padding-top:8px;padding-bottom:8px;font-size:12px}
.color-dot{width:30px;height:30px;border-radius:50%;border:2.5px solid #fff;box-shadow:0 0 0 1.5px var(--g200)}
.opt-card.sel .color-dot{box-shadow:0 0 0 2px var(--teal)}
.opt-lbl{font-size:11.5px;font-weight:600;color:var(--g900);line-height:1.2}
.opt-card.sel .opt-lbl{color:var(--teal-dark)}
.opt-card.wide{flex-direction:row;justify-content:center;padding:13px 16px;gap:8px}
.opt-card.wide .opt-lbl{font-size:13px}

/* ── Accessory sections ── */
.acc-section{margin-top:14px;padding-top:14px;border-top:1px solid var(--g100)}
.acc-section:first-child{margin-top:0;padding-top:0;border-top:none}
.acc-section-header{display:flex;align-items:center;gap:7px;margin-bottom:8px}
.acc-section-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--g600)}
.acc-section-check{width:16px;height:16px;border-radius:50%;background:var(--teal);display:none;align-items:center;justify-content:center;flex-shrink:0}
.acc-section-check.done{display:flex}
.acc-disabled-note{font-size:10.5px;color:var(--g400);font-style:italic;margin-top:4px;line-height:1.4}

/* ── Coming soon sections ── */
.cs-coming-section{margin-top:12px;padding-top:12px;border-top:1px solid var(--g100)}
.cs-coming-header{display:flex;align-items:center;gap:7px;margin-bottom:8px}
.cs-coming-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--g400)}

/* ── Preview column ── */
.preview-col{display:flex;flex-direction:column;gap:12px;padding-left:4px;align-self:start}
.composite-wrap{position:relative;width:100%;aspect-ratio:3/2;max-height:calc(100vh - 160px);border-radius:var(--r-xl);overflow:hidden;box-shadow:0 16px 48px rgba(0,0,0,.25);background:var(--g100)}
.composite-wrap img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;object-position:center;display:block}
.composite-wrap img.layer-hidden{opacity:0}
.composite-wrap img.layer-visible{opacity:1;transition:opacity .4s ease}
.build-bar{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.55),transparent);padding:20px 18px 14px;display:flex;gap:6px;flex-wrap:wrap;align-items:flex-end}
.build-pill{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);color:rgba(255,255,255,.9);padding:3px 10px;border-radius:999px;font-size:10.5px;font-weight:500;backdrop-filter:blur(4px);animation:pillIn .3s ease both}
@keyframes pillIn{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}
.build-pill.layer-wall{background:rgba(68,124,141,.5);border-color:rgba(90,155,174,.6)}
.build-pill.layer-fixture{background:rgba(50,50,60,.5);border-color:rgba(180,180,200,.3)}
.preview-disclaimer{background:rgba(255,255,255,.12);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);border-radius:var(--r-lg);padding:10px 16px;font-size:11px;line-height:1.55;color:rgba(255,255,255,.65);font-style:italic;flex-shrink:0}

/* ── Responsive ── */
@media (max-width:900px){
  .main{grid-template-columns:1fr;padding:0 12px 20px;gap:10px}
  .wizard-col{padding-right:0;max-height:none;order:2}
  .preview-col{order:1}
  .wall-grid{grid-template-columns:repeat(3,1fr)}
  .preview-disclaimer{font-size:10px;padding:8px 12px;line-height:1.45}
  .progress-bar{padding:8px 8px;gap:0}
  .prog-dot{width:18px;height:18px;font-size:9px}
  .prog-label{font-size:7px;letter-spacing:.2px}
  .prog-val{display:none}
  .prog-step::after{top:9px;left:calc(50% + 11px);right:calc(-50% + 11px)}
}
@media (max-width:540px){
  body{min-height:100dvh}
  .site-header{padding:12px 14px 8px}
  .logo-text{font-size:15px}
  .header-badge{display:none}
  .main{padding:0 8px 14px}
  .wall-grid{grid-template-columns:repeat(2,1fr)}
  .progress-bar{padding:8px 6px}
  .prog-label{display:none}
  .prog-dot{width:16px;height:16px;font-size:8px}
  .prog-step::after{top:8px;left:calc(50% + 10px);right:calc(-50% + 10px)}
  .card-step-header{padding:13px 16px 11px}
  .card-step-title{font-size:15px}
  .panel{padding:14px 16px 16px;min-height:200px}
  .card-footer{padding:0 16px 13px}
  .present-section{padding:13px 16px 16px}
}

/* ── Password gate ── */
#auth-gate{position:fixed;inset:0;z-index:99999;background:linear-gradient(160deg,#2e5d6b 0,#447c8d 45%,#5a9bae 100%);display:flex;align-items:center;justify-content:center;padding:24px}
#auth-gate.hidden{display:none}
.auth-card{background:#fff;border-radius:var(--r-xl);box-shadow:0 24px 64px rgba(0,0,0,.25);padding:44px 40px 36px;width:100%;max-width:380px;text-align:center;animation:lbIn .35s ease}
.auth-logo{width:56px;height:56px;border-radius:14px;overflow:hidden;margin:0 auto 18px;box-shadow:0 4px 16px rgba(0,0,0,.15)}
.auth-logo img{width:100%;height:100%;object-fit:contain}
.auth-title{font-family:var(--font);font-size:20px;font-weight:700;color:var(--g900);letter-spacing:-.3px;margin-bottom:4px}
.auth-sub{font-family:var(--font);font-size:12.5px;color:var(--g400);margin-bottom:24px}
.auth-input-wrap{position:relative;margin-bottom:12px}
.auth-input{width:100%;padding:13px 16px;border:2px solid var(--g200);border-radius:var(--r-md);font-family:var(--font);font-size:14px;color:var(--g900);outline:none;transition:border-color .15s}
.auth-input:focus{border-color:var(--teal)}
.auth-input.error{border-color:#d94452;animation:shake .35s ease}
@keyframes shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
.auth-error{font-family:var(--font);font-size:11.5px;color:#d94452;margin-bottom:10px;min-height:16px}
.auth-btn{width:100%;padding:13px;background:linear-gradient(135deg,var(--teal) 0,var(--teal-dark) 100%);color:#fff;border:none;border-radius:var(--r-md);font-family:var(--font);font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 4px 14px rgba(68,124,141,.35);transition:transform .14s,box-shadow .14s,filter .14s}
.auth-btn:hover{transform:translateY(-1px);box-shadow:0 7px 20px rgba(68,124,141,.42);filter:brightness(1.06)}
.auth-footer{font-family:var(--font);font-size:10px;color:var(--g400);margin-top:20px;letter-spacing:.3px}
