:root{--bg:#f3efe6;--bg-soft:#ebe4d6;--surface:#fffdf8;--ink:#1c241c;--ink-soft:#5a655a;--line:#ddd4c4;--brand:#1f6b4a;--brand-deep:#154d36;--brand-soft:#d8efe4;--accent:#c45c26;--accent-soft:#f8e6db;--warn:#b45309;--danger:#b42318;--ok:#1f6b4a;--shadow:0 10px 30px #1c241c14;--radius:16px;--font:"Noto Sans SC", "DM Sans", system-ui, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%}body{font-family:var(--font);color:var(--ink);-webkit-font-smoothing:antialiased;background:radial-gradient(at 0 0,#1f6b4a1f,#0000 45%),radial-gradient(at 100% 100%,#c45c261a,#0000 40%),linear-gradient(160deg,#e8e1d2 0%,#f3efe6 45%,#e4ebe5 100%)}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none}img{max-width:100%;display:block}.h5-app{width:100%;height:100dvh;overflow:hidden}.h5-shell{background:var(--surface);flex-direction:column;width:100%;max-width:480px;height:100%;margin:0 auto;display:flex;overflow:hidden}.h5-body{-webkit-overflow-scrolling:touch;background:linear-gradient(#f7f3ea 0%,#fffdf8 120px);flex:1;min-height:0;padding-bottom:12px;overflow:hidden auto}.h5-body::-webkit-scrollbar{width:0}.tabbar{height:calc(64px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);z-index:20;background:#fffdf8f0;flex-shrink:0;grid-template-columns:repeat(4,1fr);display:grid}.tabbar a{color:var(--ink-soft);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:11px;display:flex}.tabbar a.active{color:var(--brand);font-weight:600}.tabbar .ico{font-size:18px;line-height:1}.page{padding:14px 14px 20px}.page--cart{flex-direction:column;min-height:100%;padding-bottom:8px;display:flex}.topbar{align-items:center;gap:10px;margin-bottom:14px;display:flex}.search{border:1px solid var(--line);height:38px;color:var(--ink-soft);background:#fff;border-radius:12px;flex:1;align-items:center;gap:6px;padding:0 12px;font-size:13px;display:flex}.icon-btn{border:1px solid var(--line);background:#fff;border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.banner{color:#fff;border-radius:18px;flex-direction:column;justify-content:flex-end;min-height:120px;margin-bottom:14px;padding:22px 18px;animation:.5s both rise;display:flex;position:relative;overflow:hidden}.banner:after{content:"";background:#ffffff1f;border-radius:50%;width:140px;height:140px;position:absolute;top:-30px;right:-20px}.banner h3{z-index:1;margin-bottom:4px;font-size:20px;font-weight:700;position:relative}.banner p{opacity:.9;z-index:1;font-size:13px;position:relative}.dots{justify-content:center;gap:6px;margin:-6px 0 14px;display:flex}.dots span{background:#cfc5b4;border-radius:50%;width:6px;height:6px}.dots span.on{background:var(--brand);border-radius:999px;width:16px}.section-title{justify-content:space-between;align-items:baseline;margin:8px 0 10px;display:flex}.section-title h4{font-size:16px}.section-title span{color:var(--ink-soft);font-size:12px}.quick-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px;display:grid}.quick-item{color:var(--ink-soft);flex-direction:column;align-items:center;gap:6px;font-size:12px;display:flex}button.quick-item{cursor:pointer;font:inherit;background:0 0;border:none;width:100%;padding:0}.quick-item .qi{background:var(--brand-soft);border-radius:14px;place-items:center;width:46px;height:46px;font-size:20px;transition:transform .2s;display:grid}.quick-item:active .qi{transform:scale(.94)}.announce{border:1px solid var(--line);color:var(--ink-soft);background:#fff;border-radius:14px;align-items:flex-start;gap:8px;margin-bottom:14px;padding:10px 12px;font-size:12px;display:flex}.product-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.product-card{border:1px solid var(--line);background:#fff;border-radius:16px;animation:.45s both rise;overflow:hidden}.product-cover{background:linear-gradient(145deg,#efe8da,#e2ebe5);place-items:center;height:110px;font-size:42px;display:grid}.product-body{padding:10px}.product-body h5{min-height:36px;margin-bottom:6px;font-size:13px;font-weight:600;line-height:1.35}.price{color:var(--accent);font-size:15px;font-weight:700}.price small{font-size:11px;font-weight:500}.meta{color:var(--ink-soft);margin-top:4px;font-size:11px}.tag{background:var(--accent-soft);color:var(--accent);border-radius:6px;margin-bottom:4px;padding:2px 6px;font-size:10px;display:inline-block}.category-layout{grid-template-columns:88px 1fr;gap:0;min-height:calc(100% - 50px);display:grid}.cat-side{background:var(--bg-soft);border-radius:14px 0 0 14px;overflow:hidden}.cat-side button{width:100%;color:var(--ink-soft);border-left:3px solid #0000;padding:14px 8px;font-size:13px}.cat-side button.active{color:var(--brand);border-left-color:var(--brand);background:#fff;font-weight:600}.cat-main{padding-left:10px}.sort-row{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.sort-row button{border:1px solid var(--line);color:var(--ink-soft);background:#fff;border-radius:999px;padding:6px 10px;font-size:12px}.sort-row button.active{background:var(--brand-soft);border-color:var(--brand);color:var(--brand)}.cart-item{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:24px 72px 1fr;align-items:center;gap:10px;margin-bottom:10px;padding:10px;display:grid}.cart-cover{background:#efe8da;border-radius:12px;place-items:center;width:72px;height:72px;font-size:30px;display:grid}.qty{align-items:center;gap:8px;margin-top:8px;display:inline-flex}.qty button{background:var(--bg-soft);border-radius:8px;width:24px;height:24px;font-weight:600}.cart-footer{margin-top:16px;margin-bottom:env(safe-area-inset-bottom,0px);border:1px solid var(--line);height:52px;box-shadow:var(--shadow);z-index:15;background:#fff;border-radius:14px;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:0 12px;display:flex;position:sticky;bottom:8px}.cart-footer .btn{flex-shrink:0;padding:0 14px}.btn{border-radius:12px;justify-content:center;align-items:center;gap:6px;height:40px;padding:0 16px;font-size:14px;font-weight:600;transition:transform .15s,opacity .15s;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--brand);color:#fff}.btn-primary:disabled{opacity:.45}.btn-ghost{border:1px solid var(--line);color:var(--ink);background:#fff}.btn-accent{background:var(--accent);color:#fff}.btn-danger{color:var(--danger);background:#fdecea}.btn-sm{border-radius:10px;height:32px;padding:0 10px;font-size:12px}.mine-hero{color:#fff;background:linear-gradient(135deg,#1f6b4a,#2a8f65 55%,#3aa37a);border-radius:20px;margin-bottom:14px;padding:18px;animation:.45s both rise}.user-row{align-items:center;gap:12px;margin-bottom:16px;display:flex}.avatar{background:#fff3;border-radius:16px;place-items:center;width:52px;height:52px;font-size:28px;display:grid}.asset-row{text-align:center;grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.asset-row .num{font-size:18px;font-weight:700}.asset-row .lab{opacity:.85;margin-top:2px;font-size:11px}.menu-list{border:1px solid var(--line);background:#fff;border-radius:16px;margin-bottom:12px;overflow:hidden}.menu-item{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px;font-size:14px;display:flex}button.menu-item{cursor:pointer;width:100%;font:inherit;color:inherit;text-align:left;background:0 0;border:none}.menu-item:last-child{border-bottom:none}.menu-item .left{align-items:center;gap:10px;display:flex}.sub-page-header{align-items:center;gap:10px;margin-bottom:14px;display:flex}.sub-page-header h3{font-size:17px}.card{border:1px solid var(--line);background:#fff;border-radius:16px;margin-bottom:12px;padding:14px}.field{margin-bottom:12px}.field label{color:var(--ink-soft);margin-bottom:6px;font-size:12px;display:block}.field input,.field select,.field textarea{border:1px solid var(--line);background:#fff;border-radius:12px;width:100%;height:42px;padding:0 12px}.field textarea{resize:none;height:80px;padding:10px 12px}.amount-chips{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.amount-chips button{border:1px solid var(--line);background:#fff;border-radius:12px;min-width:72px;height:40px;font-weight:600}.amount-chips button.active{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.qr-box{border:1px dashed var(--brand);background:var(--brand-soft);text-align:center;border-radius:16px;margin-bottom:12px;padding:20px}.qr-fake{opacity:.85;background:repeating-linear-gradient(0deg,#1c241c 0 4px,#0000 4px 8px),#fff repeating-linear-gradient(90deg,#1c241c 0 4px,#0000 4px 8px);border-radius:8px;width:140px;height:140px;margin:0 auto 10px}.qr-image{object-fit:contain;background:#fff;border-radius:8px;width:180px;height:180px;margin:0 auto 10px;display:block}.status-pill{border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.status-pending{color:var(--warn);background:#fff4e5}.status-approved,.status-paid,.status-completed{background:var(--brand-soft);color:var(--brand)}.status-rejected,.status-cancelled{color:var(--danger);background:#fdecea}.status-shipped{color:#1a56b0;background:#e8f0fe}.list-row{border-bottom:1px solid var(--line);justify-content:space-between;gap:10px;padding:12px 0;font-size:13px;display:flex}.list-row:last-child{border-bottom:none}.empty{text-align:center;color:var(--ink-soft);padding:48px 20px}.empty .big{margin-bottom:10px;font-size:48px}.toast{color:#fff;z-index:100;background:#1c241ceb;border-radius:12px;max-width:80%;padding:10px 16px;font-size:13px;animation:.25s fadeUp;position:fixed;bottom:100px;left:50%;transform:translate(-50%)}.detail-cover{background:linear-gradient(145deg,#efe8da,#dfebe4);border-radius:18px;place-items:center;height:220px;margin-bottom:14px;font-size:80px;display:grid}.admin-app{width:100%;min-height:100vh}.admin-shell{background:var(--surface);grid-template-columns:220px 1fr;width:100%;min-height:100vh;display:grid;overflow:hidden}.admin-side{color:#e8f2ec;background:#163528;flex-direction:column;gap:6px;padding:20px 14px;display:flex}.admin-brand{border-bottom:1px solid #ffffff1a;align-items:center;gap:10px;margin-bottom:10px;padding:8px 10px 18px;display:flex}.admin-brand .logo{background:#ffffff1f;border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.admin-side a{color:#e8f2ecbf;border-radius:10px;padding:10px 12px;font-size:13px}.admin-side a:hover,.admin-side a.active{color:#fff;background:#ffffff1a}.admin-main{background:#f7f4ec;flex-direction:column;min-width:0;display:flex}.admin-top{border-bottom:1px solid var(--line);background:#fffdf8e6;justify-content:space-between;align-items:center;height:56px;padding:0 20px;display:flex}.admin-content{flex:1;padding:18px 20px;overflow:auto}.stat-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;display:grid}.stat-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px}.stat-card .lab{color:var(--ink-soft);font-size:12px}.stat-card .num{margin-top:6px;font-size:24px;font-weight:700}.table-wrap{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:12px 14px}th{color:var(--ink-soft);white-space:nowrap;background:#faf7f0;font-weight:600}tr:last-child td{border-bottom:none}.actions{flex-wrap:wrap;gap:6px;display:flex}.tree{border-left:2px solid var(--brand-soft);margin-left:8px;padding-left:16px}.tree-node{border:1px solid var(--line);background:#fff;border-radius:12px;margin:8px 0;padding:10px 12px;font-size:13px}.team-search-bar{margin-bottom:16px;padding:14px}.team-search-input{border:1px solid var(--line);border-radius:10px;width:100%;height:40px;padding:0 12px;font-size:14px}.team-search-results{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.team-search-chip{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;padding:6px 12px;font-size:12px}.team-search-chip:hover{border-color:var(--brand);background:var(--brand-soft)}.team-search-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.team-pyramid-list{flex-direction:column;gap:28px;display:flex}.team-pyramid-block{border:1px solid var(--line);background:linear-gradient(#faf8f3 0%,#fff 100%);border-radius:16px;padding:20px 16px 24px;overflow-x:auto}.team-pyramid-title{text-align:center;margin-bottom:12px;font-size:14px;font-weight:600}.team-pyramid{flex-direction:column;align-items:center;min-width:min-content;display:flex}.team-level-label{color:var(--ink-soft);letter-spacing:1px;margin-bottom:8px;font-size:11px}.team-level-label-down{color:var(--brand);font-weight:600}.pyramid-branch{flex-direction:column;align-items:center;display:flex}.team-user-box{border:2px solid var(--line);background:#fff;border-radius:12px;width:132px;transition:border-color .2s,box-shadow .2s;position:relative;box-shadow:0 2px 8px #0000000a}.team-user-box.level-1{border-color:var(--brand);box-shadow:0 4px 14px #1f6b4a26}.team-user-box.level-2{border-color:#5b8fc7}.team-user-box.level-3{border-color:#c4a35a}.team-user-box.is-focused{border-color:#e67e22;box-shadow:0 0 0 3px #e67e2233}.team-user-parent-btn{border:none;border-bottom:1px dashed var(--line);width:100%;color:var(--brand);cursor:pointer;background:#f8faf7;border-radius:10px 10px 0 0;padding:5px 6px;font-size:10px;font-weight:600}.team-user-parent-btn:hover{background:var(--brand-soft)}.team-user-focus-tag{color:#e67e22;margin-top:4px;font-size:10px;font-weight:700}.team-breadcrumb{flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:14px;padding:10px 14px;font-size:13px;display:flex}.team-breadcrumb-item{cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:13px}.team-breadcrumb-item:hover{background:var(--brand-soft)}.team-breadcrumb-item.active{background:var(--brand-soft);color:var(--brand);font-weight:700}.team-breadcrumb-sep{color:var(--ink-soft)}.team-user-box-main{cursor:pointer;text-align:center;width:100%;font:inherit;background:0 0;border:none;padding:10px 8px 8px}.team-user-box:not(.has-children) .team-user-box-main{cursor:default}.team-user-avatar{margin-bottom:4px;font-size:26px;line-height:1}.team-user-name{margin-bottom:2px;font-size:13px;font-weight:700}.team-user-code{color:var(--ink-soft);margin-bottom:6px;font-size:10px}.team-user-box .status-pill{padding:2px 6px;font-size:10px}.team-user-meta{color:var(--ink-soft);margin-top:6px;font-size:10px}.team-user-toggle{color:var(--brand);margin-top:6px;font-size:10px;font-weight:600}.team-user-remove{width:calc(100% - 12px);margin:0 6px 6px;padding:4px 0;font-size:11px}.pyramid-children-wrap{flex-direction:column;align-items:center;margin-top:4px;display:flex;position:relative}.pyramid-connector-v{background:var(--brand-soft);width:2px;height:20px}.pyramid-connector-h{background:var(--brand-soft);align-self:stretch;min-width:60px;height:2px}.pyramid-children-row{flex-wrap:wrap;justify-content:center;gap:12px;padding-top:0;display:flex}.pyramid-child-col{flex-direction:column;align-items:center;display:flex}.pyramid-connector-child{background:var(--brand-soft);width:2px;height:16px}.admin-form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.hint{color:var(--ink-soft);margin-top:6px;font-size:12px}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@media (width<=900px){.admin-shell{grid-template-columns:1fr;min-height:auto}.admin-side{flex-flow:wrap;gap:4px}.admin-brand{width:100%}.stat-grid{grid-template-columns:1fr 1fr}.admin-form-row{grid-template-columns:1fr}.h5-shell{max-width:none}}.auth-page{background:linear-gradient(160deg,#e8e1d2 0%,#f3efe6 45%,#e4ebe5 100%);place-items:center;min-height:100vh;padding:24px 16px;display:grid}.admin-auth-page{width:100%}.auth-card{background:var(--surface);width:min(100%,400px);box-shadow:var(--shadow);border:1px solid var(--line);border-radius:20px;padding:28px 24px}.auth-brand{text-align:center;margin-bottom:24px}.auth-brand h1{margin-top:12px;font-size:22px}.auth-brand p{color:var(--ink-soft);margin-top:6px;font-size:13px}.auth-logo{background:var(--brand-soft);border-radius:16px;place-items:center;width:56px;height:56px;margin:0 auto;font-size:28px;display:grid}.auth-form{gap:14px;display:grid}.auth-form label{gap:6px;font-size:13px;font-weight:500;display:grid}.auth-form input{border:1px solid var(--line);background:#fff;border-radius:12px;height:42px;padding:0 12px}.auth-error{color:var(--danger);background:#fef2f2;border-radius:10px;padding:8px 10px;font-size:13px}.auth-foot{text-align:center;color:var(--ink-soft);margin-top:16px;font-size:13px}.auth-foot a{color:var(--brand);margin-left:4px;font-weight:600}.auth-hint{text-align:center;color:var(--ink-soft);margin-top:14px;font-size:12px}.auth-code-row{grid-template-columns:1fr auto;align-items:center;gap:8px;display:grid}.auth-code-row input{min-width:0}.auth-code-btn{white-space:nowrap;height:42px;padding:0 12px;font-size:13px}.table-inline-input,.table-inline-select{border:1px solid var(--line);background:#fff;border-radius:8px;width:72px;height:32px;padding:0 8px;font-size:13px}.table-inline-select{width:108px}.screenshot-upload-btn{border:1px dashed var(--line);width:100%;min-height:96px;color:var(--ink-soft);background:#fff;border-radius:14px;font-size:14px}.screenshot-upload-btn:hover:not(:disabled){border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}.screenshot-upload-preview{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:flex-start;gap:12px;padding:12px;display:flex}.screenshot-thumb{object-fit:cover;border:1px solid var(--line);cursor:zoom-in;background:#f5f2ea;border-radius:10px;flex-shrink:0}.screenshot-thumb:hover{box-shadow:0 0 0 2px var(--brand-soft)}.image-lightbox{z-index:9999;background:#141814d1;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.image-lightbox-inner{flex-direction:column;align-items:center;gap:10px;max-width:min(92vw,900px);max-height:90vh;display:flex;position:relative}.image-lightbox-inner img{max-width:100%;max-height:calc(90vh - 48px);box-shadow:var(--shadow);background:#fff;border-radius:12px}.image-lightbox-close{width:36px;height:36px;color:var(--ink);box-shadow:var(--shadow);background:#fff;border-radius:50%;font-size:22px;line-height:1;position:absolute;top:-12px;right:-12px}.image-lightbox-hint{color:#ffffffd9;font-size:12px}.product-cover-img{object-fit:cover;width:100%;height:100%;display:block}.product-cover-emoji{background:var(--bg-soft);place-items:center;width:100%;height:100%;display:grid}.product-editor-section{border-bottom:1px solid var(--line);margin-bottom:18px;padding-bottom:16px}.product-editor-section h4{color:var(--brand-deep);margin-bottom:10px;font-size:14px}.image-uploader-label{margin-bottom:8px;font-size:13px;font-weight:500;display:block}.image-uploader-grid{flex-wrap:wrap;gap:10px;display:flex}.image-uploader-item,.image-uploader-add{border:1px dashed var(--line);background:#fff;border-radius:12px;width:88px;height:88px;position:relative;overflow:hidden}.image-uploader-item img{object-fit:cover;width:100%;height:100%}.image-uploader-remove{color:#fff;background:#0000008c;border-radius:50%;width:22px;height:22px;font-size:14px;line-height:1;position:absolute;top:4px;right:4px}.image-uploader-add{color:var(--ink-soft);flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:22px;display:flex}.image-uploader-add span{font-size:11px}.spec-editor-row{align-items:flex-end;gap:10px;margin-bottom:10px;display:flex}.detail-gallery-main{object-fit:cover;background:#fff;border-radius:16px;width:100%;max-height:320px}.detail-gallery-thumbs{gap:8px;margin-top:8px;display:flex;overflow-x:auto}.detail-gallery-thumbs button{border:2px solid #0000;border-radius:10px;flex-shrink:0;width:56px;height:56px;padding:0;overflow:hidden}.detail-gallery-thumbs button.active{border-color:var(--brand)}.detail-gallery-thumbs img{object-fit:cover;width:100%;height:100%}.detail-content-img{border-radius:12px;width:100%;margin-top:10px}.order-export-panel,.order-import-panel{margin-bottom:16px}.order-filter-check{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:13px;display:inline-flex}.order-import-textarea{border:1px solid var(--line);resize:vertical;border-radius:10px;width:100%;min-height:140px;margin-top:10px;padding:10px 12px;font-family:inherit;font-size:13px;line-height:1.5}.order-import-actions{flex-wrap:wrap;gap:8px;display:flex}.order-import-errors{color:#b42318;margin-top:8px;font-size:12px}.order-import-warn{color:#b54708;margin-top:8px;font-size:12px}.order-import-preview{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.tracking-input{border:1px solid var(--line);border-radius:6px;width:130px;padding:4px 8px;font-size:12px}.order-ship-bar{background:var(--bg-soft,#f6f7f5);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;padding:8px 10px;font-size:12px;display:flex}.order-ship-tag{border-radius:999px;padding:2px 8px;font-weight:600}.order-ship-tag.pending{color:#b54708;background:#fff4e5}.order-ship-tag.shipped{color:#1f6b4a;background:#e8f5ee}.order-tracking strong{letter-spacing:.5px;font-weight:700}.modal-overlay{z-index:9999;background:#14181473;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{background:var(--card,#fff);border-radius:14px;width:min(100%,420px);overflow:hidden;box-shadow:0 12px 40px #0000002e}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.modal-header h4{margin:0;font-size:16px}.modal-close{cursor:pointer;color:var(--ink-soft);background:0 0;border:none;padding:0 4px;font-size:22px;line-height:1}.modal-body{padding:16px}.modal-body .field{margin-bottom:12px}.modal-body .field label{margin-bottom:6px;font-size:13px;font-weight:600;display:block}.modal-body .field input,.modal-body .field select{border:1px solid var(--line);border-radius:8px;width:100%;padding:8px 10px;font-size:14px}.modal-error{color:#b42318;margin-top:4px;font-size:12px}.modal-footer{border-top:1px solid var(--line);background:var(--bg-soft,#f8f9f7);justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.checkout-address-modal{max-width:420px}.checkout-address-card{background:var(--bg-soft,#f8f9f7);border:1px solid var(--line);border-radius:10px;padding:12px 14px}.checkout-address-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.checkout-address-name{font-size:15px;font-weight:700}.checkout-address-phone{color:var(--ink-soft);font-size:14px}.checkout-address-line{color:var(--ink-soft);font-size:14px;line-height:1.5}.checkout-address-change{color:var(--brand);margin-top:10px;font-size:13px;font-weight:600;display:inline-block}.invite-poster-wrap{margin-bottom:14px}.invite-poster{isolation:isolate;text-align:center;background:linear-gradient(155deg,#041912 0%,#0c3d2c 32%,#1a6b4a 62%,#082218 100%);border-radius:20px;flex-direction:column;align-items:center;min-height:520px;padding:14px 16px 18px;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 40px #061f1873,inset 0 1px #ffdc8c33}.invite-poster.is-disabled{opacity:.72;filter:grayscale(.15)}.invite-poster-glow{pointer-events:none;filter:blur(2px);border-radius:50%;position:absolute}.invite-poster-glow-1{background:radial-gradient(circle,#ffc448bf 0%,#ff8c2833 45%,#0000 72%);width:180px;height:180px;animation:4s ease-in-out infinite invite-glow-pulse;top:-48px;right:-36px}.invite-poster-glow-2{background:radial-gradient(circle,#3aa37a8c 0%,#0000 70%);width:160px;height:160px;animation:5s ease-in-out infinite reverse invite-glow-pulse;bottom:-40px;left:-30px}.invite-poster-rays{pointer-events:none;background:linear-gradient(118deg,#ffdc7847 0%,#ffb43c1a 32%,#0000 58%);position:absolute;inset:-20% -10%;transform:rotate(-8deg)}.invite-poster-sparkles{pointer-events:none;position:absolute;inset:0}.invite-poster-sparkles span{background:#ffe6a0e6;border-radius:50%;width:4px;height:4px;position:absolute;box-shadow:0 0 8px #ffdc78cc}.invite-poster-sparkles span:first-child{top:14%;left:10%}.invite-poster-sparkles span:nth-child(2){width:6px;height:6px;top:22%;right:12%}.invite-poster-sparkles span:nth-child(3){width:5px;height:5px;top:8%;left:48%}.invite-poster-sparkles span:nth-child(4){bottom:18%;right:16%}.invite-poster-sparkles span:nth-child(5){width:3px;height:3px;bottom:28%;left:14%}.invite-poster-sparkles span:nth-child(6){width:3px;height:3px;top:42%;right:8%}@keyframes invite-glow-pulse{0%,to{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}.invite-poster-ribbon{z-index:1;letter-spacing:2px;color:#5c3d08;background:linear-gradient(90deg,#e8b23a 0%,#ffe9a8 48%,#e8b23a 100%);border-radius:999px;width:fit-content;margin:2px auto 10px;padding:6px 20px;font-size:12px;font-weight:800;position:relative;box-shadow:0 4px 14px #e8b23a73}.invite-poster-head{z-index:1;width:100%;margin-bottom:14px;position:relative}.invite-poster-icon{filter:drop-shadow(0 2px 6px #00000040);margin-bottom:4px;font-size:34px;line-height:1}.invite-poster-title-row{justify-content:center;align-items:center;gap:8px;display:flex}.invite-poster-brand{letter-spacing:6px;color:#fff8e8;text-shadow:0 2px 12px #00000059;margin:0;font-size:36px;font-weight:900}.invite-poster-mall-badge{color:#5c3d08;background:linear-gradient(90deg,#f0c85a,#ffe9a8);border-radius:999px;padding:4px 12px;font-size:13px;font-weight:800;box-shadow:0 2px 8px #e8b23a66}.invite-poster-slogan{color:#fff8e8e6;margin:8px 0 10px;font-size:14px;font-weight:500}.invite-poster-tags{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.invite-poster-tags span{color:#fff8e8eb;background:#ffffff1f;border:1px solid #ffdc8c4d;border-radius:999px;padding:4px 12px;font-size:11px;font-weight:600}.invite-poster-panel{z-index:1;background:#fffdf8f0;border:2px solid #ffdc8c8c;border-radius:18px;width:min(100%,300px);padding:16px 14px 14px;position:relative;box-shadow:0 10px 28px #0003}.invite-poster-qr-box{background:#fff;border:2px solid #f5c5428c;border-radius:12px;place-items:center;width:168px;height:168px;margin:0 auto 6px;display:grid;overflow:hidden}.invite-poster-qr{object-fit:contain;width:100%;height:100%}.invite-poster-qr-placeholder{color:var(--ink-soft);font-size:12px}.invite-poster-scan{color:#8a948a;margin-bottom:8px;font-size:11px}.invite-poster-code-label{color:var(--ink-soft);letter-spacing:1px;font-size:11px}.invite-poster-code{letter-spacing:3px;color:var(--ink);margin-top:2px;font-family:ui-monospace,monospace;font-size:26px;font-weight:900}.invite-poster-foot{z-index:1;width:100%;margin-top:14px;position:relative}.invite-poster-user{color:#fff8e8eb;font-size:14px}.invite-poster-tip{color:#ffdc8cf2;margin-top:6px;font-size:13px;font-weight:700}.invite-poster-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}.invite-poster-actions .btn-primary{grid-column:1/-1}.invite-poster-hint{text-align:center;margin-top:8px}
