:root{color-scheme:light;--accent: #0a84ff;--accent-2: #5e5ce6;--accent-grad: linear-gradient(135deg, #0a84ff 0%, #5e5ce6 100%);--text: #1d1d1f;--text-2: #6e6e73;--text-3: #8e8e93;--glass-border: rgba(255, 255, 255, .7);--hairline: rgba(60, 60, 67, .12);--blur: saturate(180%) blur(20px);--success: #1c9c5b;--success-bg: rgba(48, 209, 88, .16);--danger: #d70015;--danger-bg: rgba(255, 59, 48, .13);--danger-bd: rgba(255, 59, 48, .3);--wb: #cb11ab;--ozon: #0a5cff;--r-lg: 24px;--r: 16px;--r-sm: 12px;--pill: 980px;--shadow: 0 8px 26px rgba(28, 42, 92, .1), 0 2px 6px rgba(28, 42, 92, .05);--inset-hi: inset 0 1px 0 rgba(255, 255, 255, .6);--ease: cubic-bezier(.22, 1, .36, 1);--spring: cubic-bezier(.34, 1.4, .64, 1);--t-fast: .16s}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Inter,system-ui,sans-serif;color:var(--text);font-size:16px;line-height:1.5;letter-spacing:-.01em;-webkit-font-smoothing:antialiased;min-height:100dvh;background:#eef2ff}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(38rem 38rem at 12% -8%,rgba(94,92,230,.2),transparent 60%),radial-gradient(34rem 34rem at 102% 4%,rgba(255,105,180,.13),transparent 60%),radial-gradient(40rem 40rem at 50% 118%,rgba(10,132,255,.16),transparent 60%),linear-gradient(160deg,#eef2ff,#f6f1ff 45%,#ecfbff)}a{color:var(--accent);text-decoration:none;cursor:pointer;transition:opacity var(--t-fast)}a:hover{opacity:.75}button:not(:disabled){cursor:pointer}button:disabled{cursor:not-allowed}.muted{color:var(--text-2)}.mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12.5px;font-variant-numeric:tabular-nums}.app{min-height:100dvh}.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 24px;background:#fff9;backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border-bottom:1px solid var(--hairline)}.user-row{display:flex;align-items:center;gap:12px}.brand{font-weight:800;font-size:19px;letter-spacing:-.03em;white-space:nowrap;background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.topbar-left{display:flex;align-items:center;gap:12px;min-width:0}.burger{display:none;flex-direction:column;justify-content:center;gap:4px;width:40px;height:40px;padding:0 9px;border:1px solid var(--hairline);border-radius:var(--r-sm);background:#fff9;cursor:pointer;transition:background var(--t-fast)}.burger:hover{background:#ffffffe6}.burger span{display:block;height:2px;border-radius:2px;background:var(--text)}.layout{max-width:1200px;margin:0 auto;padding:20px;display:grid;grid-template-columns:224px minmax(0,1fr);gap:20px;align-items:start}.side-nav{position:sticky;top:78px;padding:12px;border-radius:var(--r-lg);background:#ffffff94;backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border:1px solid var(--glass-border);box-shadow:var(--shadow),var(--inset-hi)}.shell{display:flex;flex-direction:column;gap:16px;min-width:0;container-type:inline-size}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f142859;z-index:60;animation:fade-in .2s var(--ease)}.drawer{position:fixed;top:0;left:0;bottom:0;width:264px;max-width:82vw;z-index:61;padding:16px;display:flex;flex-direction:column;gap:14px;background:#ffffffe0;backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border-right:1px solid var(--glass-border);box-shadow:14px 0 40px #141e3c2e;transform:translate(-102%);transition:transform .28s var(--ease)}.drawer.open{transform:none}.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:4px 6px 8px}.drawer-head .brand{font-size:18px}.drawer-user{padding:0 8px 8px;font-size:13px}.nav-list{display:flex;flex-direction:column;gap:4px}.nav-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-radius:var(--r-sm);border:none;background:transparent;color:var(--text-2);font-weight:600;font-size:15px;font-family:inherit;text-align:left;transition:background var(--t-fast),color var(--t-fast)}.nav-item:hover{background:#3c3c4312;color:var(--text)}.nav-item.active{background:var(--accent-grad);color:#fff;box-shadow:0 6px 16px #0a84ff4d}.nav-count{font-size:12px;font-weight:700;background:#3c3c431a;padding:2px 8px;border-radius:var(--pill)}.nav-item.active .nav-count{background:#ffffff47;color:#fff}.sync-card{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.sync-card .btn{white-space:normal;text-align:center}.sync-text{display:flex;flex-direction:column;gap:2px}.sync-text strong{font-size:15px}.list-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.list-controls .search{margin-bottom:0;flex:1;min-width:200px}.mp-filter{display:flex;align-items:center;gap:8px}.toggle-chip{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border-radius:var(--pill);border:1px solid var(--hairline);background:#fff;color:var(--text-3);font-weight:700;font-size:13px;font-family:inherit;cursor:pointer;touch-action:manipulation;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast),opacity var(--t-fast)}.toggle-chip:not(.on){opacity:.6}.toggle-chip.wb.on{background:color-mix(in srgb,var(--wb) 14%,transparent);color:var(--wb);border-color:color-mix(in srgb,var(--wb) 30%,transparent)}.toggle-chip.ozon.on{background:color-mix(in srgb,var(--ozon) 14%,transparent);color:var(--ozon);border-color:color-mix(in srgb,var(--ozon) 30%,transparent)}.page-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.page-head h2{margin:0;font-size:22px;font-weight:700;letter-spacing:-.02em}.card{background:#fff9;backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border:1px solid var(--glass-border);border-radius:var(--r-lg);box-shadow:var(--shadow),var(--inset-hi);padding:20px;animation:rise .4s var(--ease) both}.card h3{margin:0;font-size:16px;font-weight:700}.centered{min-height:100dvh;display:grid;place-items:center;padding:24px}.login-card{width:400px;max-width:100%;display:flex;flex-direction:column;gap:6px;padding:32px;border-radius:var(--r-lg);background:#ffffffb8;backdrop-filter:saturate(180%) blur(28px);-webkit-backdrop-filter:saturate(180%) blur(28px);border:1px solid var(--glass-border);box-shadow:0 18px 50px #1c2a5c2e,var(--inset-hi);animation:pop-in .4s var(--spring) both}.login-card .brand{font-size:30px;margin-bottom:2px}.login-card>.muted{margin:0 0 16px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:14px}.field>span{font-size:13px;color:var(--text-2);font-weight:500;padding-left:2px}input{width:100%;min-height:46px;padding:12px 15px;font-size:16px;font-family:inherit;color:var(--text);background:#fff;border:1px solid rgba(60,60,67,.18);border-radius:var(--r-sm);transition:border-color var(--t-fast),box-shadow var(--t-fast)}input::placeholder{color:var(--text-3)}input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px #0a84ff29}input.num{width:88px;min-height:40px;padding:7px 9px;font-family:ui-monospace,SF Mono,monospace;font-variant-numeric:tabular-nums}.sched-row{display:flex;gap:10px;flex-wrap:wrap}.sched-select{flex:1 1 90px;min-height:46px;padding:12px;font-size:16px;font-family:inherit;color:var(--text);background:#fff;border:1px solid rgba(60,60,67,.18);border-radius:var(--r-sm);cursor:pointer;transition:border-color var(--t-fast),box-shadow var(--t-fast)}.sched-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px #0a84ff29}.search{margin-bottom:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:12px 20px;font-size:15px;font-weight:600;font-family:inherit;border-radius:var(--r-sm);border:1px solid var(--hairline);background:#fff;color:var(--text);transition:transform var(--t-fast) var(--spring),box-shadow var(--t-fast),background var(--t-fast),opacity var(--t-fast)}.btn:hover:not(:disabled){box-shadow:var(--shadow)}.btn:active:not(:disabled){transform:scale(.96)}.btn:disabled{opacity:.45}.btn.primary{color:#fff;border:none;background:var(--accent-grad);box-shadow:0 8px 20px #0a84ff52,var(--inset-hi)}.btn.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 28px #0a84ff6b,var(--inset-hi)}.btn.primary:active:not(:disabled){transform:scale(.97)}.btn.ghost{background:transparent;border-color:transparent;color:var(--text-2)}.btn.ghost:hover:not(:disabled){background:#3c3c4314;color:var(--text);box-shadow:none}.btn.sm{min-height:36px;padding:7px 14px;font-size:13px;border-radius:var(--pill)}.row-actions{display:flex;gap:10px;align-items:center}.saved-pill{font-size:13px;font-weight:600;padding:7px 13px;border-radius:var(--pill);background:var(--success-bg);color:var(--success);white-space:nowrap;display:inline-flex;align-items:center;gap:6px;animation:saved-pop .34s var(--spring) both}.saved-pill:before{content:"✓";font-weight:800;font-size:12px}@keyframes saved-pop{0%{opacity:0;transform:translateY(5px) scale(.9)}to{opacity:1;transform:none}}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.45);border-top-color:currentColor;display:inline-block;animation:spin .7s linear infinite}.btn:not(.primary) .spinner{border-color:#3c3c434d;border-top-color:var(--text)}.alert{display:flex;align-items:center;gap:10px;padding:13px 16px;border-radius:var(--r-sm);font-size:14px;font-weight:600;animation:shake-in .4s var(--ease) both}.alert:before{content:"";width:9px;height:9px;border-radius:50%;background:currentColor;flex-shrink:0;box-shadow:0 0 0 4px color-mix(in srgb,currentColor 20%,transparent)}.alert.error{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-bd)}.alert.ok,.alert.success{background:var(--success-bg);color:var(--success);border:1px solid rgba(48,209,88,.3)}.badge{font-size:12px;padding:6px 13px;border-radius:var(--pill);font-weight:600;display:inline-flex;align-items:center;gap:7px}.badge.on{background:var(--success-bg);color:var(--success)}.badge.on:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.chip{font-size:11px;padding:3px 10px;border-radius:var(--pill);background:#3c3c431a;color:var(--text-2);font-weight:700;text-transform:uppercase;letter-spacing:.3px}.chip.wb{background:color-mix(in srgb,var(--wb) 14%,transparent);color:var(--wb)}.chip.ozon{background:color-mix(in srgb,var(--ozon) 14%,transparent);color:var(--ozon)}.tokens-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.token-card{display:flex;flex-direction:column;gap:14px}.token-head{display:flex;align-items:center;justify-content:space-between}.token-connected{display:flex;align-items:center;justify-content:space-between;gap:12px}.match-board{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:16px;align-items:start}.match-col{padding:14px;display:flex;flex-direction:column;min-width:0}.match-actions{display:grid;place-items:center;align-self:center}.col-title{font-size:13px;font-weight:700;margin-bottom:10px}.col-title.wb{color:var(--wb)}.col-title.ozon{color:var(--ozon)}.col-scroll{max-height:min(460px,62dvh);overflow-y:auto;border-radius:var(--r-sm);border:1px solid var(--hairline)}.match-col{gap:10px}.match-col .search{margin-bottom:0}.col-item{display:flex;flex-direction:column;gap:2px;width:100%;min-width:0;text-align:left;padding:10px 13px;border:none;border-bottom:1px solid var(--hairline);background:#fff;color:var(--text);min-height:46px;transition:background var(--t-fast),box-shadow var(--t-fast)}.col-item:last-child{border-bottom:none}.col-item:hover{background:#f4f7ff}.col-item.sel{background:#0a84ff1f;box-shadow:inset 3px 0 0 var(--accent)}.col-art{font-family:ui-monospace,SF Mono,monospace;font-size:12.5px;font-weight:700}.col-name{font-size:12.5px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pad{padding:16px}.pairs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:14px}.pair-card{background:#ffffffbd;border:1px solid var(--glass-border);border-radius:var(--r);box-shadow:var(--shadow);padding:16px;display:flex;flex-direction:column;gap:8px;min-width:0}.pair-side{display:flex;flex-direction:column;gap:4px;min-width:0}.pair-side>.chip{align-self:flex-start}.pair-name{font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pair-sub{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.pair-divider{display:flex;align-items:center;gap:10px;margin:4px 0}.pair-divider:before,.pair-divider:after{content:"";flex:1;height:1px;background:var(--hairline)}.pair-link-ic{color:var(--text-3);font-size:15px}.pair-foot{display:flex;align-items:center;justify-content:flex-end;margin-top:4px}.bulk-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 20px}.bulk-text{display:flex;flex-direction:column;gap:2px}.bulk-text strong{font-size:15px}.bulk-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.bulk-controls input.num{width:110px;min-height:46px}.bulk-msg{font-size:13px;font-weight:600}.bulk-msg.ok{color:var(--success)}.bulk-msg.error{color:var(--danger)}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;padding:0}.grid{width:100%;border-collapse:collapse}.grid th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.3px;color:var(--text-3);padding:9px 8px;border-bottom:1px solid var(--hairline);font-weight:600;vertical-align:bottom}.grid td{padding:10px 8px;border-bottom:1px solid var(--hairline);vertical-align:middle}.grid tbody tr:hover{background:#0a84ff0d}.grid tr:last-child td{border-bottom:none}.num-cell{font-family:ui-monospace,SF Mono,monospace;font-variant-numeric:tabular-nums;white-space:nowrap}.ellipsis{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-saved{animation:flash-ok .9s var(--ease)}.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:4px 2px}.pager-btns{display:flex;align-items:center;gap:10px}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes pop-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes flash-ok{0%{background:var(--success-bg)}to{background:transparent}}@keyframes shake-in{0%{opacity:0;transform:translate(-8px)}40%{opacity:1;transform:translate(5px)}70%{transform:translate(-3px)}to{transform:translate(0)}}@media (max-width: 980px){.match-board{grid-template-columns:minmax(0,1fr)}.match-actions .btn{width:100%}.tokens-grid{grid-template-columns:1fr}}@media (max-width: 860px){.layout{grid-template-columns:minmax(0,1fr);padding:14px;gap:14px}.side-nav{display:none}.burger{display:inline-flex}.topbar{padding:12px 16px}.page-head h2{font-size:20px}.user-row .muted{display:none}}@media (max-width: 640px){.card{padding:16px;border-radius:20px}.login-card{padding:24px}.pairs-grid{grid-template-columns:1fr}.brand{font-size:16px}.mono,.col-art,.col-name,.num-cell{font-size:14px}.chip{font-size:12px}.sync-card .btn.primary{width:100%}.bulk-controls input.num{flex:1 1 120px;width:auto}}@container (max-width: 760px){.grid thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.grid,.grid tbody,.grid tr,.grid td{display:block;width:100%}.grid tbody tr{border:1px solid var(--hairline);border-radius:var(--r-sm);padding:8px 14px;margin-bottom:10px;background:#fff9}.grid tbody tr:hover{background:#fff9}.grid td{border-bottom:1px solid var(--hairline);padding:9px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.grid td:last-child{border-bottom:none}.grid td:before{content:attr(data-label);font-size:12px;text-transform:uppercase;letter-spacing:.3px;color:var(--text-3);font-weight:600;flex-shrink:0}.grid td:not([data-label]):before{content:""}.grid td.ellipsis{max-width:none;min-width:0;white-space:normal;overflow:visible;text-align:right}.grid input.num{width:auto;flex:0 1 140px;min-width:96px;max-width:62%}}@media (pointer: coarse){.btn.sm{min-height:44px;padding:10px 16px}.toggle-chip{min-height:44px}.drawer-head .btn.sm{width:44px;min-width:44px;padding:0}.pair-sub a{display:inline-flex;align-items:center;min-height:44px;padding:2px 6px;margin:-4px 0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
