:root{--ink:#17211e;--ink-2:#26332f;--cream:#f5f2eb;--paper:#fbfaf7;--gold:#b78a48;--gold-soft:#efe5d4;--line:#e1ddd4;--white:#fff;--muted:#6e7773;--shadow:0 18px 50px rgba(23,33,30,.08);--shadow-sm:0 6px 22px rgba(23,33,30,.06)}*{box-sizing:border-box}html{background:var(--paper)}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-size:15px;line-height:1.45}button,input,textarea,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}.app{min-height:100vh;display:grid;grid-template-columns:272px minmax(0,1fr)}aside{background:linear-gradient(180deg,#17211e 0%,#202c28 100%);color:white;padding:30px 22px 24px;display:flex;flex-direction:column;gap:34px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px}.brand span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--gold);color:#17211e;font-weight:900;letter-spacing:-.5px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}.brand.side b{font-size:18px;letter-spacing:-.3px}.brand.side small{display:block;color:#9eaba6;font-size:11px;margin-top:2px}nav{display:grid;gap:5px}nav button{border:0;background:transparent;color:#c9d1ce;padding:12px 14px;border-radius:10px;text-align:left;font-weight:600;transition:.18s ease}nav button.active,nav button:hover{background:rgba(255,255,255,.09);color:white;transform:translateX(2px)}.plan{margin-top:auto;padding:16px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.055)}.plan small{display:block;color:#9eaba6;font-size:10px;letter-spacing:1px}.plan b{display:block;font-size:15px;margin-top:6px}.plan span{display:block;color:#c9d1ce;font-size:12px;margin-top:2px}.plan button{margin-top:12px;border:0;background:white;color:var(--ink);border-radius:8px;padding:8px 10px;width:100%;font-weight:700}.mobile{display:none}main{padding:46px 52px 70px;max-width:1460px;width:100%;margin:auto}.view{display:none}.view.active{display:block}.head{display:flex;justify-content:space-between;gap:28px;align-items:flex-start;margin-bottom:30px}.head h1{margin:5px 0 6px;font-size:34px;line-height:1.15;letter-spacing:-1.15px}.head p{margin:0;color:var(--muted);max-width:650px}.eyebrow{font-size:10px;letter-spacing:1.65px;font-weight:800;color:var(--gold)}.primary,.secondary{border-radius:10px;padding:11px 16px;font-weight:750;border:1px solid transparent;transition:.18s ease}.primary{background:var(--ink);color:white;box-shadow:0 5px 14px rgba(23,33,30,.14)}.primary:hover{background:#26332f;transform:translateY(-1px)}.secondary{background:white;border-color:var(--line);color:var(--ink)}.secondary:hover{border-color:#c9c3b7;background:#faf9f6}.quick{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.quick button{border:1px solid var(--line);background:white;border-radius:16px;padding:19px;display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:14px;text-align:left;box-shadow:var(--shadow-sm);transition:.2s ease}.quick button:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#d5c8b2}.quick-icon{display:grid;place-items:center;width:46px;height:46px;background:var(--cream);border:1px solid #ebe4d8;border-radius:12px;font-size:22px;color:var(--gold)}.quick strong{display:block;font-size:15px}.quick small{display:block;color:var(--muted);margin-top:3px}.quick i{font-style:normal;color:#a9b0ad;font-size:19px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.stats article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;display:flex;justify-content:space-between;align-items:flex-end;min-height:122px}.stats small{display:block;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:1.1px}.stats strong{display:block;font-size:28px;line-height:1.1;margin-top:9px;letter-spacing:-.7px}.stats article:last-child strong{font-size:18px}.stats span{font-size:11px;color:#989f9c}.panel{background:white;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:var(--shadow-sm)}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:10px}.panel-head h2{font-size:17px;margin:0}.panel-head p{font-size:12px;color:var(--muted);margin:3px 0 0}.panel-head button{border:0;background:transparent;color:var(--gold);font-weight:750}.recent-row{display:grid;grid-template-columns:1fr auto;gap:18px;padding:15px 2px;border-top:1px solid #eeeae3;align-items:center}.recent-row:first-child{border-top:0}.recent-row b{font-size:14px}.recent-row span{font-size:12px;color:var(--muted);padding:5px 9px;border-radius:999px;background:var(--cream)}.search{width:100%;border:1px solid var(--line);background:white;border-radius:12px;padding:13px 15px;margin-bottom:18px;outline:none}.search:focus,input:focus,textarea:focus,select:focus{border-color:#bda781;box-shadow:0 0 0 3px rgba(183,138,72,.12);outline:none}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.product-card{background:white;border:1px solid var(--line);border-radius:15px;padding:19px;box-shadow:var(--shadow-sm)}.product-card h3{margin:0 0 5px;font-size:16px}.product-card small{color:var(--muted)}.product-card p{font-size:12px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:52px}.buttons{display:flex;gap:7px;margin-top:16px}.buttons button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 10px;font-weight:650}.designer{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.85fr);gap:24px;align-items:start}.designer .panel{box-shadow:none}.preview-wrap{position:sticky;top:30px}.preview-wrap>small{display:block;font-size:10px;letter-spacing:1.2px;color:var(--muted);font-weight:800;margin-bottom:10px}.stage{background:#e9e6df;border:1px solid #ddd7cc;border-radius:18px;min-height:480px;display:grid;place-items:center;padding:28px;box-shadow:inset 0 0 40px rgba(23,33,30,.05)}label{display:block;font-size:12px;font-weight:700;margin-bottom:14px;color:var(--ink-2)}input,textarea,select{width:100%;border:1px solid var(--line);background:#fff;border-radius:9px;padding:11px 12px;margin-top:6px;color:var(--ink)}textarea{resize:vertical}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.allergen-note{padding:11px 12px;background:#f5f0e7;border:1px solid #eadfcf;border-radius:9px;font-size:12px;color:#4c504e;margin:-2px 0 14px}.label-preview{background:white;color:#000;overflow:hidden;display:flex;flex-direction:column;justify-content:center;text-align:center;border:1px solid #ddd;padding:3mm;box-shadow:0 10px 28px rgba(0,0,0,.12);font-family:Arial,sans-serif}.size-60x40{width:90mm;height:60mm;transform:scale(.82)}.size-64x38{width:96mm;height:57mm;transform:scale(.78)}.size-50round{width:72mm;height:72mm;border-radius:50%;transform:scale(.82);padding:7mm}.label-preview h3{font-size:15px;margin:3px 0 7px;line-height:1.05}.ingredients{font-size:8.5px;line-height:1.25}.useby{font-size:13px;font-weight:900;margin-top:7px}.storage,.footer{font-size:7.5px;margin-top:4px}.batch-row{display:grid;grid-template-columns:auto 1fr 80px;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid #eeeae3}.batch-row input[type=checkbox]{width:18px;height:18px;margin:0}.batch-row input[type=number]{margin:0}.batch-foot{display:flex;justify-content:space-between;align-items:center;margin-top:18px}.settings{max-width:680px}.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.pricing article{background:white;border:1px solid var(--line);border-radius:16px;padding:23px;position:relative;box-shadow:var(--shadow-sm)}.pricing article.featured{border-color:var(--gold);box-shadow:0 12px 34px rgba(183,138,72,.12)}.pricing em{position:absolute;top:-10px;right:16px;background:var(--gold);color:white;border-radius:999px;padding:5px 9px;font-size:9px;font-style:normal;font-weight:800}.pricing h3{margin:0 0 16px}.pricing b{display:block;font-size:28px}.pricing b small{font-size:12px;color:var(--muted)}.pricing p{font-size:13px;color:var(--muted)}.toast{position:fixed;right:22px;bottom:22px;background:var(--ink);color:#fff;padding:12px 16px;border-radius:10px;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s;z-index:999}.toast.show{opacity:1;transform:none}.wizard{position:fixed;inset:0;background:rgba(18,27,24,.65);backdrop-filter:blur(9px);display:grid;place-items:center;padding:20px;z-index:1000}.wizard-card{width:min(660px,100%);background:white;border-radius:20px;padding:28px;box-shadow:0 30px 90px rgba(0,0,0,.25)}.wizard-top{display:flex;justify-content:space-between;align-items:center}.wizard-top small{color:var(--muted)}.progress{height:4px;background:#eeeae3;border-radius:999px;margin:20px 0 28px;overflow:hidden}.progress i{display:block;height:100%;background:var(--gold);transition:.25s}.wizard-step{display:none}.wizard-step.active{display:block}.wizard-step h1,.wizard-step h2{font-size:29px;letter-spacing:-.8px;margin:8px 0}.wizard-step p{color:var(--muted);margin-bottom:24px}.actions{display:flex;justify-content:space-between;margin-top:18px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice-grid button{border:1px solid var(--line);background:white;border-radius:10px;padding:14px;text-align:left}.choice-grid button.selected{border-color:var(--gold);background:var(--gold-soft)}.ready-preview{display:grid;place-items:center;overflow:hidden;background:var(--cream);border-radius:14px;padding:12px;margin-bottom:18px}#printArea{display:none}@media print{body>*:not(#printArea){display:none!important}#printArea{display:flex!important;flex-wrap:wrap;gap:0}.print-label{box-shadow:none;page-break-inside:avoid}}@media(max-width:900px){.app{grid-template-columns:1fr}aside{position:fixed;left:-285px;top:0;z-index:100;height:100vh;width:272px;transition:.22s}aside.open{left:0}.mobile{display:flex;position:sticky;top:0;z-index:80;height:64px;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);align-items:center;justify-content:space-between;padding:0 16px}.mobile button{border:0;background:transparent;font-size:22px}.mobile div{display:grid;text-align:center}.mobile div small{font-size:9px;color:var(--muted)}.mobile span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--gold);font-weight:900}main{padding:28px 18px 60px}.head h1{font-size:29px}.quick,.stats,.pricing,.product-grid{grid-template-columns:1fr}.designer{grid-template-columns:1fr}.preview-wrap{position:static}.stage{min-height:390px}.head{gap:14px}.head>.primary{white-space:nowrap}.stats article{min-height:100px}.product-grid{gap:12px}}@media(max-width:520px){.head{display:block}.head>.primary,.head>.secondary{margin-top:16px;width:100%}.two{grid-template-columns:1fr}.choice-grid{grid-template-columns:1fr}.wizard-card{padding:22px}.quick button{grid-template-columns:44px 1fr auto}.size-60x40{transform:scale(.7)}.size-64x38{transform:scale(.66)}.size-50round{transform:scale(.7)}}
.head-actions{display:flex;gap:10px;align-items:center}.offline-bar{position:fixed;z-index:1200;top:0;left:272px;right:0;background:#b78a48;color:#17211e;text-align:center;padding:8px;font-weight:800;font-size:12px;padding-top:calc(8px + env(safe-area-inset-top))}.install-app{white-space:nowrap}body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}@media(max-width:800px){.offline-bar{left:0}.head-actions{width:100%;display:grid;grid-template-columns:1fr}.head-actions button{width:100%}.mobile{padding-top:calc(12px + env(safe-area-inset-top))}main{padding-bottom:calc(90px + env(safe-area-inset-bottom))}}

/* Brand kit and logo upload */
.settings-section{padding:4px 0 24px;margin-bottom:24px;border-bottom:1px solid #eeeae3}.settings-section:last-of-type{border-bottom:0;margin-bottom:8px}.settings-section h2{margin:6px 0 18px;font-size:18px}.brand-kit{display:grid;grid-template-columns:180px 1fr;gap:20px;align-items:center;margin:14px 0 18px}.logo-preview-card{height:130px;border:1px dashed #cfc7ba;border-radius:14px;background:#faf9f6;display:grid;place-items:center;padding:16px;color:var(--muted);font-size:12px;text-align:center}.logo-preview-card img{max-width:100%;max-height:96px;object-fit:contain}.logo-upload-row{display:flex;gap:10px;align-items:center;margin:-2px 0 14px}.logo-thumb{width:110px;height:72px;border:1px dashed #cfc7ba;border-radius:10px;background:#faf9f6;display:grid;place-items:center;padding:8px;font-size:11px;color:var(--muted)}.logo-thumb img{max-width:100%;max-height:54px;object-fit:contain}.field-help{font-size:11px;color:var(--muted);margin:-6px 0 12px}.label-brand{display:flex;align-items:center;justify-content:center;gap:5px;min-height:9mm;margin-bottom:1mm}.label-brand img{max-width:18mm;max-height:9mm;object-fit:contain}.label-brand span{font-size:7.5px;font-weight:700}.label-brand.logo-left{justify-content:flex-start;text-align:left}.business-name{font-weight:700}.size-50round .label-brand img{max-width:14mm;max-height:8mm}.size-50round .label-brand{min-height:8mm}.hidden{display:none!important}@media(max-width:520px){.brand-kit{grid-template-columns:1fr}.logo-preview-card{height:110px}}

/* V8 — iPhone viewport and bottom-button accessibility fixes */
html,body{min-height:100%;min-height:100dvh}
body{padding-bottom:env(safe-area-inset-bottom,0px)}
main{padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))}
.wizard{
  overflow-y:auto;
  overscroll-behavior:contain;
  align-items:flex-start;
  padding-top:max(14px,env(safe-area-inset-top,0px));
  padding-right:max(14px,env(safe-area-inset-right,0px));
  padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));
  padding-left:max(14px,env(safe-area-inset-left,0px));
}
.wizard-card{
  margin:auto;
  max-height:calc(100dvh - 28px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  padding-bottom:calc(28px + env(safe-area-inset-bottom,0px));
}
.wizard-step{padding-bottom:4px}
.actions{
  position:sticky;
  bottom:calc(-1px - env(safe-area-inset-bottom,0px));
  z-index:3;
  background:linear-gradient(to bottom,rgba(255,255,255,0),#fff 22px);
  padding-top:28px;
  padding-bottom:calc(4px + env(safe-area-inset-bottom,0px));
}
#finishWizard{margin-bottom:calc(4px + env(safe-area-inset-bottom,0px))}
.settings-section:last-child{padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}
@media(max-width:900px){
  .app{min-height:100dvh}
  aside{height:100dvh;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));overflow-y:auto}
  main{padding-bottom:calc(130px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:520px){
  .wizard{place-items:start center}
  .wizard-card{border-radius:16px;padding:20px 18px calc(24px + env(safe-area-inset-bottom,0px))}
  .wizard-step h1,.wizard-step h2{font-size:25px}
  .actions{gap:10px}
  .actions button{min-height:46px;flex:1}
  #finishWizard{width:100%;min-height:48px}
  .head-actions{width:100%}
  .head-actions button{width:100%}
  #labelForm>.primary,.settings-section button{min-height:46px}
}

.font-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.font-sample{margin-top:14px;padding:18px;border:1px solid #e6e0d6;border-radius:12px;background:#faf9f6;text-align:center;display:grid;gap:7px}.font-sample small{font-family:Arial,sans-serif!important;font-size:9px;letter-spacing:1.2px;color:var(--muted);font-weight:800}.font-sample div{font-size:15px}.font-sample strong{font-size:16px}.font-sample p{font-size:11px;margin:0}.font-sample b{font-size:14px}.font-sample span{font-size:10px}@media(max-width:520px){.font-grid{grid-template-columns:1fr}}

/* V11 Typography Studio */
.type-studio{display:grid;gap:12px;margin-top:18px}.type-row{display:grid;grid-template-columns:minmax(150px,1.4fr) minmax(120px,1fr) 48px auto auto minmax(100px,.8fr);gap:10px;align-items:end;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fcfbf8}.type-row>div b{display:block;font-size:13px}.type-row>div small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.type-row label{margin:0;font-size:10px}.type-row input[type=range],.type-studio>label input[type=range]{padding:0;border:0;box-shadow:none}.type-row output,.type-studio output{font-size:11px;color:var(--muted);padding-bottom:10px}.type-row .toggle{display:flex;align-items:center;gap:6px;padding-bottom:9px;white-space:nowrap}.type-row .toggle input{width:auto;margin:0}.type-studio>label{display:grid;grid-template-columns:120px 1fr 50px;gap:10px;align-items:center}.font-sample #fontSampleFooter{display:block;margin-top:5px}@media(max-width:760px){.type-row{grid-template-columns:1fr 1fr 48px}.type-row>div{grid-column:1/-1}.type-row .toggle{padding-bottom:0}.type-row label:last-child{grid-column:1/-1}.type-studio>label{grid-template-columns:1fr 50px}.type-studio>label>input{grid-column:1/2}}

/* V12 — striking premium interface */
:root{
  --ink:#13233f;
  --ink-2:#243653;
  --cream:#eef2ff;
  --paper:#f4f7fb;
  --gold:#f0a45d;
  --gold-soft:#fff0e3;
  --line:#dce4ec;
  --white:#ffffff;
  --muted:#66758b;
  --brand:#2f5bff;
  --brand-dark:#2045d8;
  --brand-soft:#e4ebff;
  --nav:#16233b;
  --shadow:0 20px 55px rgba(20,39,72,.10);
  --shadow-sm:0 8px 26px rgba(20,39,72,.07)
}
html,body{background:var(--paper)}
body{
  background:
    radial-gradient(circle at 93% 2%,rgba(47,91,255,.13),transparent 24rem),
    radial-gradient(circle at 25% 100%,rgba(240,164,93,.10),transparent 26rem),
    var(--paper)
}
aside{
  background:linear-gradient(180deg,#16233b 0%,#1d3154 58%,#111d33 100%);
  box-shadow:18px 0 55px rgba(11,31,59,.12)
}
.brand span{
  background:linear-gradient(135deg,#5f7fff,#2f5bff);
  color:white;
  box-shadow:0 8px 24px rgba(47,91,255,.32),inset 0 0 0 1px rgba(255,255,255,.25)
}
.brand.side b{font-size:19px;letter-spacing:-.55px}
.brand.side small{color:#aebbd1}
nav button{color:#d1daea;border:1px solid transparent}
nav button.active,nav button:hover{
  background:linear-gradient(90deg,rgba(47,91,255,.22),rgba(47,91,255,.08));
  border-color:rgba(112,144,255,.24);
  color:white;
  box-shadow:inset 3px 0 0 #6f8fff;
  transform:none
}
.plan{background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.035));border-color:rgba(255,255,255,.13)}
.plan button{background:#6f8fff;color:#ffffff}
main{padding-top:42px}
.head h1{font-size:36px;color:var(--ink);letter-spacing:-1.45px}
.eyebrow{color:var(--brand);letter-spacing:1.75px}
.primary{
  background:linear-gradient(135deg,var(--brand),#476fff);
  box-shadow:0 9px 22px rgba(47,91,255,.24)
}
.primary:hover{background:linear-gradient(135deg,var(--brand-dark),#173ec6);transform:translateY(-1px)}
.secondary{border-color:#d3dde7;box-shadow:0 2px 7px rgba(20,39,72,.035)}
.quick{gap:18px}
.quick button{
  position:relative;
  overflow:hidden;
  border:1px solid #dbe5ed;
  border-radius:18px;
  padding:21px;
  box-shadow:0 12px 34px rgba(20,39,72,.075)
}
.quick button:after{
  content:"";
  position:absolute;
  width:86px;height:86px;border-radius:50%;
  right:-34px;top:-34px;
  background:rgba(47,91,255,.065)
}
.quick button:nth-child(2):after{background:rgba(240,164,93,.09)}
.quick button:nth-child(3):after{background:rgba(49,93,178,.07)}
.quick button:hover{border-color:#b9c6ff;box-shadow:0 18px 45px rgba(20,39,72,.12)}
.quick-icon{
  background:linear-gradient(145deg,#edf1ff,#e3e9ff);
  border-color:#d2dcff;
  color:var(--brand);
  border-radius:14px
}
.quick button:nth-child(2) .quick-icon{background:#fff0e3;border-color:#f5dbc3;color:#c66d27}
.quick button:nth-child(3) .quick-icon{background:#e8eefb;border-color:#d4def5;color:#315db2}
.stats{gap:18px}
.stats article{
  border:0;
  border-radius:18px;
  box-shadow:0 12px 34px rgba(20,39,72,.075);
  position:relative;
  overflow:hidden
}
.stats article:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--brand)}
.stats article:nth-child(2):before{background:var(--gold)}
.stats article:nth-child(3):before{background:#315db2}
.stats strong{color:var(--ink)}
.panel,.product-card,.pricing article{
  border-color:#dce5ed;
  border-radius:18px;
  box-shadow:0 12px 34px rgba(20,39,72,.07)
}
.panel-head h2{color:var(--ink)}
.panel-head button{color:var(--brand)}
.recent-row{border-color:#e8eef3}
.recent-row span{background:var(--brand-soft);color:var(--brand-dark);font-weight:700}
.search,input,textarea,select{border-color:#d7e1e9;background:#fff}
.search:focus,input:focus,textarea:focus,select:focus{border-color:#6d89ff;box-shadow:0 0 0 4px rgba(47,91,255,.13)}
.product-card{transition:.2s ease;position:relative;overflow:hidden}
.product-card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--brand),#6f8fff)}
.product-card:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(20,39,72,.11)}
.buttons button:hover{border-color:#9badff;background:#f0f3ff;color:var(--brand-dark)}
.stage{
  background:
    linear-gradient(135deg,rgba(255,255,255,.45),rgba(255,255,255,.1)),
    repeating-linear-gradient(45deg,#dfe8ec 0,#dfe8ec 12px,#e8eef1 12px,#e8eef1 24px);
  border-color:#d3dde4
}
.preview-wrap>small{color:var(--brand)}
.label-preview{box-shadow:0 18px 46px rgba(10,30,55,.18)}
.allergen-note{background:#fff5eb;border-color:#f3d8bb;color:#74491f}
.pricing article.featured{border:2px solid var(--brand);box-shadow:0 18px 45px rgba(47,91,255,.18)}
.pricing em{background:linear-gradient(135deg,var(--brand),#476fff)}
.toast{background:#16233b;box-shadow:0 12px 35px rgba(0,0,0,.2)}
.wizard{background:rgba(12,29,51,.72)}
.wizard-card{border:1px solid rgba(255,255,255,.7);box-shadow:0 32px 100px rgba(6,23,45,.32)}
.progress i{background:linear-gradient(90deg,var(--brand),#6f8fff)}
.choice-grid button.selected{border-color:var(--brand);background:var(--brand-soft);box-shadow:0 0 0 2px rgba(47,91,255,.10)}
.ready-preview{background:linear-gradient(145deg,#eef2ff,#e6eef4)}
.font-sample{border-color:#cfe0e5!important;background:linear-gradient(145deg,#f6f8ff,#f5f8fc)!important}
.type-row{border-color:#dfe7ed!important}
.type-row:hover{background:#f7f9ff}

@media(max-width:900px){
  .mobile{background:rgba(255,255,255,.92)!important;backdrop-filter:blur(18px);border-bottom:1px solid #dfe7ee;box-shadow:0 8px 28px rgba(20,39,72,.08)}
  .mobile .brand span{background:linear-gradient(135deg,#5f7fff,#2f5bff)}
  main{padding-top:28px}
}
@media(max-width:650px){
  .head h1{font-size:30px}
  .quick button{padding:17px}
  .stats article{min-height:106px}
  .panel,.product-card,.pricing article{border-radius:16px}
}
/* V14 feature suite */
.production-layout{align-items:start}.smart-checks{margin-top:16px;display:grid;gap:8px}.smart-checks div{padding:10px 12px;border:1px solid #dce3f2;border-radius:12px;background:#f7f9ff;font-size:13px}.template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}.template-card{background:#fff;border:1px solid #e3e8f2;border-radius:18px;padding:18px;cursor:pointer;transition:.18s}.template-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(22,35,59,.09)}.template-card.active{border:2px solid #2f5bff;box-shadow:0 0 0 4px rgba(47,91,255,.1)}.template-card .mini-label{height:125px;border:1px solid #18253d;border-radius:8px;padding:12px;margin-bottom:12px;background:#fff;color:#111;overflow:hidden}.template-card h3{margin:0 0 4px}.template-card p{margin:0;color:#6f7889;font-size:13px}.template-modern .mini-label{border:2px solid #111}.template-luxury .mini-label{font-family:Georgia,serif;border:3px double #111}.template-rustic .mini-label{font-family:Georgia,serif;border:2px dashed #444}.template-minimal .mini-label{border:0;border-top:3px solid #111;border-bottom:1px solid #111}.template-deli .mini-label{border:2px solid #111;background:repeating-linear-gradient(135deg,#fff,#fff 8px,#f6f6f6 8px,#f6f6f6 16px)}.layout-editor{margin-top:18px}.layout-note{padding:12px 14px;border-radius:12px;background:#f0f4ff;color:#33446b}.draggable-label [data-label-part]{position:relative;touch-action:none;cursor:grab;user-select:none}.draggable-label [data-label-part].dragging{cursor:grabbing;outline:1px dashed #2f5bff;background:rgba(47,91,255,.06)}.feedback-fab{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:40;border:0;border-radius:999px;background:#16233b;color:#fff;padding:11px 16px;font-weight:700;box-shadow:0 10px 28px rgba(22,35,59,.25)}dialog{border:0;border-radius:20px;padding:0;max-width:560px;width:calc(100% - 28px);box-shadow:0 28px 80px rgba(16,27,48,.28)}dialog::backdrop{background:rgba(12,20,35,.56)}.feedback-card{padding:22px}.icon-btn{border:0;background:#eef1f7;border-radius:50%;width:36px;height:36px;font-size:22px}.production-row{display:grid;grid-template-columns:1fr 88px auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid #e8ebf1}.production-row input{margin:0}.production-row .match{font-size:12px;color:#147a68}.production-row .missing{font-size:12px;color:#b54141}.assistant-badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eef3ff;color:#234dcc;font-size:12px;font-weight:800}.label-preview.tpl-luxury{border:3px double #111;font-family:Georgia,serif}.label-preview.tpl-rustic{border:2px dashed #333;font-family:Georgia,serif}.label-preview.tpl-minimal{border:0;border-top:3px solid #111;border-bottom:1px solid #111}.label-preview.tpl-modern{border:2px solid #111}.label-preview.tpl-deli{border:2px solid #111;background:repeating-linear-gradient(135deg,#fff,#fff 10px,#f7f7f7 10px,#f7f7f7 20px)}
@media(max-width:800px){.template-grid{grid-template-columns:1fr 1fr}.feedback-fab{bottom:calc(78px + env(safe-area-inset-bottom))}.production-row{grid-template-columns:1fr 72px}.production-row button{grid-column:1/-1}}
@media(max-width:480px){.template-grid{grid-template-columns:1fr}}
.quick{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
/* V15 accounts, billing and admin foundation */
.auth-gate{position:fixed;inset:0;z-index:200;background:linear-gradient(145deg,#0f1d36,#16233b 58%,#244a9c);display:grid;place-items:center;padding:24px}.auth-gate.hidden{display:none}.auth-shell{width:min(980px,100%);display:grid;grid-template-columns:1fr minmax(320px,440px);gap:54px;align-items:center}.auth-brand{color:#fff;display:flex;gap:16px;align-items:center}.auth-brand>span{width:66px;height:66px;border-radius:18px;background:#2f5bff;display:grid;place-items:center;font-size:24px;font-weight:900;box-shadow:0 18px 55px rgba(47,91,255,.38)}.auth-brand b{display:block;font-size:36px}.auth-brand small{display:block;color:#cbd5ea;margin-top:5px}.auth-card{background:#fff;padding:30px;border-radius:24px;box-shadow:0 35px 100px rgba(0,0,0,.3)}.auth-card h1{margin:7px 0}.auth-card .primary,.auth-card .secondary{width:100%;margin-top:10px}.text-button{border:0;background:none;color:#2f5bff;width:100%;padding:12px;font-weight:700}.account-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.status-row,.check-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:13px 0;border-bottom:1px solid #e7ebf3}.status-pill{display:inline-flex;padding:6px 10px;border-radius:999px;background:#edf2ff;color:#274dcc;font-size:12px;font-weight:800}.status-pill.owner{background:#fff4d9;color:#735715}.sync-box{display:flex;gap:12px;align-items:center;padding:16px;border-radius:15px;background:#f5f7fb;margin:18px 0}.sync-box>span{width:12px;height:12px;border-radius:50%;background:#d7942f;box-shadow:0 0 0 5px rgba(215,148,47,.13)}.sync-box small{display:block;color:#6d7689;margin-top:3px}.admin-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:18px}.admin-metrics article{background:linear-gradient(145deg,#fff,#f8faff);border:1px solid #e3e8f2;padding:20px;border-radius:18px}.admin-metrics small,.admin-metrics span{display:block;color:#717b8d}.admin-metrics strong{display:block;font-size:30px;color:#16233b;margin:8px 0}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.admin-list{display:grid;gap:10px}.admin-item{display:flex;justify-content:space-between;gap:12px;padding:12px;border:1px solid #e6eaf1;border-radius:13px;background:#fbfcff}.admin-item small{display:block;color:#758094;margin-top:3px}.launch-checklist{max-width:none}.plan-checkout{width:100%;margin-top:16px}.cloud-live #syncDot{background:#23a66c;box-shadow:0 0 0 5px rgba(35,166,108,.13)}
@media(max-width:900px){.auth-shell{grid-template-columns:1fr}.auth-brand{justify-content:center}.auth-brand b{font-size:28px}.account-grid,.admin-metrics{grid-template-columns:1fr 1fr}.admin-grid{grid-template-columns:1fr}}
@media(max-width:580px){.auth-gate{padding:14px}.auth-brand{display:none}.auth-card{padding:22px;border-radius:20px}.account-grid,.admin-metrics{grid-template-columns:1fr}.admin-item{align-items:flex-start;flex-direction:column}}

/* V15.2 hard authentication gate */
body.auth-required{overflow:hidden}
body.auth-required #app,
body.auth-required #feedbackFab,
body.auth-required #offlineBar{display:none!important}
body.authenticated{overflow:auto}
body.authenticated #app{display:grid}
body.authenticated #feedbackFab{display:block}
.auth-gate{display:grid!important}
.auth-gate.hidden{display:none!important}
@media(max-width:900px){body.authenticated #app{display:grid}}

/* V15.3 interactive authentication fix */
.auth-gate{z-index:5000!important;pointer-events:auto!important;overflow:auto;-webkit-overflow-scrolling:touch}
.auth-shell,.auth-card,.auth-card *{pointer-events:auto!important}
.auth-card button{position:relative;z-index:2;touch-action:manipulation;-webkit-tap-highlight-color:rgba(47,91,255,.15);cursor:pointer}
.auth-card input{font-size:16px!important}
.auth-message{min-height:22px;margin:10px 0 0;color:#b42318;font-weight:700;font-size:13px;text-align:center}
body.auth-required #wizard,body.auth-required dialog{display:none!important}
body.auth-required #toast{display:block!important;z-index:6000!important}
@media(max-width:580px){.auth-gate{align-items:start;padding-top:calc(26px + env(safe-area-inset-top));padding-bottom:calc(30px + env(safe-area-inset-bottom))}.auth-shell{display:block}.auth-card{width:100%;max-width:none}}

/* ===== V20 FINAL SUBSCRIBER THEME — NAVY / ROYAL BLUE / WHITE ===== */
:root{
  --ink:#0B1F3A;
  --ink-2:#183153;
  --paper:#FFFFFF;
  --cream:#F4F7FF;
  --gold:#0057FF;
  --gold-soft:#EAF0FF;
  --brand:#0057FF;
  --brand-dark:#003FCC;
  --brand-soft:#EAF0FF;
  --nav:#0B1F3A;
  --line:#D9E2F2;
  --muted:#52657D;
  --shadow:0 20px 55px rgba(11,31,58,.10);
  --shadow-sm:0 8px 26px rgba(11,31,58,.07)
}
html,body{background:#FFFFFF;color:var(--ink);overflow-x:hidden}
body{background:#FFFFFF!important;padding-top:0!important}
aside{background:linear-gradient(180deg,#07182F 0%,#0B1F3A 55%,#0F2C55 100%)!important}
.brand span,.mobile>span,.auth-brand>span{background:#0057FF!important;color:#FFFFFF!important;box-shadow:none!important}
.brand.side small{color:#B9C8DD!important}
nav button{color:#D6E0EE!important}
nav button.active,nav button:hover{background:rgba(0,87,255,.20)!important;border-color:rgba(105,147,255,.38)!important;box-shadow:inset 3px 0 0 #4F83FF!important}
nav button:disabled{opacity:.42;cursor:not-allowed}
.plan{background:rgba(255,255,255,.07)!important}
.plan button{background:#FFFFFF!important;color:#0B1F3A!important}
main{background:#FFFFFF}
.primary{background:#0057FF!important;color:#FFFFFF!important;border-color:#0057FF!important;box-shadow:0 8px 20px rgba(0,87,255,.20)!important}
.primary:hover{background:#003FCC!important}
.secondary{background:#FFFFFF!important;color:#0B1F3A!important;border-color:#D9E2F2!important}
.secondary:hover{background:#F4F7FF!important;border-color:#AFC4E6!important}
.eyebrow,.panel-head button,.preview-wrap>small,.text-button{color:#0057FF!important}
.quick button,.stats article,.panel,.product-card,.pricing article,.auth-card,.wizard-card,.template-card{background:#FFFFFF!important;border-color:#D9E2F2!important}
.quick-icon,.recent-row span,.sync-box,.ready-preview,.choice-grid button.selected,.logo-preview-card,.logo-thumb,.font-sample{background:#F4F7FF!important;border-color:#D9E2F2!important}
.quick-icon,.recent-row span{color:#0057FF!important}
.product-card:before,.stats article:before{background:#0057FF!important}
input,textarea,select,.search{background:#FFFFFF!important;color:#0B1F3A!important;border-color:#D9E2F2!important}
input:focus,textarea:focus,select:focus,.search:focus{border-color:#0057FF!important;box-shadow:0 0 0 3px rgba(0,87,255,.12)!important}
.allergen-note{background:#F4F7FF!important;border-color:#C8D8F2!important;color:#183153!important}
.stage{background:repeating-linear-gradient(45deg,#EDF2F9 0,#EDF2F9 12px,#F8FAFD 12px,#F8FAFD 24px)!important;border-color:#D9E2F2!important}
.pricing article.featured{border:2px solid #0057FF!important;box-shadow:0 18px 45px rgba(0,87,255,.16)!important}
.pricing em{background:#0057FF!important}
.auth-gate{background:linear-gradient(145deg,#07182F,#0B1F3A 62%,#003FCC)!important}
.progress i{background:#0057FF!important}
.choice-grid button.selected{border-color:#0057FF!important;box-shadow:0 0 0 2px rgba(0,87,255,.10)!important}
.toast{background:#0B1F3A!important}
.feedback-fab{background:#0B1F3A!important}
.status-pill{background:#EAF0FF!important;color:#003FCC!important}
.subscription-banner{position:sticky;top:0;z-index:95;display:flex;align-items:center;justify-content:center;gap:10px;padding:9px 16px;background:#EAF0FF;color:#0B1F3A;border-bottom:1px solid #C9D8F2;font-size:12px}
.subscription-banner button{padding:6px 10px}
.subscription-expired .subscription-banner{background:#FFF1F1;color:#8A1C1C;border-color:#F0CACA}
.empty-product-state{grid-column:1/-1;text-align:center;padding:38px 24px!important}
.empty-product-state h3{font-size:22px;margin:7px 0 8px}.empty-product-state p{color:var(--muted);max-width:520px;margin:0 auto 18px}

/* iPhone / mobile: always land with the full header visible and no horizontal clipping */
@media(max-width:900px){
  body.authenticated{padding-top:0!important;min-height:100dvh}
  body.authenticated #app{min-height:100dvh}
  .mobile{display:flex!important;position:sticky!important;top:0!important;z-index:90!important;height:auto!important;min-height:66px;padding:calc(10px + env(safe-area-inset-top,0px)) 16px 10px!important;background:#0B1F3A!important;color:#FFFFFF!important;border-bottom:0!important;box-shadow:0 5px 20px rgba(11,31,58,.18)!important}
  .mobile button{color:#FFFFFF!important}.mobile div small{color:#B9C8DD!important}.mobile>span{width:36px;height:36px}
  aside{top:0!important;height:100dvh!important;padding-top:calc(28px + env(safe-area-inset-top,0px))!important;z-index:110!important}
  main{padding:24px 16px calc(105px + env(safe-area-inset-bottom,0px))!important;max-width:100%!important;overflow-x:hidden}
  .head{margin-bottom:22px}.head h1{font-size:30px!important}
  .quick,.stats,.pricing,.product-grid,.designer,.account-grid,.admin-metrics,.admin-grid{grid-template-columns:1fr!important}
  .preview-wrap{position:static!important}.stage{min-height:350px!important;padding:14px!important;overflow:hidden}
  .buttons{flex-wrap:wrap}.buttons button{flex:1 1 calc(50% - 7px);min-height:42px}
  .subscription-banner{top:66px;flex-wrap:wrap;text-align:center}
}
@media(max-width:520px){
  .head{display:block!important}.head>.primary,.head>.secondary,.head-actions{width:100%!important}.head>.primary,.head>.secondary{margin-top:14px!important}
  .auth-gate{padding:calc(14px + env(safe-area-inset-top,0px)) 14px calc(20px + env(safe-area-inset-bottom,0px))!important}
  .auth-card{padding:22px 18px!important;border-radius:18px!important}
  .wizard-card{max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 24px)!important}
  .size-60x40{transform:scale(.62)!important}.size-64x38{transform:scale(.59)!important}.size-50round{transform:scale(.63)!important}
}
.subscription-banner{position:relative!important;top:auto!important}
.status-pill.owner{background:#EAF0FF!important;color:#003FCC!important}
.sync-box>span{background:#0057FF!important;box-shadow:0 0 0 5px rgba(0,87,255,.13)!important}
.offline-bar{background:#0B1F3A!important;color:#FFFFFF!important}

/* ===== V21 premium friendly subscriber UI ===== */
:root{
  --ink:#0b2147!important;--ink-2:#1d355b!important;--paper:#f6f8fc!important;
  --brand:#0b63f6!important;--brand-2:#0057ff!important;--line:#dfe7f3!important;
  --muted:#657593!important;--soft:#eef4ff!important;--white:#fff!important;
  --shadow:0 12px 34px rgba(24,55,102,.08)!important;--shadow-sm:0 5px 18px rgba(24,55,102,.06)!important;
}
html,body{background:#f5f8fd!important}
body{font-family:"Avenir Next",Avenir,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;color:var(--ink)!important;background:
  radial-gradient(circle at 8% 5%,rgba(188,218,255,.28),transparent 24rem),
  radial-gradient(circle at 92% 4%,rgba(255,225,196,.20),transparent 24rem),
  linear-gradient(180deg,#fbfcff 0,#f5f8fd 55%,#f7f9fc 100%)!important}
main{max-width:1280px!important}
.wordmark,.brand.side b,.auth-brand b,.wizard-top .brand b{font-family:"Avenir Next",Avenir,sans-serif!important;font-weight:750!important;letter-spacing:-1px!important;color:inherit}
.mobile .wordmark{font-size:22px!important;line-height:1!important}
.mobile .wordmark span:first-child,.mobile .wordmark span:last-child{font-weight:750}
.primary{background:linear-gradient(135deg,#1269f6,#0057ff)!important;border:0!important;border-radius:12px!important;box-shadow:0 9px 22px rgba(0,87,255,.20)!important;color:white!important}
.primary:hover{background:linear-gradient(135deg,#0b61ed,#004ee8)!important}
.secondary{border-radius:12px!important;background:#fff!important;border-color:#dbe5f2!important;color:#18345d!important}
.panel,.product-card,.pricing article,.template-card{border-radius:18px!important;border:1px solid #e1e8f2!important;box-shadow:var(--shadow-sm)!important;background:rgba(255,255,255,.96)!important}

/* Dashboard hero */
#dashboard .dashboard-hero{position:relative;display:grid!important;grid-template-columns:minmax(0,.9fr) minmax(280px,1.1fr);align-items:center;min-height:330px;padding:34px 36px;margin-bottom:20px;border:1px solid #d9e5f7;border-radius:24px;overflow:hidden;background:linear-gradient(120deg,#f1f6ff 0%,#f8fbff 58%,#fff9f2 100%);box-shadow:0 16px 40px rgba(29,63,113,.08)}
#dashboard .dashboard-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 16%,rgba(255,255,255,.85),transparent 42%);pointer-events:none}
.hero-copy{position:relative;z-index:2;align-self:center}.hero-copy .eyebrow{display:none}
#dashboard .head h1{font-size:44px!important;letter-spacing:-1.8px!important;margin:0 0 10px!important;color:#0b2147!important;font-weight:750!important}
#dashboard .head p{font-size:18px!important;line-height:1.55!important;max-width:510px!important;color:#5e7090!important}
#dashboard .head-actions{margin-top:24px!important;justify-content:flex-start!important;width:auto!important}
#dashboard .head-actions .primary{min-width:210px;font-size:17px;padding:13px 20px!important}
.hero-food{position:absolute;right:0;top:0;bottom:0;width:56%;background-image:linear-gradient(90deg,#f7faff 0%,rgba(247,250,255,.10) 18%,rgba(255,255,255,0) 40%),url('hero-food.jpg');background-size:auto 100%;background-position:right center;background-repeat:no-repeat;mix-blend-mode:multiply;opacity:.98}

/* Quick cards */
.quick{grid-template-columns:repeat(3,1fr)!important;gap:16px!important}
.quick button{min-height:170px!important;display:grid!important;grid-template-columns:1fr auto!important;grid-template-rows:auto 1fr auto!important;align-items:start!important;text-align:left!important;padding:22px!important;border-radius:20px!important;background:#fff!important;border:1px solid #e1e8f2!important;box-shadow:var(--shadow-sm)!important;overflow:hidden}
.quick button:after{display:none!important}.quick-icon{grid-column:1/-1!important;width:54px!important;height:54px!important;border-radius:16px!important;margin-bottom:14px!important;font-size:24px!important;background:#edf4ff!important;border-color:#dce8fb!important;color:#0964f6!important}
.quick button:nth-child(2) .quick-icon{background:#f5efff!important;border-color:#eadfff!important;color:#6d35dc!important}.quick button:nth-child(3) .quick-icon{background:#fff6e7!important;border-color:#ffe7bc!important;color:#e18a00!important}
.quick button div{grid-column:1/-1}.quick strong{font-size:18px!important;color:#0c2147!important}.quick small{display:block!important;font-size:14px!important;color:#6c7c98!important;margin-top:4px!important}.quick i{grid-column:2;align-self:end;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#edf4ff;color:#0964f6;font-style:normal;font-size:18px}

/* Getting started */
.getting-started{margin:18px 0!important;padding:22px 24px!important}.getting-title{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center}.getting-title h2{margin:0!important;font-size:18px!important;color:#0b2147}.getting-title p{margin:1px 0 0!important;color:#687a98!important}.tutorial-badge{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#edf4ff;color:#0964f6;font-size:22px}.tutorial-toggle{width:36px;height:36px;border-radius:50%;border:1px solid #dfe7f3;background:#fff;color:#0b2147;font-size:17px}.tutorial-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:22px;position:relative}.tutorial-steps:before{content:"";position:absolute;top:18px;left:11%;right:11%;height:2px;background:repeating-linear-gradient(90deg,#c9d7ec 0 3px,transparent 3px 8px)}.tutorial-steps button{position:relative;z-index:1;border:0;background:transparent;color:#0c2147;display:grid;justify-items:center;gap:9px;padding:0;font-weight:650}.tutorial-steps b{font-size:13px;line-height:1.25}.step-num,.step-icon{display:grid;place-items:center;border-radius:50%}.step-num{width:36px;height:36px;background:#f4f7fb;font-size:15px}.step-icon{width:44px;height:44px;font-size:20px}.blue{background:#edf4ff!important;color:#0964f6!important}.purple{background:#f5efff!important;color:#6b35de!important}.amber{background:#fff6e7!important;color:#e18a00!important}.green{background:#eaf8ef!important;color:#158446!important}
.getting-started.collapsed .tutorial-steps{display:none}.getting-started.collapsed{padding-bottom:18px!important}

/* Smaller, friendly page headers with supporting imagery */
.view:not(#dashboard)>.head{position:relative;min-height:112px;padding:22px 160px 22px 24px!important;margin-bottom:20px!important;border:1px solid #e0e8f3;border-radius:20px;background:linear-gradient(105deg,#fff 0%,#f6f9ff 70%,#fff9f1 100%);box-shadow:var(--shadow-sm);align-items:center!important;overflow:hidden}
.view:not(#dashboard)>.head:after{content:"";position:absolute;right:10px;top:8px;width:138px;height:96px;border-radius:16px;background-image:linear-gradient(90deg,rgba(248,251,255,.2),rgba(255,255,255,0)),url('hero-food.jpg');background-size:cover;background-position:70% 55%;opacity:.78;mix-blend-mode:multiply}
#designer>.head:after{background-position:48% 55%}#batch>.head:after{background-position:30% 55%}#production>.head:after{background-position:20% 58%}#templates>.head:after{background-position:52% 48%}#settings>.head:after{background-position:76% 45%}
#account>.head:after,#plans>.head:after,#admin>.head:after{display:none}
.view:not(#dashboard)>.head h1{font-size:30px!important;letter-spacing:-1px!important;margin:2px 0!important}.view:not(#dashboard)>.head .eyebrow{color:#0964f6!important}.view:not(#dashboard)>.head .primary,.view:not(#dashboard)>.head .secondary{position:relative;z-index:2}

/* Softer forms */
input,textarea,select{border-color:#dce5f1!important;border-radius:12px!important;background:#fff!important;padding:12px 13px!important;box-shadow:inset 0 1px 0 rgba(30,60,100,.02)}
input:focus,textarea:focus,select:focus{outline:3px solid rgba(11,99,246,.10)!important;border-color:#7fb0ff!important}
.allergen-note{background:#f0f6ff!important;border-color:#d8e7ff!important;color:#27466f!important;border-radius:12px!important}
.stage{background:linear-gradient(145deg,#eef3f9,#f9fbfd)!important;border-color:#dbe4ef!important}

/* Mobile bottom navigation */
.bottom-nav{display:none}
@media(max-width:900px){
  body{padding-bottom:calc(76px + env(safe-area-inset-bottom))!important}
  .mobile{background:rgba(255,255,255,.96)!important;color:#0b2147!important;border-bottom:1px solid #e5ebf3!important;box-shadow:0 5px 20px rgba(30,55,95,.05)!important;min-height:76px!important}
  .mobile button{color:#0b2147!important}.mobile div small{color:#657593!important}.mobile>span{border-radius:50%!important;background:#0b63f6!important;color:#fff!important;width:42px!important;height:42px!important}
  main{padding:18px 16px 28px!important}
  #dashboard .dashboard-hero{grid-template-columns:1fr!important;min-height:332px!important;padding:26px 24px!important;align-items:start!important}
  #dashboard .head h1{font-size:34px!important;max-width:62%!important;line-height:1.08!important}
  #dashboard .head p{font-size:16px!important;max-width:57%!important;line-height:1.45!important}
  .hero-food{width:64%!important;left:auto!important;right:-9%!important;top:4%!important;height:66%!important;background-size:auto 100%!important;background-position:right center!important}
  #dashboard .head-actions{position:absolute!important;left:24px!important;bottom:24px!important;right:24px!important;margin:0!important;z-index:4!important}
  #dashboard .head-actions .primary{width:100%!important;min-width:0!important}
  .quick{grid-template-columns:repeat(3,1fr)!important;gap:10px!important}
  .quick button{min-height:176px!important;padding:15px!important;border-radius:18px!important}.quick-icon{width:44px!important;height:44px!important;border-radius:14px!important;font-size:20px!important}.quick strong{font-size:15px!important}.quick small{font-size:12px!important;line-height:1.35!important}.quick i{width:30px;height:30px}
  .getting-started{padding:18px 14px!important}.getting-title{gap:10px}.tutorial-badge{width:40px;height:40px}.getting-title h2{font-size:16px!important}.getting-title p{font-size:12px!important}.tutorial-steps{gap:4px}.tutorial-steps:before{left:10%;right:10%;top:16px}.step-num{width:32px;height:32px}.step-icon{width:38px;height:38px}.tutorial-steps b{font-size:11px!important}
  .stats{display:none!important}
  .view:not(#dashboard)>.head{min-height:126px;padding:18px 118px 18px 18px!important}.view:not(#dashboard)>.head:after{width:108px;height:104px;top:10px;right:8px}.view:not(#dashboard)>.head h1{font-size:26px!important}
  .bottom-nav{display:grid;position:fixed;z-index:95;left:0;right:0;bottom:0;grid-template-columns:repeat(4,1fr);padding:9px 8px calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);backdrop-filter:blur(18px);border-top:1px solid #e1e8f2;box-shadow:0 -8px 28px rgba(23,48,88,.06)}
  .bottom-nav button{border:0;background:transparent;display:grid;justify-items:center;gap:2px;color:#6b7c98;font-size:11px;font-weight:650;padding:2px}.bottom-nav button span{font-size:21px;line-height:1.15}.bottom-nav button.active{color:#0964f6!important}
}
@media(max-width:520px){
  #dashboard .dashboard-hero{min-height:348px!important}.hero-food{width:70%!important;right:-15%!important;top:5%!important;height:61%!important}.quick{grid-template-columns:repeat(3,1fr)!important}.quick button{padding:13px!important;min-height:170px!important}.quick strong{font-size:14px!important}.quick small{font-size:11.5px!important}
  .tutorial-steps b{font-size:10.5px!important}
}

/* v22 — two linked labels per product */
.label-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.label-side{display:grid;gap:7px;justify-items:center}
.label-side-title{font-size:10px;font-weight:850;letter-spacing:.08em;color:#6b7c98}
.dual-stage{padding:18px;border-radius:22px;background:linear-gradient(145deg,#eef5ff,#fff9f4);border:1px solid #dce6f3;overflow:auto}
.dual-preview-wrap{min-width:0}
.label-front,.label-ingredients{position:relative}
.label-front .price-field{font-size:13px;font-weight:900;margin-top:4px;text-align:center}
.label-ingredients{justify-content:flex-start!important;text-align:left!important}
.label-ingredients .ingredient-product{text-align:center;margin:0 0 6px;font-size:11px;line-height:1.05}
.label-ingredients .allergen-block{margin-top:5px;line-height:1.2}
.label-ingredients .allergen-list{font-size:8px;margin-top:2px}
.label-ingredients .allergen-statement{font-size:7.5px;margin-top:0}
.label-ingredients .may-contain-line{font-size:8px;margin-top:2px}
.label-ingredients .weight-field{font-size:8px;margin-top:5px}
.label-ingredients .business-address{margin-top:auto!important;text-align:center}
.batch-mode{max-width:360px;margin-bottom:18px}
.ready-preview .label-pair{grid-template-columns:1fr 1fr}
#assistantPreview .label-pair{grid-template-columns:1fr 1fr}
@media(max-width:780px){
  .label-pair{grid-template-columns:1fr;gap:20px}
  .dual-stage{padding:14px}
  .ready-preview .label-pair,#assistantPreview .label-pair{grid-template-columns:1fr}
}



/* ============================================================
   V34 — CLEAN RESPONSIVE LAYOUT
   One rule set only. No stacked historical patches.
   ============================================================ */

:root{
  --navy:#0B2147;
  --blue:#1263F6;
  --muted:#687A98;
  --bg:#F5F8FC;
  --line:#DDE6F2;
  --card:#FFFFFF;
}
html,body{background:var(--bg)!important}
body{
  color:var(--navy)!important;
  font-family:-apple-system,BlinkMacSystemFont,"Avenir Next","Segoe UI",sans-serif!important;
}
h1,h2,h3,h4,.wordmark,.quick strong,.getting-title h2{
  color:var(--navy)!important;
  font-family:ui-rounded,"Avenir Next Rounded","SF Pro Rounded","Avenir Next",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}
p,small{color:var(--muted)!important}

.panel,.product-card,.getting-started,.recent-panel{
  background:#fff!important;
  border:1px solid var(--line)!important;
  border-radius:20px!important;
  box-shadow:0 7px 24px rgba(11,33,71,.055)!important;
}
.primary{
  background:var(--blue)!important;
  color:#fff!important;
  border-color:var(--blue)!important;
  border-radius:14px!important;
  font-weight:750!important;
}
.secondary{border-radius:14px!important}

/* Header */
.mobile{
  background:#fff!important;
  color:var(--navy)!important;
  border-bottom:1px solid var(--line)!important;
  min-height:78px!important;
  padding:10px 16px!important;
}
.mobile .wordmark{
  font-size:23px!important;
  line-height:1!important;
  font-weight:760!important;
  letter-spacing:-.9px!important;
  white-space:nowrap!important;
}
.mobile div small{
  display:block!important;
  margin-top:5px!important;
  color:#7384A0!important;
  white-space:nowrap!important;
}
.mobile>span{
  width:44px!important;
  height:44px!important;
  border-radius:50%!important;
  background:var(--blue)!important;
  color:#fff!important;
}

/* DASHBOARD HERO */
#dashboard .dashboard-hero{
  display:grid!important;
  grid-template-columns:minmax(0,43%) minmax(0,57%)!important;
  gap:12px!important;
  align-items:center!important;
  min-height:310px!important;
  padding:28px!important;
  overflow:hidden!important;
  background:linear-gradient(120deg,#F4F9FF 0%,#FFFFFF 57%,#FFF8EE 100%)!important;
  border:1px solid #DCE7F5!important;
  border-radius:24px!important;
}
#dashboard .dashboard-hero .hero-copy{
  grid-column:1!important;
  position:relative!important;
  z-index:2!important;
}
#dashboard .head h1{
  margin:0 0 13px!important;
  font-size:42px!important;
  line-height:1.03!important;
  letter-spacing:-1.7px!important;
  max-width:420px!important;
}
#dashboard .head p{
  margin:0!important;
  max-width:360px!important;
  font-size:17px!important;
  line-height:1.5!important;
}
#dashboard .head-actions{
  position:static!important;
  margin-top:22px!important;
}
#dashboard .head-actions .primary{
  width:auto!important;
  min-width:190px!important;
}
#dashboard .hero-food{
  grid-column:2!important;
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:270px!important;
  background-image:url('dashboard-original-clean.jpg')!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  border:0!important;
  box-shadow:none!important;
}

/* Getting Started */
#dashboard .getting-started{
  margin:14px 0!important;
  padding:20px!important;
}
.tutorial-steps{grid-template-columns:repeat(4,1fr)!important}

/* Dashboard shortcuts */
.quick{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:12px!important;
}
.quick button{
  min-height:160px!important;
  padding:14px!important;
  border-radius:18px!important;
  background:#fff!important;
  border:1px solid var(--line)!important;
  box-shadow:0 6px 20px rgba(11,33,71,.05)!important;
}
.quick strong{font-size:15px!important}
.quick small{font-size:12px!important}

/* CLEAN PAGE HEADERS */
.view:not(#dashboard)>.head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:16px!important;
  min-height:0!important;
  margin-bottom:12px!important;
  padding:20px 22px!important;
  background:#fff!important;
  border:1px solid var(--line)!important;
  border-radius:20px!important;
  box-shadow:0 6px 20px rgba(11,33,71,.05)!important;
}
.view:not(#dashboard)>.head:after{display:none!important;content:none!important}
.view:not(#dashboard)>.head h1{
  margin:2px 0 3px!important;
  font-size:30px!important;
}
.view:not(#dashboard)>.head p{margin:0!important}

/* DISTINCT PAGE VISUALS — separate from titles, never overlay */
.section-visual{
  width:100%!important;
  height:150px!important;
  margin:0 0 14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:linear-gradient(120deg,#F8FBFF,#FFF9F1)!important;
  border:1px solid var(--line)!important;
  border-radius:20px!important;
  box-shadow:0 5px 18px rgba(11,33,71,.045)!important;
}
.section-visual img{
  display:block!important;
  max-width:100%!important;
  max-height:100%!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
}
.products-visual img{max-width:70%!important}
.designer-visual img{max-width:60%!important}

/* No thumbnails per product */
.product-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:9px!important;
}
.product-card{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:12px!important;
  align-items:center!important;
  padding:14px 16px!important;
}
.product-card img,.product-card .thumb,.product-card .product-thumb,.product-card:before{display:none!important}
.product-card .buttons{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  justify-content:flex-end!important;
}

/* Add Product: one Save button at the very bottom */
#saveProduct{display:none!important}
.bottom-save-product{
  width:100%!important;
  min-height:54px!important;
  margin-top:14px!important;
  font-size:16px!important;
}

/* Batch print — leave approved printer image/layout intact */
.batch-printer-hero{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(230px,40%)!important;
  gap:20px!important;
  align-items:center!important;
  margin-bottom:16px!important;
  padding:20px!important;
}
.batch-printer-hero img{
  width:100%!important;
  height:205px!important;
  object-fit:contain!important;
  border-radius:16px!important;
}

/* Forms */
input,textarea,select{
  border:1px solid #CCD9EA!important;
  border-radius:12px!important;
  background:#fff!important;
}

/* MOBILE */
@media(max-width:900px){
  body{padding-bottom:calc(76px + env(safe-area-inset-bottom))!important}
  main{padding:16px 14px 28px!important}

  .mobile{
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr) 44px!important;
    align-items:center!important;
    gap:9px!important;
    min-height:78px!important;
    padding:10px 14px!important;
  }
  .mobile>div{text-align:center!important}

  #dashboard .dashboard-hero{
    grid-template-columns:minmax(0,44%) minmax(0,56%)!important;
    min-height:270px!important;
    padding:18px!important;
    gap:8px!important;
  }
  #dashboard .head h1{
    font-size:29px!important;
    line-height:1.02!important;
    letter-spacing:-1px!important;
    margin:0 0 10px!important;
  }
  #dashboard .head p{
    font-size:12.5px!important;
    line-height:1.4!important;
  }
  #dashboard .head-actions{margin-top:16px!important}
  #dashboard .head-actions .primary{
    width:100%!important;
    min-width:0!important;
    min-height:46px!important;
    padding:10px 8px!important;
    font-size:13px!important;
  }
  #dashboard .hero-food{
    height:225px!important;
    background-size:contain!important;
    background-position:center!important;
  }

  #dashboard .getting-started{
    margin:12px 0!important;
    padding:17px 14px!important;
  }
  .tutorial-steps{gap:4px!important}
  .tutorial-steps b{font-size:10.5px!important}

  .quick{gap:8px!important}
  .quick button{
    min-height:148px!important;
    padding:11px 9px!important;
  }
  .quick strong{font-size:13px!important}
  .quick small{font-size:10.5px!important}

  .view:not(#dashboard)>.head{
    display:flex!important;
    align-items:flex-start!important;
    padding:17px!important;
  }
  .view:not(#dashboard)>.head h1{font-size:27px!important}
  .view:not(#dashboard)>.head p{font-size:13px!important;line-height:1.4!important}

  .section-visual{
    height:128px!important;
    margin-bottom:12px!important;
  }
  .products-visual img{max-width:78%!important}
  .designer-visual img{max-width:66%!important}

  .product-card{
    grid-template-columns:1fr!important;
    align-items:start!important;
  }
  .product-card .buttons{justify-content:flex-start!important}

  .batch-printer-hero{
    grid-template-columns:1fr!important;
    padding:16px!important;
  }
  .batch-printer-hero img{
    order:-1!important;
    height:205px!important;
  }

  .stats{display:none!important}
  .feedback-fab{display:none!important}
  .bottom-nav{
    display:grid!important;
    position:fixed!important;
    left:0!important;right:0!important;bottom:0!important;
    z-index:95!important;
    grid-template-columns:repeat(4,1fr)!important;
    padding:9px 8px calc(8px + env(safe-area-inset-bottom))!important;
    background:rgba(255,255,255,.98)!important;
    border-top:1px solid var(--line)!important;
  }
}

@media(max-width:390px){
  #dashboard .dashboard-hero{
    grid-template-columns:minmax(0,45%) minmax(0,55%)!important;
    min-height:255px!important;
    padding:15px!important;
  }
  #dashboard .head h1{font-size:26px!important}
  #dashboard .head p{font-size:11.5px!important}
  #dashboard .hero-food{height:205px!important}
  .quick button{min-height:142px!important}
}


/* ============================================================
   V35 — PRODUCTS PAGE IMAGE FIT ONLY
   ============================================================ */

/* Give the Products supporting image a little more room so no edge/text is clipped. */
.products-visual{
  height:168px!important;
  padding:10px 12px!important;
}
.products-visual img{
  max-width:100%!important;
  max-height:100%!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center!important;
}

@media(max-width:900px){
  .products-visual{
    height:148px!important;
    padding:10px!important;
  }
  .products-visual img{
    max-width:100%!important;
    max-height:100%!important;
  }
}

@media(max-width:390px){
  .products-visual{
    height:140px!important;
    padding:8px!important;
  }
}


/* ============================================================
   V36 — PRODUCTS IMAGE TOP TEXT FIX
   Ensures the wording at the top of the products page image
   is not clipped.
   ============================================================ */

.products-visual{
  min-height: 178px !important;
  height: auto !important;
  padding: 16px 14px 12px 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

.products-visual img{
  display: block !important;
  margin: 0 auto !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center top !important;
  border-radius: 24px !important;
}

@media (max-width: 900px){
  .products-visual{
    min-height: 182px !important;
    padding: 18px 12px 12px 12px !important;
  }
  .products-visual img{
    width: 100% !important;
    height: auto !important;
  }
}

@media (max-width: 430px){
  .products-visual{
    min-height: 188px !important;
    padding: 18px 10px 12px 10px !important;
  }
}

@media (max-width: 390px){
  .products-visual{
    min-height: 194px !important;
    padding: 20px 10px 12px 10px !important;
  }
}


/* V38 — Print selected is the final action on Batch Print */
.print-batch-bottom{
  display:block!important;
  width:100%!important;
  min-height:56px!important;
  margin-top:20px!important;
  padding:13px 18px!important;
  border-radius:14px!important;
  font-size:16px!important;
  font-weight:760!important;
}
@media(max-width:900px){
  .print-batch-bottom{
    margin-top:18px!important;
    min-height:54px!important;
  }
}

.legacy-size-control{display:none!important}

.roll-change-dialog{
  border:0;
  padding:0;
  border-radius:24px;
  width:min(92vw,520px);
  background:transparent;
}
.roll-change-dialog::backdrop{background:rgba(5,18,43,.55)}
.roll-change-card{
  background:#fff;
  border-radius:24px;
  padding:28px;
  color:#0b2147;
  box-shadow:0 24px 70px rgba(6,25,58,.25);
}
.roll-change-card h2{margin:8px 0 10px;font-size:28px}
.roll-change-card p{color:#667894;font-size:16px;line-height:1.5}
.roll-change-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:12px;margin-top:22px}
@media(max-width:540px){
  .roll-change-actions{grid-template-columns:1fr}
}


/* ============================================================
   Label Daze v65 — Match the APP UI shown inside promo artwork
   Clean, rounded, white/navy/blue with deliberate hot-pink accents.
   ============================================================ */

:root{
  --ld-navy:#0A214C;
  --ld-blue:#1764F6;
  --ld-blue-dark:#0D4FD6;
  --ld-pink:#FA0A63;
  --ld-pink-soft:#FFF1F6;
  --ld-text:#0A214C;
  --ld-muted:#71819E;
  --ld-border:#D6E2F1;
  --ld-bg:#F8FBFF;
  --ld-card:#FFFFFF;

  --ink:var(--ld-navy);
  --ink-2:#17335F;
  --cream:#F4F8FF;
  --paper:var(--ld-bg);
  --gold:var(--ld-pink);
  --gold-soft:var(--ld-pink-soft);
  --line:var(--ld-border);
  --white:#fff;
  --muted:var(--ld-muted);
  --shadow:0 14px 40px rgba(10,33,76,.07);
  --shadow-sm:0 6px 22px rgba(10,33,76,.05);
}

html,body{
  background:var(--ld-bg)!important;
}
body{
  color:var(--ld-text)!important;
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}
main{
  background:linear-gradient(180deg,#fff 0%,#F9FBFF 100%)!important;
}

/* ---------- Brand / header ---------- */
.wordmark{
  display:inline!important;
  font-family:"Fredoka","Inter",sans-serif!important;
  font-weight:700!important;
  font-size:inherit!important;
  letter-spacing:-.04em!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.wordmark .word-label{
  display:inline!important;
  background:none!important;
  color:var(--ld-navy)!important;
  width:auto!important;height:auto!important;
  padding:0!important;margin:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.wordmark .word-daze{
  display:inline!important;
  background:none!important;
  color:var(--ld-blue)!important;
  width:auto!important;height:auto!important;
  padding:0!important;margin:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

/* Strict direct-child badge selectors — does NOT affect wordmark spans */
.mobile > span.ld-tag,
.brand > span.ld-tag,
.auth-brand > span.ld-tag{
  width:52px!important;
  height:52px!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 52px!important;
  background:linear-gradient(145deg,#FF1470,#ED0058)!important;
  color:#fff!important;
  border-radius:16px!important;
  font-family:"Fredoka",sans-serif!important;
  font-size:18px!important;
  font-weight:700!important;
  letter-spacing:0!important;
  box-shadow:0 8px 22px rgba(250,10,99,.18)!important;
  border:0!important;
  padding:0!important;
  position:relative!important;
}
.mobile > span.ld-tag:before,
.brand > span.ld-tag:before,
.auth-brand > span.ld-tag:before{
  content:""!important;
  position:absolute!important;
  width:6px!important;height:6px!important;
  border-radius:50%!important;
  background:#fff!important;
  top:7px!important;left:50%!important;
  transform:translateX(-50%)!important;
}

/* Mobile header: centered, one-line logo like promo phone UI */
.mobile{
  min-height:112px!important;
  display:none;
  grid-template-columns:50px 1fr 52px!important;
  align-items:center!important;
  gap:14px!important;
  padding:18px 20px!important;
  background:rgba(255,255,255,.98)!important;
  border-bottom:1px solid #DFE7F2!important;
  box-shadow:0 5px 18px rgba(10,33,76,.035)!important;
}
.mobile > button{
  color:var(--ld-navy)!important;
  font-size:26px!important;
}
.mobile > div{
  text-align:center!important;
  min-width:0!important;
}
.mobile > div .wordmark{
  display:block!important;
  font-size:29px!important;
}
.mobile > div small{
  display:block!important;
  margin-top:7px!important;
  color:#7786A1!important;
  font-size:12px!important;
  font-weight:600!important;
}

/* Desktop sidebar stays professional; pink only active accent */
aside{
  background:linear-gradient(180deg,#081D45 0%,#0B2E6F 100%)!important;
  color:#fff!important;
}
.brand.side .word-label{color:#fff!important}
.brand.side .word-daze{color:#7CAFFF!important}
.brand.side small{color:#B8C9E8!important}
nav button{
  color:#D6E3F7!important;
  border-radius:12px!important;
}
nav button.active,nav button:hover{
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
  box-shadow:inset 3px 0 0 var(--ld-pink)!important;
  transform:none!important;
}
.plan{
  background:rgba(255,255,255,.07)!important;
  border-color:rgba(255,255,255,.14)!important;
}
.plan small{color:#AEC1E3!important}
.plan span{color:#D4E1F6!important}

/* ---------- Type ---------- */
.head h1,
.dashboard-hero h1,
.getting-title h2,
.panel-head h2,
.product-card h3,
.auth-card h1,
.wizard-step h1{
  font-family:"Fredoka","Inter",sans-serif!important;
  color:var(--ld-navy)!important;
  text-transform:none!important;
  letter-spacing:-.035em!important;
}
.head h1,.dashboard-hero h1{
  font-size:clamp(38px,4.5vw,58px)!important;
  line-height:1.02!important;
  margin:5px 0 9px!important;
  font-weight:700!important;
}
.getting-title h2,.panel-head h2{
  font-size:25px!important;
  line-height:1.08!important;
}
.head p,.dashboard-hero p,.getting-title p,.panel-head p{
  color:var(--ld-muted)!important;
}
.eyebrow{
  color:var(--ld-blue)!important;
  font-family:"Inter",sans-serif!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.22em!important;
}

/* Small handmade-looking pink swipe — not a giant bar */
.head > div:first-child:after,
.hero-copy:after{
  content:""!important;
  display:block!important;
  width:105px!important;
  height:4px!important;
  margin-top:13px!important;
  border-radius:60% 40% 55% 45%!important;
  background:var(--ld-pink)!important;
  transform:rotate(-1.5deg) skewX(-9deg)!important;
  box-shadow:18px 1px 0 -1px rgba(250,10,99,.50)!important;
}

/* ---------- Cards ---------- */
.panel,.product-card,.stats article,.quick button,.pricing article,.auth-card,.wizard-card{
  background:#fff!important;
  border:1.5px solid var(--ld-border)!important;
  border-radius:24px!important;
  box-shadow:var(--shadow-sm)!important;
}
.panel{padding:24px!important}
.product-card{border-radius:21px!important}
.product-card:hover,.quick button:hover{
  border-color:#C3D4EB!important;
  box-shadow:0 12px 30px rgba(10,33,76,.08)!important;
}

/* ---------- Dashboard hero ---------- */
.dashboard-hero{
  min-height:285px!important;
  padding:34px 36px!important;
  border:1.5px solid var(--ld-border)!important;
  border-radius:28px!important;
  background:
    radial-gradient(circle at 88% 18%,rgba(250,10,99,.055),transparent 26%),
    linear-gradient(135deg,#fff 0%,#FBFDFF 100%)!important;
  box-shadow:var(--shadow-sm)!important;
  overflow:hidden!important;
}
.dashboard-hero:before,
.dashboard-hero:after{
  display:none!important;
  content:none!important;
}
.hero-copy{max-width:50%!important}
.hero-food{
  border-radius:18px!important;
  box-shadow:none!important;
}

/* ---------- Buttons ---------- */
.primary{
  background:linear-gradient(180deg,#1B68F7 0%,#155BE9 100%)!important;
  color:#fff!important;
  border:0!important;
  border-radius:15px!important;
  padding:12px 18px!important;
  font-weight:800!important;
  box-shadow:0 9px 20px rgba(23,100,246,.18)!important;
}
.primary:hover{
  background:var(--ld-blue-dark)!important;
  transform:translateY(-1px)!important;
}
.secondary{
  background:#fff!important;
  color:var(--ld-navy)!important;
  border:1.5px solid var(--ld-border)!important;
  border-radius:14px!important;
  font-weight:750!important;
}
.secondary:hover{
  border-color:#FFB6D1!important;
  background:#FFF8FB!important;
}
.panel-head button,.buttons button{
  color:var(--ld-blue)!important;
  background:transparent!important;
  border:0!important;
  font-weight:800!important;
}

/* ---------- Getting started ---------- */
.getting-started{
  border-top:0!important;
}
.getting-title{
  align-items:center!important;
}
.tutorial-badge{
  background:#FFF2F7!important;
  border:1.5px solid #FFD0E0!important;
  border-radius:16px!important;
}
.tutorial-badge img{
  filter:none!important;
}
.tutorial-steps button{
  border-radius:16px!important;
}
.step-num{
  background:#FFF3F7!important;
  border:1.5px solid #FFC8DC!important;
  color:var(--ld-pink)!important;
  font-weight:800!important;
}
.step-num.blue,.step-num.purple,.step-num.amber,.step-num.green{
  background:#FFF3F7!important;
  border-color:#FFC8DC!important;
  color:var(--ld-pink)!important;
}
.step-icon,
.step-icon.blue,.step-icon.purple,.step-icon.amber,.step-icon.green{
  background:transparent!important;
  border:0!important;
}
.step-icon img{
  filter:none!important;
}

/* ---------- Quick actions ---------- */
.quick{gap:16px!important}
.quick button{
  grid-template-columns:52px 1fr auto!important;
  padding:20px!important;
}
.quick-icon{
  width:52px!important;height:52px!important;
  border-radius:16px!important;
  background:#F5F8FF!important;
  border:1.5px solid #E0E8F5!important;
}
.quick-icon img{filter:none!important}
.quick strong{
  font-family:"Fredoka",sans-serif!important;
  color:var(--ld-navy)!important;
  font-size:17px!important;
  font-weight:650!important;
}
.quick small{color:var(--ld-muted)!important}
.quick i{
  color:var(--ld-blue)!important;
  font-size:22px!important;
}

/* ---------- Stats ---------- */
.stats article{
  min-height:124px!important;
}
.stats article:before,.stats article:after{
  display:none!important;
  content:none!important;
}
.stats strong{
  font-family:"Fredoka",sans-serif!important;
  color:var(--ld-navy)!important;
  font-size:30px!important;
}

/* ---------- Product library ---------- */
.product-card{
  border-left:1.5px solid var(--ld-border)!important;
  padding:20px!important;
}
.product-card h3{
  font-size:19px!important;
  font-weight:650!important;
}
.product-card small,.product-card p{color:var(--ld-muted)!important}
.recent-row span{
  background:#F4F7FD!important;
  color:#6C7D99!important;
}
.search,input,textarea,select{
  background:#fff!important;
  color:var(--ld-navy)!important;
  border:1.5px solid #CEDAE9!important;
  border-radius:14px!important;
}
.search:focus,input:focus,textarea:focus,select:focus{
  border-color:var(--ld-blue)!important;
  box-shadow:0 0 0 3px rgba(23,100,246,.10)!important;
}
label{color:var(--ld-navy)!important;font-weight:750!important}
label small{color:#7B8AA4!important}
input[type=checkbox],input[type=radio]{accent-color:var(--ld-pink)!important}

/* ---------- Section visuals ---------- */
.section-visual{
  border-radius:24px!important;
  overflow:hidden!important;
  border:1.5px solid var(--ld-border)!important;
  box-shadow:var(--shadow-sm)!important;
}
.section-visual:after{
  display:none!important;
  content:none!important;
}

/* ---------- Designer ---------- */
.stage{
  background:#F1F5FB!important;
  border:1.5px solid #D8E2EE!important;
  border-radius:22px!important;
}
.allergen-note{
  background:#FFF3F7!important;
  border:1.5px solid #FFD0E0!important;
  color:#8B274C!important;
  border-radius:14px!important;
}
.preview-wrap>small{
  color:var(--ld-blue)!important;
  font-weight:800!important;
}

/* ---------- Selected states / templates ---------- */
.choice-grid button.selected,
.template-card.selected,
.card.selected,
.is-selected,
.selected{
  background:#FFF4F8!important;
  border-color:#FFAAC9!important;
}
.progress{background:#EAF0F8!important}
.progress i{background:var(--ld-pink)!important}

/* ---------- Pricing ---------- */
.pricing article.featured{
  border:2px solid var(--ld-blue)!important;
  box-shadow:0 14px 32px rgba(23,100,246,.10)!important;
}
.pricing em{
  background:var(--ld-pink)!important;
  color:#fff!important;
}

/* ---------- Auth ---------- */
.auth-gate{
  background:
    radial-gradient(circle at 80% 20%,rgba(23,100,246,.18),transparent 28%),
    radial-gradient(circle at 20% 80%,rgba(250,10,99,.12),transparent 28%),
    linear-gradient(160deg,#071A45,#0B3478)!important;
}
.auth-card{
  border-top:4px solid var(--ld-pink)!important;
}
.auth-brand .word-label{color:#fff!important}
.auth-brand .word-daze{color:#82AFFF!important}
.auth-brand small{color:#C6D5EF!important}

/* ---------- Toast / status ---------- */
.toast{
  background:var(--ld-navy)!important;
  color:#fff!important;
}
.offline-bar{
  background:var(--ld-pink)!important;
  color:#fff!important;
}
.subscription-banner{
  background:#FFF7FA!important;
  border-color:#FFD0DF!important;
}
.status-pill,.plan-badge,.popular-badge{
  background:#FFF1F6!important;
  color:#B60045!important;
  border-color:#FFC8DC!important;
}

/* ---------- Roll-change ---------- */
.roll-change-card{
  border-top:4px solid var(--ld-pink)!important;
}
.roll-change-card .eyebrow{color:var(--ld-pink)!important}
#continueRearPrint{background:var(--ld-blue)!important}
#cancelRearPrint{
  background:#fff!important;
  border-color:#FFD0DF!important;
  color:#A90040!important;
}

/* ---------- Mobile ---------- */
@media(max-width:760px){
  .mobile{display:grid!important}
  main{padding:22px 16px 64px!important}
  .head{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .head h1{
    font-size:40px!important;
  }
  .dashboard-hero{
    padding:28px 24px!important;
    min-height:auto!important;
  }
  .hero-copy{max-width:100%!important}
  .hero-food{margin-top:20px!important}
  .quick{grid-template-columns:1fr!important}
  .stats{grid-template-columns:1fr!important}
  .product-grid{grid-template-columns:1fr!important}
  .designer{grid-template-columns:1fr!important}
}

/* v82: printable labels respect selected font settings */


/* Label Daze v66 — hot-pink primary rectangular action buttons only */
.primary,
button.primary,
.button.primary,
.btn-primary,
#addProduct,
#finishWizard,
#authSubmit,
#continueRearPrint,
#printSelected,
#buildPrintBatch,
#printAll,
#saveProductBottom {
  background: linear-gradient(180deg,#FF176F 0%,#F00660 100%) !important;
  border-color:#F00660 !important;
  color:#fff !important;
  box-shadow:0 10px 24px rgba(250,10,99,.22) !important;
}
.primary:hover,
button.primary:hover,
.button.primary:hover,
.btn-primary:hover,
#addProduct:hover,
#finishWizard:hover,
#authSubmit:hover,
#continueRearPrint:hover,
#printSelected:hover,
#buildPrintBatch:hover,
#printAll:hover,
#saveProductBottom:hover {
  background:#E50055 !important;
  border-color:#E50055 !important;
}


/* ============================================================
   Label Daze v67 — Hanging tag + brush underline wordmark
   Visual-only update over working v66.
   ============================================================ */

/* The whole centre header brand becomes one deliberate lockup */
.mobile .mobile-brand-lockup{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  padding:2px 40px 4px!important;
  overflow:visible!important;
}

/* One-line Label Daze wordmark */
.mobile .mobile-brand-lockup .wordmark{
  position:relative!important;
  z-index:2!important;
  display:inline-block!important;
  font-family:"Fredoka","Inter",sans-serif!important;
  font-size:30px!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:-.045em!important;
  white-space:nowrap!important;
}

/* Hand-drawn hot-pink swipe directly under Label Daze */
.mobile .mobile-brand-lockup .wordmark:after{
  content:""!important;
  position:absolute!important;
  left:6%!important;
  right:3%!important;
  bottom:-9px!important;
  height:4px!important;
  border-radius:70% 30% 65% 35%!important;
  background:#FA0A63!important;
  transform:rotate(-1.8deg) skewX(-10deg)!important;
  box-shadow:
    13px 1px 0 -1px rgba(250,10,99,.46),
    -5px -1px 0 -1.5px rgba(250,10,99,.30)!important;
}

/* Tagline sits below the brush line */
.mobile .mobile-brand-lockup small{
  display:block!important;
  margin-top:16px!important;
  color:#7786A1!important;
  font-size:12px!important;
  font-weight:600!important;
  text-align:center!important;
}

/* Convert the right LD square into a true luggage/food-label tag */
.mobile > span.ld-tag{
  position:absolute!important;
  right:calc(50% + 112px)!important;
  top:18px!important;
  width:42px!important;
  height:52px!important;
  min-width:42px!important;
  border-radius:5px 5px 10px 10px!important;
  background:linear-gradient(145deg,#FF1470,#ED0058)!important;
  color:#fff!important;
  display:grid!important;
  place-items:center!important;
  padding-top:7px!important;
  font-family:"Fredoka",sans-serif!important;
  font-size:17px!important;
  font-weight:700!important;
  box-shadow:0 8px 20px rgba(250,10,99,.20)!important;
  transform:rotate(-7deg)!important;
  z-index:4!important;
  clip-path:polygon(20% 0,80% 0,100% 20%,100% 100%,0 100%,0 20%)!important;
}

/* Tag hole */
.mobile > span.ld-tag:before{
  content:""!important;
  position:absolute!important;
  top:7px!important;
  left:50%!important;
  width:7px!important;
  height:7px!important;
  transform:translateX(-50%)!important;
  border-radius:50%!important;
  background:#fff!important;
  box-shadow:0 0 0 1px rgba(7,33,76,.08)!important;
}

/* Little hanging cord from the Label Daze lockup */
.mobile > span.ld-tag:after{
  content:""!important;
  position:absolute!important;
  width:2px!important;
  height:24px!important;
  background:#0A214C!important;
  top:-20px!important;
  left:51%!important;
  transform:rotate(16deg)!important;
  transform-origin:bottom center!important;
  border-radius:999px!important;
}

/* Give mobile header enough height for the hanging detail */
.mobile{
  position:relative!important;
  min-height:118px!important;
  overflow:visible!important;
}

/* Keep the menu button clear of the tag */
.mobile > #menuBtn{
  position:relative!important;
  z-index:6!important;
}

/* Desktop sidebar tag also gets a proper tag silhouette */
.brand.side > span.ld-tag{
  width:42px!important;
  height:50px!important;
  border-radius:5px 5px 10px 10px!important;
  clip-path:polygon(20% 0,80% 0,100% 20%,100% 100%,0 100%,0 20%)!important;
  transform:rotate(-4deg)!important;
  padding-top:7px!important;
}
.brand.side > span.ld-tag:after{
  content:""!important;
  position:absolute!important;
  width:2px!important;
  height:16px!important;
  background:#fff!important;
  opacity:.85!important;
  top:-13px!important;
  left:51%!important;
  transform:rotate(14deg)!important;
  transform-origin:bottom center!important;
}

/* Desktop sidebar wordmark gets the same brush-line signature */
.brand.side .wordmark{
  position:relative!important;
  display:inline-block!important;
}
.brand.side .wordmark:after{
  content:""!important;
  position:absolute!important;
  left:2%!important;
  right:0!important;
  bottom:-7px!important;
  height:3px!important;
  border-radius:60% 40% 55% 45%!important;
  background:#FA0A63!important;
  transform:rotate(-1.5deg) skewX(-9deg)!important;
}

/* Prevent the old generic right-badge spacing from affecting lockup */
@media(max-width:760px){
  .mobile{
    grid-template-columns:48px 1fr 48px!important;
  }
  .mobile .mobile-brand-lockup{
    padding-left:44px!important;
    padding-right:8px!important;
  }
  .mobile > span.ld-tag{
    right:auto!important;
    left:calc(50% - 126px)!important;
    top:20px!important;
  }
}

/* No effect on printable labels */
#printArea,
#printArea *,
.print-label,
.front-label,
.ingredients-label{
  clip-path:none;
}


/* ============================================================
   Label Daze v68 — Real Template Library
   ============================================================ */
.real-template-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.real-template-grid .template-card{
  display:block;
  text-align:left;
  width:100%;
  background:#fff;
  border:1.5px solid var(--line);
  border-radius:22px;
  padding:18px;
  box-shadow:var(--shadow-sm);
}
.real-template-grid .template-card.selected{
  border:2px solid #FA0A63!important;
  box-shadow:0 12px 30px rgba(250,10,99,.10)!important;
}
.real-template-grid h3{
  margin:14px 0 4px;
  color:#0A214C;
  font-family:"Fredoka",sans-serif;
  font-size:20px;
}
.real-template-grid p{
  margin:0;
  color:#71819E;
  font-size:13px;
}
.template-sample{
  min-height:210px;
  background:#fff;
  color:#111;
  padding:22px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:10px;
  overflow:hidden;
}
.template-sample small{font-size:13px}
.template-sample b{font-size:24px;line-height:1.05}
.template-sample span{font-size:14px;color:#555}
.template-sample strong{font-size:17px}

.modern-sample{
  border:3px solid #111;
  text-align:center;
  font-family:Arial,sans-serif;
}
.modern-sample b,.modern-sample strong{font-family:"Arial Black",Arial,sans-serif;text-transform:uppercase}

.classic-sample{
  border:5px double #111;
  text-align:center;
  font-family:Georgia,"Times New Roman",serif;
}
.classic-sample small{font-style:italic}

.minimal-sample{
  border:1px solid #bbb;
  text-align:left;
  font-family:Helvetica,Arial,sans-serif;
  padding:30px;
}
.minimal-sample b{font-size:21px;letter-spacing:.8px}
.minimal-sample small{letter-spacing:1.5px}

.bold-sample{
  border:4px solid #000;
  text-align:center;
  font-family:Impact,"Arial Black",Arial,sans-serif;
}
.bold-sample b{font-size:32px;text-transform:uppercase}
.bold-sample span{font-family:Arial,sans-serif;font-weight:700}

.boutique-sample{
  border:1px solid #111;
  outline:1px solid #111;
  outline-offset:-7px;
  text-align:center;
  font-family:Georgia,"Times New Roman",serif;
  padding:30px;
}
.boutique-sample small,.boutique-sample strong{font-style:italic}

.playful-sample{
  border:3px dashed #111;
  border-radius:18px;
  text-align:center;
  font-family:"Trebuchet MS",Arial,sans-serif;
}
.playful-sample b{font-size:26px}

@media(max-width:760px){
  .real-template-grid{grid-template-columns:1fr}
  .template-sample{min-height:190px}
}

/* v69 radically distinct templates */
.label.tpl-modern{border:2px solid #111!important;border-top:8px solid #111!important;border-radius:0!important;text-align:center!important;padding:5mm 4mm!important;font-family:Arial,sans-serif!important}
.label.tpl-modern .product-name,.label.tpl-modern .label-product{font-family:"Arial Black",Arial,sans-serif!important;font-size:1.35em!important;text-transform:uppercase!important}
.label.tpl-modern .brand-name,.label.tpl-modern .label-brand{text-transform:uppercase!important;letter-spacing:1.3px!important;font-size:.68em!important}

.label.tpl-classic{border:5px double #111!important;outline:1px solid #111!important;outline-offset:-8px!important;border-radius:0!important;text-align:center!important;padding:7mm 6mm!important;font-family:Georgia,"Times New Roman",serif!important}
.label.tpl-classic .product-name,.label.tpl-classic .label-product{font-family:Georgia,"Times New Roman",serif!important;font-size:1.25em!important;text-transform:none!important}
.label.tpl-classic .brand-name,.label.tpl-classic .label-brand{font-family:Georgia,"Times New Roman",serif!important;font-style:italic!important}
.label.tpl-classic:before{content:"◆"!important;display:block!important;margin-bottom:2mm!important}
.label.tpl-classic:after{content:"◆"!important;display:block!important;margin-top:2mm!important}

.label.tpl-minimal{border:0!important;border-left:2px solid #111!important;border-radius:0!important;text-align:left!important;padding:8mm 7mm 7mm 9mm!important;font-family:Helvetica,Arial,sans-serif!important}
.label.tpl-minimal .brand-name,.label.tpl-minimal .label-brand{font-size:.6em!important;letter-spacing:2px!important;text-transform:uppercase!important}
.label.tpl-minimal .product-name,.label.tpl-minimal .label-product{font-size:1.16em!important;text-transform:none!important;letter-spacing:.6px!important;margin-top:3mm!important}
.label.tpl-minimal .ingredients,.label.tpl-minimal .ingredients-text{text-align:left!important}

.label.tpl-bold{border:4px solid #000!important;border-radius:0!important;padding:4mm!important;text-align:center!important;font-family:Arial,sans-serif!important}
.label.tpl-bold .product-name,.label.tpl-bold .label-product{display:block!important;background:#000!important;color:#fff!important;font-family:Impact,"Arial Black",Arial,sans-serif!important;font-size:1.55em!important;line-height:.95!important;text-transform:uppercase!important;padding:3mm 2mm!important;margin:3mm -1mm!important}
.label.tpl-bold .use-by,.label.tpl-bold .useby{font-family:"Arial Black",Arial,sans-serif!important;text-transform:uppercase!important}
.label.tpl-bold .ingredients,.label.tpl-bold .ingredients-text{text-align:left!important;font-weight:600!important}

.label.tpl-boutique{border:1px solid #111!important;border-radius:22px!important;text-align:center!important;padding:7mm 6mm!important;font-family:Georgia,"Times New Roman",serif!important}
.label.tpl-boutique:before{content:""!important;position:absolute!important;inset:3mm!important;border:1px solid #111!important;border-radius:18px!important;pointer-events:none!important}
.label.tpl-boutique .brand-name,.label.tpl-boutique .label-brand{font-family:"Times New Roman",Georgia,serif!important;font-style:italic!important;font-size:1em!important;position:relative!important;z-index:1!important}
.label.tpl-boutique .product-name,.label.tpl-boutique .label-product{font-family:Georgia,"Times New Roman",serif!important;font-size:1.15em!important;text-transform:none!important;position:relative!important;z-index:1!important}
.label.tpl-boutique:after{content:"❦"!important;position:absolute!important;left:0!important;right:0!important;bottom:3mm!important;text-align:center!important}

.label.tpl-playful{border:3px dashed #111!important;border-radius:18px!important;text-align:center!important;padding:6mm 5mm!important;font-family:"Trebuchet MS",Arial,sans-serif!important}
.label.tpl-playful .brand-name,.label.tpl-playful .label-brand{display:inline-block!important;border:2px solid #111!important;border-radius:999px!important;padding:1mm 3mm!important;font-weight:900!important}
.label.tpl-playful .product-name,.label.tpl-playful .label-product{font-size:1.3em!important;font-weight:900!important;text-transform:none!important}
.label.tpl-playful .use-by,.label.tpl-playful .useby{display:inline-block!important;background:#111!important;color:#fff!important;border-radius:999px!important;padding:1.2mm 3mm!important;font-weight:900!important}
.label.tpl-playful .ingredients,.label.tpl-playful .ingredients-text{text-align:left!important;background:#f4f4f4!important;border-radius:10px!important;padding:2mm!important}

/* exaggerate library thumbnails */
.modern-sample{border-top:12px solid #111!important}
.classic-sample{border:6px double #111!important;outline:1px solid #111!important;outline-offset:-10px!important}
.minimal-sample{border:0!important;border-left:4px solid #111!important;text-align:left!important;padding:38px!important}
.bold-sample b{display:block!important;background:#000!important;color:#fff!important;padding:10px!important;font-size:34px!important}
.boutique-sample{border-radius:24px!important;outline-offset:-10px!important}
.playful-sample{border:4px dashed #111!important;border-radius:24px!important}
.playful-sample strong{display:inline-block!important;background:#111!important;color:#fff!important;border-radius:999px!important;padding:5px 10px!important}

/* ============================================================
   Label Daze v70 — Dashboard brand only + blue page banners
   ============================================================ */

/* Label Daze branded header belongs to Dashboard only */
.dashboard-mobile-brand{
  display:none!important;
}
body:has(#dashboard.view.active) .dashboard-mobile-brand{
  display:grid!important;
}

/* Non-dashboard pages get their own blue title banner */
.page-blue-banner{
  display:flex!important;
  align-items:center!important;
  min-height:76px!important;
  margin:-4px 0 24px!important;
  padding:16px 24px!important;
  background:linear-gradient(100deg,#0A2E70 0%,#1764F6 100%)!important;
  border-radius:18px!important;
  box-shadow:0 10px 24px rgba(23,100,246,.14)!important;
}
.page-blue-banner span{
  color:#fff!important;
  font-family:"Fredoka","Inter",sans-serif!important;
  font-size:28px!important;
  font-weight:700!important;
  letter-spacing:-.025em!important;
}

/* On pages with a blue banner, don't repeat the page H1 immediately below it */
.view:not(#dashboard) > .head h1{
  display:none!important;
}
.view:not(#dashboard) > .head > div:first-child:after{
  display:none!important;
  content:none!important;
}

/* Keep supporting description and action controls beneath the banner */
.view:not(#dashboard) > .head{
  margin-top:-8px!important;
}

/* Dashboard retains the Label Daze brand treatment */
#dashboard .head h1,
#dashboard .dashboard-hero h1{
  display:block!important;
}

@media(max-width:760px){
  .page-blue-banner{
    margin:-4px -16px 22px!important;
    border-radius:0 0 20px 20px!important;
    min-height:72px!important;
    padding:16px 20px!important;
  }
  .page-blue-banner span{
    font-size:26px!important;
  }
  body:not(:has(#dashboard.view.active)) main{
    padding-top:0!important;
  }
}

/* ============================================================
   Label Daze v71 — Centered page banners below burger menu
   ============================================================ */

/* Non-dashboard pages keep the normal mobile top bar area clear */
body:not(:has(#dashboard.view.active)) .dashboard-mobile-brand{
  display:grid!important;
  min-height:78px!important;
  padding:12px 18px!important;
  grid-template-columns:48px 1fr 48px!important;
  background:#fff!important;
}

/* Hide Label Daze branding on non-dashboard pages,
   but keep burger button available */
body:not(:has(#dashboard.view.active)) .dashboard-mobile-brand .mobile-brand-lockup,
body:not(:has(#dashboard.view.active)) .dashboard-mobile-brand > span.ld-tag{
  visibility:hidden!important;
}

/* Burger remains visible and clickable */
body:not(:has(#dashboard.view.active)) .dashboard-mobile-brand #menuBtn{
  visibility:visible!important;
  display:block!important;
  z-index:10!important;
}

/* Page title banner now sits in the page content, centred */
.page-blue-banner{
  justify-content:center!important;
  text-align:center!important;
  margin:8px 0 24px!important;
}
.page-blue-banner span{
  width:100%!important;
  text-align:center!important;
}

/* Mobile: no overlap with the burger/menu header */
@media(max-width:760px){
  body:not(:has(#dashboard.view.active)) main{
    padding-top:12px!important;
  }
  .page-blue-banner{
    margin:0 0 22px!important;
    border-radius:18px!important;
    min-height:68px!important;
    padding:14px 20px!important;
  }
  .page-blue-banner span{
    font-size:26px!important;
  }
}

/* v72 live owner admin dashboard */
.admin-users-panel{margin-top:20px}
.label-sized{transform:scale(var(--label-preview-scale))!important;transform-origin:center}.label-round{border-radius:50%!important;padding:7mm}.label-round .label-brand img{max-width:14mm;max-height:8mm}.label-round .label-brand{min-height:8mm}
.admin-filter-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#536581}.admin-filter-label select{min-width:150px;margin:0;padding:9px 34px 9px 12px;background:#fff}@media(max-width:700px){.admin-users-panel .panel-head{align-items:flex-start}.admin-filter-label{width:100%;justify-content:space-between}.admin-filter-label select{min-width:170px}}
.admin-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.admin-table{width:100%;border-collapse:collapse;min-width:720px}
.admin-table th,.admin-table td{padding:14px 12px;border-bottom:1px solid #e8edf5;text-align:left;font-size:14px}
.admin-table th{font-size:11px;letter-spacing:.08em;color:#73809a;text-transform:uppercase}
.admin-status{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}
.admin-status.trial{background:#fff0f6;color:#d90058}
.admin-status.paid{background:#edf9f1;color:#16733a}
.admin-status.inactive{background:#f1f3f7;color:#6c7482}
.admin-user-cards{display:none}
@media(max-width:760px){
 .admin-table-wrap{display:none}
 .admin-user-cards{display:grid;gap:12px}
 .admin-user-cards article{border:1px solid #e7ebf2;border-radius:16px;padding:14px;background:#fff}
 .admin-user-cards article>div:first-child{display:flex;flex-direction:column;gap:3px;margin-bottom:10px}
 .admin-user-cards small{color:#758097}
 .admin-user-cards dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 0}
 .admin-user-cards dt{font-size:10px;color:#7b8495;text-transform:uppercase;letter-spacing:.06em}
 .admin-user-cards dd{margin:3px 0 0;font-weight:700;color:#0a214c}
}


/* ============================================================
   Label Daze v84 — REAL TEMPLATE / FONT FIX
   These selectors match the actual .label-preview markup.
   Font-family is intentionally controlled by inline font settings/presets.
   ============================================================ */

.label-preview.tpl-modern{
  border:2px solid #111!important;
  border-top:8px solid #111!important;
  border-radius:0!important;
  text-align:center!important;
  padding:5mm 4mm!important;
}
.label-preview.tpl-modern > h3,
.label-preview.tpl-modern .ingredient-product{
  text-transform:uppercase!important;
  letter-spacing:.7px!important;
}
.label-preview.tpl-modern .useby{letter-spacing:.5px!important;}

.label-preview.tpl-classic{
  border:5px double #111!important;
  outline:1px solid #111!important;
  outline-offset:-8px!important;
  border-radius:0!important;
  text-align:center!important;
  padding:7mm 6mm!important;
}
.label-preview.tpl-classic > h3,
.label-preview.tpl-classic .ingredient-product{
  text-transform:none!important;
  letter-spacing:.2px!important;
}
.label-preview.tpl-classic .business-name,
.label-preview.tpl-classic .label-brand span{font-style:italic!important;}

.label-preview.tpl-minimal{
  border:0!important;
  border-left:2px solid #111!important;
  border-radius:0!important;
  text-align:left!important;
  padding:8mm 7mm 7mm 9mm!important;
}
.label-preview.tpl-minimal > h3,
.label-preview.tpl-minimal .ingredient-product{
  text-transform:none!important;
  letter-spacing:.6px!important;
  text-align:left!important;
}
.label-preview.tpl-minimal .ingredients,
.label-preview.tpl-minimal .storage,
.label-preview.tpl-minimal .footer,
.label-preview.tpl-minimal .useby{text-align:left!important;}

.label-preview.tpl-bold{
  border:4px solid #000!important;
  border-radius:0!important;
  padding:4mm!important;
  text-align:center!important;
}
.label-preview.tpl-bold > h3,
.label-preview.tpl-bold .ingredient-product{
  display:block!important;
  background:#000!important;
  color:#fff!important;
  text-transform:uppercase!important;
  padding:3mm 2mm!important;
  margin:3mm -1mm!important;
  line-height:.95!important;
}
.label-preview.tpl-bold .useby{
  text-transform:uppercase!important;
  letter-spacing:.5px!important;
}

.label-preview.tpl-boutique{
  position:relative!important;
  border:1px solid #111!important;
  border-radius:22px!important;
  text-align:center!important;
  padding:7mm 6mm!important;
}
.label-preview.tpl-boutique:before{
  content:""!important;
  position:absolute!important;
  inset:3mm!important;
  border:1px solid #111!important;
  border-radius:18px!important;
  pointer-events:none!important;
}
.label-preview.tpl-boutique > *,
.label-preview.tpl-boutique .label-brand{position:relative!important;z-index:1!important;}
.label-preview.tpl-boutique > h3,
.label-preview.tpl-boutique .ingredient-product{text-transform:none!important;}

.label-preview.tpl-playful{
  border:4px dashed #111!important;
  border-radius:24px!important;
  text-align:center!important;
  padding:6mm!important;
}
.label-preview.tpl-playful > h3,
.label-preview.tpl-playful .ingredient-product{
  text-transform:none!important;
  letter-spacing:.3px!important;
}
.label-preview.tpl-playful .useby{
  display:inline-block!important;
  background:#111!important;
  color:#fff!important;
  border-radius:999px!important;
  padding:1.2mm 3mm!important;
}
.label-preview.tpl-playful .ingredients{
  background:#f4f4f4!important;
  border-radius:10px!important;
  padding:2mm!important;
}

/* Inline font choice remains authoritative; v84 template rules never set font-family. */
.label-preview > h3[style*="font-family"],
.label-preview .ingredient-product[style*="font-family"],
.label-preview .ingredients[style*="font-family"],
.label-preview .useby[style*="font-family"],
.label-preview .storage[style*="font-family"],
.label-preview .footer[style*="font-family"],
.label-preview .allergen-block[style*="font-family"]{
  /* no !important: inline font-family remains authoritative */
}


.real-template-grid .modern-sample{font-family:'Montserrat',Arial,sans-serif!important}
.real-template-grid .modern-sample b{font-family:'Bebas Neue',Impact,sans-serif!important}
.real-template-grid .classic-sample{font-family:Georgia,'Times New Roman',serif!important}
.real-template-grid .minimal-sample{font-family:'Trebuchet MS',Arial,sans-serif!important}
.real-template-grid .bold-sample{font-family:Arial,sans-serif!important}
.real-template-grid .bold-sample b{font-family:Impact,'Arial Black',sans-serif!important}
.real-template-grid .boutique-sample{font-family:Georgia,'Times New Roman',serif!important}
.real-template-grid .boutique-sample small{font-family:'Great Vibes',cursive!important;font-size:24px!important}
.real-template-grid .playful-sample{font-family:'Fredoka',Arial,sans-serif!important}
.real-template-grid .playful-sample small{font-family:'Dancing Script',cursive!important;font-size:22px!important}


/* ============================================================
   Label Daze v85 — Fonts directly below live preview
   ============================================================ */
#designer .designer-font-panel{
  margin-top:18px;
  max-width:none;
}
#designer .designer-font-panel > .eyebrow,
#designer .designer-font-panel > h2,
#designer .designer-font-panel > .field-help{
  text-align:left;
}
#designer .designer-font-panel .font-grid{
  margin-top:14px;
}

/* On phones the preview sits immediately above the font controls,
   reducing the scroll distance while testing fonts. */
@media(max-width:780px){
  #designer .designer{
    display:flex!important;
    flex-direction:column!important;
    gap:14px!important;
  }
  #designer .dual-preview-wrap{
    order:2;
    margin:0!important;
    padding-bottom:8px!important;
  }
  #designer #labelForm{
    order:1;
  }
  #designer .designer-font-panel{
    margin-top:8px!important;
    border-radius:18px!important;
  }
  #designer .designer-font-panel .font-grid{
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }
  #designer .designer-font-panel .font-grid label{
    margin:0!important;
    font-size:12px!important;
  }
  #designer .designer-font-panel select{
    min-height:42px!important;
  }
  #designer .designer-font-panel .font-sample{
    display:none!important;
  }
}

/* Extra-small phones: one font selector per row for easier tapping. */
@media(max-width:430px){
  #designer .designer-font-panel .font-grid{
    grid-template-columns:1fr!important;
  }
}

/* v86 — Products contain data; Designer contains style */
.products-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:20px;align-items:start}
.product-entry-panel{position:sticky;top:18px}
.product-library-panel .product-grid{grid-template-columns:1fr!important}
.product-form-actions{display:flex;gap:10px;align-items:center}
.product-form-actions .primary{flex:1}
.designer-style-workspace{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:20px;align-items:start}
.designer-style-controls{position:sticky;top:18px}
.designer-style-note{margin-top:16px;padding:14px;border-radius:14px;background:#f7f9ff;display:grid;gap:4px}
.designer-style-note span{font-size:13px;color:var(--muted)}
.designer-style-preview{margin:0!important}
@media(max-width:780px){
 .products-workspace,.designer-style-workspace{grid-template-columns:1fr!important}
 .product-entry-panel,.designer-style-controls{position:static!important}
 .designer-style-preview{order:2}
}


/* ============================================================
   Label Daze v88 — iPhone preview scroll / touch fix
   ============================================================ */
@media (pointer:coarse), (max-width:900px){
  #designer .preview-wrap,
  #designer .dual-preview-wrap,
  #designer .designer-style-preview{
    position:static!important;
    top:auto!important;
  }

  #designer #previewPair,
  #designer #previewPair *,
  #designer .touch-scroll-preview,
  #designer .touch-scroll-preview *{
    touch-action:pan-y!important;
  }

  #designer #previewPair [data-label-part]{
    cursor:default!important;
  }
}
