:root{--bg:#f7f8f4;--surface:#fff;--surface-soft:#f1f2ee;--line:#e3e5df;--text:#161713;--muted:#6c7068;--accent:#c8f018;--accent-deep:#6e9300;--danger:#c93636;--warning:#b97800;--radius-sm:12px;--radius-md:18px;--radius-lg:25px;--shadow:0 10px 38px #191e0f0d;--nav-width:258px;--ease:cubic-bezier(.2,.8,.2,1)}*{box-sizing:border-box}html{background:var(--bg)}body{color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #8bba004d}.muted{color:var(--muted)}.eyebrow{color:var(--accent-deep);letter-spacing:.11em;text-transform:uppercase;margin:0 0 6px;font-size:11px;font-weight:800}.skeleton{background:#eceee9;border-radius:12px;min-height:20px;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000,#ffffffa6,#0000);animation:1.4s infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes shimmer{to{transform:translate(100%)}}.loginPage{background:radial-gradient(circle at 15% 5%, #c8f01826, transparent 32%), radial-gradient(circle at 90% 90%, #c8f0181a, transparent 30%), var(--bg);place-items:center;min-height:100dvh;padding:24px;display:grid}.loginCard{border:1px solid var(--line);background:#fffffff0;border-radius:32px;width:min(100%,480px);min-height:560px;padding:36px;box-shadow:0 24px 80px #1e28001a}.loginBrand,.sideBrand{letter-spacing:-.05em;align-items:center;gap:9px;font-weight:950;display:flex}.loginBrand svg{color:#93bc00;width:31px}.loginBrand span{font-size:20px}.loginIcon{background:var(--accent);border-radius:18px;place-items:center;width:58px;height:58px;margin:50px 0 24px;display:grid}.loginIcon svg{width:28px;height:28px}.loginCard h1{letter-spacing:-.045em;margin:0 0 10px;font-size:clamp(30px,6vw,42px);line-height:1.02}.loginCard>.muted{margin:0 0 24px;line-height:1.55}.roleList{gap:9px;display:grid}.roleButton{border:1px solid var(--line);background:var(--surface);cursor:pointer;min-height:65px;transition:.18s var(--ease);border-radius:17px;justify-content:space-between;align-items:center;padding:10px 16px 10px 18px;display:flex}.roleButton:hover{border-color:#cbdc8b;transform:translateY(-2px);box-shadow:0 10px 24px #28320012}.roleButton span{text-align:left;gap:3px;display:grid}.roleButton strong{font-size:14px}.roleButton small{color:var(--muted);letter-spacing:.08em;font-size:10px;font-weight:700}.loginFootnote{color:var(--muted);align-items:center;gap:7px;margin:20px 0 0;font-size:11px;display:flex}.telegramLogin{border:1px solid var(--line);background:var(--surface-soft);border-radius:18px;gap:12px;margin:18px 0;padding:16px;display:grid}.telegramLogin p{color:var(--muted);align-items:flex-start;gap:8px;margin:0;font-size:13px;line-height:1.45;display:flex}.telegramLogin textarea{resize:vertical;border:1px solid var(--line);width:100%;color:var(--text);background:#fff;border-radius:12px;padding:11px;font:12px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace}.loginSkeleton{height:70px;margin-top:24px}.errorBox,.inlineError{color:#9b2727;background:#fff3f3;border:1px solid #f2caca;border-radius:14px;gap:10px;padding:14px;font-size:13px;display:flex}.formError{color:var(--danger);font-size:12px}.adminLayout{min-height:100dvh}.sideNav{z-index:50;width:var(--nav-width);background:radial-gradient(circle at 0 0,#c8f0181c,#0000 25%),#fbfcf9;border-right:1px solid #dfe2da;flex-direction:column;padding:18px 14px 14px;display:flex;position:fixed;inset:0 auto 0 0}.sideBrand{border-bottom:1px solid #e4e6e0;gap:11px;height:58px;padding:0 10px 13px}.sideBrand svg{color:#8fb900;width:31px;height:31px}.sideBrand span{letter-spacing:-.06em;font-size:20px}.navSearch{height:44px;color:var(--muted);background:#ffffffd1;border:1px solid #dde0d8;border-radius:14px;align-items:center;gap:9px;margin:15px 3px 8px;padding:0 13px;display:flex;box-shadow:0 5px 18px #1e280a08}.navSearch input{width:100%;color:var(--text);background:0 0;border:0;outline:0;font-size:12px}.sideNav nav{scrollbar-width:thin;flex:1;min-height:0;padding:0 2px 13px;overflow-y:auto}.navGroup{margin-top:16px}.navGroup:has(a:only-child){margin-top:11px}.navGroup>p{color:#8b9086;letter-spacing:.12em;text-transform:uppercase;margin:0 11px 7px;font-size:8px;font-weight:850}.navGroup a{color:#555a51;min-height:42px;transition:.15s var(--ease);border:1px solid #0000;border-radius:13px;align-items:center;gap:11px;margin:3px 0;padding:8px 11px;font-size:11px;font-weight:680;display:flex}.navGroup a svg{color:#73796e;width:18px;height:18px;transition:.15s var(--ease)}.navGroup a:hover{color:var(--text);background:#f3f5f0;border-color:#e2e4de}.navGroup a.active{color:#1b1c17;background:linear-gradient(110deg,#c8f018,#d8f86a);border-color:#bde215;font-weight:800;box-shadow:0 7px 18px #7e9d0021}.navGroup a.active svg{color:#22251d}.profileCard{background:#fff;border:1px solid #e0e3dc;border-radius:16px;align-items:center;gap:10px;min-height:68px;padding:9px;display:flex;box-shadow:0 7px 24px #1e230f0a}.profileCard .avatar{color:#263000;background:var(--accent);border-radius:12px;flex:none;place-items:center;width:38px;height:38px;font-weight:850;display:grid}.profileCard>span{flex:1;gap:2px;min-width:0;display:grid}.profileCard strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.profileCard small{color:var(--muted);font-size:7px}.profileCard button,.closeNav,.mobileMenu{cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.profileCard button{width:32px;height:32px;color:var(--muted);border-radius:10px}.profileCard button:hover{background:var(--surface-soft);color:var(--text)}.closeNav,.mobileMenu,.navBackdrop{display:none}.adminContent{min-height:100dvh;margin-left:var(--nav-width)}.page{width:min(100%,1440px);min-height:100dvh;margin:0 auto;padding:40px clamp(24px,4vw,58px) 70px}.pageHeader{justify-content:space-between;align-items:flex-start;gap:24px;min-height:94px;margin-bottom:28px;display:flex}.pageHeader h1{letter-spacing:-.05em;margin:0;font-size:clamp(30px,3vw,45px);line-height:1}.pageHeader>div>p:last-child{color:var(--muted);margin:10px 0 0;font-size:13px}.headerActions{gap:10px;display:flex}.primaryButton,.secondaryButton,.tableToolbar button,.editorToolbar button,.dangerButton{cursor:pointer;min-height:42px;transition:.16s var(--ease);border:1px solid #0000;border-radius:13px;justify-content:center;align-items:center;gap:8px;padding:0 17px;font-size:12px;font-weight:750;display:inline-flex}.primaryButton{color:#151713;background:var(--accent)}.primaryButton:hover{transform:translateY(-1px);box-shadow:0 9px 22px #85a5002e}.secondaryButton{border-color:var(--line);background:var(--surface)}.secondaryButton:hover{background:#f8f9f6;border-color:#c9cbc5}button:disabled{opacity:.45;cursor:not-allowed;transform:none!important}.panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow)}.metricGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.metricCard{border:1px solid var(--line);background:var(--surface);min-height:176px;box-shadow:var(--shadow);border-radius:22px;grid-template:auto auto 1fr/1fr auto;padding:20px;display:grid}.metricIcon{color:#779d00;background:#f1f7d7;border-radius:12px;grid-area:1/2;place-items:center;width:39px;height:39px;display:grid}.metricIcon svg{width:19px}.metricCard small{color:var(--muted);align-self:center;font-size:11px}.metricCard strong{letter-spacing:-.04em;grid-column:1/-1;align-self:end;font-size:35px}.metricCard a{color:var(--accent-deep);grid-column:1/-1;align-items:center;gap:5px;margin-top:8px;font-size:11px;font-weight:700;display:flex}.dashboardGrid{grid-template-columns:1.15fr .85fr;gap:16px;margin-top:16px;display:grid}.dashboardGrid .panel{min-height:395px;padding:23px}.panel>header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.panel>header h2{letter-spacing:-.025em;margin:0;font-size:19px}.panel>header a{color:var(--muted);align-items:center;gap:5px;font-size:11px;display:flex}.panelIcon{color:#91b900}.activityList,.rankingList{gap:5px;margin-top:20px;display:grid}.activityList>div{border-radius:12px;align-items:center;gap:11px;min-height:51px;padding:8px 10px;display:flex}.activityList>div:hover,.rankingList>div:hover{background:#f6f7f3}.activityDot{background:#87ad00;border:3px solid #e3f6a0;border-radius:50%;width:10px;height:10px}.activityList p,.rankingList p{gap:3px;min-width:0;margin:0;display:grid}.activityList strong,.rankingList strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.activityList small,.rankingList small{color:var(--muted);font-size:10px}.rankingList>div{border-radius:12px;grid-template-columns:28px 1fr auto;align-items:center;gap:9px;min-height:51px;padding:8px 10px;display:grid}.rankingList b{background:var(--surface-soft);border-radius:9px;place-items:center;width:26px;height:26px;font-size:10px;display:grid}.rankingList>div:first-child b{background:var(--accent)}.rankingList>div>span{font-size:12px;font-weight:800}.compactEmpty{color:var(--muted);text-align:center;padding:70px 20px;font-size:12px}.dataPanel{overflow:hidden}.tableToolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;min-height:70px;padding:13px 17px;display:flex}.tableSearch{border:1px solid var(--line);width:min(100%,360px);height:42px;color:var(--muted);background:#fafbf8;border-radius:13px;align-items:center;gap:9px;padding:0 13px;display:flex}.tableSearch input{background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:12px}.toolbarActions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.tableToolbar button,.editorToolbar button{border-color:var(--line);background:var(--surface);min-height:38px;padding:0 12px}.tableToolbar button:hover,.editorToolbar button:hover{background:var(--surface-soft)}.tableScroll{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:850px}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid #eceee9;height:56px;padding:9px 13px}th{color:#777c73;letter-spacing:.055em;text-transform:uppercase;background:#fafbf8;height:45px;font-size:9px;font-weight:800}td{max-width:230px;font-size:11px}td>span:not(.statusBadge){text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}tbody tr:hover{background:#fbfcf9}.sortButton{color:inherit;font:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;display:inline-flex}.selectCell{text-align:center;width:42px}input[type=checkbox]{accent-color:#93bd00;width:15px;height:15px}.actionsCell{text-align:right;width:100px}.actionsCell>div{justify-content:flex-end;gap:4px;display:flex}.actionsCell button{cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;width:31px;height:31px;display:grid}.actionsCell button:hover{background:var(--surface-soft)}.actionsCell .dangerIcon:hover{color:var(--danger);background:#fff0f0}.statusBadge{color:#4e5447;letter-spacing:.04em;background:#edf0e9;border-radius:8px;align-items:center;min-height:24px;padding:0 8px;font-size:8px;font-weight:850;display:inline-flex}.status-published,.status-active,.status-owner{color:#4e7000;background:#ecf7c8}.status-draft,.status-scheduled{color:#7e6300;background:#fff4c6}.status-pending_delete,.status-failed,.status-suspicious{color:#a12d2d;background:#ffeded}.status-archived,.status-cancelled{color:#696c67;background:#eceeeb}.status-network_admin,.status-gym_admin,.status-route_setter{color:#355d95;background:#eaf2ff}.pagination{min-height:58px;color:var(--muted);justify-content:space-between;align-items:center;padding:9px 17px;font-size:10px;display:flex}.pagination div{gap:5px;display:flex}.pagination button{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.pagination svg{width:16px}.stateBox{text-align:center;place-content:center;justify-items:center;min-height:330px;padding:30px;display:grid}.stateBox:before{background:var(--surface-soft);content:"";border-radius:18px;width:55px;height:55px;margin-bottom:17px}.stateBox strong{font-size:16px}.stateBox p{color:var(--muted);margin:6px 0 18px;font-size:12px}.tableSkeleton{gap:10px;padding:22px;display:grid}.tableSkeleton .skeleton{height:45px}.inlineError,.inlineNotice{justify-content:space-between;align-items:center;margin:12px 16px}.inlineError button,.inlineNotice button{cursor:pointer;background:0 0;border:0}.inlineNotice{color:#536e00;background:#f4f9df;border:1px solid #d9e8a4;border-radius:14px;padding:13px 16px;font-size:12px;display:flex}.modalBackdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#10110e66;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--line);background:var(--surface);border-radius:26px;width:min(100%,700px);max-height:calc(100dvh - 40px);padding:25px;overflow-y:auto;box-shadow:0 30px 100px #0003}.modal header{justify-content:space-between;align-items:flex-start;display:flex}.modal h2{margin:0;font-size:23px}.modal header button,.routeForm header button{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.modal header svg{width:18px}.formGrid{grid-template-columns:1fr 1fr;gap:14px;margin:24px 0;display:grid}.formGrid label,.routeForm label{gap:7px;display:grid}.formGrid label>span,.routeForm label>span{color:#62665e;font-size:10px;font-weight:750}.wideField{grid-column:1/-1}input,textarea,select{border:1px solid var(--line);color:var(--text);background:#fafbf8;border-radius:12px}.formGrid input,.formGrid textarea,.formGrid select,.routeForm input,.routeForm textarea,.routeForm select{outline:0;width:100%;min-height:43px;padding:10px 12px;font-size:12px}textarea{resize:vertical}.formGrid input:focus,.formGrid textarea:focus,.formGrid select:focus,.routeForm input:focus,.routeForm textarea:focus,.routeForm select:focus{border-color:#9fc500;box-shadow:0 0 0 3px #9fc5001a}.modal footer{border-top:1px solid var(--line);justify-content:flex-end;gap:9px;padding-top:17px;display:flex}.editorPage{max-width:1600px}.editorToolbar{align-items:center;gap:10px;min-height:67px;margin-bottom:16px;padding:11px 14px;display:flex}.editorToolbar label{border:1px solid var(--line);border-radius:12px;align-items:center;gap:8px;min-height:40px;padding:0 10px;display:flex}.editorToolbar label>span{color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:800}.editorToolbar select{background:0 0;border:0;outline:0;min-width:150px;font-size:11px}.versionStrip{flex-wrap:wrap;align-items:center;gap:8px;margin:-6px 0 16px;padding:11px 14px;display:flex}.versionStrip strong{margin-right:4px;font-size:11px}.versionStrip button{border:1px solid var(--line);min-height:34px;color:var(--muted);background:#fff;border-radius:11px;padding:0 12px;font-size:10px;font-weight:750}.versionStrip button.active{background:var(--lime-soft);color:#557000;border-color:#b6dc22}.zoomControl{align-items:center;gap:3px;margin-left:auto;display:flex}.zoomControl button{width:38px;padding:0}.zoomControl span{text-align:center;width:48px;font-size:10px;font-weight:800}.dangerButton{color:#a62c2c!important;background:#fff6f6!important;border-color:#f0caca!important}.editorLayout{grid-template-columns:minmax(0,1fr) 335px;align-items:start;gap:16px;display:grid}.mapWorkspace{min-width:0;overflow:hidden}.mapHelp{border-bottom:1px solid var(--line);height:46px;color:var(--muted);align-items:center;gap:8px;padding:0 16px;font-size:10px;display:flex}.mapScroller{background:#f0f1ed;min-height:620px;padding:22px;overflow:auto}.mapCanvas{aspect-ratio:900/620;min-width:700px;transition:width .2s var(--ease);cursor:crosshair;background:#fff;border:1px solid #d6d8d2;border-radius:19px;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 14px 35px #14190a12}.mapImage,.demoMap{-webkit-user-select:none;user-select:none;background-position:50%;background-repeat:no-repeat;background-size:contain;width:100%;height:100%;display:block}.editorMarker{color:#171812;background:color-mix(in srgb, var(--marker) 87%, white);cursor:grab;border:0;border-radius:50%;place-items:center;width:42px;height:42px;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 7px 13px #00000038}.editorMarker:after{border-radius:inherit;content:"";border:2px solid #0000;position:absolute;inset:-4px}.editorMarker.selected:after{border-color:#171812}.editorMarker svg{width:20px}.editorMarker span{color:#343631;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px #fff;max-width:110px;font-size:9px;font-weight:750;position:absolute;top:calc(100% + 5px);left:50%;overflow:hidden;transform:translate(-50%)}.pendingMarker{background:var(--accent);border:3px solid #151612;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 8px 20px #5c730040}.routeForm{padding:20px;position:sticky;top:20px}.routeForm header{justify-content:space-between;margin-bottom:18px;display:flex}.routeForm h2{margin:0;font-size:20px}.routeForm form{gap:14px;display:grid}.editorEmpty{text-align:center;place-content:center;justify-items:center;min-height:380px;padding:20px;display:grid}.editorEmpty>svg{color:#90b900;width:42px;height:42px;margin-bottom:18px}.editorEmpty strong{font-size:15px}.editorEmpty p{max-width:220px;color:var(--muted);margin:8px 0;font-size:11px;line-height:1.5}.coordinateRow{grid-template-columns:1fr 1fr;gap:8px;display:grid}.coordinateRow span{color:var(--muted);background:var(--surface-soft);border-radius:10px;padding:10px;font-size:9px}.coordinateRow b{float:right;color:var(--text)}.formColumns{grid-template-columns:1fr 70px;gap:10px;display:grid}.routeForm fieldset{border:0;margin:0;padding:0}.routeForm legend{color:#62665e;margin-bottom:8px;font-size:10px;font-weight:750}.tagPicker{flex-wrap:wrap;gap:5px;max-height:100px;display:flex;overflow-y:auto}.tagPicker button{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:999px;min-height:29px;padding:0 9px;font-size:9px}.tagPicker button.active{background:#eef7cc;border-color:#9dbb25}.fullButton{width:100%}.editorStats{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;gap:6px 12px;margin-top:17px;padding-top:15px;font-size:9px;display:flex}.editorStats span{align-items:center;gap:4px;display:flex}.challengePage{max-width:1260px}.challengeHero{background:radial-gradient(circle at 92% -20%,#c8f01873,#0000 45%),#f8fce9;border:1px solid #dce9a8;border-radius:26px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:32px;margin-bottom:18px;padding:27px 30px;display:grid;overflow:hidden}.challengeHero span{color:var(--accent-deep);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:850}.challengeHero h2{letter-spacing:-.035em;margin:7px 0 8px;font-size:25px}.challengeHero p{max-width:620px;color:var(--muted);margin:0;font-size:12px;line-height:1.55}.challengeHero ol{gap:7px;margin:0;padding:0;list-style:none;display:flex}.challengeHero li{color:#555a50;gap:6px;min-width:94px;font-size:9px;font-weight:750;display:grid}.challengeHero li b{color:#354300;background:var(--accent);border-radius:9px;place-items:center;width:28px;height:28px;font-size:11px;display:grid}.challengeListPanel{padding:0;overflow:hidden}.challengeListHeader{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:21px 23px;display:flex}.challengeListHeader h2{margin:0;font-size:18px}.challengeListHeader p{color:var(--muted);margin:3px 0 0;font-size:10px}.challengeCards{background:var(--line);gap:1px;display:grid}.challengeCard{background:var(--surface);grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:17px;min-height:124px;padding:18px 22px;display:grid}.challengeReward{border-radius:19px;place-items:center;width:64px;height:64px;display:grid}.challengeCardMain{min-width:0}.challengeCardTop{color:var(--muted);align-items:center;gap:10px;margin-bottom:6px;font-size:9px;font-weight:700;display:flex}.statusBadge{color:#555a50;background:#f0f1ed;border-radius:999px;padding:4px 8px}.status-active{color:#507000;background:#e9f7b7}.status-scheduled{color:#2474a4;background:#eaf4fb}.status-finished{color:#7152a5;background:#eee9fb}.status-cancelled{color:#a63737;background:#faeaea}.challengeCard h3{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:17px;overflow:hidden}.challengeCardMain>p{max-width:700px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:5px 0 10px;font-size:10px;line-height:1.45;overflow:hidden}.challengeMeta{color:#555a50;flex-wrap:wrap;gap:13px;font-size:9px;font-weight:650;display:flex}.challengeMeta span,.reviewMeta span{align-items:center;gap:5px;display:inline-flex}.challengeCardActions{gap:7px;display:flex}.challengeCardActions button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.challengeCardActions button:hover{background:#f8fce9;border-color:#b9d65a}.challengeCardActions .dangerIcon:hover{color:var(--danger);background:#fff5f5;border-color:#efbbbb}.challengeEmpty{text-align:center;place-content:center;justify-items:center;min-height:300px;padding:30px;display:grid}.challengeEmpty>svg{color:#8eb500;margin-bottom:14px}.challengeEmpty h3{margin:0;font-size:18px}.challengeEmpty p{color:var(--muted);margin:7px 0 0;font-size:11px}.challengeModalBackdrop{z-index:120;padding:16px}.challengeBuilder{border:1px solid var(--line);background:var(--surface);border-radius:28px;grid-template-rows:auto auto minmax(0,1fr) auto auto;width:min(100%,960px);max-height:calc(100dvh - 32px);display:grid;overflow:hidden;box-shadow:0 30px 100px #0000003d}.challengeBuilder>header{justify-content:space-between;align-items:flex-start;padding:22px 26px 17px;display:flex}.challengeBuilder>header h2{letter-spacing:-.035em;margin:0;font-size:24px}.challengeBuilder>header button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;place-items:center;width:40px;height:40px;display:grid}.builderSteps{border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);padding:0 26px 17px;display:grid}.builderSteps button{color:#8b8f86;text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:0 10px 0 0;font-size:10px;font-weight:750;display:flex;position:relative}.builderSteps button:after{content:"";background:#e6e8e2;flex:1;height:2px;margin-left:7px}.builderSteps button:last-child:after{display:none}.builderSteps button>span{background:#fff;border:1px solid #daddd5;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;display:grid}.builderSteps button.active{color:var(--text)}.builderSteps button.active>span{border-color:var(--accent);background:var(--accent)}.builderSteps button.done{color:#607d00;cursor:pointer}.builderSteps button.done>span{background:#eef7cc;border-color:#dceca0}.builderBody{background:#fafbf8;min-height:0;padding:25px 27px 30px;overflow-y:auto}.builderStep{gap:23px;display:grid}.builderIntro h3{margin:0 0 5px;font-size:18px}.builderIntro p{color:var(--muted);margin:0;font-size:11px;line-height:1.5}.rewardCustomizer{grid-template-columns:220px minmax(0,1fr);align-items:center;gap:22px;display:grid}.rewardPreview{border-radius:24px;place-content:center;justify-items:center;gap:8px;height:150px;display:grid}.rewardPreview span{color:currentColor;font-size:10px;font-weight:800}.fieldLabel{color:#62665e;margin:0 0 9px;font-size:10px;font-weight:800}.colorChoices{flex-wrap:wrap;gap:9px;display:flex}.colorChoices button{cursor:pointer;border:4px solid #fff;border-radius:50%;width:35px;height:35px;box-shadow:0 0 0 1px #d9dcd4}.colorChoices button.active{box-shadow:0 0 0 3px #22251f}.rewardGallery{grid-template-columns:repeat(9,minmax(0,1fr));gap:7px;max-height:250px;padding:3px;display:grid;overflow-y:auto}.rewardGallery button{aspect-ratio:1;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:13px;place-content:center;justify-items:center;gap:5px;min-width:0;padding:7px 4px;display:grid;overflow:hidden}.rewardGallery button:hover{background:#f8fce9;border-color:#b8d75a}.rewardGallery button.active{color:#5e7d00;background:#eff8ce;border-color:#92b900;box-shadow:0 0 0 2px #92b90026}.rewardGallery button span{color:#6a6f65;text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:7px;font-weight:700;overflow:hidden}.builderFields{gap:13px;display:grid}.builderFields.twoColumns{grid-template-columns:1fr 1fr}.builderFields label,.standaloneField,.conditionContent label{gap:7px;display:grid;position:relative}.builderFields label>span,.standaloneField>span,.conditionContent label>span,.conditionPills>span{color:#5e625b;font-size:10px;font-weight:800}.builderFields input,.builderFields textarea,.builderFields select,.standaloneField select,.conditionContent input,.conditionContent select{background:#fff;border:1px solid #dfe2da;border-radius:13px;outline:0;width:100%;min-height:48px;padding:11px 13px;font-size:12px}.builderFields textarea{resize:vertical}.builderFields label.wide{grid-column:1/-1}.builderFields label>small{color:#9a9e95;font-size:8px;position:absolute;top:41px;right:10px}.choiceCards{grid-template-columns:1fr 1fr;gap:10px;display:grid}.choiceCards>button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:16px;align-items:center;gap:13px;min-height:82px;padding:14px;display:flex}.choiceCards>button.active{background:#f5fadf;border-color:#a8c93c;box-shadow:0 0 0 2px #a8c93c21}.choiceCards span{gap:4px;display:grid}.choiceCards b{font-size:11px}.choiceCards small{color:var(--muted);font-size:9px;line-height:1.4}.audienceBlock{gap:15px;display:grid}.standaloneField{max-width:520px}.operatorChoice{background:#eff1eb;border-radius:14px;flex-wrap:wrap;align-items:center;gap:7px;padding:12px 14px;display:flex}.operatorChoice span{color:var(--muted);margin-right:5px;font-size:10px}.operatorChoice button{cursor:pointer;background:#fff;border:1px solid #0000;border-radius:999px;padding:8px 12px;font-size:10px;font-weight:750}.operatorChoice button.active{color:#557000;background:#f6fbdf;border-color:#b6d64c}.conditionList{gap:10px;display:grid}.conditionCard{border:1px solid var(--line);background:#fff;border-radius:17px;grid-template-columns:34px minmax(0,1fr) 34px;align-items:start;gap:12px;padding:15px;display:grid}.conditionNumber{background:var(--accent);border-radius:9px;place-items:center;width:30px;height:30px;font-size:10px;font-weight:850;display:grid}.conditionContent{grid-template-columns:minmax(200px,1fr) 160px;gap:12px;display:grid}.conditionContent label small{color:var(--muted);font-size:8px;line-height:1.4}.conditionTarget{grid-area:1/2}.removeCondition{color:#a43c3c;cursor:pointer;background:#fff1f1;border:0;border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.conditionPills{grid-column:1/-1;gap:7px;display:grid}.conditionPills>div{flex-wrap:wrap;gap:6px;display:flex}.conditionPills button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;min-height:31px;padding:0 10px;font-size:9px}.conditionPills button.active{color:#537000;background:#eff8ce;border-color:#9cbe2e}.addCondition>div{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.addCondition button{text-align:left;cursor:pointer;background:#fff;border:1px dashed #cfd3c8;border-radius:14px;align-items:flex-start;gap:8px;min-height:64px;padding:11px;display:flex}.addCondition button:hover{background:#f8fce9;border-color:#9bbb31}.addCondition button>span{gap:3px;display:grid}.addCondition b{font-size:9px}.addCondition small{color:var(--muted);font-size:8px;line-height:1.35}.reviewStep{grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);align-items:start}.reviewCard{background:#f8fce9;border:1px solid #dce9a8;border-radius:22px;grid-column:1/-1;grid-template-columns:140px 1fr;align-items:center;gap:22px;padding:22px;display:grid}.reviewReward{border-radius:22px;place-items:center;width:130px;height:130px;display:grid}.reviewCard>div:last-child>span{color:var(--accent-deep);text-transform:uppercase;font-size:9px;font-weight:850}.reviewCard h3{margin:6px 0;font-size:24px}.reviewCard p{color:var(--muted);margin:0;font-size:11px;line-height:1.5}.reviewMeta{flex-wrap:wrap;gap:13px;margin-top:14px;font-size:9px;font-weight:750;display:flex}.reviewSection{border:1px solid var(--line);background:#fff;border-radius:18px;gap:9px;padding:18px;display:grid}.reviewSection h3{margin:0;font-size:14px}.reviewLogic{color:var(--muted);margin:-4px 0 3px;font-size:9px}.reviewCondition{border-top:1px solid #eceee9;grid-template-columns:28px 1fr;align-items:start;gap:9px;padding-top:9px;display:grid}.reviewCondition>span{background:#edf6c9;border-radius:8px;place-items:center;width:25px;height:25px;font-size:9px;font-weight:800;display:grid}.reviewCondition b{font-size:10px}.reviewCondition p{color:var(--muted);margin:3px 0 0;font-size:9px;line-height:1.4}.reviewSection.compact p{color:var(--muted);align-items:center;gap:7px;margin:4px 0;font-size:9px;display:flex}.builderError{color:#9c2b2b;background:#fff0f0;border-radius:11px;margin:0 27px 12px;padding:10px 12px;font-size:10px;font-weight:700}.challengeBuilder>footer{border-top:1px solid var(--line);background:#fff;justify-content:space-between;gap:10px;padding:15px 26px;display:flex}.challengeBuilder>footer button{min-width:130px}.achievementPage{max-width:1260px}.achievementOverview{background:linear-gradient(115deg,#f7fce5,#fff);border:1px solid #dce9a8;border-radius:24px;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:19px;margin-bottom:18px;padding:24px 27px;display:grid}.achievementOverviewIcon{background:var(--accent);border-radius:19px;place-items:center;width:62px;height:62px;display:grid}.achievementOverview span{color:var(--accent-deep);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:850}.achievementOverview h2{letter-spacing:-.03em;margin:5px 0;font-size:20px}.achievementOverview p{max-width:680px;color:var(--muted);margin:0;font-size:10px;line-height:1.5}.achievementStats{justify-items:end;min-width:120px;display:grid}.achievementStats b{letter-spacing:-.05em;font-size:30px}.achievementStats span{color:var(--muted);font-size:8px}.achievementPanel{padding:0;overflow:hidden}.achievementGrid{background:var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}.achievementAdminCard{background:#fff;grid-template-columns:65px minmax(0,1fr) auto;align-items:center;gap:14px;min-width:0;min-height:150px;padding:19px;display:grid}.achievementAdminIcon{border-radius:18px;place-items:center;width:60px;height:60px;display:grid}.achievementAdminMain{min-width:0}.achievementAdminMain>span{color:var(--accent-deep);text-transform:uppercase;font-size:8px;font-weight:850}.achievementAdminMain h3{text-overflow:ellipsis;white-space:nowrap;margin:6px 0 5px;font-size:16px;overflow:hidden}.achievementAdminMain>p{height:29px;color:var(--muted);margin:0 0 10px;font-size:9px;line-height:1.55;overflow:hidden}.achievementAdminMain>div{color:#5d6259;align-items:center;gap:5px;font-size:8px;font-weight:700;display:flex}.achievementSteps{grid-template-columns:repeat(3,1fr)}.achievementCriteriaChoices{grid-template-columns:repeat(2,1fr);gap:9px;display:grid}.achievementCriteriaChoices>button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:15px;grid-template-columns:32px 1fr;align-items:center;gap:9px;min-height:80px;padding:13px;display:grid}.achievementCriteriaChoices>button.active{background:#f6fadf;border-color:#a6c83b;box-shadow:0 0 0 2px #a6c83b1f}.achievementCriteriaChoices>button>span{color:#7a8075;background:#f0f1ed;border-radius:9px;place-items:center;width:30px;height:30px;display:grid}.achievementCriteriaChoices>button.active>span{color:#526d00;background:var(--accent)}.achievementCriteriaChoices button div{gap:4px;display:grid}.achievementCriteriaChoices b{font-size:10px}.achievementCriteriaChoices small{color:var(--muted);font-size:8px;line-height:1.4}.achievementTarget{background:#f0f2ec;border-radius:18px;gap:18px;padding:18px;display:grid}.achievementTarget>label{gap:8px;display:grid}.achievementTarget>label>span{color:#5e625b;font-size:10px;font-weight:800}.achievementTarget>label>div{align-items:center;gap:10px;display:flex}.achievementTarget input{background:#fff;border:1px solid #daddd5;border-radius:13px;width:160px;min-height:48px;padding:10px 13px}.achievementTarget label b{color:var(--muted);font-size:11px}.achievementReview{grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);align-items:start}.achievementPreviewCard{background:radial-gradient(circle at 100% 0,#c8f0184d,#0000 42%),#fbfdea;border:1px solid #dce9a8;border-radius:26px;align-content:start;justify-items:start;min-height:370px;padding:28px;display:grid;overflow:hidden}.achievementPreviewIcon{border-radius:24px;place-items:center;width:84px;height:84px;margin-bottom:25px;display:grid}.achievementPreviewCard>span{color:var(--accent-deep);letter-spacing:.09em;font-size:9px;font-weight:900}.achievementPreviewCard h3{letter-spacing:-.04em;margin:8px 0;font-size:24px}.achievementPreviewCard>p{color:var(--muted);margin:0;font-size:11px;line-height:1.55}.achievementProgress{gap:8px;width:100%;margin-top:auto;padding-top:35px;display:grid}.achievementProgress:before{content:"";background:#e1e4dc;border-radius:999px;grid-area:1/1;height:8px}.achievementProgress>div{z-index:1;background:var(--accent);border-radius:999px;grid-area:1/1;height:8px}.achievementProgress span{color:var(--muted);font-size:8px}.achievementAutoNote{color:#587000;background:#eff7d4;border-radius:12px;align-items:center;gap:8px;margin:10px 0 0;padding:12px;font-size:9px;line-height:1.45;display:flex}.notificationPage{max-width:1260px}.notificationLayout{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);align-items:start;gap:18px;display:grid}.notificationComposer{padding:0;overflow:hidden}.composerHeader{border-bottom:1px solid var(--line);background:linear-gradient(110deg,#f8fce9,#fff);align-items:center;gap:13px;padding:20px 22px;display:flex}.composerIcon{background:var(--accent);border-radius:15px;place-items:center;width:48px;height:48px;display:grid}.composerHeader h2{margin:0;font-size:18px}.composerHeader p{color:var(--muted);margin:4px 0 0;font-size:9px}.composerSection{border-bottom:1px solid #eceee9;gap:15px;padding:20px 22px;display:grid}.composerSectionTitle{align-items:center;gap:10px;display:flex}.composerSectionTitle>span{color:#4e6500;background:#edf6c9;border-radius:9px;flex:none;place-items:center;width:29px;height:29px;font-size:10px;font-weight:850;display:grid}.composerSectionTitle h3{margin:0;font-size:12px}.composerSectionTitle p{color:var(--muted);margin:3px 0 0;font-size:8px}.notificationTemplates{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.notificationTemplates button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:14px;place-content:center;justify-items:center;gap:5px;min-height:68px;display:grid}.notificationTemplates button:hover{background:#f9fce9;border-color:#b9d65a}.notificationTemplates button.active{background:#f3fad8;border-color:#9fc42b;box-shadow:0 0 0 2px #9fc42b1f}.notificationTemplates button span{font-size:20px}.notificationTemplates button b{font-size:8px}.audienceChoices{grid-template-columns:1fr 1fr;gap:8px;display:grid}.audienceChoices button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:14px;align-items:center;gap:10px;min-height:73px;padding:12px;display:flex}.audienceChoices button>svg{color:#747a70;width:21px}.audienceChoices button>span,.scheduleChoice button>span{gap:3px;display:grid}.audienceChoices b,.scheduleChoice b{font-size:9px}.audienceChoices small,.scheduleChoice small{color:var(--muted);font-size:7px;line-height:1.35}.audienceChoices button.active{background:#f5fadf;border-color:#a2c734}.audienceChoices button.active>svg{color:#668600}.notificationSelect{gap:7px;display:grid}.notificationSelect>span,.notificationFields label>span{color:#5e625a;font-size:9px;font-weight:800}.notificationSelect select,.notificationSelect input,.notificationFields input,.notificationFields textarea{background:#fff;border:1px solid #dfe2da;border-radius:13px;outline:0;width:100%;min-height:47px;padding:11px 13px;font-size:11px}.notificationFields{gap:12px;display:grid}.notificationFields label{gap:7px;display:grid;position:relative}.notificationFields textarea{resize:vertical;min-height:120px;line-height:1.55}.notificationFields small{color:#969b92;background:#ffffffd9;border-radius:5px;padding:2px 4px;font-size:7px;position:absolute;bottom:9px;right:10px}.scheduleChoice{grid-template-columns:1fr 1fr;gap:8px;display:grid}.scheduleChoice button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:14px;align-items:center;gap:10px;min-height:68px;padding:12px;display:flex}.scheduleChoice button.active{color:#587500;background:#f5fadf;border-color:#a2c734}.notificationComposer>.builderError{margin-top:15px}.notificationSuccess{color:#4f6a00;background:#eff8d1;border-radius:13px;align-items:center;gap:10px;margin:15px 22px 0;padding:13px;display:flex}.notificationSuccess>div{gap:2px;display:grid}.notificationSuccess b{font-size:10px}.notificationSuccess span{font-size:8px}.notificationSend{width:calc(100% - 44px);min-height:50px;margin:18px 22px 22px;font-size:11px}.notificationAside{position:sticky;top:24px}.telegramPreview{box-shadow:var(--shadow);background:#fff;border:1px solid #dce0d8;border-radius:25px;overflow:hidden}.phoneTop{border-bottom:1px solid var(--line);align-items:center;gap:8px;height:50px;padding:0 17px;font-size:9px;font-weight:800;display:flex}.telegramCanvas{background-color:#dbe8ef;background-image:radial-gradient(circle at 25% 20%,#ffffff59 0 2px,#0000 3px),radial-gradient(circle at 75% 60%,#ffffff40 0 2px,#0000 3px);background-size:42px 42px,55px 55px;align-items:end;min-height:330px;padding:22px 16px;display:grid}.telegramBubble{background:#e1ffc7;border-radius:16px 16px 5px;width:88%;padding:13px 14px 19px;position:relative;box-shadow:0 3px 12px #283c501f}.telegramBubble b{margin-bottom:5px;font-size:11px;display:block}.telegramBubble p{white-space:pre-wrap;word-break:break-word;margin:0;font-size:10px;line-height:1.5}.telegramBubble time{color:#6e8265;font-size:7px;position:absolute;bottom:5px;right:8px}.previewAudience{align-items:center;gap:10px;min-height:70px;padding:13px 16px;display:flex}.previewAudience>svg{color:#789d00}.previewAudience>span{gap:3px;display:grid}.previewAudience b{font-size:9px}.previewAudience small{color:var(--muted);font-size:7px}.campaignHistory{margin-top:18px;padding:0;overflow:hidden}.campaignHistoryHeader{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:20px 22px;display:flex}.campaignHistoryHeader h2{margin:0;font-size:17px}.campaignHistoryHeader p{color:var(--muted);margin:4px 0 0;font-size:9px}.campaignRows{background:var(--line);gap:1px;display:grid}.campaignRows article{background:#fff;grid-template-columns:46px minmax(0,1fr) 130px;align-items:center;gap:13px;min-height:105px;padding:15px 20px;display:grid}.campaignType{color:#680;background:#eef7cf;border-radius:13px;place-items:center;width:42px;height:42px;display:grid}.campaignRows h3{margin:0;font-size:11px}.campaignRows p{max-width:680px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:4px 0 7px;font-size:8px;overflow:hidden}.campaignRows article>div:nth-child(2)>span{color:#8b9087;align-items:center;gap:4px;font-size:7px;display:flex}.campaignDelivery{justify-items:end;gap:3px;display:grid}.campaignDelivery b{font-size:13px}.campaignDelivery span,.campaignDelivery small{color:var(--muted);font-size:7px}.campaignDelivery>div{background:#e5e7e1;border-radius:999px;width:100%;height:5px;overflow:hidden}.campaignDelivery i{border-radius:inherit;background:var(--accent);height:100%;display:block}.campaignDelivery small{color:#ae3d3d}.constructorPage{max-width:1320px}.constructorNotice{color:#506900;background:#f5fadf;border:1px solid #d8e7a1;border-radius:13px;align-items:center;min-height:46px;margin:-10px 0 18px;padding:11px 15px;font-size:12px;font-weight:700;display:flex}.constructorNotice.error{color:#9d2f2f;background:#fff2f2;border-color:#f1bcbc}.constructorLoading{justify-content:center;align-items:center;gap:8px;min-height:280px;display:flex}.constructorLoading span{background:var(--accent);border-radius:50%;width:10px;height:10px;animation:1s ease-in-out infinite alternate constructorPulse}.constructorLoading span:nth-child(2){animation-delay:.15s}.constructorLoading span:nth-child(3){animation-delay:.3s}@keyframes constructorPulse{to{opacity:.28;transform:translateY(-7px)}}.constructorEmpty{text-align:center;grid-column:1/-1;place-content:center;justify-items:center;min-height:240px;padding:30px;display:grid}.constructorEmpty>svg{color:#91b500;width:42px;height:42px}.constructorEmpty h3{margin:13px 0 5px;font-size:18px}.constructorEmpty p{max-width:430px;color:var(--muted);margin:0;font-size:12px;line-height:1.55}.visualGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.visualCard{min-width:0;overflow:hidden}.mapCover{color:#a1a69d;background:linear-gradient(145deg,#f0f2ed,#fafbf8);place-items:center;height:190px;display:grid;position:relative;overflow:hidden}.mapCover img{object-fit:cover;width:100%;height:100%}.statusPill{color:#756300;background:#fff3b3;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:800;position:absolute;top:13px;right:13px;box-shadow:0 3px 14px #00000014}.statusPill.published{color:#386900;background:#e7f7bd}.statusPill.archived{color:#62665f;background:#eff0ed}.visualCardBody{gap:8px;padding:19px;display:grid}.visualCardBody h2{margin:0;font-size:19px}.visualCardBody>p{min-height:38px;color:var(--muted);margin:0;font-size:12px;line-height:1.55;overflow:hidden}.cardContext{color:#718f00;text-transform:uppercase;align-items:center;gap:6px;font-size:10px;font-weight:800;display:flex}.cardMeta{color:var(--muted);border-top:1px solid #eaede6;justify-content:space-between;gap:8px;margin-top:5px;padding-top:12px;font-size:10px;display:flex}.cardMeta span{align-items:center;gap:5px;display:flex}.cardActions{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.cardActions button,.rowEdit{color:#444842;cursor:pointer;background:#fff;border:1px solid #dfe2da;border-radius:10px;justify-content:center;align-items:center;gap:6px;min-height:35px;padding:0 11px;font-size:10px;font-weight:750;display:inline-flex}.cardActions .accentAction{color:#3d5000;background:#eff9ce;border-color:#bee54a}.cardActions button:disabled{opacity:.4;cursor:not-allowed}.constructorModal{width:min(100%,760px)}.constructorModal>header{border-bottom:1px solid var(--line);padding-bottom:18px}.constructorModal .modalSubtitle{color:var(--muted);margin:6px 0 0;font-size:11px}.constructorForm{gap:16px;padding:20px 0;display:grid}.constructorForm .formGrid{margin:0}.constructorField{align-content:start;gap:7px;display:grid}.constructorField.wide{grid-column:1/-1}.constructorField>span{color:#555a52;font-size:11px;font-weight:800}.constructorField>small{color:var(--muted);font-size:9px;line-height:1.45}.constructorField input,.constructorField select,.constructorField textarea{width:100%;min-height:48px;font:inherit;background:#fff;border:1px solid #dfe2da;border-radius:13px;outline:none;padding:11px 13px;font-size:12px}.constructorField textarea{resize:vertical;min-height:105px;line-height:1.5}.constructorField input:focus,.constructorField select:focus,.constructorField textarea:focus{border-color:#a6c832;box-shadow:0 0 0 3px #a6c8321f}.uploadDrop{color:#617b00;cursor:pointer;background:#f8fbe9;border:1.5px dashed #b9c29f;border-radius:18px;place-content:center;justify-items:center;gap:7px;width:100%;min-height:190px;display:grid;overflow:hidden}.uploadDrop:hover{background:#f2f9d5;border-color:#91b500}.uploadDrop span{color:var(--muted);font-size:10px}.uploadDrop img{object-fit:contain;width:100%;max-height:300px}.colorPicker{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.colorPicker button,.colorPicker input{color:#fff;background:var(--choice);cursor:pointer;border:2px solid #fff;border-radius:10px;outline:1px solid #dfe2da;place-items:center;width:34px;height:34px;padding:0;display:grid;overflow:hidden}.colorPicker button.active{outline:2px solid #20221e}.colorPicker input{background:#fff;padding:2px}.categoryStack{gap:16px;display:grid}.categoryPanel{overflow:hidden}.categoryPanel>header{border-bottom:1px solid var(--line);background:#fbfcf9;align-items:center;padding:18px 20px}.categoryTitle{align-items:center;gap:13px;display:flex}.categoryTitle>span{border-radius:13px;place-items:center;width:44px;height:44px;display:grid}.categoryTitle h2{margin:0;font-size:17px}.categoryTitle p{color:var(--muted);margin:4px 0 0;font-size:10px}.tagTiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:15px;display:grid}.tagTile{border:1px solid #e4e7df;border-radius:14px;grid-template-columns:40px minmax(0,1fr) 30px;align-items:center;gap:9px;min-width:0;padding:12px;display:grid}.tagTile.inactive{opacity:.55}.tagIcon{border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.tagTile div{gap:3px;min-width:0;display:grid}.tagTile b{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.tagTile small{color:var(--muted);font-size:8px}.tagTile>button{cursor:pointer;background:#f1f2ee;border:0;border-radius:9px;place-items:center;width:30px;height:30px;display:grid}.tagAddTile{color:#607a00;cursor:pointer;background:#f8fbe9;border:1px dashed #b9c29f;border-radius:14px;justify-content:center;align-items:center;gap:7px;min-height:64px;font-size:10px;font-weight:800;display:flex}.iconChoices{flex-wrap:wrap;gap:8px;display:flex}.iconChoices button{cursor:pointer;background:#fff;border:1px solid #dfe2da;border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.iconChoices button.active{color:#587600;background:#eff8cf;border-color:#9fc42b;box-shadow:0 0 0 2px #9fc42b1f}.switchRow{background:#f2f4ee;border-radius:15px;justify-content:space-between;align-items:center;gap:15px;min-height:62px;padding:12px 14px;display:flex}.switchRow>span{gap:3px;display:grid}.switchRow b{font-size:11px}.switchRow small{color:var(--muted);font-size:9px}.switchRow input{accent-color:#96bd00;width:42px;height:23px}.dangerLink{color:#d33a3a;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;width:max-content;padding:8px 0;font-size:10px;font-weight:750;display:flex}.catalogPanel{overflow:hidden}.constructorToolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;min-height:72px;padding:14px 18px;display:flex}.constructorToolbar>label{background:#f8f9f6;border:1px solid #dfe2da;border-radius:12px;align-items:center;gap:8px;width:min(460px,100%);min-height:43px;padding:0 12px;display:flex}.constructorToolbar input{background:0 0;border:0;outline:0;width:100%;font-size:11px}.constructorToolbar>span{color:var(--muted);align-items:center;gap:6px;font-size:10px;display:flex}.routeRows,.peopleRows{background:var(--line);gap:1px;display:grid}.routeRows>article{background:#fff;grid-template-columns:8px 75px minmax(200px,1fr) 60px auto;align-items:center;gap:13px;min-height:82px;padding:10px 17px 10px 0;display:grid}.routeColor{width:8px;height:100%}.routeGrade{justify-items:center;gap:3px;display:grid}.routeGrade b{text-align:center;background:#f0f2ed;border-radius:11px;min-width:49px;padding:8px;font-size:14px}.routeGrade small{color:var(--muted);font-size:8px}.routeMain{min-width:0}.routeMain h3,.personMain h3{margin:0;font-size:13px}.routeMain p,.personMain p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:5px 0 0;font-size:9px;overflow:hidden}.routeScore{color:#7e8700;align-items:center;gap:4px;font-size:10px;font-weight:800;display:flex}.pillChoices{flex-wrap:wrap;gap:7px;display:flex}.pillChoices button{cursor:pointer;background:#fff;border:1px solid #dfe2da;border-radius:999px;align-items:center;gap:5px;min-height:35px;padding:0 11px;font-size:10px;display:flex}.pillChoices button.active{color:#557000;background:#eff8cf;border-color:#9fc42b}.roleGuide{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-bottom:15px;display:grid}.roleGuide article{background:#fff;border:1px solid #e0e4dc;border-radius:16px;align-items:center;gap:10px;min-height:88px;padding:13px;display:flex}.roleGuide article>span{color:#5a7400;background:#eff7d2;border-radius:11px;flex:none;place-items:center;width:38px;height:38px;display:grid}.roleGuide article div{gap:4px;display:grid}.roleGuide b{font-size:10px}.roleGuide small{color:var(--muted);font-size:8px;line-height:1.35}.peopleRows>article{background:#fff;grid-template-columns:46px minmax(170px,1fr) minmax(170px,.8fr) 70px 100px;align-items:center;gap:13px;min-height:76px;padding:10px 17px;display:grid}.avatarTile{color:#4c6300;background:#ecf6c8;border-radius:13px;place-items:center;width:43px;height:43px;font-size:15px;font-weight:850;display:grid}.personScope{gap:4px;display:grid}.personScope b{font-size:10px}.personScope small{color:var(--muted);font-size:9px}.personStats{justify-items:end;display:grid}.personStats b{font-size:13px}.personStats small{color:var(--muted);font-size:8px}.rowEdit{justify-self:end}.roleChoices{grid-template-columns:1fr 1fr;gap:8px;display:grid}.roleChoices>button{text-align:left;cursor:pointer;background:#fff;border:1px solid #dfe2da;border-radius:14px;grid-template-columns:36px minmax(0,1fr) 20px;align-items:center;gap:9px;min-height:77px;padding:12px;display:grid}.roleChoices>button.active{background:#f4fadf;border-color:#9fc42b;box-shadow:0 0 0 2px #9fc42b1f}.roleChoices>button>span{background:#eff1eb;border-radius:10px;place-items:center;width:35px;height:35px;display:grid}.roleChoices>button>div{gap:4px;display:grid}.roleChoices b{font-size:10px}.roleChoices small{color:var(--muted);font-size:8px;line-height:1.35}.roleChoices>button>svg{color:#749800;width:17px}.leagueBuilder{grid-template-columns:40px 1fr;gap:10px;display:grid}.leagueScale{color:#878c83;writing-mode:vertical-rl;flex-direction:column;align-items:center;gap:8px;padding:18px 0;font-size:8px;font-weight:850;display:flex}.leagueScale i{background:linear-gradient(var(--accent),#e2e5dd);flex:1;width:2px}.leagueStack{gap:10px;display:grid}.leagueCard{border-left:5px solid var(--league);grid-template-columns:30px 34px 54px minmax(0,1fr) auto;align-items:center;gap:13px;min-height:93px;padding:14px 17px;display:grid}.dragHandle{color:#bcc0b9}.leagueRank{font-size:20px;font-weight:850}.leagueIcon{color:#20231e;background:color-mix(in srgb,var(--league) 72%,white);border-radius:15px;place-items:center;width:51px;height:51px;display:grid}.leagueCard h2{margin:0;font-size:17px}.leagueCard p{color:var(--muted);margin:5px 0 0;font-size:9px}.leagueActions{gap:6px;display:flex}.leagueActions button{cursor:pointer;background:#fff;border:1px solid #dfe2da;border-radius:10px;place-items:center;width:35px;height:35px;display:grid}.leagueActions button:disabled{opacity:.3}.leagueActions svg{width:16px}.leaguePreview{border-left:6px solid var(--league);background:color-mix(in srgb,var(--league) 16%,white);border-radius:16px;align-items:center;gap:14px;min-height:92px;padding:17px;display:flex}.leaguePreview>span{background:var(--league);border-radius:16px;place-items:center;width:56px;height:56px;display:grid}.leaguePreview div{gap:4px;display:grid}.leaguePreview small{color:var(--muted);font-size:9px;font-weight:850}.leaguePreview b{font-size:18px}.settingsGrid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.settingCard{padding:20px}.settingCard>header{border-bottom:1px solid var(--line);align-items:center;margin-bottom:16px;padding-bottom:15px}.settingCard>header>span{color:#526d00;background:#edf6ca;border-radius:14px;flex:none;place-items:center;width:46px;height:46px;display:grid}.settingCard h2{margin:0;font-size:16px}.settingCard header p{color:var(--muted);margin:5px 0 0;font-size:9px}.numberControl{border-bottom:1px solid #eceee9;grid-template-columns:minmax(150px,.8fr) minmax(220px,1.2fr);align-items:center;gap:14px;min-height:66px;display:grid}.numberControl>span{gap:3px;display:grid}.numberControl b{font-size:10px}.numberControl small{color:var(--muted);font-size:8px;line-height:1.35}.numberControl>div{grid-template-columns:minmax(100px,1fr) 78px;align-items:center;gap:9px;display:grid}.numberControl input[type=range]{accent-color:#8faf00;width:100%}.numberControl>div>span{min-height:38px;color:var(--muted);border:1px solid #dfe2da;border-radius:10px;align-items:center;padding:0 8px;font-size:8px;display:flex}.numberControl input[type=number]{border:0;outline:0;width:100%;min-width:0;font-size:10px;font-weight:750}.attemptControls{grid-template-columns:1fr 1fr;column-gap:14px;display:grid}.attemptControls .numberControl{grid-template-columns:1fr;gap:5px;padding:8px 0}.weightStrip{grid-template-columns:1fr repeat(6,55px);align-items:end;gap:7px;margin-top:14px;display:grid}.weightStrip>b{align-self:center;font-size:10px}.weightStrip label{gap:4px;display:grid}.weightStrip span{color:var(--muted);text-align:center;font-size:8px}.weightStrip input{text-align:center;border:1px solid #dfe2da;border-radius:9px;width:100%;min-height:36px;padding:5px;font-size:9px}.wideSetting{grid-column:1/-1}.timingGrid{grid-template-columns:1fr 1fr;column-gap:24px;display:grid}.timingGrid .constructorField{align-self:center}.roleChoices>button:disabled{opacity:.42;cursor:not-allowed}@media (max-width:1180px){.metricGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.editorLayout{grid-template-columns:1fr}.routeForm{position:static}.editorEmpty{min-height:220px}.notificationLayout{grid-template-columns:1fr}.notificationAside{position:static}.telegramPreview{grid-template-columns:minmax(280px,.7fr) minmax(200px,.3fr);display:grid}.phoneTop{grid-column:1/-1}.previewAudience{align-self:stretch}.visualGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.tagTiles,.roleGuide{grid-template-columns:repeat(3,minmax(0,1fr))}.settingsGrid{grid-template-columns:1fr}.wideSetting{grid-column:auto}}@media (max-width:900px){:root{--nav-width:250px}.sideNav{transition:transform .22s var(--ease);transform:translate(-105%);box-shadow:20px 0 60px #00000024}.sideNavOpen{transform:translate(0)}.adminContent{margin-left:0}.mobileMenu{z-index:35;border:1px solid var(--line);width:42px;height:42px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe6;border-radius:13px;display:grid;position:fixed;top:14px;left:14px}.closeNav{border-radius:10px;width:35px;height:35px;display:grid;position:absolute;top:24px;right:18px}.navBackdrop{z-index:45;background:#00000040;border:0;display:block;position:fixed;inset:0}.page{padding-top:80px}.dashboardGrid,.challengeHero{grid-template-columns:1fr}.rewardGallery{grid-template-columns:repeat(7,minmax(0,1fr))}.addCondition>div{grid-template-columns:repeat(2,1fr)}.achievementGrid{grid-template-columns:1fr}}@media (max-width:640px){.page{padding-inline:14px;padding-bottom:40px}.pageHeader{flex-direction:column;min-height:0;margin-bottom:20px}.pageHeader h1{font-size:32px}.pageHeader .primaryButton{width:100%}.metricGrid{grid-template-columns:1fr 1fr;gap:9px}.metricCard{min-height:145px;padding:15px}.metricCard strong{font-size:28px}.dashboardGrid{gap:10px;margin-top:10px}.dashboardGrid .panel{padding:17px}.tableToolbar{flex-direction:column;align-items:stretch}.tableSearch{width:100%}.toolbarActions{justify-content:stretch}.toolbarActions button{flex:1}.formGrid{grid-template-columns:1fr}.wideField{grid-column:auto}.modal{border-radius:22px;padding:18px}.editorToolbar{flex-direction:column;align-items:stretch}.editorToolbar label{justify-content:space-between}.zoomControl{justify-content:center;margin-left:0}.mapScroller{min-height:440px;padding:10px}.mapCanvas{min-width:600px}.challengeHero{padding:22px}.challengeHero ol{grid-template-columns:1fr 1fr;display:grid}.challengeListHeader{flex-direction:column;align-items:stretch}.challengeCard{grid-template-columns:54px minmax(0,1fr);gap:12px;padding:15px}.challengeReward{border-radius:15px;width:52px;height:52px}.challengeCardActions{grid-column:2}.challengeBuilder{border-radius:0;max-height:100dvh}.challengeModalBackdrop{padding:0}.challengeBuilder>header{padding:18px 17px 14px}.builderSteps{padding:0 17px 14px}.builderSteps button{font-size:0}.builderSteps button:after{margin-inline:5px}.builderBody{padding:20px 17px 25px}.rewardCustomizer{grid-template-columns:1fr}.rewardGallery{grid-template-columns:repeat(5,minmax(0,1fr));max-height:220px}.builderFields.twoColumns,.choiceCards,.reviewStep{grid-template-columns:1fr}.builderFields label.wide{grid-column:auto}.conditionCard{grid-template-columns:28px minmax(0,1fr) 32px;padding:12px}.conditionContent{grid-template-columns:1fr}.conditionTarget{grid-area:auto/1}.addCondition>div{grid-template-columns:1fr}.reviewCard{grid-template-columns:80px 1fr;gap:14px;padding:15px}.reviewReward{width:76px;height:76px}.reviewCard h3{font-size:18px}.reviewSection{grid-column:1}.challengeBuilder>footer{padding:13px 17px}.challengeBuilder>footer button{min-width:0}.achievementOverview{grid-template-columns:55px 1fr;padding:18px}.achievementOverviewIcon{width:52px;height:52px}.achievementStats{grid-column:2;justify-items:start}.achievementCriteriaChoices,.achievementReview{grid-template-columns:1fr}.achievementAdminCard{grid-template-columns:55px minmax(0,1fr);padding:15px}.achievementAdminIcon{width:52px;height:52px}.achievementAdminCard .challengeCardActions{grid-column:2}.notificationTemplates{grid-template-columns:repeat(2,1fr)}.audienceChoices,.scheduleChoice{grid-template-columns:1fr}.telegramPreview{display:block}.campaignRows article{grid-template-columns:42px minmax(0,1fr);padding:14px}.campaignDelivery{grid-column:2;justify-items:start}.campaignDelivery>div{max-width:180px}.visualGrid{grid-template-columns:1fr}.mapCover{height:170px}.constructorModal{border-radius:0;max-height:100dvh}.modalBackdrop{padding:0}.constructorField.wide{grid-column:auto}.tagTiles{grid-template-columns:1fr}.categoryPanel>header{flex-direction:column;align-items:stretch}.categoryPanel>header .cardActions{width:100%}.constructorToolbar{flex-direction:column;align-items:stretch}.constructorToolbar>label{width:100%}.routeRows>article{grid-template-columns:7px 60px minmax(0,1fr);padding-right:12px}.routeScore{grid-column:2}.routeRows .cardActions{grid-column:3}.roleGuide{grid-template-columns:1fr}.peopleRows>article{grid-template-columns:46px minmax(0,1fr) auto}.personScope{grid-column:2}.personStats{display:none}.peopleRows .rowEdit{grid-area:1/3/3;width:38px;padding:0;font-size:0}.roleChoices,.leagueBuilder{grid-template-columns:1fr}.leagueScale{display:none}.leagueCard{grid-template-columns:28px 45px minmax(0,1fr) auto}.dragHandle{display:none}.leagueRank{font-size:15px}.leagueIcon{width:43px;height:43px}.leagueActions{grid-column:3/-1;justify-content:flex-end}.numberControl,.timingGrid{grid-template-columns:1fr}.numberControl{gap:8px;padding:10px 0}.attemptControls{grid-template-columns:1fr}.weightStrip{grid-template-columns:repeat(3,1fr)}.weightStrip>b{grid-column:1/-1}.settingsPage .pageHeader .headerActions{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
