@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Playfair+Display:wght@500;600&display=swap";:root{--ink:#3a1730;--ink-strong:#57143f;--muted:#6f6170;--soft:#9b8e9c;--primary:#d93d8e;--primary-deep:#8f205e;--accent:#7657d8;--canvas:#fff9fc;--surface:#fff;--surface-soft:#fff1f7;--line:#eed7e4;--line-strong:#dfb8ce;--success:#138a55;--danger:#b42342;--shadow-sm:0 2px 8px #591c460f;--shadow-md:0 12px 32px #591c461a;--radius:12px;color:var(--ink);background:var(--canvas);font-synthesis:none;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}body{background:var(--canvas);min-width:320px;margin:0}button,a,input,select,textarea{font:inherit}button,a{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #d93d8e47}main{max-width:1160px;margin:0 auto;padding:24px 32px}.brand{color:var(--ink-strong);align-items:center;gap:10px;font-size:18px;font-weight:700;display:flex}.brand-mark{background:var(--primary-deep);color:#fff;width:36px;height:36px;box-shadow:var(--shadow-sm);border-radius:10px;place-items:center;font-weight:700;display:grid}header{justify-content:space-between;align-items:center;gap:20px;display:flex}.status,.admin-user{color:var(--muted);align-items:center;gap:7px;font-size:13px;display:flex}.dot{background:#20a66a;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px #20a66a1f}.eyebrow{color:var(--primary-deep);letter-spacing:.14em;margin:0 0 10px;font-size:11px;font-weight:700}.hero{grid-template-columns:minmax(0,1fr) 420px;align-items:center;gap:72px;padding:72px 0 68px;display:grid}.hero h1{color:var(--ink-strong);letter-spacing:0;margin:0;font-family:Playfair Display,Georgia,serif;font-size:clamp(46px,6vw,76px);font-weight:500;line-height:1.04}.hero h1 em{color:var(--primary);font-style:normal}.lede{max-width:540px;color:var(--muted);margin:24px 0;font-size:16px}.trust{color:#745b6d;align-items:center;gap:8px;font-size:13px;display:flex}.preview-panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-md);border-radius:18px;padding:14px}.dropzone,.photo-wrap{aspect-ratio:4/5;border-radius:12px}.dropzone{border:1.5px dashed var(--line-strong);color:var(--primary-deep);text-align:center;background:linear-gradient(#fffafd,#fff2f7);place-content:center;justify-items:center;gap:10px;padding:24px;display:grid}.dropzone strong{font-size:16px}.dropzone small{color:var(--soft);font-size:12px}.photo-wrap{background:#f8deea;position:relative;overflow:hidden}.photo-wrap img{object-fit:cover;width:100%;height:100%;display:block}.watermark{color:#fff;background:#410f2f8f;border-radius:5px;padding:4px 8px;font-size:11px;position:absolute;bottom:10px;right:12px}.upload-btn,.generate,.result-actions a,.result-actions button,.primary{border:0;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:11px 16px;font-weight:600;transition:background-color .2s,color .2s,box-shadow .2s,opacity .2s;display:inline-flex}.upload-btn{background:var(--surface-soft);width:100%;color:var(--primary-deep);margin-top:12px}.upload-btn:hover{background:#ffe2f0}.workspace{border-top:1px solid var(--line);padding-top:34px}.section-head,.page-head{justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.section-head h2,.result h2{color:var(--ink-strong);margin:0;font-size:28px;line-height:1.15}.quota{color:var(--muted);font-size:13px}.quota b{color:var(--primary);margin:0 3px;font-size:20px}.tabs{gap:8px;margin:24px 0 18px;display:flex}.tabs button{border:1px solid var(--line);background:var(--surface);color:#765d70;border-radius:999px;min-height:44px;padding:9px 18px;transition:all .2s}.tabs button:hover{border-color:var(--line-strong);background:#fff5fa}.tabs button.active{border-color:var(--primary);background:var(--primary);color:#fff}.style-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.style-card{border:1px solid var(--line);background:var(--surface);min-width:0;color:var(--ink-strong);text-align:left;box-shadow:var(--shadow-sm);border-radius:12px;padding:10px;transition:border-color .2s,box-shadow .2s,background-color .2s}.style-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-md)}.style-card.selected{border:2px solid var(--primary);background:#fffafd;padding:9px}.style-art{aspect-ratio:1.3;border-radius:8px;place-items:center;margin-bottom:10px;font-family:Playfair Display,Georgia,serif;font-size:30px;display:grid}.style-art.makeup{color:#b12668;background:#fce4f0}.style-art.nail{color:#6048bd;background:#eeeaff}.style-art.lash{color:#0d6b8d;background:#e5f5fb}.style-card strong{white-space:nowrap;text-overflow:ellipsis;font-size:14px;display:block;overflow:hidden}.style-card small{color:var(--soft);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:12px;display:block;overflow:hidden}.child-toggle{color:var(--muted);flex-wrap:wrap;align-items:center;gap:9px;margin:24px 0;font-size:13px;display:flex}.child-toggle span{align-items:center;gap:8px;display:flex}.child-toggle input,.inline input{accent-color:var(--primary)}.generate{background:var(--ink-strong);color:#fff;width:100%;font-size:16px;box-shadow:0 8px 18px #57143f29}.generate:hover:not(:disabled){background:#70184e;box-shadow:0 10px 24px #57143f38}.generate:disabled{cursor:not-allowed;opacity:.45;box-shadow:none}.result{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:12px;grid-template-columns:180px 1fr auto;align-items:center;gap:20px;margin-top:24px;padding:16px;display:grid}.result-preview{aspect-ratio:1;background:#fce4f0;border-radius:8px;width:180px;overflow:hidden}.result-preview img{object-fit:cover;width:100%;height:100%;display:block}.result p{color:var(--muted);margin:6px 0 0;font-size:13px}.result-actions{gap:8px;display:flex}.result-actions a{background:var(--primary);color:#fff;text-decoration:none}.result-actions a:hover{background:#bd2e78}.result-actions button{background:var(--surface-soft);color:var(--primary-deep)}.error-message{color:var(--danger);margin-top:12px;font-size:13px}.success-message{color:var(--success);margin-top:12px;font-size:13px}footer{text-align:center;color:var(--soft);padding:52px 0 16px;font-size:12px}.admin-shell{max-width:1240px}.admin-top{border-bottom:1px solid var(--line);padding:6px 0 24px}.back{color:#765d70;align-items:center;gap:7px;font-size:13px;text-decoration:none;display:inline-flex}.admin-title{align-items:center;gap:12px;display:flex}.admin-title strong{color:var(--ink-strong);font-size:17px;display:block}.admin-title small{color:var(--soft);margin-top:2px;font-size:11px;display:block}.admin-layout{grid-template-columns:210px minmax(0,1fr);gap:42px;padding-top:30px;display:grid}.admin-layout aside{flex-direction:column;gap:4px;display:flex}.admin-layout aside button{color:#765d70;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;min-height:44px;padding:11px 12px;display:flex}.admin-layout aside button:hover{background:#fff1f7}.admin-layout aside button.active{color:var(--primary-deep);background:#fce4f0;font-weight:600}.admin-content h1{color:var(--ink-strong);margin:0 0 26px;font-family:Playfair Display,Georgia,serif;font-size:40px;font-weight:500;line-height:1.12}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.metric-grid>div{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:10px;padding:18px}.metric-grid small{color:var(--soft);font-size:12px;display:block}.metric-grid b{color:var(--ink-strong);margin-top:8px;font-size:30px;display:block}.notice{border:1px solid var(--line);background:var(--surface);color:#765d70;border-radius:10px;align-items:flex-start;gap:12px;margin-top:22px;padding:16px;display:flex}.notice p{color:var(--soft);margin:5px 0 0;font-size:13px}.form-page{max-width:600px}.form-page label{color:#765d70;margin:14px 0;font-size:13px;font-weight:600;display:block}.form-page input,.style-row input,.style-row select{border:1px solid var(--line-strong);background:var(--surface);width:100%;color:var(--ink-strong);border-radius:8px;margin-top:7px;padding:11px 12px;display:block}.primary{background:var(--ink-strong);color:#fff}.primary:hover{background:#70184e}.primary.small{min-height:40px;padding:9px 12px;font-size:13px}.page-head{margin-bottom:18px}.style-admin,.provider-editor{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:10px;margin:12px 0;padding:14px}.style-row{grid-template-columns:1.2fr .8fr 1.3fr auto auto auto;align-items:center;gap:8px;display:grid}.style-row input,.style-row select{margin:0}.style-admin textarea{resize:vertical;border:1px solid var(--line-strong);width:100%;min-height:92px;color:var(--ink-strong);background:#fff;border-radius:8px;margin-top:12px;padding:11px}.inline{color:#765d70;align-items:center;gap:8px;font-size:12px;display:flex}.text-btn{min-height:40px;color:var(--primary-deep);background:0 0;border:0;font-size:12px}.text-btn:hover{text-decoration:underline}.badge{color:#64748b;white-space:nowrap;background:#f1eef5;border-radius:5px;padding:4px 8px;font-size:11px}.badge.published{color:#166534;background:#dcfce7}.list-row{border:1px solid var(--line);background:var(--surface);border-radius:9px;justify-content:space-between;align-items:center;gap:16px;margin:10px 0;padding:15px;display:flex}.list-row strong{color:var(--ink-strong)}.list-row small{color:var(--soft);font-size:12px;display:block}.mini-input{border:1px solid var(--line-strong);border-radius:6px;width:78px;padding:7px}.subhead{color:var(--ink-strong);margin-top:28px;font-size:18px}.audit{border-bottom:1px solid var(--line);grid-template-columns:180px 200px minmax(0,1fr);gap:12px;padding:12px 0;font-size:12px;display:grid}.audit code{color:var(--primary-deep)}.audit span,.audit small{color:var(--soft)}.provider-actions{align-items:flex-end;gap:18px;display:flex}.provider-actions label{flex:1}.login-box{border:1px solid var(--line);background:var(--surface);max-width:430px;box-shadow:var(--shadow-md);border-radius:12px;margin:90px auto;padding:30px}.login-box h1{color:var(--ink-strong);margin:0 0 8px;font-family:Playfair Display,Georgia,serif;font-size:34px;font-weight:500}.login-box p{color:var(--primary-deep);font-size:13px}.login-box input{border:1px solid var(--line-strong);border-radius:8px;width:100%;margin:10px 0 14px;padding:12px}.toast{background:var(--ink-strong);color:#fff;box-shadow:var(--shadow-md);border-radius:8px;padding:11px 16px;font-size:13px;position:fixed;bottom:24px;right:24px}@media (width<=900px){main{padding:22px}.hero{grid-template-columns:1fr;gap:32px;padding:52px 0}.preview-panel{max-width:480px}.style-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-layout{grid-template-columns:1fr;gap:22px}.admin-layout aside{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){main{padding:18px}.section-head,.page-head{flex-direction:column;align-items:flex-start}.hero{padding:42px 0 36px}.hero h1{font-size:46px}.style-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.result{grid-template-columns:1fr;gap:14px}.result-preview{width:100%;max-width:240px}.result-actions{flex-direction:column}.admin-layout aside{grid-template-columns:repeat(2,minmax(0,1fr))}.style-row{grid-template-columns:1fr 1fr}.style-row .badge{justify-self:start}.audit{grid-template-columns:1fr;gap:4px}.admin-content h1{font-size:34px}.provider-actions{flex-direction:column;align-items:stretch;gap:6px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.row-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.status-text{color:var(--success)!important;font-size:18px!important}.tenant-content{max-width:760px}.tenant-content h1{margin-bottom:24px}.tenant-content a{color:var(--primary-deep);font-weight:600}.key-reveal{align-items:flex-start}.key-reveal code{border:1px solid var(--line);color:var(--ink-strong);word-break:break-all;background:#fff7fb;border-radius:6px;margin:8px 0;padding:10px;font-size:12px;display:block}.form-page select,.login-box select{border:1px solid var(--line-strong);background:var(--surface);width:100%;color:var(--ink-strong);border-radius:8px;margin-top:7px;padding:11px 12px;display:block}.login-box label{color:#765d70;margin:14px 0;font-size:13px;font-weight:600;display:block}.login-box label input,.login-box label select{margin-top:7px}
