:root{--bg: #faf7f2;--ink: #1d1d1f;--muted: #6b6b6f;--line: #e6e1d8;--accent: #1d1d1f;--accent-ink: #faf7f2;--selected: #1d1d1f}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif;line-height:1.5}.shell{max-width:720px;margin:0 auto;padding:48px 24px 96px}header.app{text-align:center;margin-bottom:40px}header.app h1{font-size:32px;font-weight:500;letter-spacing:-.02em;margin:0 0 8px}header.app p{color:var(--muted);margin:0}.progress{height:4px;background:var(--line);border-radius:999px;overflow:hidden;margin-bottom:32px}.progress>span{display:block;height:100%;background:var(--accent);width:0;transition:width .3s ease}.step h2{font-size:24px;font-weight:500;letter-spacing:-.01em;margin:0 0 4px}.step .meta{color:var(--muted);font-size:14px;margin:0 0 24px}.options{display:grid;gap:12px}.option{border:1px solid var(--line);background:#fff;border-radius:12px;padding:16px 18px;cursor:pointer;text-align:left;font:inherit;color:inherit;transition:all .15s ease}.option:hover{border-color:var(--ink)}.option.selected{background:var(--selected);color:var(--accent-ink);border-color:var(--selected)}.option .key{display:inline-block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-right:8px}.option.selected .key{color:#fff9}.actions{margin-top:32px;display:flex;justify-content:space-between;gap:12px}button.btn{padding:12px 22px;border-radius:999px;border:1px solid var(--ink);background:#fff;color:var(--ink);font:inherit;cursor:pointer;transition:all .15s ease}button.btn:disabled{opacity:.4;cursor:not-allowed}button.btn.primary{background:var(--accent);color:var(--accent-ink)}.field{display:grid;gap:6px;margin-bottom:16px}.field label{font-size:13px;color:var(--muted)}.field input{padding:12px 14px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff;font-size:16px;width:100%}.err{color:#c0392b;background:#fdf0ed;border:1px solid #f3c5ba;padding:12px 14px;border-radius:10px;margin-bottom:16px;font-size:14px}.skeleton{text-align:center;color:var(--muted);padding:80px 0}.persona{text-align:center;margin-bottom:32px}.persona .eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);margin-bottom:8px}.persona h2{font-size:36px;font-weight:500;letter-spacing:-.02em;margin:0 0 8px}.persona .tagline{font-style:italic;color:var(--muted);margin:0 0 16px}.persona .desc{max-width:560px;margin:0 auto}.moment{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;margin-bottom:16px}.moment h3{margin:0 0 4px;font-size:20px;font-weight:500}.moment .moment-desc{color:var(--muted);margin:0 0 12px;font-size:14px}.moment .tip{font-size:13px;background:var(--bg);padding:10px 12px;border-radius:8px;margin-bottom:16px}.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.product{border:1px solid var(--line);border-radius:10px;padding:12px;font-size:13px;background:#fff}.product .pname{font-weight:500;margin-bottom:4px}.product .pmeta{color:var(--muted);font-size:12px}.product a.shop{display:inline-block;margin-top:8px;font-size:12px;color:var(--ink);text-decoration:underline}.product .unmapped{color:#c08000;font-size:12px;margin-top:8px}.totals{text-align:center;margin-top:16px;color:var(--muted);font-size:14px}.field>span{font-size:13px;color:var(--muted)}.shell.admin{max-width:880px}header.admin-header{display:flex;justify-content:space-between;align-items:flex-start;text-align:left;gap:16px}header.admin-header h1{margin-bottom:4px}.admin-tabs{display:flex;gap:8px;margin-bottom:24px}.admin-list{display:grid;gap:16px}.admin-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 22px}.admin-card-meta{font-size:12px;color:var(--muted);margin-bottom:12px;letter-spacing:.04em}.admin-options{margin-top:12px}.field-group-label{font-size:13px;color:var(--muted);margin-bottom:8px}.option-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.option-row .opt-key{flex:0 0 48px}.option-row input{flex:1 1 0;min-width:0}.opt-key{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);text-align:start;min-width:130px}@media (max-width: 768px){.option-row{display:block}.option-row .opt-key{display:block;min-width:0;text-align:left;margin-bottom:4px}.option-row input{width:100%}}.admin-card .actions{justify-content:flex-end;margin-top:16px}.admin-login.step{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px}.ok{color:#1f7a4a;background:#ebf7f0;border:1px solid #b8e2c8;padding:10px 14px;border-radius:10px;margin-bottom:16px;font-size:14px}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.admin-toolbar-meta{color:var(--muted);font-size:13px}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.product-grid .field{margin-bottom:0}.product-grid .field-wide{grid-column:1 / -1}.field .hint{color:var(--muted);font-size:11px;margin-top:4px}button.btn.danger{border-color:#c0392b;color:#c0392b;background:#fff}button.btn.danger:hover{background:#fdf0ed}.admin-card-draft{border-style:dashed;background:#fffaf2}.admin-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.admin-nav-pos{color:var(--ink);font-size:18px;font-weight:500;white-space:nowrap}@media (max-width: 768px){.shell{padding:24px 16px 64px}.shell.admin{padding:20px 16px 56px}header.app{margin-bottom:28px}header.app h1{font-size:26px}header.app p{font-size:14px}.step h2{font-size:20px}.step .meta{margin-bottom:20px}.options{gap:10px}.option{padding:14px 16px;font-size:15px}.actions{margin-top:24px;gap:10px}button.btn{padding:12px 18px}.actions .btn{flex:1 1 auto;min-width:0}.persona h2{font-size:28px}.moment{padding:18px 16px;border-radius:14px}.moment h3{font-size:18px}header.admin-header{gap:12px}header.admin-header .btn{padding:8px 14px;font-size:13px;flex-shrink:0}.admin-tabs{flex-wrap:wrap}.admin-toolbar .btn{padding:10px 14px;font-size:14px}.admin-nav .nav-label{display:none}.admin-nav .btn{padding:8px 14px}.admin-toolbar{flex-wrap:wrap;align-items:stretch}.admin-card{padding:16px;border-radius:12px}.product-grid{grid-template-columns:1fr}.admin-card .actions,.admin-login .actions{flex-wrap:wrap}}@media (max-width: 420px){.shell{padding:20px 14px 56px}header.app h1{font-size:22px}.persona h2{font-size:24px}.products{grid-template-columns:1fr}}.persona-tabs-wrap{margin-bottom:20px}.persona-tabs-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:8px}.persona-tabs{display:flex;flex-wrap:wrap;gap:6px}.btn.sub-tab{padding:6px 14px;font-size:13px;border-radius:999px;line-height:1.3}.persona-card{display:flex;flex-direction:column;gap:20px}.persona-title{margin:0;font-size:22px;font-weight:500;letter-spacing:-.01em}.moment-list{display:flex;flex-direction:column;gap:16px}.moment-editor{border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--bg);display:flex;flex-direction:column;gap:12px}.moment-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.moment-name{margin:0;font-size:16px;font-weight:500}.moment-label{color:var(--muted);font-weight:400;font-size:13px;text-transform:uppercase;letter-spacing:.06em;margin-right:4px}.moment-products{display:flex;flex-direction:column;gap:8px}.moment-empty{color:var(--muted);font-size:13px;padding:8px 0}.moment-product-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px}.moment-product-info{display:flex;flex-direction:column;gap:2px;min-width:0}.moment-product-name{font-weight:500;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.moment-product-meta{color:var(--muted);font-size:12px;display:flex;flex-wrap:wrap;gap:6px}.moment-add{display:flex;justify-content:flex-end}.moment-add .btn{padding:6px 14px;font-size:13px;border-radius:999px;line-height:1.3}.moment-product-actions{display:flex;gap:6px;flex-shrink:0}.moment-product-actions .btn{padding:6px 12px;font-size:12px;border-radius:999px;line-height:1.2}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1d1d1f8c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.modal-dialog{background:#fff;border-radius:14px;width:100%;max-width:640px;max-height:calc(100vh - 48px);display:flex;flex-direction:column;box-shadow:0 20px 60px #00000040;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line)}.modal-header h3{margin:0;font-size:18px;font-weight:500}.modal-close{background:transparent;border:none;font-size:24px;line-height:1;cursor:pointer;color:var(--muted);padding:4px 8px}.modal-close:disabled{opacity:.4;cursor:not-allowed}.modal-err{margin:12px 20px 0}.modal-body{padding:16px 20px;overflow:auto;flex:1 1 auto}.modal-filter{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff;font-size:14px;margin-bottom:12px}.picker-toolbar{display:flex;gap:8px;align-items:stretch;margin-bottom:12px}.picker-toolbar .modal-filter{margin-bottom:0;flex:1 1 auto}.picker-new-btn{flex-shrink:0;padding:6px 14px;font-size:13px;border-radius:999px;line-height:1.3}.catalog-toolbar{align-items:stretch}.catalog-filter{margin-bottom:0;flex:1 1 auto;max-width:420px}.catalog-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.catalog-row{display:flex;align-items:stretch;justify-content:space-between;gap:8px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 10px 8px 14px;transition:border-color .15s ease,background .15s ease}.catalog-row:hover{border-color:var(--ink)}.catalog-row-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto;background:transparent;border:none;text-align:left;font:inherit;color:inherit;cursor:pointer;padding:4px 0}.catalog-row-main:hover{background:transparent}.catalog-row-name{font-weight:500;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-row-meta{color:var(--muted);font-size:12px;display:flex;flex-wrap:wrap;gap:6px}.catalog-row-delete{align-self:center;flex-shrink:0;padding:4px 8px;border-radius:999px;line-height:0}.picker-list{display:flex;flex-direction:column;gap:8px}.picker-row{display:flex;align-items:stretch;gap:8px;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.picker-row-main{flex:1 1 auto;padding:10px 12px;min-width:0}.picker-row-actions{display:flex;gap:6px;align-items:center;padding-right:10px;flex-shrink:0}.picker-row-add{padding:6px 14px;font-size:12px;border-radius:999px;line-height:1.2}.picker-row-name{font-weight:500;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-row-meta{color:var(--muted);font-size:12px;display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.picker-row-details{padding:6px 12px;font-size:12px;line-height:1.2;border-radius:999px;flex-shrink:0;align-self:center}.modal-footer{display:flex;align-items:center;gap:8px;padding:12px 20px;border-top:1px solid var(--line);background:var(--bg)}.modal-footer-spacer{flex:1 1 auto}.detail-delete{margin-right:auto;order:-1}.btn.icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;line-height:0;border-radius:999px}.btn.icon-btn svg{display:block}.confirm-backdrop{z-index:1100}.confirm-dialog{max-width:460px}.confirm-body{padding-top:12px;padding-bottom:16px}.confirm-line{margin:0 0 8px;font-size:14px;line-height:1.5}.confirm-line:last-child{margin-bottom:0}@media (max-width: 768px){.modal-backdrop{padding:0}.modal-dialog{max-height:100vh;height:100vh;border-radius:0;max-width:100%}.modal-footer{flex-wrap:wrap}.picker-toolbar,.catalog-toolbar{flex-direction:column}.catalog-filter{max-width:100%}.catalog-row{flex-direction:column;align-items:stretch;gap:6px}.catalog-row-delete{align-self:flex-end}.picker-row{flex-direction:column;align-items:stretch}.picker-row-actions{justify-content:flex-end;padding:0 10px 10px}}@media (max-width: 768px){.moment-product-row{flex-direction:column;align-items:stretch;gap:8px}.moment-product-actions{flex-direction:row;justify-content:flex-end;flex-wrap:wrap}.moment-add{flex-direction:column}.moment-add .btn{align-self:flex-end}}
