.app,.console,.login-wrap,.portal{min-height:100vh;background:#f4f5f7;color:#181c32;font-family:Roboto,Segoe UI,sans-serif}.app h1,.app h2,.app h3,.login-card h1,.portal h1,.portal h2,.portal h3{letter-spacing:0;line-height:1.3;color:#181c32}.app *,.modal *,.portal *{box-sizing:border-box}button,input,select,textarea{font:inherit}.appbar{height:64px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 8px 0 16px;border-bottom:1px solid #e4e6ef}.appbar h1{margin:0;font-size:20px;font-weight:500}.icon-btn{width:40px;height:40px;border:0;background:transparent;border-radius:20px;color:#181c32;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.icon-btn:hover{background:#f4f5f7}.icon-btn.danger{color:#f1416c}.icon-btn.danger:hover{background:#fff5f8}.appbar-actions{display:flex;align-items:center;gap:2px}.page{padding:12px 16px 96px}.search{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e4e6ef;border-radius:4px;padding:0 12px;height:48px}.search input{border:0;background:transparent;outline:none;width:100%;padding:0}.filters{display:flex;justify-content:center;gap:8px;margin:12px 0 4px;flex-wrap:wrap}.fchip{border:1px solid #e4e6ef;background:#fff;border-radius:8px;padding:6px 12px;cursor:pointer;color:#181c32}.fchip.on{background:#e8fff3;border-color:#50cd89;color:#1f6b3d}.caption{text-align:center;color:#a1a5b7;font-size:12px;margin-bottom:8px}.client-list{background:#fff;border:1px solid #e4e6ef;border-radius:8px;overflow:visible}.client-row{padding:8px 10px;border-bottom:1px solid #e4e6ef;cursor:pointer}.client-row:last-child{border-bottom:0}.client-row:hover{background:#f9f9f9}.client-line{display:flex;align-items:center;gap:8px;min-height:56px;flex-wrap:nowrap;min-width:0}.client-line .pill{flex:none}.client-name{flex:1 1 120px;min-width:72px;max-width:240px;font-size:15px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-actions{display:flex;align-items:center;gap:6px;flex:none;margin-left:auto}.client-actions .icon-btn{width:36px;height:36px}.end-date{flex:none;font-size:13px;font-weight:700;white-space:nowrap;padding:6px 10px;border-radius:8px;background:#ecfdf3;color:#188038}.end-date.critical,.end-date.warn{background:#fff7ed;color:#b45309}.end-date.expired{background:#fef2f2;color:#b91c1c}.end-date.none{background:#f1f5f9;color:#64748b;font-weight:600}.row-cta{display:inline-flex;align-items:center;gap:6px;height:42px;padding:0 12px;border-radius:12px;border:0;cursor:pointer;font-size:14px;font-weight:700;white-space:nowrap}@media (max-width:1100px){.client-line{flex-wrap:wrap;row-gap:8px}.client-actions{width:100%;justify-content:flex-end}}@media (max-width:760px){.client-line .domain{display:none}.row-cta{padding:0 10px}}.row-cta.membership{background:#009ef7;color:#fff;box-shadow:0 4px 12px rgba(0,158,247,.28)}.row-cta.membership:hover{background:#0088d6}.row-cta.domain-btn,.row-cta.login-btn{background:#fff;color:#181c32;border:1px solid #c5cad8}.row-cta.domain-btn:hover,.row-cta.login-btn:hover{background:#f4f5f7}.domain{flex:1 1;min-width:0;color:#565674;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.domain,.meta{font-size:12px}.meta{margin:2px 0 0;color:#188038}.meta.warn{color:#b45309;font-weight:600}.meta.bad{color:#b91c1c;font-weight:600}.pill{font-size:10px;font-weight:700;letter-spacing:.3px;padding:2px 6px;border-radius:4px;border:1px solid transparent}.pill.ok{color:#15803d;background:#dcfce7;border-color:#86efac}.pill.demo{color:#64748b;background:#f1f5f9;border-color:#e2e8f0}.pill.frozen{color:#c2410c;background:#ffedd5;border-color:#fdba74}.menu{position:relative}.menu-pop{position:fixed;z-index:80;width:240px;max-height:calc(100vh - 16px);overflow:auto;background:#fff;border-radius:8px;box-shadow:0 8px 24px rgba(24,28,50,.18);padding:6px 0}.menu-pop button{width:100%;text-align:left;background:#fff;border:0;padding:10px 14px;cursor:pointer}.menu-pop button:hover{background:#f4f5f7}.menu-pop button.danger{color:#f1416c}.fab{position:fixed;right:24px;bottom:24px;background:#009ef7;color:#fff;border:0;border-radius:16px;height:48px;padding:0 18px;box-shadow:0 6px 16px rgba(0,158,247,.35);cursor:pointer}.modal-back{position:fixed;inset:0;background:rgba(24,28,50,.45);display:flex;align-items:center;justify-content:center;padding:24px;z-index:20}.modal{width:min(520px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:16px;padding:20px}.grid{display:grid;grid-gap:12px;gap:12px}.field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#565674}.editor input,.editor select,.editor textarea,.field input,.field select,.field textarea,.web-card input,.web-card select,.web-card textarea{width:100%;border:1px solid #e4e6ef;background:#f9f9f9;border-radius:8px;padding:10px 12px;color:#181c32}.btn{border:0;border-radius:8px;padding:10px 14px;cursor:pointer;background:#009ef7;color:#fff}.btn.secondary{background:#fff;color:#181c32;border:1px solid #e4e6ef}.btn.ghost{background:#e8f6ff;color:#009ef7}.btn.danger{background:#f1416c}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.error{color:#f1416c;font-size:13px}.card{border-radius:12px;padding:16px}.card,.chip{background:#fff}.chip{border:1px solid #e4e6ef;border-radius:8px;padding:6px 12px;cursor:pointer}.chip.on{background:#e8fff3;border-color:#50cd89}.lang-picks{display:flex;flex-wrap:wrap;gap:8px;max-height:220px;overflow:auto}.t-source{display:block;color:#7e8299;font-size:12px;line-height:1.4}.portal{display:flex;flex-direction:column}.portal-bar{height:56px;background:#fff;border-bottom:1px solid #e4e6ef;display:flex;align-items:center;gap:8px;padding:0 8px}.portal-bar h1{margin:0;font-size:18px;font-weight:500;flex:1 1}.banner{background:#3dbe74;color:#08301a;font-weight:600;font-size:13px;padding:8px 16px}.portal-body{flex:1 1;display:flex;min-height:0;padding-bottom:72px}.cats{width:260px;background:#1e1e2d;color:#a1a5b7;display:flex;flex-direction:column;padding:16px 12px;flex:none}.cats-head{display:flex;align-items:center}.cats h2{color:#fff;font-size:16px;margin:0 0 16px;font-weight:600;flex:1 1}.cat-close{display:none;color:#fff}.cats .label{font-size:11px;letter-spacing:.6px;margin-bottom:8px}.cat{display:flex;align-items:center;gap:4px;width:100%;background:transparent;color:#c5c7d4;border-radius:10px;min-height:44px}.cat.on{background:#009ef7;color:#fff}.cat-more,.cat-name{border:0;background:transparent;color:inherit;cursor:pointer}.cat-name{flex:1 1;text-align:left;padding:10px 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cat-more{width:28px;height:28px;border-radius:8px}.cat-more:hover,.cat-name:hover{background:rgba(255,255,255,.06)}.cat-back{display:none}.add-cat{margin-top:auto;border:1px dashed #3f4254;background:transparent;color:#a1a5b7;border-radius:10px;padding:12px;cursor:pointer}.work{flex:1 1;padding:28px 32px;overflow:auto}.toolbar{background:#fff;border:1px solid #e4e6ef;border-radius:12px;padding:18px 18px 18px 24px;display:flex;align-items:center;gap:10px}.toolbar h2{margin:0;font-size:20px;font-weight:600}.toolbar p{margin:4px 0 0;color:#a1a5b7;font-size:13px}.table-card{margin-top:20px;background:#fff;border:1px solid #e4e6ef;border-radius:12px;overflow:hidden}.thead,.trow{display:grid;grid-template-columns:36px 64px minmax(180px,1fr) 96px 112px;grid-gap:8px;gap:8px;align-items:center;padding:12px 16px}.drag{width:32px;height:40px;border:0;background:transparent;color:#a1a5b7;cursor:-webkit-grab;cursor:grab;touch-action:none;display:grid;place-items:center;border-radius:8px}.drag:hover{background:#f4f5f7;color:#181c32}.drag:active{cursor:-webkit-grabbing;cursor:grabbing}.cat,.trow{transition:transform .16s ease}.trow.dragging{background:#fff;box-shadow:0 14px 32px rgba(24,28,50,.16)}.cat.dragging,.trow.dragging{position:relative;z-index:4;transition:none;border-radius:12px}.cat.dragging{background:#2b2b40;box-shadow:0 12px 24px rgba(0,0,0,.35)}.pname-btn,.thumb-btn{border:0;background:transparent;padding:0;text-align:left;cursor:pointer;color:inherit}.thumb-btn{width:52px;height:52px;overflow:hidden;border-radius:12px;display:block;flex:none}.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:2px}.row-ico{width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:#7e8299;display:grid;place-items:center;cursor:pointer;padding:0}.row-ico:hover{background:#f4f5f7;color:#181c32}.row-ico.danger:hover{background:#fff5f8;color:#f1416c}.row-ico.disc.on{color:#2e7d32}.row-ico.disc.on:hover{background:#ecfdf3;color:#1b5e20}.thumb,.thumb.empty{width:52px;height:52px;border-radius:12px;object-fit:cover;object-position:center;background:#f4f5f7;display:block;color:#009ef7;font-size:20px;transform:none}.thumb.empty{display:grid;place-items:center}.pname{font-weight:650;letter-spacing:-.01em}.pname em{margin-left:8px;font-style:normal;font-size:10px;font-weight:700;color:#009ef7;background:#e8f6ff;border-radius:999px;padding:2px 6px}.frame-stage{position:relative;width:min(100%,320px);height:240px;margin:0 auto;overflow:hidden;border-radius:16px;background:#eef0f4;touch-action:none;cursor:-webkit-grab;cursor:grab}.frame-stage img{position:absolute;max-width:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toolbar{flex-wrap:wrap}.cats{width:240px}@media (max-width:900px){.cat-back,.portal-body{display:block}.cat-back{position:fixed;inset:0;background:rgba(24,28,50,.45);z-index:40}.cats{position:fixed;top:0;bottom:0;left:0;z-index:41;width:min(320px,88vw);transform:translateX(-105%);transition:transform .2s ease;overflow:auto}.cats.open{transform:none}.cat-close{display:inline-grid}.work{padding:12px}.thead{display:none}.trow{grid-template-columns:28px 52px minmax(0,1fr) auto;grid-template-areas:"drag img name acts" "drag img price acts"}.trow .drag{grid-area:drag}.trow .thumb-btn{grid-area:img}.trow .pname-btn{grid-area:name}.trow .price{grid-area:price}.trow .row-actions{grid-area:acts;align-self:center}}.switch{position:relative;display:inline-block;width:42px;height:24px;flex:none}.switch input{opacity:0;width:0;height:0;position:absolute}.switch span{position:absolute;inset:0;background:#d8dbe3;border-radius:24px;cursor:pointer}.switch span:before{content:"";position:absolute;height:18px;width:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.15s;box-shadow:0 1px 2px rgba(0,0,0,.18)}.switch input:checked+span{background:#009ef7}.switch input:checked+span:before{transform:translateX(18px)}@media (max-width:900px){.work{padding:12px}}.thead{color:#a1a5b7;font-size:11px;font-weight:700;letter-spacing:.5px;border-bottom:1px solid #e4e6ef}.trow{border-bottom:1px solid #f1f1f4}.trow:hover{background:#f9f9f9}.thumb{width:52px;height:52px;border-radius:12px;object-fit:cover;object-position:center;background:#f4f5f7;transform:none}.pname{font-weight:600}.pdesc{color:#a1a5b7;font-size:13px;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.price{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.price-edit{border:0;background:transparent;color:inherit;font:inherit;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:left;cursor:text;padding:4px 6px;margin:-4px -6px;border-radius:8px;width:100%}.price-edit:focus-visible,.price-edit:hover{background:#e8f6ff;color:#009ef7;outline:none}.price-input{width:100%;min-width:72px;box-sizing:border-box;border:1px solid #009ef7;background:#fff;border-radius:8px;padding:6px 8px;color:#181c32;font:inherit;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.check{color:#22c55e;font-size:18px;text-align:center}.bottom-nav{position:fixed;left:0;right:0;bottom:0;height:64px;background:#fff;z-index:20;border-top:1px solid #e4e6ef;justify-content:center;gap:48px}.bottom-nav,.bottom-nav button{display:flex;align-items:center}.bottom-nav button{border:0;background:transparent;color:#a1a5b7;cursor:pointer;flex-direction:column;gap:2px;min-width:72px;font-size:11px;font-weight:600}.bottom-nav button.on{color:#009ef7}.brand-preview{display:block;margin:12px 0;border-radius:12px;background:#f4f5f7;object-fit:cover}.brand-preview.logo{width:96px;height:96px}.brand-preview.banner{width:min(100%,520px);height:148px;object-fit:cover}.drawer-back{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:30}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(540px,100%);background:#fff;z-index:31;overflow:auto;padding:20px 20px 32px;box-shadow:-8px 0 24px rgba(0,0,0,.12)}.web-wrap{flex:1 1;overflow:auto;padding:28px 32px 120px;max-width:920px}.web-wrap .btn,.web-wrap .row-ico,.web-wrap .stack-card{scroll-margin-bottom:96px}.web-card{background:#fff;border:1px solid #e8eaef;border-radius:16px;padding:20px 22px;margin-bottom:16px;box-shadow:0 1px 2px rgba(24,28,50,.04)}.web-card h3{margin:0 0 4px;font-size:15px;font-weight:650;letter-spacing:-.01em}.stack{display:grid;grid-gap:12px;gap:12px}.stack-card{display:grid;grid-gap:10px;gap:10px;padding:12px;border:1px solid #e4e6ef;border-radius:12px;background:#fbfbfc}.stack-head{display:flex;align-items:center;gap:4px}.stack-head strong{flex:1 1;min-width:0;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stack-head .drag{width:28px;height:28px}.og-head{display:flex;align-items:center;gap:4px}.og-head strong{flex:1 1;min-width:0;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.og-badge{flex:none;font-size:10px;font-weight:700;letter-spacing:.5px;border-radius:4px;padding:3px 8px}.og-badge.single{color:#1f6b3d;background:rgba(80,205,137,.18)}.og-badge.multi{color:#009ef7;background:rgba(0,158,247,.12)}.og-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto auto;grid-gap:4px;gap:4px;align-items:center;padding:4px 0;border-top:1px solid #eef0f4;transition:transform .16s ease}.og-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.og-extra{font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:#a1a5b7;min-width:72px;text-align:right}.og-extra.has{color:#181c32;font-weight:600}.og-card.dragging,.og-row.dragging{position:relative;z-index:4;transition:none;background:#fff;box-shadow:0 14px 32px rgba(24,28,50,.16);border-radius:12px}.row-ico:disabled{opacity:.35;cursor:default}.row-ico:disabled:hover{background:transparent;color:#7e8299}.portal-bar h1{font-weight:600;letter-spacing:-.02em}.modal.sheet{width:min(720px,100%)}.sheet-head{align-items:flex-start;gap:12px}.sheet-head,.switch-row{display:flex;justify-content:space-between}.switch-row{align-items:center;gap:16px;padding:10px 12px;border-radius:12px;background:#f7f8fa}.switch-row strong{display:block;font-size:14px;color:#181c32;font-weight:600}.switch-row small{display:block;color:#a1a5b7;font-size:12px;margin-top:2px}.field.dim,.switch-row.dim{opacity:.45}.add-row{display:flex;gap:8px}.add-row input{flex:1 1}.warn-box{display:grid;grid-gap:8px;gap:8px;padding-top:4px}.warn-box>strong{font-size:14px}.field input:focus,.field select:focus,.field textarea:focus,.web-card input:focus,.web-card select:focus,.web-card textarea:focus{outline:none;border-color:#009ef7;background:#fff;box-shadow:0 0 0 3px rgba(0,158,247,.12)}.swatches{display:flex;gap:8px;flex-wrap:wrap}.swatch{width:180px;border:1px solid #e4e6ef;border-radius:12px;padding:10px;background:#fff;text-align:left;cursor:pointer}.swatch.on{outline:2px solid #009ef7}.dots{display:flex;height:22px;border-radius:6px;overflow:hidden;margin-bottom:8px}.dots i{flex:1 1}.lang-menu{position:relative;flex:none}.lang-menu-btn{height:36px;border:1px solid #e4e6ef;background:#fff;border-radius:18px;padding:0 12px;cursor:pointer;color:#181c32;font-weight:650;font-size:13px}.lang-menu-btn:hover{background:#f4f5f7}.lang-menu-pop{position:absolute;top:calc(100% + 6px);right:0;z-index:60;min-width:180px;max-height:min(70vh,420px);overflow:auto;background:#fff;border-radius:10px;box-shadow:0 8px 24px rgba(24,28,50,.18);padding:6px;display:grid;grid-gap:2px;gap:2px}.lang-menu-pop button{border:0;background:transparent;text-align:left;padding:8px 10px;border-radius:8px;cursor:pointer;color:#181c32}.lang-menu-pop button:hover{background:#f4f5f7}.lang-menu-pop button[aria-current=true]{background:#e8f6ff;color:#009ef7;font-weight:700}.landing{min-height:100vh;display:grid;align-content:center;justify-items:start;grid-gap:12px;gap:12px;max-width:640px;margin:0 auto;padding:48px 24px}.landing h1{margin:0;font-size:40px;letter-spacing:-.03em}.landing-kicker{margin:0;color:#009ef7;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:12px}.landing-lead{margin:0;color:#5e6278;font-size:18px;line-height:1.5}.login-wrap{display:grid;place-items:center}.login-card{width:min(420px,92vw);background:#fff;border-radius:16px;padding:24px}@media (max-width:720px){.work{padding:12px}}