:root{--bg: #f3f6ff;--bg-2: #f7f9ff;--surface: #ffffff;--surface-soft: #f5f8ff;--text: #1a1f4f;--muted: #626da0;--primary: #c6537d;--primary-2: #b5486f;--accent-soft: #f8ecf2;--accent-soft-2: #f4dce6;--accent-text: #8f3457;--success: #1fa378;--danger: #e34b59;--radius: 14px;--radius-sm: 12px;--line: #d8e2f7;--line-2: #c5d3f2;--ring: 0 0 0 3px rgba(198, 83, 125, .18);--shadow: 0 1px 0 rgba(195, 209, 243, .8), 0 16px 36px rgba(24, 35, 79, .12);--sidebar-bg: #edf3ff;--sidebar-line: #cddaf8;--mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--containerMax: 1450px}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:999px}html,body{margin:0;height:100%}body{font-family:Manrope,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:radial-gradient(1100px 480px at -10% -15%,rgba(47,192,233,.16) 0%,transparent 68%),radial-gradient(980px 440px at 112% -8%,rgba(198,83,125,.08) 0%,transparent 70%),linear-gradient(180deg,#f9fbff 0%,var(--bg) 100%);-webkit-font-smoothing:antialiased}#root{min-height:100vh}.appRoot{min-height:100vh;display:flex;flex-direction:column}.appContent{flex:1;display:flex;min-height:0}.container{width:100%;display:flex}.container>*{flex:1 1 auto;min-width:0}.appFooter{min-height:44px;border-top:1px solid var(--line);background:linear-gradient(180deg,#f2f6ff,#edf3ff);color:var(--muted);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;letter-spacing:.02em}img{max-width:100%;display:block}.small{font-size:12px;color:var(--muted)}.hint,.muted{font-size:13px;color:var(--muted)}.mono{font-family:var(--mono);font-size:12px}label{display:inline-block;font-size:12px;font-weight:700;color:var(--muted)}input,textarea,select,button{font:inherit}input,textarea,select{width:100%;min-height:42px;padding:10px 12px;border-radius:12px;border:1px solid var(--line-2);background:#fff;color:var(--text);outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}textarea{min-height:114px;resize:vertical}input:focus,textarea:focus,select:focus{border-color:var(--primary);box-shadow:var(--ring);background:#fff}input::placeholder,textarea::placeholder{color:#8c96c3}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:34px;background-image:linear-gradient(45deg,transparent 50%,#6476bc 50%),linear-gradient(135deg,#6476bc 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% - 2px),calc(100% - 12px) calc(50% - 2px);background-size:6px 6px,6px 6px;background-repeat:no-repeat}.btn{min-height:42px;padding:10px 14px;border-radius:12px;border:1px solid var(--line-2);background:#f4f7ff;color:#27336f;font-weight:700;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}.btn:hover{background:#eaf0ff;border-color:#b4c5ef}.btn:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,.navItem:focus-visible,.catPick:focus-visible,.catTwisty:focus-visible,.fancy-select-trigger:focus-visible{outline:none;box-shadow:var(--ring)}.btn.ok{background:var(--primary);border-color:var(--primary);color:#fff}.btn.ok:hover{background:var(--primary-2);border-color:var(--primary-2)}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn.danger:hover{background:#d93f4d;border-color:#d93f4d}.btn.ghost{background:#fff;border-color:var(--line-2);color:#405094}.btn.sm{min-height:34px;padding:7px 10px;font-size:13px}.appShell{display:grid;grid-template-columns:278px 1fr;min-height:100vh}.sidebar{border-right:1px solid var(--sidebar-line);background:radial-gradient(500px 220px at 0% 0%,rgba(47,192,233,.15) 0%,transparent 72%),linear-gradient(180deg,#f6f9ff 0%,var(--sidebar-bg) 50%,#faf2f6 100%);padding:14px;display:flex;flex-direction:column;gap:12px}.sidebarBrand{background:linear-gradient(180deg,#fff,#f6f9ff);border:1px solid var(--line);border-radius:14px;padding:14px;box-shadow:var(--shadow);display:flex;justify-content:center;align-items:center}.sidebarTitle{font-size:33px;font-weight:900;color:#24316d}.sidebarSub{margin-top:4px;font-size:12px;color:#6e7db5;font-weight:700}.sidebarLogo{width:min(190px,100%);height:auto;aspect-ratio:190 / 63;object-fit:contain;border-radius:14px}.sidebarNav{display:flex;flex-direction:column;gap:8px}.navItem{border:1px solid transparent;background:#f3f7ff;min-height:42px;border-radius:12px;text-align:left;color:#2f3d7a;font-weight:700;padding:10px 12px;cursor:pointer}.navItem:hover{border-color:#bac8ec;background:#eaf1ff}.navItem.active{border-color:var(--accent-soft-2);background:var(--accent-soft);color:var(--accent-text)}.sidebarFooter{margin-top:auto}.main{padding:16px}.mainInner{max-width:none;width:100%;margin:0 auto}.card,.subCard,.selectedBadge,.catBox,.tableWrap{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card{padding:14px}.subCard{padding:12px}.catalogCard{background:linear-gradient(180deg,#fff,#f5f9ff)}.panelTitle{font-size:15px;font-weight:800;color:#283574}.hr{height:1px;background:var(--line);margin:14px 0}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.controlRow{align-items:flex-end}.controlRow>.field{flex:1 1 280px}.field{display:flex;flex-direction:column;gap:6px;min-width:220px;flex:1}.form,.kv,.list{display:flex;flex-direction:column;gap:10px}.grid{display:grid;gap:14px}.grid.cols2{grid-template-columns:1fr 1fr}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{padding:10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;font-size:13px}.table th{background:#eef3ff;color:#2f3d7a;font-weight:800}.table tbody tr:nth-child(2n){background:#fafcff}.table tbody tr.tableRowActive{background:var(--accent-soft)}.table td:last-child{white-space:nowrap}.listItem{padding:10px;border:1px solid var(--line);border-radius:12px;background:#f7faff;display:flex;align-items:center;justify-content:space-between;gap:10px}.listItem:hover{border-color:#bbcbf1;background:#edf4ff}.broadcastPickerList{max-height:min(56vh,560px);overflow-y:auto;padding-right:4px}.listLeft{min-width:0}.listTitle{font-weight:700;color:#24316d}.listMeta{font-size:12px;color:#6d78aa}.tag,.chip{display:inline-flex;align-items:center;padding:5px 10px;border:1px solid #c6d6f8;border-radius:999px;background:#f2f7ff;color:#3a4f98;font-size:12px;font-weight:700}.catalogGrid{display:flex;gap:14px;align-items:stretch}.catalogCol{flex:1 1 0;width:auto;min-width:360px}.catBox{overflow:hidden}.catRow{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line)}.catRow:last-child{border-bottom:none}.catRow.selected{background:var(--accent-soft)}.catTwisty{width:30px;height:30px;border-radius:10px;border:1px solid var(--line);background:#fff;color:#41569f}.catPick{width:100%;border:1px solid #c7d6f6;border-radius:10px;background:#f8fbff;padding:9px 10px;display:flex;justify-content:space-between;align-items:center;color:#24316d;font-weight:700}.catLeft{min-width:0;display:flex}.catRight{display:inline-flex;align-items:center;gap:8px}.catName{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.catMeta{font-family:var(--mono);color:#7382b8;font-size:12px}.countBadge{min-width:24px;height:20px;padding:0 8px;border-radius:999px;border:1px solid #c5d3f1;background:#fff;font-size:12px;font-weight:800;color:#34488f}.selectedBadge{padding:10px}.selectedHeader{display:flex;align-items:center;justify-content:space-between;gap:10px}.mediaPreviewWrap{border:1px solid var(--line);border-radius:12px;padding:6px;max-width:240px;background:#fff}.mediaPreview{width:100%;max-height:140px;object-fit:cover;border-radius:8px}.mediaUploadBtn{position:relative;overflow:hidden}.drilldown{border:1px solid var(--line);border-radius:12px;padding:10px;background:#f7faff}.mediaPickerModal{width:min(940px,100%)}.mediaGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;max-height:65vh;overflow:auto}.mediaTile{border:1px solid var(--line);border-radius:10px;background:#fff;padding:6px;text-align:left;cursor:pointer}.mediaTile.selected{border-color:var(--primary);box-shadow:var(--ring)}.mediaTile img{width:100%;height:110px;object-fit:cover;border-radius:8px}.mediaTile span{display:block;margin-top:6px;font-size:12px;color:#4e62a6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.statusBadge,.statusPill{display:inline-flex;align-items:center;gap:8px;padding:5px 9px;border-radius:999px;border:1px solid #d1dcf5;background:#f5f8ff;font-size:11px;font-weight:800;color:#30448c;white-space:nowrap}.statusBadge:before,.statusPill:before{content:"";width:8px;height:8px;border-radius:999px;background:#7f93cd}.statusBadge.open,.statusPill.info{border-color:#bcd0f9;background:#ebf3ff}.statusBadge.open:before,.statusPill.info:before{background:#4d87e6}.statusBadge.work,.statusPill.pending,.statusPill.wait{border-color:#f3deb3;background:#fff7e7}.statusBadge.work:before,.statusPill.pending:before,.statusPill.wait:before{background:#e3ac39}.statusBadge.done,.statusPill.on,.statusPill.success,.statusPill.paid{border-color:#bfe6d0;background:#ebfaf2}.statusBadge.done:before,.statusPill.on:before,.statusPill.success:before,.statusPill.paid:before{background:#34b876}.statusBadge.refund,.statusPill.refund,.statusPill.chargeback{border-color:#ead2dd;background:#faf2f6}.statusBadge.refund:before,.statusPill.refund:before,.statusPill.chargeback:before{background:#bb6486}.statusBadge.cancel,.statusPill.off,.statusPill.fail,.statusPill.error{border-color:#f2c7cb;background:#fff2f4}.statusBadge.cancel:before,.statusPill.off:before,.statusPill.fail:before,.statusPill.error:before{background:#db5766}.alertOverlay,.modalOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5000;background:#131d4470;display:flex;align-items:center;justify-content:center;padding:16px}.alertModal,.modal{width:min(760px,100%);background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 24px 54px #111c4747;overflow:hidden}.alertHeader,.modalHeader{padding:12px 14px;border-bottom:1px solid var(--line);background:#f1f6ff;display:flex;align-items:center;justify-content:space-between}.alertTitleWrap{display:inline-flex;align-items:center;gap:10px}.alertTitle,.modalTitle{font-weight:900;color:#253273}.alertIcon{width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:900;line-height:1;border:1px solid #c5d3f1;color:#3c5097;background:#eff4ff}.alertIcon.error{border-color:#e8b7bb;color:#a23643;background:#fae8ea}.alertIcon.success{border-color:#b8e1cf;color:#1e7e58;background:#e8f8f1}.alertIcon.warn{border-color:#f4d49f;color:#b56f10;background:#fff5df}.alertIcon.info{border-color:#bcd0f9;color:#3a68c0;background:#ebf2ff}.alertBody,.modalBody{padding:12px 14px 14px;line-height:1.55}.alertModal{overflow:hidden}.alertModal.error{border-color:#e9b8bc;box-shadow:0 1px #eec2c6b3,0 28px 56px #81223033}.alertModal.error .alertHeader{background:linear-gradient(180deg,#fdf0f1,#fae7e9);border-bottom-color:#efc2c5}.alertModal.error .alertTitle{color:#7a1e29}.alertModal.success{border-color:#bfe4d2;box-shadow:0 1px #bfe4d2a6,0 28px 56px #18664529}.alertModal.success .alertHeader{background:linear-gradient(180deg,#edf9f4,#e4f5ee);border-bottom-color:#c8e8d9}.alertModal.success .alertTitle{color:#1d6d4d}.alertModal.warn .alertHeader{background:linear-gradient(180deg,#fff7e8,#fff0d2)}.alertModal.warn .alertTitle{color:#9f6515}.alertModal.info .alertHeader{background:linear-gradient(180deg,#eef4ff,#e4edff)}.alertModal.info .alertTitle{color:#3053a5}.alertActions{padding:0 14px 14px;display:flex;justify-content:flex-end;gap:8px}.fancy-select{position:relative;width:100%}.fancy-select-trigger{width:100%;min-height:42px;padding:9px 12px;border-radius:12px;border:1px solid #c7d6f5;background:#f8fbff;color:#273472;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer}.fancy-select-trigger:hover{background:#edf4ff;border-color:#b8c9ee}.fancy-select-trigger.open{border-color:var(--primary);box-shadow:var(--ring)}.fancy-select-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;font-weight:700}.fancy-select-arrow{color:#6a79b3;transition:transform .16s ease}.fancy-select-arrow.open{transform:rotate(180deg)}.fancy-select-menu{position:absolute;left:0;right:0;top:calc(100% + 7px);z-index:40;border:1px solid #c8d6f5;border-radius:12px;background:#fcfdff;padding:7px;box-shadow:0 14px 30px #16235424;max-height:280px;overflow:auto}.fancy-select-option{width:100%;min-height:38px;border:1px solid transparent;border-radius:10px;padding:8px 10px;background:#f1f6ff;color:#283675;text-align:left;font-weight:700;margin-bottom:6px;cursor:pointer}.fancy-select-option:last-child{margin-bottom:0}.fancy-select-option:hover{background:#e8f0ff}.fancy-select-option.active{border-color:var(--accent-soft-2);background:var(--accent-soft)}.authWrap{min-height:calc(100vh - 44px);display:flex;align-items:center;justify-content:center;padding:24px}.authCard{width:min(520px,100%);background:radial-gradient(420px 180px at 0% 0%,rgba(47,192,233,.12) 0%,transparent 70%),radial-gradient(360px 180px at 100% 100%,rgba(198,83,125,.08) 0%,transparent 72%),linear-gradient(180deg,#fff,#f6f9ff);border:1px solid #d5e1fa;border-radius:18px;box-shadow:0 1px #cbd8f6e6,0 28px 52px #14215329;padding:20px}.fancy-select.disabled .fancy-select-trigger{opacity:.55;pointer-events:none}@media (max-width: 1100px){.grid.cols2{grid-template-columns:1fr}.catalogGrid{flex-direction:column}.catalogCol{width:100%;min-width:0}}@media (max-width: 900px){.appShell{grid-template-columns:1fr;min-height:auto}.sidebar{border-right:none;border-bottom:1px solid var(--sidebar-line);position:sticky;top:0;z-index:20;padding:10px;gap:8px}.sidebarNav{flex-direction:row;overflow-x:auto;white-space:nowrap}.navItem{flex:0 0 auto;min-height:38px;padding:8px 11px;font-size:14px}.sidebarTitle{font-size:24px}.main{padding:10px}.card{border-radius:12px;padding:12px}.field{min-width:0;width:100%}.table{min-width:760px}.btn{min-height:40px;padding:9px 12px}.appFooter{min-height:40px;font-size:12px}}@media (max-width: 640px){.main{padding:8px}.grid{gap:10px}.table{min-width:680px}.table th,.table td{padding:8px;font-size:12px}.appFooter{min-height:38px;font-size:11px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
