:root{--ink:#172033;--muted:#718096;--bg:#f6f8fc;--card:#fff;--brand:#3157d5;--line:#e7eaf1}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--ink)}a{text-decoration:none;color:inherit}.top{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 28px;justify-content:space-between}.brand{font-weight:800;font-size:21px}.brand span{color:var(--brand)}.shell{display:grid;grid-template-columns:230px 1fr;min-height:calc(100vh - 68px)}.side{background:#fff;border-right:1px solid var(--line);padding:24px 14px}.side a{display:block;padding:11px 14px;border-radius:10px;margin:3px 0;color:#4a5568}.side a:hover,.side a.active{background:#eef2ff;color:var(--brand)}.main{padding:32px;max-width:1400px}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 5px 18px rgba(20,35,70,.04)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.metric b{font-size:30px;display:block;margin-top:8px}.btn{background:var(--brand);color:white;border:0;border-radius:10px;padding:11px 16px;cursor:pointer;font-weight:700}.btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}input,textarea,select{width:100%;padding:11px 12px;border:1px solid #dce1eb;border-radius:10px;margin:6px 0 14px;background:#fff}.auth{max-width:430px;margin:70px auto}.hero{max-width:1100px;margin:90px auto;text-align:center;padding:20px}.hero h1{font-size:58px;line-height:1.05;margin:15px}.hero p{font-size:20px;color:var(--muted)}.builder{display:grid;grid-template-columns:minmax(420px,1fr) 390px;gap:24px}.phone{width:340px;min-height:650px;margin:auto;border:10px solid #182033;border-radius:38px;background:white;overflow:hidden}.phone-head{padding:28px 20px 16px;background:#f7f8fb}.food{padding:15px 20px;border-bottom:1px solid #eee}.food b{display:block}.food small{color:#718096}.notice{padding:12px;border-radius:10px;background:#eef2ff;color:#3349a8;margin-bottom:18px}@media(max-width:850px){.shell{grid-template-columns:1fr}.side{display:none}.grid,.builder{grid-template-columns:1fr}.main{padding:18px}.hero h1{font-size:42px}}
.page-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}.page-head h1{margin-bottom:5px}.page-head p{margin:0;color:var(--muted)}.form-card{max-width:720px}.help{display:block;color:var(--muted);font-size:12px;margin:-8px 0 14px}.category-card{margin-bottom:16px}.builder-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.builder-item img{width:62px;height:62px;border-radius:10px;object-fit:cover}.grow{flex:1}.compact{padding:7px 10px}.checks{display:flex;gap:15px;flex-wrap:wrap;margin-bottom:14px}.checks label{display:flex;align-items:center;gap:5px}.checks input{width:auto;margin:0}.phone{height:690px}.phone iframe{border:0;width:100%;height:100%;background:white}.qr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.qr-grid #qr,.qr-grid #tableqr{margin:20px 0}.qr-space{min-height:20px}@media(max-width:850px){.page-head{align-items:flex-start;flex-direction:column}.qr-grid{grid-template-columns:1fr}}
.head-actions{display:flex;gap:8px;flex-wrap:wrap}.design-layout{display:grid;grid-template-columns:minmax(430px,720px) 390px;gap:26px;align-items:start}.design-controls h3{margin:25px 0 10px;padding-top:18px;border-top:1px solid var(--line)}.design-controls h3:first-child{margin-top:0;padding-top:0;border:0}.two{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.color-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.color-grid label{font-size:12px;font-weight:700}.color-grid input{height:46px;padding:4px;cursor:pointer}.preview-sticky{position:sticky;top:20px}.preview-label{font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--muted);text-align:center;margin:0 0 10px}.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.asset-preview{display:block;width:100%;object-fit:cover;border:1px solid var(--line);margin:7px 0 10px}.logo-preview{width:90px;height:90px;border-radius:15px}.banner-preview{height:120px;border-radius:12px}.checkline{display:flex!important;align-items:center;gap:7px;font-size:12px;margin-bottom:8px}.checkline input{width:auto;margin:0}.image-placeholder{width:62px;height:62px;border-radius:10px;background:#f1f3f8;color:#8a94a6;font-size:10px;display:grid;place-items:center;text-align:center;flex:none}.item-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.item-actions form{margin:0}.item-desc{margin:2px 0 5px}.mini-badges{display:flex;gap:4px;margin-top:6px}.mini-badges span{font-size:9px;background:#eef2ff;color:#3157d5;padding:3px 6px;border-radius:99px}.edit-dialog{width:min(520px,calc(100% - 30px));border:0;border-radius:18px;padding:22px;box-shadow:0 20px 60px rgba(0,0,0,.2)}.edit-dialog::backdrop{background:rgba(20,28,45,.5)}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head h3{margin:0}.dialog-head button{border:0;background:#f1f3f8;border-radius:50%;width:34px;height:34px;font-size:21px}.dialog-image{width:100px;height:100px;object-fit:cover;border-radius:12px;display:block;margin:8px 0}.qr-main{display:grid;grid-template-columns:310px 1fr;gap:30px;align-items:center;max-width:850px}.qr-preview{display:grid;place-items:center;padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff}.url-box{padding:12px 14px;background:#f6f8fc;border:1px solid var(--line);border-radius:10px;word-break:break-all;font-size:13px;margin:16px 0}.qr-actions{display:flex;gap:9px;flex-wrap:wrap}.bars{display:grid;gap:10px}.bar-row{display:grid;grid-template-columns:55px 1fr 35px;gap:10px;align-items:center;font-size:12px}.bar-row>div{height:9px;background:#eef1f6;border-radius:99px;overflow:hidden}.bar-row i{display:block;height:100%;background:var(--brand);border-radius:99px}@media(max-width:900px){.design-layout{grid-template-columns:1fr}.preview-sticky{position:static}.upload-grid,.two,.color-grid{grid-template-columns:1fr}.qr-main{grid-template-columns:1fr}.item-actions{flex-direction:column;align-items:stretch}}
.theme-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.theme-choice{cursor:pointer}.theme-choice input{position:absolute;opacity:0;pointer-events:none}.theme-choice>strong{display:block;font-size:12px;margin-top:6px}.theme-shot{display:block;height:82px;border:2px solid transparent;border-radius:12px;padding:8px;background:#f4f6fa;box-shadow:inset 0 0 0 1px #e2e6ee}.theme-choice input:checked+.theme-shot{border-color:var(--brand);box-shadow:0 0 0 2px rgba(49,87,213,.12)}.theme-shot i{display:block;height:25px;border-radius:6px;background:#3157d5;margin-bottom:6px}.theme-shot b,.theme-shot em{display:block;height:8px;border-radius:4px;background:#fff;margin:4px 0}.theme-shot em{width:68%;opacity:.75}.theme-choice-minimal .theme-shot{background:#fff}.theme-choice-minimal .theme-shot i{background:#e9e9e9}.theme-choice-cafe .theme-shot{background:#fbf4e9}.theme-choice-cafe .theme-shot i{background:#9b6035}.theme-choice-elegant .theme-shot{background:#f8f5ef}.theme-choice-elegant .theme-shot i{background:#302c27}.theme-choice-street .theme-shot{background:#fff4df}.theme-choice-street .theme-shot i{background:#f04a24}.theme-choice-bistro .theme-shot{background:#f7f1e5}.theme-choice-bistro .theme-shot i{background:#2f493b}.theme-choice-photo .theme-shot{background:#f4f7fb}.theme-choice-photo .theme-shot i{height:42px;background:linear-gradient(135deg,#25395f,#e2543d)}.theme-choice-dark .theme-shot{background:#15171b}.theme-choice-dark .theme-shot i{background:#2d3037}.theme-choice-dark .theme-shot b,.theme-choice-dark .theme-shot em{background:#777}@media(max-width:1100px){.theme-picker{grid-template-columns:repeat(2,1fr)}}

/* v0.4.1 media and theme polish */
.theme-picker{grid-template-columns:repeat(4,minmax(120px,1fr));gap:14px}
.theme-choice{display:block;position:relative;padding:0;margin:0;cursor:pointer}
.theme-choice>strong{display:block;margin-top:8px;font-size:12px;font-weight:800;text-align:left}
.theme-shot{height:96px;border-radius:14px;padding:9px;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}
.theme-choice:hover .theme-shot{transform:translateY(-2px);box-shadow:0 8px 24px rgba(23,32,51,.10)}
.theme-choice input:focus-visible+.theme-shot{outline:3px solid rgba(49,87,213,.22);outline-offset:2px}
.theme-choice input:checked+.theme-shot{border-color:var(--brand);box-shadow:0 0 0 3px rgba(49,87,213,.14)}
.builder-item{display:grid;grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:14px}
.builder-item>img,.builder-item>.image-placeholder{width:96px!important;height:96px!important;min-width:96px;max-width:96px;border-radius:12px;object-fit:cover;display:block;overflow:hidden}
.builder-item>img{aspect-ratio:1/1}
.brand-assets{display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px;align-items:start}
.brand-upload-card{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fafbfe}
.brand-upload-card h4{margin:0 0 4px}
.brand-upload-card p{margin:0 0 10px;color:var(--muted);font-size:12px;line-height:1.45}
.brand-logo-preview{width:96px;height:96px;object-fit:cover;border-radius:18px;border:1px solid var(--line);display:block;margin:8px 0 10px;background:#fff}
.brand-banner-preview{width:100%;height:150px;object-fit:cover;border-radius:12px;border:1px solid var(--line);display:block;margin:8px 0 10px;background:#fff}
.upload-hint{font-size:11px;color:var(--muted);margin-top:-8px;margin-bottom:12px}
@media(max-width:1100px){.theme-picker{grid-template-columns:repeat(2,minmax(120px,1fr))}}
@media(max-width:700px){.builder-item{grid-template-columns:76px minmax(0,1fr)}.builder-item>img,.builder-item>.image-placeholder{width:76px!important;height:76px!important;min-width:76px;max-width:76px}.item-actions{grid-column:1/-1;flex-direction:row}.brand-assets{grid-template-columns:1fr}}

/* V0.5 SaaS */
.usage-strip,.plan-banner{display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(135deg,#111827,#253b80);color:#fff;border-radius:16px;padding:16px 18px;margin:0 0 18px}
.usage-strip>div:first-child,.plan-banner>div:first-child{display:flex;flex-direction:column;gap:3px}.usage-strip span,.plan-banner span{font-size:12px;opacity:.78}.plan-banner a{color:#fff;font-weight:700}.usage-pills{display:flex;gap:8px;flex-wrap:wrap}.usage-pills span{background:#f1f5f9;color:#334155;border-radius:999px;padding:8px 12px;font-size:13px;opacity:1}.usage-strip .usage-pills span{background:rgba(255,255,255,.13);color:#fff}.limit-inline{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 0;color:#64748b}.limit-inline a{font-weight:700}.analytics-grid{grid-template-columns:repeat(4,1fr)}.analytics-two{display:grid;grid-template-columns:2fr 1fr;gap:18px}.spark-bars{height:165px;display:flex;align-items:flex-end;gap:5px;padding-top:18px;overflow:hidden}.spark-col{flex:1;min-width:5px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px}.spark-col i{display:block;width:100%;max-width:22px;background:#3157d5;border-radius:5px 5px 2px 2px}.spark-col span{font-size:10px;color:#94a3b8}.source-list>div{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid #eef2f7}.source-list>div:last-child{border:0}.upgrade-card{background:linear-gradient(135deg,#f8faff,#eef2ff)}.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.price-card{position:relative}.price-card.selected{outline:2px solid #3157d5}.price-card.pro{background:linear-gradient(145deg,#fff,#f5f7ff)}.price-card ul{padding-left:20px;line-height:1.9}.plan-current{margin-bottom:18px}.plan-current>span,.price-card>span{font-size:12px;font-weight:800;letter-spacing:.08em;color:#64748b}.pro-tag{display:inline-block;margin-left:7px;font-size:9px;line-height:1;background:#111827;color:#fff;padding:4px 5px;border-radius:5px;vertical-align:2px}
@media(max-width:900px){.analytics-grid{grid-template-columns:1fr 1fr}.analytics-two,.pricing-grid{grid-template-columns:1fr}.usage-strip,.plan-banner{align-items:flex-start;flex-direction:column}}

/* V0.5.2 menu management */
.category-head,.category-actions,.status-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.category-actions,.item-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.category-actions form,.item-actions form{margin:0}.btn.danger{background:#fff;color:#b42318;border:1px solid #f1b5b0}.btn.danger:hover{background:#fff3f2}.move-form{display:flex;gap:5px}.move-form select{width:auto;min-width:115px;padding:6px 8px}.theme-lock{display:block;color:#9a6700;font-size:10px;margin-top:4px}.theme-picker input:disabled+*{opacity:.6}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.status-dot{font-size:11px;font-weight:800;border-radius:999px;padding:7px 10px}.status-dot.online{background:#ecfdf3;color:#027a48}.status-dot.offline{background:#fff1f0;color:#b42318}.pro-feature{background:#f7f8ff;border-radius:14px;padding:16px}.pro-feature b{font-size:12px;letter-spacing:.08em}.edit-dialog{max-width:560px;width:calc(100% - 30px);border:0;border-radius:18px;box-shadow:0 24px 80px rgba(0,0,0,.2)}.edit-dialog::backdrop{background:rgba(15,23,42,.48)}
@media(max-width:900px){.settings-grid{grid-template-columns:1fr}.category-head{align-items:flex-start;flex-direction:column}.item-actions{margin-top:8px}}

/* V0.6 Admin Portal */
.admin-shell{min-height:100vh;display:grid;grid-template-columns:230px 1fr;background:#f6f7fb}.admin-side{background:#111827;color:#fff;padding:24px 16px}.admin-brand{display:block;color:#fff;font-weight:800;font-size:19px;text-decoration:none;margin:0 8px 28px}.admin-brand span{font-size:9px;background:#3157d5;border-radius:5px;padding:4px 5px;margin-left:4px;vertical-align:2px}.admin-side nav{display:flex;flex-direction:column;gap:6px}.admin-side nav a{color:#d0d5dd;text-decoration:none;padding:10px 12px;border-radius:9px}.admin-side nav a:hover{background:#1f2937;color:#fff}.admin-main{padding:32px;min-width:0}.admin-pill{background:#111827;color:#fff;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:800}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px 12px;border-bottom:1px solid #eef2f7;white-space:nowrap}th{font-size:11px;color:#667085;text-transform:uppercase;letter-spacing:.04em}td small{display:block;color:#98a2b3;margin-top:3px}.plan-chip{display:inline-block;background:#f2f4f7;color:#475467;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800}.plan-chip.pro{background:#eef2ff;color:#3538cd}.admin-search{display:flex;gap:8px;margin-bottom:14px}.admin-search input{max-width:430px}.section-head{display:flex;justify-content:space-between;align-items:center}.admin-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.1em;color:#667085}.admin-link{margin-top:18px!important;border-top:1px solid #344054;border-radius:0!important;padding-top:18px!important}
@media(max-width:800px){.admin-shell{grid-template-columns:1fr}.admin-side{padding:14px}.admin-side nav{flex-direction:row;overflow:auto}.admin-main{padding:20px}.admin-detail-grid{grid-template-columns:1fr}}

/* V0.6.1 QR Studio */
.qr-studio-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.qr-preview-card{text-align:center}.qr-preview{display:inline-block;background:#fff;padding:18px;border:1px solid #eef1f5;border-radius:15px;margin:20px auto}.qr-controls{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:12px;margin:18px 0}.qr-controls label{font-size:12px}.qr-controls input[type=color]{width:100%;height:45px;padding:4px}.copy-row{display:flex;gap:7px}.print-studio{display:grid;grid-template-columns:340px 1fr;gap:18px}.print-controls{align-self:start}.print-stage{display:grid;place-items:center;background:#e9edf5;border-radius:18px;padding:28px;overflow:auto}.print-stage canvas{width:min(100%,500px);height:auto;box-shadow:0 16px 45px rgba(28,39,67,.14)}.studio-head{margin-top:10px}
@media(max-width:900px){.qr-studio-grid,.print-studio{grid-template-columns:1fr}.qr-controls{grid-template-columns:1fr 1fr}.print-stage{padding:14px}}

/* V0.6.2 Authentication & account security */
.auth-wide{max-width:480px}.google-btn{display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid #d7dce5;background:#fff;color:#253047;border-radius:10px;padding:12px 14px;font-weight:700;margin:14px 0;text-decoration:none}.google-btn span{font-size:18px;font-weight:800;color:#4285f4}.compact-google{margin-top:16px}.auth-divider{display:flex;align-items:center;gap:10px;color:#98a2b3;font-size:11px;margin:16px 0}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:#e4e7ec;flex:1}.password-row{display:flex;position:relative}.password-row input{padding-right:64px}.show-pass{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#4967e9;font-size:11px;font-weight:700;cursor:pointer}.form-between{text-align:right;margin:-4px 0 12px;font-size:12px}.otp-input{text-align:center;font-size:28px!important;letter-spacing:8px;font-weight:800}.notice.success{background:#ecfdf3;color:#027a48;border-color:#abefc6}.print-download-btn{margin-top:8px}.print-output-note{margin-top:18px;padding:12px 14px;border-radius:11px;background:#f7f8fb;display:flex;flex-direction:column;gap:3px}.print-output-note b{font-size:12px;color:#344054}.print-output-note span{font-size:11px;line-height:1.5;color:#667085}

/* V0.6.3 */
.getting-started{margin-bottom:20px}.getting-head{display:flex;justify-content:space-between;gap:16px}.progress-ring{width:54px;height:54px;border-radius:50%;background:#f0f3ff;display:grid;place-items:center;font-weight:800;color:#4967e9}.progress-bar{height:7px;background:#eef0f4;border-radius:999px;overflow:hidden;margin:18px 0}.progress-bar i{display:block;height:100%;background:#4967e9}.step-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.on-step{padding:12px;border:1px solid #e4e7ec;border-radius:12px;text-decoration:none;color:#475467;display:flex;gap:8px;align-items:center;font-size:12px}.on-step.done{background:#f6fef9;border-color:#abefc6;color:#027a48}.ready-banner{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;margin-bottom:20px;border:1px solid #abefc6;background:#f6fef9;border-radius:14px}.terms-check{display:flex!important;gap:8px;font-size:11px!important;line-height:1.5;margin:12px 0}.terms-check input{width:auto!important}.narrow-card{max-width:520px}.resend-form{margin-top:10px}.legal-head{padding:20px max(24px,calc((100% - 1080px)/2));border-bottom:1px solid #eaecf0}.legal-page{max-width:760px;margin:55px auto;padding:0 24px 80px}.legal-page h1{font-size:42px}.legal-page p{line-height:1.75;color:#475467}.legal-notice{padding:14px 16px;background:#fffaeb;border:1px solid #fedf89;border-radius:12px;color:#93370d;margin:24px 0}.footer-legal{display:flex;gap:16px;margin-top:14px}@media(max-width:850px){.step-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.step-grid{grid-template-columns:1fr}}

/* V0.6.4 pre-production cleanup */
.qr-preview-card .qr-preview-label{display:block;margin:2px 0 14px;line-height:1.3}
.qr-preview-card .qr-preview{display:block;width:max-content;max-width:100%;margin:0 auto 18px}
.qr-preview-card .qr-preview-note{display:block;margin:0 auto 18px;color:var(--muted);font-size:12px;line-height:1.5;max-width:360px}
.qr-preview-card #downloadQr{margin-top:0}

/* V0.6.5 password recovery */
.reset-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}
.reset-actions form{margin:0}
.text-button{background:none;border:0;padding:8px 0;color:#3157D5;cursor:pointer;font:inherit;font-weight:600}

/* V0.6.6 production/admin polish */
.admin-badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eef3ff;color:#3157d5;font-size:12px;font-weight:800}.admin-access-box{margin-top:18px}.admin-access-box h3{margin:8px 0}.admin-access-box form{margin-top:12px}


/* V0.6.7 UAT / production stability */
.admin-form-actions{display:flex;align-items:center;margin-top:12px;margin-bottom:12px}
.admin-plan-help{display:block;clear:both;margin:4px 0 20px!important;line-height:1.55}
.admin-section-divider{height:1px;background:#d0d5dd;margin:20px 0}
.admin-access-box{margin-top:0}
.env-badge{display:inline-flex;margin-left:7px;padding:4px 7px;border-radius:999px;background:#fef0c7;color:#93370d;font-size:9px;font-style:normal;letter-spacing:.08em;vertical-align:2px}
@media(max-width:520px){.admin-form-actions .btn{width:100%}.admin-plan-help{margin-bottom:18px!important}}
