:root{--bg-base:#0e0e0e;--bg-card:#1a1a1a;--bg-card-hover:#20201f;--bg-elevated:#2c2c2c;--bg-input:#0000005c;--bg-input-focus:#00000080;--border-subtle:#48484726;--border-muted:#4848474d;--border-visible:#767575;--text-primary:#fff;--text-secondary:#adaaaa;--text-muted:#767575;--text-disabled:#484847;--accent-teal:#00e3fd;--accent-teal-muted:#00e3fd1a;--accent-purple:#b6a0ff;--accent-purple-muted:#b6a0ff1a;--accent-primary:#b6a0ff;--accent-primary-dim:#7e51ff;--accent-lime:#beee00;--accent-lime-muted:#beee001f;--accent-orange:#f97316;--accent-orange-muted:#f973161f;--accent-red:#ff6e84;--accent-red-muted:#ff6e841f;--accent-green:#beee00;--accent-green-muted:#beee001f;--sp-xs:4px;--sp-sm:8px;--sp-md:16px;--sp-lg:24px;--sp-xl:32px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 6px #0006;--shadow-lg:0 18px 48px #0000006b;--transition-fast:.15s ease;--transition-normal:.2s ease;--sidebar-w:290px;--sidebar-width-expanded:290px;--sidebar-bg-top:#131313;--sidebar-bg-bottom:#0e0e0e;--sidebar-highlight:#ffffff09;--sidebar-highlight-active:#ffffff14;--sidebar-divider:#ffffff0d;--topbar-height:56px;--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:"Sora", "Inter", sans-serif;--font-emoji:"Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", "Twemoji Mozilla", sans-serif;--font-ar:"Tajawal", "Cairo", "Segoe UI", Tahoma, "Noto Kufi Arabic", "Noto Naskh Arabic", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-sans);background:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.55;overflow:hidden}.app-bg{z-index:-2;background:radial-gradient(1100px 550px at 85% -10%,#00e3fd29,#0000 60%),radial-gradient(900px 500px at -10% 110%,#b6a0ff21,#0000 55%),linear-gradient(#101010,#0a0a0a 55%,#101010);position:fixed;inset:0}.app-bg-img{z-index:-1;opacity:.35;filter:saturate(1.05);pointer-events:none;background:url(/background.jpg) 50%/cover no-repeat fixed;position:fixed;inset:0}.app-bg:after{content:"";z-index:0;background:linear-gradient(#0e0e0e1f,#0e0e0e80);position:fixed;inset:0}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;color:#fff}a{color:var(--accent-teal);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font-family:inherit}::selection{color:#fff;background:#00e3fd4d}.emoji,.empty-icon,[class*=icon]:not(svg){font-family:var(--font-emoji);line-height:1}.emoji{vertical-align:-.15em;font-size:1.2em;display:inline-block}.emoji-sm{font-size:1em}.emoji-lg{font-size:1.7em}*{scrollbar-color:#3a3a3a #111}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#111}::-webkit-scrollbar-thumb{background:#3a3a3a;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#00e3fd}:focus-visible{outline-offset:2px;outline:2px solid #00e3fd80}.app-shell{width:100vw;height:100vh;display:flex;position:relative;overflow:hidden}.sidebar{width:var(--sidebar-w);background:linear-gradient(180deg, var(--sidebar-bg-top), var(--sidebar-bg-bottom));border-inline-end:1px solid var(--sidebar-divider);z-index:30;flex-direction:column;flex-shrink:0;display:flex;position:relative}.sidebar-brand{border-bottom:1px solid var(--border-subtle);background:linear-gradient(135deg,#b6a0ff24,#7e51ff0f 40%,#0000);align-items:center;gap:14px;min-height:62px;padding:10px 20px;display:flex;position:relative;overflow:hidden}.sidebar-brand:before{content:"";pointer-events:none;background:radial-gradient(60px at 20%,#7c5cff40 0%,#0000 70%),radial-gradient(40px at 80% 30%,#00e3fd2e 0%,#0000 70%),radial-gradient(35px at 60% 80%,#beee001f 0%,#0000 70%);animation:8s ease-in-out infinite alternate brand-auras;position:absolute;inset:0}@keyframes brand-auras{0%{opacity:.6;transform:translate(-8px)scale(1)}50%{opacity:1;transform:translate(6px)scale(1.05)}to{opacity:.7;transform:translate(-4px)scale(.98)}}.sidebar-brand:after{content:"";pointer-events:none;background:radial-gradient(2px at 15% 30%,#b6a0ff80 0%,#0000 100%),radial-gradient(1.5px at 35% 70%,#00e3fd66 0%,#0000 100%),radial-gradient(2px at 55% 20%,#beee0059 0%,#0000 100%),radial-gradient(1.5px at 75% 60%,#b6a0ff66 0%,#0000 100%),radial-gradient(2px at 90% 40%,#00e3fd4d 0%,#0000 100%);animation:6s ease-in-out infinite alternate-reverse brand-particles;position:absolute;inset:0}@keyframes brand-particles{0%{opacity:.5;transform:translateY(0)}to{opacity:.9;transform:translateY(-3px)}}.sidebar-logo{background:0 0;border-radius:50%;flex-shrink:0;place-items:center;width:46px;height:46px;animation:3s ease-in-out infinite logo-glow;display:grid;position:relative;overflow:hidden;box-shadow:0 0 12px #b6a0ff59}.sidebar-logo img{object-fit:cover;width:100%;height:100%;transition:transform .5s cubic-bezier(.34,1.56,.64,1);transform:scale(1.62)}.sidebar-brand:hover .sidebar-logo img,.login-brand:hover .sidebar-logo img{transform:scale(1.62)rotate(360deg)}.sidebar-brand:hover .sidebar-logo{box-shadow:0 0 24px #b6a0ffb3}@keyframes logo-glow{0%,to{box-shadow:0 0 10px #b6a0ff4d}50%{box-shadow:0 0 22px #b6a0ffa6}}.brand-name{font-family:"Orbitron", var(--font-display);letter-spacing:.02em;color:#fff;white-space:nowrap;background:linear-gradient(100deg,#fff 42%,#cfc3ff 50%,#fff 58%) 200% 0/220% 100%;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 10px #b6a0ff66);-webkit-background-clip:text;background-clip:text;align-items:center;gap:0;font-size:24px;font-weight:800;line-height:1.1;animation:7s ease-in-out infinite brand-sheen;display:flex}@keyframes brand-sheen{0%,55%,to{background-position:200% 0}80%{background-position:0 0}}.brand-x{flex:none;width:.92em;height:.84em;margin-left:4px;transition:transform .45s cubic-bezier(.34,1.56,.64,1);animation:2.4s ease-in-out infinite alternate x-glow;display:inline-block;position:relative}.brand-x:before,.brand-x:after{content:"";background:linear-gradient(90deg,#b6ff002e,#b6ff00 40%,#f4ffd0 50%,#00e3fd 60%,#00e3fd2e) 0 0/250% 100%;border-radius:99px;width:122%;height:.17em;transition:transform .45s cubic-bezier(.34,1.56,.64,1),filter .3s;animation:2.4s ease-in-out infinite alternate x-pulse;position:absolute;top:50%;left:50%;box-shadow:0 0 9px #b6ff004d}.brand-x:before{transform:translate(-50%,-50%)rotate(45deg)}.brand-x:after{animation-delay:-1.2s;transform:translate(-50%,-50%)rotate(-45deg)}@keyframes x-pulse{0%{filter:brightness(.92);background-position:100% 0}to{filter:brightness(1.18);background-position:0 0}}@keyframes x-glow{0%{filter:drop-shadow(0 0 2px #b6ff002e)}to{filter:drop-shadow(0 0 7px #00e3fd73)}}.sidebar-brand:hover .brand-x{filter:drop-shadow(0 0 9px #b6ff008c);animation-play-state:paused;transform:scale(1.15)}.sidebar-brand:hover .brand-x:before{transform:translate(-50%,-50%)rotate(57deg)}.sidebar-brand:hover .brand-x:after{transform:translate(-50%,-50%)rotate(-57deg)}.sidebar-brand:hover .brand-name{animation-play-state:paused}.brand-sub{font-family:var(--font-display);color:var(--text-secondary);letter-spacing:.22em;text-transform:uppercase;text-shadow:0 1px 2px #0009;white-space:nowrap;text-overflow:ellipsis;margin-top:5px;font-size:10.5px;font-weight:600;overflow:hidden}.sidebar-nav{flex-direction:column;flex:1;gap:4px;padding:14px 12px;display:flex;overflow-y:auto}.nav-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;align-items:center;gap:10px;padding:16px 6px 8px;font-size:11px;font-weight:700;display:flex}.nav-label:before,.nav-label:after{content:"";flex:1;min-width:8px;height:1px}.nav-label:before{background:linear-gradient(90deg,#0000,#ffffff1a)}.nav-label:after{background:linear-gradient(270deg,#0000,#ffffff1a)}.sidebar-nav-item{height:52px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:12px;align-items:center;gap:14px;width:100%;padding:0 14px;font-size:15px;font-weight:600;text-decoration:none;transition:background .25s,color .25s,transform .2s,box-shadow .3s,border-color .25s;display:flex;position:relative}.sidebar-nav-item:hover{color:var(--text-primary);background:#b6a0ff1f;text-decoration:none;transform:translate(3px);box-shadow:0 0 20px #b6a0ff14}.sidebar-nav-item:active{transition:transform 80ms;transform:scale(.97)}.sidebar-nav-item svg{flex-shrink:0;width:28px;height:28px}.sidebar-nav-icon{flex-shrink:0;justify-content:center;align-items:center;transition:filter .25s,transform .25s;display:inline-flex}.sidebar-nav-item:hover .sidebar-nav-icon{filter:drop-shadow(0 0 8px)brightness(1.2);transform:scale(1.08)}.sidebar-nav-item.active{color:var(--text-primary);border-inline-end:3px solid var(--accent-primary);background:#b6a0ff24;text-decoration:none;box-shadow:inset 0 0 16px #7c5cff1a}.sidebar-nav-item.active .sidebar-nav-icon{filter:drop-shadow(0 0 10px)drop-shadow(0 0 20px);transform:scale(1.1)}.sidebar-foot{border-top:1px solid var(--sidebar-divider);color:var(--text-muted);padding:14px;font-size:12px;position:relative}.sidebar-legal{border-top:1px solid var(--sidebar-divider);margin-top:8px;padding:0 12px 12px}.sidebar-legal-label{color:#6b6a68;text-transform:uppercase;letter-spacing:.14em;text-align:center;padding:11px 0 8px;font-size:10px;font-weight:700}.sidebar-legal-row{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.legal-chip{color:#8a8988;white-space:nowrap;background:#ffffff08;border:1px solid #ffffff0f;border-radius:10px;align-items:center;gap:6px;padding:7px 9px;font-size:11.5px;font-weight:600;text-decoration:none;transition:color .15s,background .15s,border-color .15s;display:inline-flex}.legal-chip svg{flex-shrink:0;width:13px!important;height:13px!important}.legal-chip span{line-height:1}.legal-chip:hover{color:#b6a0ff;background:#b6a0ff14;border-color:#b6a0ff40;text-decoration:none}.btn-press-fx{transition:transform .18s cubic-bezier(.34,1.56,.64,1),filter .18s}.btn-press-fx:active{filter:brightness(1.35);transition-duration:50ms;transform:scale(.92)}.sidebar-user{align-items:center;gap:12px;padding:8px 2px 12px;display:flex}.sidebar-user.sidebar-user-card{background:linear-gradient(160deg,#ffffff0e,#ffffff05);border:1px solid #ffffff1a;border-radius:14px;padding:10px 12px;box-shadow:inset 0 1px #ffffff0d,0 4px 14px #0000002e}.sidebar-avatar{color:#0e0e0e;background:linear-gradient(135deg,#b6a0ff,#7e51ff);border-radius:50%;flex-shrink:0;place-items:center;width:40px;height:40px;font-size:15px;font-weight:700;display:grid}.sidebar-avatar[src]{object-fit:cover;box-shadow:0 0 0 2px #b6a0ff73}.sidebar-signout{color:#8a8988;cursor:pointer;background:#94a3b817;border:none;border-radius:9px;justify-content:center;align-items:center;gap:7px;height:30px;margin:10px 0 0 auto;padding:0 14px;font-size:12px;font-weight:600;transition:background .2s,color .2s;flex-direction:row-reverse;display:inline-flex}[dir=rtl] .sidebar-signout{flex-direction:row-reverse}.sidebar-signout svg{width:11px;height:11px;transition:transform .25s cubic-bezier(.4,0,.2,1)}.sidebar-signout:hover:not(:disabled){color:#f87171;background:#ef444429}.sidebar-signout:disabled{opacity:.5;cursor:default}.main-col{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{height:var(--topbar-height);border-bottom:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:20;background:#0e0e0ebf;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:0 26px;display:flex}.topbar-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.topbar-ticker{flex:1;align-items:center;min-width:0;height:100%;display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 64px calc(100% - 28px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 64px calc(100% - 28px),#0000 100%)}.ticker-track{white-space:nowrap;will-change:transform;align-items:center;animation:76s linear infinite ticker-scroll;display:inline-flex}.ticker-item{letter-spacing:.03em;color:var(--text-secondary);text-shadow:0 1px 3px #0009;align-items:center;gap:10px;padding-right:56px;font-size:13px;font-weight:600;display:inline-flex}.ticker-dot{background:var(--accent-primary);width:6px;height:6px;box-shadow:0 0 10px var(--accent-primary);border-radius:50%;flex-shrink:0;font-style:normal}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes ticker-scroll-rtl{0%{transform:translate(-50%)}to{transform:translate(0)}}[dir=rtl] .ticker-track{animation-name:ticker-scroll-rtl}[dir=rtl] .topbar-ticker{direction:ltr}[dir=rtl] .ticker-item{direction:rtl}.icon-btn{border:1px solid var(--border-muted);width:38px;height:38px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:#ffffff0a;border-radius:8px;place-items:center;display:grid}.icon-btn:hover{color:#fff;border-color:var(--border-visible);background:#ffffff14}.icon-btn svg{width:18px;height:18px}.hamburger{display:none}.lang-item{color:#ccc;cursor:pointer;text-align:start;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;width:100%;padding:8px 12px;font-size:13px;transition:background .12s,color .12s;display:flex}.lang-item:hover{color:#fff;background:#ffffff17}.lang-item.active{color:#00e3fd;background:#00e3fd1f}.lang-item.active:hover{background:#00e3fd2e}.main{flex:1;padding:16px 14px;overflow-y:auto}.page{max-width:1440px;margin:0 auto}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:16px;display:flex}.page-title{font-family:var(--font-display);letter-spacing:-.03em;align-items:center;gap:16px;font-size:clamp(28px,4vw,42px);font-weight:700;line-height:1.05;display:flex}.title-compact{font-size:clamp(22px,2.6vw,30px)!important}.back-btn{border:1px solid var(--border);color:var(--text-secondary);background:#ffffff0a;border-radius:10px;align-items:center;justify-content:center;gap:8px;padding:7px 14px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.back-btn:hover{color:var(--text-primary);background:#ffffff17;border-color:#ffd16666}.page-title-icon{filter:drop-shadow(0 0 14px);flex-shrink:0;justify-content:center;align-items:center;font-size:36px;line-height:1;display:inline-flex}.page-title-icon svg{width:38px;height:38px;display:block}.page-title-icon img{object-fit:contain;width:38px;height:38px;display:block}.page-sub{color:var(--text-secondary);max-width:660px;margin-top:6px;font-size:14px}.card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.card-pad{padding:20px}.card-head{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.card-title{color:#fff;font-size:16px;font-weight:700}.card-body{padding:20px}.card+.card{margin-top:20px}.grid>.card+.card{margin-top:0}.grid>.card{height:100%}.grid{gap:16px;display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width:1100px){.grid-4,.grid-3,.inst-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:700px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.grid>.card{flex-direction:column;display:flex}.grid>.card .card-head{flex-shrink:0}.grid>.card .card-body{flex-direction:column;flex:1;display:flex}.grid>.card .card-body .table-wrap{flex:1}.stat-card{background:var(--bg-card);min-height:130px;padding:18px 20px;position:relative;overflow:hidden}.stat-card:after{content:"";background:var(--accent-purple-muted);filter:blur(40px);z-index:0;border-radius:50%;width:120px;height:120px;position:absolute;top:-30px;right:-30px}.stat-card>*{z-index:1;position:relative}.stat-emoji{filter:drop-shadow(0 2px 10px #0009);font-size:26px;line-height:1}.stat-label{text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);font-size:10px;font-weight:700}.stat-value{font-family:var(--font-display);color:#fff;font-variant-numeric:tabular-nums;margin-top:6px;font-size:clamp(24px,2.6vw,34px);font-weight:700}.stat-foot{color:var(--text-secondary);margin-top:4px;font-size:13px}.badge{letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;justify-content:center;line-height:1.45;gap:6px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge-green{background:var(--accent-green-muted);color:var(--accent-green)}.badge-amber{background:var(--accent-orange-muted);color:var(--accent-orange)}.badge-red{background:var(--accent-red-muted);color:var(--accent-red)}.badge-blue{background:var(--accent-teal-muted);color:var(--accent-teal)}.badge-gold{color:#ffd166;background:#ffd1661a}.badge-gray{color:var(--text-secondary);background:#adaaaa14}.badge-plain:before{display:none}.status-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.status-dot.green{background:var(--accent-green);box-shadow:0 0 8px var(--accent-green);animation:1.4s ease-in-out infinite pulse}.status-dot.amber{background:var(--accent-orange);box-shadow:0 0 8px var(--accent-orange)}.status-dot.red{background:var(--accent-red);box-shadow:0 0 8px var(--accent-red)}.status-dot.gray{background:var(--text-muted)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.35)}}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:9px 18px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.btn svg{width:16px;height:16px}.btn:hover{text-decoration:none}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.inst-card-foot .btn:not(.btn-primary):hover:not(:disabled){border-color:var(--border-visible);filter:brightness(1.1);box-shadow:0 2px 12px #00000059}.btn-primary{background:linear-gradient(135deg, var(--accent-purple), var(--accent-primary-dim));color:#0e0e0e;box-shadow:0 0 20px #7e51ff40}.btn-primary:hover:not(:disabled){filter:brightness(1.05);box-shadow:0 0 32px #7e51ff66}.btn-teal{color:var(--accent-teal);background:#00e3fd14;border:1px solid #00e3fd33;transition:all .15s}.btn-teal:hover:not(:disabled){filter:none;background:#00e3fd24;border-color:#00e3fd66;box-shadow:0 0 18px #00e3fd2e}.btn-teal:active:not(:disabled){box-shadow:none;-webkit-filter:none;background:#00e3fd24;border-color:#00e3fd66;filter:none!important}.btn-ghost{border-color:var(--border-muted);color:var(--text-primary);background:0 0}.btn-ghost:hover:not(:disabled){border-color:var(--border-visible);background:#ffffff0a}.btn-danger{background:var(--accent-red-muted);color:var(--accent-red);border-color:#ff6e844d}.btn-danger:hover:not(:disabled){background:#ff6e8433}.btn-lime{color:#141a00;background:linear-gradient(135deg,#dfff64,#beee00);box-shadow:0 0 20px #beee0038}.btn-lime:hover:not(:disabled){filter:brightness(1.05);box-shadow:0 0 32px #beee0059}.btn-green{color:#0b120d;background:linear-gradient(135deg,#4ade80,#16a34a);box-shadow:0 0 20px #22c55e40}.btn-green:hover:not(:disabled){filter:brightness(1.05);box-shadow:0 0 32px #22c55e66}.btn-green:active:not(:disabled){box-shadow:none;-webkit-filter:none;filter:none!important}.btn-sm{padding:6px 13px;font-size:13px}.btn-count:disabled{opacity:1;cursor:not-allowed}.count-num{font-variant-numeric:tabular-nums;letter-spacing:.5px;color:#fff;text-shadow:0 1px 3px #0000008c;font-size:15px;font-weight:800}.table-wrap{overflow-x:auto}table.table{border-collapse:collapse;width:100%;font-size:14.5px}.table th{text-align:left;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);border-bottom:1px solid var(--border-subtle);white-space:nowrap;padding:11px 14px;font-size:10px;font-weight:700}.table th.right{text-align:right}.table th.center,.table td.center{text-align:center}.table td{color:var(--text-secondary);vertical-align:middle;border-bottom:1px solid #4848471a;padding:12px 14px}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:#ffffff05}.table td strong{color:#fff;font-weight:600}.mono{font-family:Consolas,Menlo,monospace;font-size:13px}.field{margin-bottom:16px}.field label{color:var(--text-secondary);margin-bottom:6px;font-size:12.5px;font-weight:600;display:block}.input,.select,.textarea{border-radius:var(--radius-sm);border:1px solid var(--border-muted);background:var(--bg-input);width:100%;color:var(--text-primary);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);padding:10px 13px;font-size:14px}.input:focus,.select:focus,.textarea:focus{background:var(--bg-input-focus);border-color:#00e3fd80;outline:none;box-shadow:0 0 0 3px #00e3fd14}.input::placeholder{color:var(--text-muted)}.select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23767575' stroke-width='2'><path d='m6 9 6 6 6-6'/></svg>");background-position:right 12px center;background-repeat:no-repeat;padding-right:34px}select option{color:#e5e5e5;background:#1a1d23;padding:6px 10px}select option:disabled{color:#666}.muted{color:var(--text-muted);font-size:13px}.text-dim{color:var(--text-secondary)}.text-green{color:var(--accent-green)}.text-red{color:var(--accent-red)}.text-amber{color:var(--accent-orange)}.text-accent{color:var(--accent-teal)}.text-gold{color:#ffd166}.right{text-align:right}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:16px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.flex{align-items:center;gap:10px;display:flex}.flex-between{justify-content:space-between;align-items:center;gap:12px;display:flex}.flex-wrap{flex-wrap:wrap}.grow{flex:1}.empty-state{text-align:center;color:var(--text-muted);padding:48px 20px}.empty-state .empty-icon{filter:drop-shadow(0 4px 14px #0000008c);justify-content:center;align-items:center;margin-bottom:14px;font-size:56px;display:flex}.empty-state .empty-icon svg{width:56px;height:56px}.progress{background:#00000080;border-radius:999px;height:8px;overflow:hidden}.progress>i{background:linear-gradient(135deg, var(--accent-purple), var(--accent-primary-dim));border-radius:999px;height:100%;display:block;box-shadow:0 0 12px #b6a0ff59}.toggle{cursor:pointer;flex-shrink:0;width:42px;height:24px;position:relative}.toggle input{opacity:0;width:0;height:0}.toggle .track{transition:background var(--transition-fast);background:#ffffff24;border-radius:999px;position:absolute;inset:0}.toggle .track:after{content:"";width:18px;height:18px;transition:transform var(--transition-fast);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #0006}.toggle input:checked+.track{background:var(--accent-lime);border-color:var(--accent-lime)}.toggle input:checked+.track:after{background:#1a1a1a;transform:translate(18px)}.tabs{border-bottom:1px solid var(--border-subtle);gap:2px;margin-bottom:20px;display:flex;overflow-x:auto}.tab-btn{cursor:pointer;color:var(--text-secondary);white-space:nowrap;transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 18px;font-size:14px;font-weight:600}.tab-btn:hover{color:#fff}.tab-btn.active{color:#fff;border-bottom-color:var(--accent-primary)}.alert{border-radius:var(--radius-sm);align-items:flex-start;gap:10px;margin-bottom:14px;padding:12px 16px;font-size:14px;display:flex}.alert-error{background:var(--accent-red-muted);color:#ffb3bf;border:1px solid #ff6e844d}.alert-success{background:var(--accent-green-muted);color:#dfff64;border:1px solid #beee004d}.alert-info{background:var(--accent-teal-muted);color:#7fe9ff;border:1px solid #00e3fd4d}.alert-amber{background:var(--accent-orange-muted);color:#ffcf8a;border:1px solid #f973164d}.spinner{border:3px solid #b6a0ff33;border-top-color:var(--accent-primary);border-radius:50%;width:34px;height:34px;margin:40px auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.center-load{place-items:center;padding:50px 0;display:grid}.avatar-sm{color:#fff;background:linear-gradient(135deg,#b6a0ff66,#7e51ff66);border-radius:8px;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:grid}.row-actions{opacity:0;transition:opacity var(--transition-fast)}tr:hover .row-actions,.row:hover .row-actions{opacity:1}.link-btn{color:var(--accent-teal);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;justify-content:center;gap:5px;padding:2px 6px;font-size:13px;font-weight:600;transition:color .2s,transform .15s;display:inline-flex}.link-btn svg{flex-shrink:0;width:13px;height:13px}.link-btn:hover{text-decoration:underline}.link-btn:active{transform:scale(.92)}.copy-ico{display:inline-flex}.link-btn.copied{color:#22c55e;text-decoration:none}.link-btn.copied .copy-ico{animation:.4s cubic-bezier(.34,1.56,.64,1) copyPop}@keyframes copyPop{0%{opacity:0;transform:scale(.3)rotate(-30deg)}60%{opacity:1;transform:scale(1.3)rotate(8deg)}to{opacity:1;transform:scale(1)rotate(0)}}.link-btn.danger{color:var(--accent-red)}.rename-btn{transition:opacity var(--transition-fast)}.toast-wrap{bottom:22px;z-index:100;flex-direction:column;gap:10px;display:flex;position:fixed;inset-inline-end:22px}.toast{border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border-muted);box-shadow:var(--shadow-lg);color:var(--text-primary);animation:slideIn var(--transition-fast);align-items:center;gap:10px;max-width:360px;padding:12px 18px;font-size:14px;font-weight:500;display:flex}.toast.success{border-color:#beee0066}.toast.error{border-color:#ff6e8466}.toast.warn{background:linear-gradient(135deg,#f59e0b24,#b453091a);border-color:#f59e0b8c}.toast.warn:before{content:"⚠️";font-size:15px}@keyframes slideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.conn-banner{border-radius:var(--radius-md);align-items:flex-start;gap:12px;margin-bottom:14px;padding:12px 16px;font-size:13.5px;line-height:1.5;display:flex}.conn-banner b{font-size:14px;display:block}.conn-banner p{opacity:.75;margin:2px 0 0;font-size:12.5px}.conn-restoring{color:#cfe3ff;background:#3b82f61a;border:1px solid #3b82f659}.conn-delayed{color:#ffe4b8;background:#f59e0b17;border:1px solid #f59e0b59}.conn-spin{border:2px solid #ffffff2e;border-top-color:#6ea8ff;border-radius:50%;flex-shrink:0;width:16px;height:16px;margin-top:2px;animation:.8s linear infinite conn-rot}.conn-dot{background:#f5b04a;border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:5px;animation:1.6s ease-in-out infinite conn-pulse;box-shadow:0 0 8px #f5b04ab3}@keyframes conn-rot{to{transform:rotate(360deg)}}@keyframes conn-pulse{0%,to{opacity:1}50%{opacity:.45}}.modal-overlay{z-index:90;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--bg-card);border:1px solid var(--border-muted);border-radius:var(--radius-lg);width:100%;max-width:560px;box-shadow:var(--shadow-lg);max-height:88vh;animation:slideIn var(--transition-fast);overflow-y:auto}.modal-head{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.modal-title{font-size:16px;font-weight:700}.modal-body{padding:22px}.modal-foot{border-top:1px solid var(--border-subtle);justify-content:flex-end;gap:10px;padding:16px 22px;display:flex}.login-wrap{place-items:center;width:100%;height:100svh;padding:24px 20px;display:grid;position:relative;overflow:hidden auto}.login-bg{z-index:-1;background:radial-gradient(1000px 500px at 70% -10%,#00e3fd29,#0000 55%),radial-gradient(800px 500px at -10% 110%,#b6a0ff24,#0000 50%),#0e0e0e;position:absolute;inset:0}.login-bg-img{z-index:-1;opacity:.3;filter:saturate(1.05);background:url(/background.jpg) 50%/cover no-repeat fixed;position:absolute;inset:0}.login-card{border:1px solid var(--border-muted);border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#1a1a1ae6;padding:34px 32px}.login-logo{background:0 0;border-radius:50%;place-items:center;width:60px;height:60px;margin:0 auto 18px;animation:3s ease-in-out infinite logo-glow;display:grid;overflow:hidden;box-shadow:0 0 12px #b6a0ff59}.login-logo img{object-fit:cover;width:100%;height:100%;transition:transform .5s cubic-bezier(.34,1.56,.64,1);transform:scale(1.62)}.login-logo:hover img{transform:scale(1.62)rotate(360deg)}.login-logo:hover{box-shadow:0 0 24px #b6a0ffb3}.login-title{text-align:center;font-family:var(--font-display);font-size:26px;font-weight:700}.login-sub{text-align:center;color:var(--text-secondary);margin:8px 0 28px;font-size:14px}.login-tabs{border:1px solid var(--border-muted);background:#ffffff0a;border-radius:10px;gap:6px;margin-bottom:16px;padding:4px;display:flex}.login-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:1;padding:9px 0;font-weight:600;transition:all .15s}.login-tab:hover{color:var(--text-primary)}.login-tab.active{background:var(--accent-primary);color:#0a0a0a}.login-layout{grid-template-columns:1fr 432px;align-items:center;gap:28px;width:100%;max-width:960px;min-height:auto;display:grid}.login-left{flex-direction:column;gap:20px;display:flex}.login-brand{align-items:center;gap:14px;display:flex}.login-brand-logo{object-fit:cover;border-radius:10px;width:42px;height:42px}.login-brand-name{font-family:var(--font-display);color:#fff;letter-spacing:.02em;font-size:22px;font-weight:800}.login-hero-title{font-family:var(--font-display);background:linear-gradient(135deg,#fff 0%,#b6a0ff 50%,#00e3fd 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;max-width:560px;font-size:52px;font-weight:800;line-height:1.1}.login-hero-sub{color:var(--text-secondary);max-width:440px;margin:0;font-size:16px;line-height:1.6}[dir=rtl] .flip-rtl{display:inline-block;transform:scaleX(-1)}.login-features{flex-direction:column;gap:16px;display:flex}.login-feature{border:1px solid var(--border-muted);background:#ffffff08;border-radius:12px;align-items:flex-start;gap:14px;padding:14px 16px;transition:all .2s;display:flex}.login-feature:hover{background:#b6a0ff0f;border-color:#b6a0ff33;transform:translate(4px)}.login-feature-icon{background:#b6a0ff14;border-radius:10px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.login-feature-icon img{object-fit:contain;width:24px;height:24px}.login-feature-title{color:#fff;margin-bottom:2px;font-size:14px;font-weight:700}.login-feature-desc{color:var(--text-secondary);font-size:12.5px;line-height:1.5}.login-stats{gap:24px;display:flex}.login-stat{flex-direction:column;display:flex}.login-stat-value{font-family:var(--font-display);color:#fff;font-size:20px;font-weight:800}.login-stat-label{color:var(--text-muted);margin-top:1px;font-size:12px}.login-right{justify-content:center;display:flex}.login-card-new{border:1px solid var(--border-muted);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#121216eb;border-radius:18px;flex-direction:column;align-items:stretch;gap:18px;width:100%;padding:28px 28px;display:flex;position:relative;box-shadow:0 24px 80px #00000080,0 0 0 1px #b6a0ff14}.login-card-glow{pointer-events:none;background:radial-gradient(circle,#b6a0ff33 0%,#0000 70%);border-radius:50%;width:200px;height:120px;position:absolute;top:-60px;left:50%;transform:translate(-50%)}.login-card-logo{object-fit:cover;z-index:1;border-radius:50%;width:56px;height:56px;align-self:center;position:relative;box-shadow:0 4px 20px #b6a0ff4d}.login-card-title{font-family:var(--font-display);color:#fff;z-index:1;margin:0;font-size:22px;font-weight:700;text-align:center;position:relative}.login-card-sub{color:var(--text-secondary);text-align:center;z-index:1;margin:0;font-size:13px;line-height:1.6;position:relative}.login-discord-btn{color:#fff;cursor:pointer;z-index:1;background:#5865f2;border:none;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;height:50px;font-size:15px;font-weight:700;transition:all .2s;display:flex;position:relative;box-shadow:0 4px 16px #5865f259}.login-discord-btn:hover:not(:disabled){background:#4752c4;transform:translateY(-2px);box-shadow:0 8px 28px #5865f273}.login-discord-btn:disabled{opacity:.6;cursor:not-allowed}.login-discord-btn.login-discord-ghost{color:var(--text-dim);border:1px solid var(--border-muted);box-shadow:none;background:0 0}.login-discord-btn.login-discord-ghost:hover:not(:disabled){color:#fff;box-shadow:none;background:#ffffff0d;transform:none}.login-discord-btn.login-discord-green{color:#fff;background:linear-gradient(135deg,#22c55e,#15803d);border:none;box-shadow:0 6px 20px #22c55e4d}.login-discord-btn.login-discord-green:hover:not(:disabled){background:linear-gradient(135deg,#2bd96b,#17924a);transform:translateY(-2px);box-shadow:0 8px 28px #22c55e73}.login-join-alert{box-sizing:border-box;color:#fecaca;text-align:start;z-index:1;background:linear-gradient(135deg,#ef44442b,#7f1d1d42);border:1px solid #ef444480;border-radius:12px;align-items:center;gap:11px;width:100%;margin:2px 0 8px;padding:13px 15px;font-size:12.8px;font-weight:600;line-height:1.6;display:flex;position:relative;box-shadow:inset 0 1px #ffffff0d,0 4px 18px #ef44441f}.login-join-alert .ja-ico{filter:drop-shadow(0 0 7px #ef444499);flex-shrink:0;font-size:19px}.login-join-alert>span:last-child{text-wrap:pretty;flex:1}.login-discord-icon{flex-shrink:0;width:24px;height:24px}.login-card-divider{background:var(--border-muted);z-index:1;width:100%;height:1px;position:relative}.login-card-perks{z-index:1;flex-direction:column;gap:10px;width:100%;display:flex;position:relative}.login-perk{color:var(--text-secondary);align-items:center;gap:8px;font-size:13px;display:flex}.login-card-footer{color:var(--text-muted);text-align:center;z-index:1;margin:8px 0 0;font-size:11px;position:relative}.login-card-footer a{color:var(--accent-primary);text-decoration:none}.login-card-footer a:hover{text-decoration:underline}@media (max-width:820px){.login-layout{grid-template-columns:1fr;gap:32px;max-width:440px;min-height:auto}.login-hero-title{font-size:38px}.login-stats{justify-content:center}.login-features{display:none}.login-bg-img{z-index:-1;opacity:.3;filter:saturate(1.05);background:url(/background.jpg) 50%/cover no-repeat fixed;position:absolute;inset:0}.login-wrap{padding-top:max(24px, env(safe-area-inset-top));padding-bottom:max(24px, env(safe-area-inset-bottom));place-items:center}}.profile-tab{border:1px solid var(--border-muted);color:var(--text-secondary);cursor:pointer;background:#ffffff08;border-radius:10px;align-items:center;justify-content:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;transition:all .15s;display:inline-flex}.info-row{border-bottom:1px solid var(--border-subtle);justify-content:space-between;gap:12px;padding:10px 0;display:flex}.info-row:last-child{border-bottom:0}.info-row span:first-child{text-transform:capitalize}.profile-tabs{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.profile-tab{cursor:pointer;border:1px solid var(--border-muted);color:var(--text-secondary);background:#ffffff08;border-radius:10px;align-items:center;justify-content:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;transition:all .15s;display:inline-flex}.profile-tab:hover{color:var(--text-primary);border-color:#00e3fd59}.profile-tab.active{background:linear-gradient(135deg, var(--accent-primary), var(--accent-purple));color:#0a0a0a;border-color:#0000}.profile-tab-ic{display:inline-flex}.profile-tab-ic svg{width:17px;height:17px}.profile-col{margin-inline:auto;max-width:760px;margin-top:clamp(28px,9vh,110px)}.profile-tab-panel{align-content:start;gap:14px;min-height:420px;display:grid}.profile-tab-panel .grid.grid-2{grid-template-columns:1fr}.aff-hero{border-radius:var(--radius-lg);background:radial-gradient(560px 190px at 12% -45%, #b6a0ff33, transparent 62%), radial-gradient(480px 210px at 96% -35%, #00e3fd24, transparent 62%), var(--bg-card);border:1px solid #b6a0ff52;padding:16px 18px}.aff-hero-code{color:#e9ddff;background:#b6a0ff26;border:1px solid #b6a0ff6b;border-radius:8px;flex-shrink:0;align-items:center;justify-content:center;line-height:1.45;gap:6px;padding:4px 10px;font-family:JetBrains Mono,Consolas,monospace;font-size:12.5px;font-weight:700;display:inline-flex}[dir=rtl] .aff-hero-code{direction:ltr}.aff-hero-link{background:#060a128c;border:1px solid #ffffff14;border-radius:10px;align-items:center;gap:10px;margin-top:12px;padding:8px 12px;display:flex}.aff-kpis{grid-template-columns:repeat(4,1fr);grid-auto-rows:1fr;gap:12px;display:grid}.aff-duo{grid-template-columns:1.15fr 1fr;gap:14px;display:grid}.aff-kpis>.card+.card,.aff-duo>.card+.card{margin-top:0}.aff-duo>.card{flex-direction:column;display:flex}.aff-duo>.card .card-body:last-child{flex:1}@media (max-width:860px){.aff-kpis{grid-template-columns:repeat(2,1fr)}.aff-duo{grid-template-columns:1fr}}.aff-kpi{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:128px;display:flex;position:relative;overflow:hidden;padding:14px 12px!important}.aff-kpi:after{content:"";background:var(--kpi-c,#b6a0ff);opacity:.6;height:3px;position:absolute;bottom:0;left:0;right:0}.aff-kpi-ico{width:34px;height:34px;color:var(--kpi-c,#b6a0ff);background:color-mix(in srgb, var(--kpi-c,#b6a0ff) 14%, transparent);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.aff-kpi-ico svg{width:18px;height:18px}.aff-kpi-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);white-space:nowrap;justify-content:center;align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex}.aff-kpi-value{letter-spacing:-.3px;font-size:21px;font-weight:800;line-height:1.15}.aff-kpi-foot{color:var(--text-dim);margin-top:2px;font-size:11.5px}.card-title svg{vertical-align:-2px;opacity:.85;width:15px;height:15px;margin-inline-end:7px}.aff-tier-row{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;display:flex}.aff-tier-row:last-child{border-bottom:none}.aff-table-card+.aff-table-card{margin-top:0}.btn .spin-sm{border:2px solid #0003;border-top-color:currentColor;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}.config-workspace{flex-direction:column;gap:20px;min-width:0;display:flex}.config-workspace-header{border-bottom:1px solid var(--border-subtle);flex-direction:column;gap:12px;padding-bottom:16px;display:flex;position:relative}.config-workspace-header-row{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.config-workspace-heading{flex-direction:column;gap:5px;min-width:0;display:flex}.config-restart-hint{color:#00e3fd8c;letter-spacing:.02em;font-size:12px;font-weight:600}.config-workspace-tools{flex-direction:column;flex:0 340px;align-items:stretch;gap:9px;width:min(100%,340px);display:flex}.config-workspace-layout{grid-template-columns:minmax(200px,250px) minmax(0,1fr);align-items:start;gap:24px;min-width:0;display:grid}.config-sidebar{background:var(--bg-card);border:1px solid #ffffff0f;border-radius:8px;min-width:0;padding:8px;position:sticky;top:16px}.config-category-nav{flex-direction:column;gap:2px;display:flex}.config-category-btn{border:none;width:100%;min-height:44px;color:var(--text-secondary);text-align:start;cursor:pointer;font:inherit;transition:all var(--transition-fast);background:0 0;border-inline-start:3px solid #0000;border-start-end-radius:6px;border-end-end-radius:6px;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px 9px 16px;display:flex}.config-category-btn:hover{color:var(--text-primary);background:#ffffff0a;border-inline-start-color:#ffffff1a}.config-category-btn.active{color:#fff;background:linear-gradient(90deg,#00e3fd0f,#00e3fd04);border-inline-start-color:#00e3fd80}.config-category-label{letter-spacing:.01em;white-space:nowrap;min-width:0;font-size:14px;font-weight:600}.config-category-count{min-width:26px;height:22px;color:var(--text-muted);font-variant-numeric:tabular-nums;background:#ffffff0f;border-radius:999px;justify-content:center;align-items:center;line-height:1.4;padding:0 7px;font-size:11px;font-weight:600;display:inline-flex}.config-category-btn.active .config-category-count{color:#00e3fdb3;background:#00e3fd14}.config-category-content{flex-direction:column;gap:20px;min-width:0;display:flex}.config-category-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.config-field-count{color:var(--text-muted);white-space:nowrap;flex:none;padding-top:2px;font-size:12px}.config-search-summary{color:var(--text-muted);flex-wrap:wrap;align-items:baseline;gap:4px;padding:0 2px;font-size:13px;display:flex}.config-search-summary strong{color:var(--text-primary)}.config-empty-search{text-align:center;flex-direction:column;align-items:stretch;gap:7px;padding-block:42px;display:flex}.section-card{position:relative;background:var(--bg-card);border:1px solid #ffffff12;border-top:2px solid #00e3fd4d;border-radius:10px;padding:0;overflow:visible}.section-card.config-workspace-header{overflow:visible}.section-card>:not(.config-category-header):not(.section-subtitle):not(.gather-section-inner):not(.gather-section-desc):not(.commander-slot-list):not(.config-inline-note){padding-left:20px;padding-right:20px}.section-card>.config-category-header{padding:18px 20px 4px}.section-card>.section-subtitle{color:#ffffff94;padding:0 20px 14px;font-size:13.5px;line-height:1.55}.section-card>.stack-md>*{padding-left:20px;padding-right:20px}.section-title{color:var(--text-primary);letter-spacing:-.01em;white-space:nowrap;margin:0;font-size:17px;font-weight:700}.input-size-sm{height:36px;padding:0 12px;font-size:13.5px}.settings-item{transition:background var(--transition-fast);background:#00000026;border-bottom:1px solid #ffffff0d;flex-direction:column;align-items:stretch;gap:8px;padding:14px 20px;display:flex}.settings-item:last-child{border-bottom:none}.settings-item:hover{background:#ffffff03}.settings-item-label{color:var(--text-primary);font-size:15px;font-weight:600}.settings-item-hint{color:var(--text-muted);font-size:13px;line-height:1.5}.settings-item .input,.settings-item .select{flex-shrink:0;align-self:flex-start;width:auto;max-width:260px}.settings-item>.input,.settings-item>.select{max-width:300px}.settings-item.disabled{opacity:.5}.settings-info{flex-direction:column;gap:2px;min-width:0;display:flex}.settings-label{color:var(--text-primary);flex-wrap:wrap;align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.settings-description{color:#ffffff94;font-size:13px;line-height:1.5}.gather-order-row{background:#00000040;border:1px solid #ffffff0f;border-radius:8px;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.gather-order-resource{align-items:center;gap:10px;min-width:100px;display:flex}.gather-order-label{font-size:14px;font-weight:600}.gather-order-controls{align-items:center;gap:10px;display:inline-flex}.gather-order-count{text-align:center;min-width:28px;font-size:15px;font-weight:700;display:inline-block}.gather-order-btn{width:30px;height:30px;color:var(--text-primary);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast);background:#ffffff0f;border:1px solid #ffffff1a;border-radius:6px;justify-content:center;align-items:center;line-height:1;font-size:16px;display:inline-flex}.gather-order-btn:hover:not(:disabled){background:#00e3fd14;border-color:#00e3fd66}.gather-order-btn:disabled{opacity:.3;cursor:not-allowed}.gather-order-list{flex-direction:column;gap:6px;padding:14px 20px;display:flex}.gather-order-total{position:absolute;top:14px;right:18px;z-index:2;color:var(--text-muted);background:linear-gradient(135deg,rgba(0,227,253,.10),rgba(182,160,255,.10));border:1px solid rgba(0,227,253,.14);border-radius:20px;justify-content:space-between;align-items:center;padding:6px 14px;font-size:13px;display:flex;box-shadow:0 2px 8px rgba(0,0,0,.12)}.gather-order-total-count{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.gather-order-total-count.over{color:var(--accent-red)}.gather-section-inner{flex-direction:column;gap:0;display:flex}.gather-section-desc{color:#ffffff94;padding:14px 20px 0;font-size:13.5px;line-height:1.55}.gather-section-desc p{margin:0}.commander-slot-row{background:#00000040;border:1px solid #ffffff0f;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.commander-slot-label{flex-direction:column;flex:none;gap:3px;font-weight:500;display:flex}.commander-slot-march{color:var(--text-primary);font-size:14px;font-weight:600}.commander-slot-pit-check{color:var(--text-muted);cursor:pointer;align-items:center;gap:5px;font-size:11px;display:flex}.commander-slot-pit-check input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent-teal)}.commander-slot-list{flex-direction:column;gap:6px;padding:14px 20px;display:flex}.commander-picker{flex-wrap:wrap;flex:auto;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.commander-picker-pair{align-items:center;gap:6px;display:flex}.commander-thumb{object-fit:contain;border-radius:5px;flex-shrink:0;width:26px;height:26px}.num-input-group{align-items:center;gap:8px;display:inline-flex}.num-input-suffix{color:var(--text-muted);white-space:nowrap;font-size:12px}.config-inline-note{color:var(--text-muted);padding:0 20px 12px;font-size:12.5px;font-style:italic}.config-account-chip{border:1px solid var(--border-subtle);background:#0000004d;border-radius:6px;align-items:center;justify-content:center;gap:8px;margin-top:4px;padding:6px 14px;font-size:13px;display:inline-flex}.config-account-chip-email{color:var(--text-primary);font-weight:600}.config-account-chip-inst{color:var(--text-muted)}.save-status-wrap{height:22px;position:relative}.config-save-inline{align-items:center;gap:6px;min-height:18px;margin-top:2px;display:inline-flex}.config-save-bottom{bottom:16px;position:absolute;inset-inline-start:20px}.save-status{text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;font-size:12px;font-weight:600}.save-status.saving{color:var(--text-secondary)}.save-status.saved{color:#22c55e}.save-status.error{color:var(--accent-red)}.tier-pill{text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;border-radius:999px;align-items:center;justify-content:center;gap:5px;padding:3px 10px;font-size:11px;font-weight:800;line-height:1.45;display:inline-flex}.pill-ico{filter:drop-shadow(0 1px 2px #00000073);font-size:11px;line-height:1}.tier-pill.pro{color:#1c1405;font-family:var(--font-display);background:linear-gradient(135deg,#fff3c4 0%,#fcd34d 50%,#f0b429 100%);border:1px solid #ffe082bf;box-shadow:0 0 12px #fcd34d59,inset 0 1px #ffffffa6}.tier-pill.basic{color:#f1f5f9;background:#94a3b824;border:1px solid #94a3b873}.sidebar-badges .tier-pill.basic{text-shadow:0 1px 2px #0009}.tier-pill.basic .pill-ico{filter:sepia()saturate(6)hue-rotate(-12deg)brightness(1.25)drop-shadow(0 0 4px #facc158c)}.tier-pill.trial-plan{color:#fffb00;font-family:var(--font-display);background:linear-gradient(135deg,#fffb00 0%,#facc15 50%,#eab308 100%);border:1px solid #ffffffcc;box-shadow:0 0 18px #facc15cc,inset 0 1px #ffffffcc}.tier-pill.vip-plan{color:#241a02;font-family:var(--font-display);background:linear-gradient(135deg,#fef08a 0%,#facc15 50%,#d97706 100%);border:1px solid #fef08acc;box-shadow:0 0 14px #facc1573,inset 0 1px #ffffffa6}.tier-pill.owner-plan{color:#2a0606;font-family:var(--font-display);background:linear-gradient(135deg,#fecaca 0%,#ef4444 55%,#b91c1c 100%);border:1px solid #fecacabf;box-shadow:0 0 12px #ef444466,inset 0 1px #fff9}.tier-pill.gembot-plan{color:#03252b;font-family:var(--font-display);background:linear-gradient(135deg,#a5f3fc 0%,#00e3fd 55%,#0891b2 100%);border:1px solid #a5f3fcbf;box-shadow:0 0 12px #00e3fd59,inset 0 1px #fff9}.tier-pill.buildbot-plan{color:#150a2b;font-family:var(--font-display);background:linear-gradient(135deg,#ddd2ff 0%,#b6a0ff 55%,#8b5cf6 100%);border:1px solid #ddd2ffbf;box-shadow:0 0 12px #b6a0ff66,inset 0 1px #fff9}.sidebar-badges{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:3px 10px;width:100%;margin-top:4px;display:flex}.sidebar-badges .tier-pill{letter-spacing:.05em;border-radius:0;gap:4px;font-size:10px;font-weight:800;box-shadow:none!important;background:0 0!important;border:none!important;padding:0!important}.sidebar-badges .pill-ico{filter:none;font-size:11px}.sidebar-badges .tier-pill img{width:11px!important;height:11px!important}.sidebar-badges .tier-pill.owner-plan{color:#f87171;text-shadow:0 0 10px #f8717166}.sidebar-badges .tier-pill.vip-plan{color:#facc15;text-shadow:0 0 10px #facc1559}.sidebar-badges .tier-pill.trial-plan{color:#fffb00!important;text-shadow:0 0 10px #facc15cc!important}.sidebar-badges .tier-pill.gembot-plan{color:#22d3ee;text-shadow:0 0 10px #22d3ee59}.sidebar-badges .tier-pill.buildbot-plan{color:#c4b5fd;text-shadow:0 0 10px #c4b5fd59}.sidebar-badges .tier-pill.basic{color:#94a3b8;text-shadow:none}.sidebar-user-card>div:last-child{flex:auto;min-width:0}.coming-soon-pill{text-transform:uppercase;letter-spacing:.06em;color:#ffd166;background:#ffd1660f;border:1px solid #ffd16659;border-radius:4px;margin-left:0;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.cfg-row{border-bottom:1px solid #94a3b81f;flex-direction:column;align-items:flex-start;gap:3px;padding:9px 0;display:flex}.cfg-row:last-child{border-bottom:none;padding-bottom:2px}.cfg-row .muted{text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-size:11px}.cfg-row>span:last-child{color:#e2e8f0;font-size:14px;font-weight:600}.res-icon,.troop-icon{object-fit:contain;flex-shrink:0;width:28px;height:28px}.icon-btn-sm{border-radius:6px;width:30px;height:30px}.icon-btn-sm svg{width:15px;height:15px}.news-add{flex-wrap:wrap;margin-bottom:14px}.news-add .btn{flex-shrink:0}.news-admin-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.news-admin-row{border:1px solid var(--border-subtle);background:#0000004d;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;display:flex}.news-admin-row .input{height:34px}.news-drag{color:var(--text-muted);cursor:grab;flex-shrink:0;display:inline-flex}.news-drag svg{width:16px;height:16px}.news-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.news-dot.on{background:#34d399;box-shadow:0 0 8px #34d399b3}.news-dot.off{background:#666}.news-text{text-overflow:ellipsis;flex:1;min-width:0;font-size:14px;overflow:hidden}.news-actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.news-actions .icon-btn:disabled{opacity:.3;cursor:default}.news-actions .icon-btn.danger{color:var(--accent-red,#ff6e84)}@media (max-width:640px){.news-admin-row{flex-wrap:wrap}.news-actions{order:10;justify-content:flex-end;width:100%}}.fb-stat-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.fb-stat{min-height:108px}.fb-stat .stat-label{letter-spacing:.1em;font-size:13px}.fb-stat .stat-value{font-size:18px}.fb-stat .stat-foot{font-size:12px}.license-card .stat-value{font-size:13px}.inst-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.inst-card{border:1px solid var(--border-subtle);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background:linear-gradient(#ffffff09,#ffffff04);border-radius:12px;flex-direction:column;gap:0;display:flex;overflow:hidden}.inst-card:hover{border-color:var(--border-visible);box-shadow:0 4px 18px #00000040}.inst-card-top{justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px 10px;display:flex}.inst-name{text-overflow:ellipsis;white-space:nowrap;max-width:220px;display:block;overflow:hidden}.inst-card-body{border-top:1px solid var(--border-subtle);flex-direction:column;flex:1;gap:10px;padding:8px 16px 12px;font-size:13px;display:flex}.inst-card-foot{border-top:1px solid var(--border-subtle);background:#00000040;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex}.inst-card-foot .btn{flex-shrink:0}.seat-bar{background:#ffffff14;border-radius:999px;height:6px;overflow:hidden}.seat-bar-fill{background:linear-gradient(90deg,#00e3fd,#b6a0ff);border-radius:999px;height:100%;transition:width .4s;box-shadow:0 0 8px #00e3fd80}.license-bar{background:#ffffff14;border-radius:999px;height:6px;overflow:hidden}.license-bar-fill{border-radius:999px;height:100%;transition:width .4s}.license-bar-fill--danger{background:linear-gradient(90deg,#ef4444,#f87171);position:relative;overflow:hidden}.license-bar-fill--danger:after{content:"";border-radius:inherit;background:repeating-linear-gradient(115deg,#ffffff4d 0 8px,#fff0 8px 16px) 0 0/34px 100%;animation:1s linear infinite license-stripes;position:absolute;inset:0}@keyframes license-stripes{0%{background-position:0 0}to{background-position:34px 0}}.license-bar-fill--danger-low{animation:1.1s ease-in-out infinite license-danger-pulse}@keyframes license-danger-pulse{0%,to{opacity:1}50%{opacity:.5}}.renew-link{color:var(--accent-teal);white-space:nowrap;font-size:12px;font-weight:700;text-decoration:none}.renew-link:hover{text-decoration:underline}.worker-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.worker-dot.on{background:#34d399;animation:1.4s ease-in-out infinite pulse;box-shadow:0 0 8px #34d399b3}.worker-dot.off{background:#666}.live-dot{background:#34d399;border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:1.4s ease-in-out infinite pulse;box-shadow:0 0 10px #34d399cc}.log-tail{scroll-behavior:smooth}.logs-head{flex-wrap:wrap;row-gap:4px}.logs-head .card-title{font-size:14px}.logs-tail-info{white-space:nowrap;align-items:center;gap:5px;font-size:12.5px;display:inline-flex}.log-count{text-align:center;font-variant-numeric:tabular-nums;min-width:22px;display:inline-block}.log-count.zero{color:var(--accent-teal)}.log-line{border-bottom:1px solid #94b8ff12;grid-template-columns:auto auto minmax(0,1fr);align-items:baseline;gap:2px 10px;padding:5px 0;line-height:21px;animation:.25s both slideIn;display:grid}.log-line:last-child{border-bottom:none}.log-time{white-space:nowrap;font-variant-numeric:tabular-nums}.log-level{text-transform:uppercase;letter-spacing:.04em;min-width:38px;font-size:11px}.log-msg{color:#cbd5e1;overflow-wrap:anywhere}@media (max-width:640px){.log-line{grid-template-columns:auto minmax(0,1fr);gap:1px 8px;padding:6px 0}.log-time{font-size:11px}.log-msg{grid-column:1/-1}.logs-head{padding:12px 14px}.logs-head .card-title{font-size:13px}.logs-tail-info{font-size:11.5px}}@media (max-width:700px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-grid .fb-stat,.stat-grid .stat-card{min-height:92px;padding:13px 14px}.stat-grid .fb-stat .stat-label{letter-spacing:.06em;font-size:10.5px}.stat-grid .fb-stat .emoji-lg{font-size:19px!important}}.stat-ico{flex:0 0 60px;justify-content:center;align-items:center;width:60px;height:60px;display:flex}.stat-ico img{object-fit:contain;width:100%;height:100%}.stat-ico .emoji-lg{line-height:1;font-size:46px!important}.fleet-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:stretch;gap:16px;display:grid}.ov-bot-row{cursor:pointer;border-bottom:1px solid #94b8ff14;border-radius:8px;align-items:center;gap:12px;min-width:0;padding:11px 2px;text-decoration:none;transition:background .15s;display:flex}.ov-bot-row:hover,.ov-bot-row:focus-visible{background:#ffffff0a;text-decoration:none!important}.ov-bot-row:hover .ov-bot-name{color:#00e3fd}.ov-bot-row:last-child{border-bottom:none}.ov-bot-icon{flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.ov-bot-main{flex-direction:column;flex:auto;gap:3px;min-width:0;display:flex}.ov-bot-top{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.ov-bot-name{text-overflow:ellipsis;white-space:nowrap;color:#fff;min-width:0;font-size:14px;font-weight:600;overflow:hidden}.ov-bot-top>:last-child{flex-shrink:0}.ov-bot-meta{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.ov-sess-row{border-bottom:1px solid #94b8ff14;align-items:center;gap:12px;min-width:0;padding:11px 2px;display:flex}.ov-sess-row:last-child{border-bottom:none}.ov-sess-main{flex-direction:column;flex:auto;gap:3px;min-width:0;display:flex}.ov-sess-top{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.ov-sess-device{text-overflow:ellipsis;white-space:nowrap;color:#fff;min-width:0;font-size:14px;font-weight:600;overflow:hidden}.ov-sess-top>:last-child{flex-shrink:0;font-size:12px}.ov-sess-meta{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.ov-sess-row>.badge,.ov-sess-row>span:last-child{flex-shrink:0}@media (max-width:640px){.page-head>.btn{border-radius:9px;flex-shrink:0;gap:6px;min-height:0;padding:7px 12px;font-size:12.5px}.page-head>.btn svg{width:14px;height:14px}}@media (max-width:700px){.ov-pair{gap:24px}.ov-pair>.card{height:auto;display:block}.ov-pair>.card .card-body{flex:none;display:block}}.acc-head{flex-wrap:wrap;align-items:center;gap:6px 12px;margin-bottom:10px;display:flex}.acc-head .acc-id{flex:0 auto;align-items:center;gap:10px;min-width:0;display:flex}.acc-tools{display:contents}.acc-chips{white-space:nowrap;align-items:center;gap:8px;max-width:100%;display:inline-flex}.acc-menu{flex-shrink:0;align-items:center;gap:10px;margin-inline-start:auto;display:inline-flex}.acc-head .acc-id h3{color:#fff;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:15px;font-weight:600;overflow:hidden}.acc-chips::-webkit-scrollbar{display:none}.acc-menu{flex-shrink:0;margin-inline-start:auto;display:inline-flex}@media (max-width:700px){.acc-head{flex-direction:column;align-items:stretch}.acc-tools{justify-content:space-between;gap:8px;width:100%}.acc-menu{justify-content:space-between;width:100%;margin-inline-start:0;display:flex}.acc-chips{flex-wrap:wrap;row-gap:6px;overflow-x:visible}.acc-chip-ico{display:none}.stat-grid .stat-ico{flex-basis:46px;width:46px;height:46px}.stat-grid .stat-ico .emoji-lg{font-size:34px!important}.fleet-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px}.fleet-grid .stat-value{white-space:normal;font-size:18px}}.help-pop{animation:.18s both help-pop}@keyframes help-pop{0%{opacity:0;transform:translateY(6px)scale(.97)}to{opacity:1;transform:none}}.ico-dot{transition:transform .18s,box-shadow .18s,background .18s,border-color .18s}.ico-dot:hover{background:#00e3fd38;border-color:#00e3fdcc;transform:scale(1.18);box-shadow:0 0 12px #00e3fd8c}.ico-dot:active{transform:scale(.85)}.ico-dot-solid{color:#0a6f86!important;background:#fff!important;border-color:#00e3fdb3!important}.ico-dot-solid:hover{box-shadow:0 0 12px #00e3fd99;background:#fff!important}.fb-stat,.anim-in{animation:.32s both slideIn}.res-wrap{margin-bottom:16px}.res-title{color:#fff;font-size:13px;font-weight:700}.res-bar{border:1px solid var(--border-subtle);background:#ffffff0d;border-radius:6px;height:14px;display:flex;overflow:hidden}.res-seg{height:100%;transition:opacity var(--transition-fast)}.res-seg:hover{opacity:.8}.kingdom-list{flex-direction:column;display:flex}.kingdom-table{border-collapse:collapse}.kingdom-table th,.kingdom-table td{border:1px solid #94b8ff1f}.kingdom-table thead th{letter-spacing:.08em;font-size:12px}.kingdom-table tbody td{font-size:13px}.kingdom-table th.num,.kingdom-table td.num{text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap}.kingdom-table .kt-th-res{align-items:center;gap:6px;display:inline-flex}.kingdom-table .kt-th-res img{object-fit:contain;width:20px;height:20px}.kingdom-table td.kt-power{color:#ffd166;font-weight:700}.kingdom-table td.kt-res{color:var(--text-secondary);font-weight:600}.kingdom-table td.muted-strong{color:var(--text-muted)}.kingdom-table td.kt-kingdom,.kingdom-table thead th:not(.num){text-align:center}.kingdom-table td.kt-kingdom .kt-name{color:#fff;font-weight:600}.kingdom-table td.kt-kingdom .kt-srv{font-size:11px}.kingdom-table th.kt-idx,.kingdom-table td.kt-idx{width:42px;color:var(--text-muted);font-weight:600}.fb-toggle{cursor:pointer;flex-shrink:0;width:42px;height:24px;display:inline-flex;position:relative}.fb-toggle input{opacity:0;width:0;height:0;position:absolute}.fb-toggle-track{transition:background var(--transition-fast);background:#ffffff24;border-radius:999px;position:absolute;inset:0}.fb-toggle-track:after{content:"";width:18px;height:18px;transition:transform var(--transition-fast);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #0006}.fb-toggle.on .fb-toggle-track{background:#00e3fda6}.fb-toggle.on .fb-toggle-track:after{background:#0e0e0e;transform:translate(18px)}.fb-toggle:disabled{opacity:.4;cursor:not-allowed}.fb-toggle.is-disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.farm-groups-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.farm-groups-summary{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);color:var(--text-muted);justify-content:center;align-items:center;gap:10px;margin-top:8px;padding:12px 16px;font-size:13px;display:flex}.farm-groups-summary-dot{background:var(--text-muted);opacity:.5;border-radius:50%;width:4px;height:4px}.farm-group-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);flex-direction:column;gap:10px;padding:16px;display:flex}.farm-group-card-header{border-inline-start:3px solid;align-items:center;gap:10px;padding-inline-start:12px;display:flex}.farm-group-icon-img{object-fit:contain;width:28px;height:28px}.farm-group-icon-inline{object-fit:contain;vertical-align:middle;width:20px;height:20px;margin-inline-end:4px}.farm-group-name{color:var(--text-primary);margin:0;font-size:14px;font-weight:600}.farm-group-meta{color:var(--text-muted);font-size:12px}.farm-group-members{flex-wrap:wrap;gap:6px;display:flex}.farm-group-members-list{background:var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;gap:1px;display:flex;overflow:hidden}.farm-group-member-row{background:var(--bg-card);align-items:center;gap:10px;padding:8px 10px;display:flex}.farm-group-member-row:first-child{border-radius:var(--radius-md) var(--radius-md) 0 0}.farm-group-member-row:last-child{border-radius:0 0 var(--radius-md) var(--radius-md)}.farm-group-member-row:only-child{border-radius:var(--radius-md)}.farm-group-member-info{align-items:center;gap:6px;min-width:0;display:flex}.farm-group-member-name{color:var(--text-primary);white-space:nowrap;font-size:13px;font-weight:600}.farm-group-member-server{color:var(--text-muted);font-size:11px}.farm-group-member-email-row{color:var(--text-muted);white-space:nowrap;margin-inline-start:auto;font-size:11px}.farm-group-member-x-btn{width:20px;height:20px;color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;flex:none;justify-content:center;align-items:center;font-size:14px;transition:opacity .15s;display:flex}.farm-group-member-row:hover .farm-group-member-x-btn{opacity:1}.farm-group-member-x-btn:hover{color:#ef4444;background:#ef444426}.farm-group-member-x{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:14px;line-height:1}.farm-group-member-x:hover{color:#ef4444}.farm-group-card-actions{flex-wrap:wrap;gap:8px;display:flex}.farm-group-picker{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-top:4px;padding:12px}.farm-group-picker-header{color:var(--text-primary);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;font-weight:600;display:flex}.farm-group-picker-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:18px;line-height:1}.farm-group-picker-close:hover{color:var(--text-primary)}.farm-group-picker-row{border-radius:var(--radius-sm);cursor:pointer;background:#222;align-items:center;gap:8px;margin-bottom:2px;padding:6px 8px;font-size:13px;display:flex}.farm-group-picker-row:hover{background:#2e2e2e}.farm-group-picker-row input[type=checkbox]{accent-color:#22c55e;flex:none}.farm-group-picker-row.is-disabled{opacity:.5}.farm-group-picker-meta{color:var(--text-muted);margin-inline-start:auto;font-size:11px}.farm-group-picker-divider{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:8px;margin:8px 0 4px;font-size:11px;display:flex}.farm-group-picker-divider:before,.farm-group-picker-divider:after{content:"";background:var(--border-subtle);flex:1;height:1px}.farm-group-picker-modal{flex-direction:column;max-width:520px;max-height:80vh;display:flex}.modal-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.modal-header h3{margin:0;font-size:15px}.farm-group-picker-total{color:var(--text-muted);background:var(--bg-subtle,#ffffff0f);border-radius:var(--radius-sm);margin-left:8px;padding:2px 8px;font-size:12px;font-weight:500}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:20px;line-height:1}.modal-close:hover{color:var(--text-primary)}.modal-body{flex:1;margin-bottom:12px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding-top:12px;display:flex}.farm-group-picker-selected-count{color:var(--text-muted);font-size:12px}.farm-group-picker-email-section{margin-bottom:8px}.farm-group-picker-email-header{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px;padding:4px 8px;font-size:11px;font-weight:600}.farm-group-picker-char-name{flex:1}.farm-groups-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.farm-groups-count{color:var(--text-muted);font-size:13px}.farm-groups-create-row{align-items:center;gap:8px;display:flex}.modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:90%;max-width:400px;padding:24px}.modal-card h3{margin:0 0 8px;font-size:16px}.modal-card p{color:var(--text-secondary);margin:0 0 16px;font-size:13px;line-height:1.5}.modal-actions{justify-content:flex-end;gap:8px;display:flex}.btn-danger{color:#ef4444}.config-account-picker{flex-direction:column;gap:4px;display:flex}.config-account-picker label{color:var(--text-muted);font-size:12px;font-weight:600}.config-account-picker .input-size-sm{font-size:13px}.config-account-picker select{background-color:var(--bg-input);color:var(--text-primary)}.config-account-picker select option{color:#e5e5e5;background:#1a1d23;padding:6px 10px}.config-account-picker select optgroup{color:var(--accent-lime);background:#1a1d23;padding:4px 10px;font-size:12px;font-weight:700}.config-account-picker select optgroup option{color:#e5e5e5;padding-left:18px;font-size:13px;font-weight:400}.config-group-badge{color:#fff;white-space:nowrap;border-radius:6px;align-items:center;justify-content:center;line-height:1.45;gap:6px;padding:4px 10px;font-size:13px;font-weight:600;display:inline-flex}.config-group-badge img{object-fit:contain;width:16px;height:16px}.scope-dropdown{z-index:100;border:1px solid var(--border-muted);border-radius:var(--radius-sm);background:#1a1d23;max-height:280px;margin-top:4px;padding:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #00000073}.scope-dropdown-item{color:#e5e5e5;cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:7px 10px;font-size:13px;transition:background .12s;display:flex}.scope-dropdown-item:hover{background:#ffffff12}.scope-dropdown-item.active{color:#fff;background:#00e3fd1a;font-weight:600}.scope-dropdown-sep{background:var(--border-muted);height:1px;margin:4px 8px}.scope-dropdown-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;padding:4px 10px 2px;font-size:11px;font-weight:700}.config-search{position:relative}.config-search-input{padding:0 10px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-input);width:100%;height:34px;color:var(--text-primary);transition:border-color var(--transition-fast);outline:none;padding-inline-start:32px;font-size:13px}.config-search-input:focus{border-color:#00e3fd66}.config-search:before{content:"🔍";inset-inline-start:10px;pointer-events:none;font-size:12px;position:absolute;top:50%;transform:translateY(-50%)}.config-empty-search h2{color:var(--text-primary);margin:0;font-size:16px;font-weight:700}.config-empty-search p{color:var(--text-muted);margin:0;font-size:13px}@media (max-width:560px){.inst-grid{grid-template-columns:1fr}}@media (max-width:900px){.sidebar{box-shadow:none;transition:transform .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0);box-shadow:10px 0 40px #00000080}.hamburger{display:grid}.sidebar-backdrop{z-index:25;background:#0009;position:fixed;inset:0}.main{padding:12px 10px}.topbar{padding:0 16px}.grid-4{grid-template-columns:repeat(2,1fr)}.config-workspace-layout{grid-template-columns:minmax(0,1fr);gap:12px}.config-sidebar{top:calc(var(--topbar-height) + 8px);z-index:30;border-radius:10px;padding:6px;position:sticky}.config-category-nav{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-direction:row;gap:4px;overflow-x:auto}.config-category-nav::-webkit-scrollbar{display:none}.config-category-btn{border:1px solid #ffffff17;border-radius:999px;flex:none;width:auto;min-height:38px;padding:7px 13px}.config-category-btn.active{border-color:#00e3fd8c}.config-workspace-header{flex-direction:column;align-items:stretch}.config-workspace-tools{flex-basis:auto;width:100%}.tabs{scrollbar-width:none;margin-bottom:14px}.tabs::-webkit-scrollbar{display:none}.page-head{align-items:center}.page-head .flex{display:flex;align-items:center;gap:8px}.page-head .flex .btn,.page-head .flex .btn-count,.btn.btn-count{height:38px!important;min-height:38px!important;box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0 16px!important;font-size:13px!important;font-weight:600!important;line-height:1!important;border-radius:8px!important}@media (max-width:640px){.page-head{flex-direction:column!important;align-items:stretch!important;gap:12px!important}.page-head .flex{display:flex!important;flex-wrap:nowrap!important;width:100%!important;gap:6px!important}.page-head .flex .btn,.page-head .flex .btn-count{flex:1 1 0!important;min-width:0!important;height:38px!important;padding:0 8px!important;font-size:12px!important;justify-content:center!important;white-space:nowrap!important}}@media (max-width:360px){.page-head .flex{flex-wrap:wrap!important}.page-head .flex .btn-primary,.page-head .flex .btn-danger{width:100%!important;flex:1 1 100%!important}.page-head .flex a.btn{flex:1 1 calc(50% - 4px)!important}}}@media (max-width:560px){.page-title{font-size:24px}.page-title-icon{font-size:28px}.page-title-icon svg,.page-title-icon img{width:30px;height:30px}.ticker-item{padding-right:36px;font-size:11px}.stat-value{font-size:22px}.settings-item{flex-direction:column;align-items:stretch;gap:10px;align-items:end}.settings-item .input,.settings-item .select{width:100%;max-width:none}}.table input[type=checkbox]{cursor:pointer}.table tr{transition:background .12s}.pulse-icon{animation:2s ease-in-out infinite pulse;display:inline-flex}.table tr:hover{background:#ffffff08}.section-card{background:var(--bg-card);border:1px solid var(--border-muted,#ffffff0f);border-radius:12px;overflow:visible}.app-page--narrow{max-width:100%;margin:0 auto;padding:32px 48px 64px;animation:.3s ease-out pageFadeUp}@keyframes pageFadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px;display:flex}.page-title-wrap{flex-direction:column;gap:6px;display:flex}.page-title{color:#fff;letter-spacing:-.01em;margin:0;font-size:26px;font-weight:700}.stack-lg{flex-direction:column;gap:20px;display:flex}.stack-md{flex-direction:column;gap:14px;display:flex}.stack-sm{flex-direction:column;gap:8px;display:flex}.section-card{background:var(--bg-card);border:1px solid #48484726;border-radius:12px;padding:22px}.config-workspace .section-card,.config-workspace .config-sidebar{background:var(--bg-card)}.section-card>.stack-md>*+*{border-top:none}.gem-schedule{flex-direction:column;gap:12px;padding:4px 0 8px;display:flex}.gem-schedule.is-disabled{opacity:.85}.gem-schedule-status{letter-spacing:.02em;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.gem-schedule-status .dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.gem-schedule-status.run{color:#22c55e}.gem-schedule-status.run .dot{background:#22c55e;box-shadow:0 0 10px #22c55ea6}.gem-schedule-status.pause{color:#f59e0b}.gem-schedule-status.pause .dot{background:#f59e0b;box-shadow:0 0 10px #f59e0b8c}.gem-schedule-status.idle{color:var(--text-muted)}.gem-schedule-status.idle .dot{background:#6b6b74}.gem-schedule-next{color:var(--text-muted);font-weight:600}.gem-schedule-toggle{padding-block:4px}.gem-schedule-empty{color:var(--text-muted);border:1px dashed #ffffff24;border-radius:8px;padding:10px 12px;font-size:13px}.gem-schedule-idle-note{color:var(--text-muted);font-size:12.5px}.gem-schedule-win{background:#0000002e;border:1px solid #ffffff12;border-radius:8px;flex-direction:column;gap:10px;padding:12px 14px;display:flex}.gem-schedule-win-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.gem-schedule-win-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:12px;font-weight:700}.gem-schedule-remove{color:var(--text-muted);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:6px;width:26px;height:26px;font-size:12px;line-height:1}.gem-schedule-remove:hover{color:var(--accent-red);border-color:#ff505059}.gem-schedule-remove:disabled{opacity:.5;cursor:not-allowed}.gem-schedule-time{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.gem-schedule-field{flex-direction:column;gap:4px;display:flex}.gem-schedule-field-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:11px;font-weight:600}.gem-schedule-time-sel{align-items:center;gap:4px;display:inline-flex}.gem-schedule-time-sel .input-size-sm{text-align:center;width:62px;padding:0 6px}.gem-schedule-colon{color:var(--text-muted);padding-bottom:8px;font-weight:700}.gem-schedule-arrow{color:var(--text-muted);padding-bottom:8px}.gem-schedule-utc{letter-spacing:.08em;color:#00e3fdb3;align-self:flex-end;padding-bottom:9px;font-size:11px;font-weight:700}.gem-schedule-overnight{color:var(--text-muted);align-self:flex-end;padding-bottom:8px;font-size:12px}.gem-schedule-days{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.gem-day-chip{font:inherit;min-width:30px;height:28px;color:var(--text-secondary);cursor:pointer;background:#ffffff08;border:1px solid #ffffff1a;border-radius:6px;padding:0 8px;font-size:11px;font-weight:700}.gem-day-chip.on{color:#00e3fd;background:#00e3fd24;border-color:#00e3fd73}.gem-day-chip:disabled{opacity:.5;cursor:not-allowed}.gem-day-chip.gem-day-all{flex:none}.gem-schedule-add{font:inherit;color:#00e3fd;cursor:pointer;background:#00e3fd0d;border:1px dashed #00e3fd66;border-radius:8px;align-self:flex-start;padding:9px 14px;font-size:13px;font-weight:700}.gem-schedule-add:hover{background:#00e3fd1f}.gem-schedule-add:disabled{opacity:.5;cursor:not-allowed}.section-title{color:#fff;margin:0 0 4px;font-size:16px;font-weight:600}.section-subtitle{color:#ffffff94;margin:0;font-size:13px;line-height:1.5}.text-label{color:var(--text-secondary);font-size:12px;font-weight:600}.text-small{color:var(--text-muted);margin:0;font-size:12px;line-height:1.45}.row-center-gap-16{align-items:center;justify-content:center;gap:16px;display:flex}.transfer-input{background:var(--bg-base);height:38px;color:var(--text-primary);box-sizing:border-box;border:1px solid #48484733;border-radius:8px;outline:none;width:100%;padding:0 12px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}.transfer-input::placeholder{color:var(--text-muted);opacity:.5;text-align:center}.transfer-input:focus::placeholder{opacity:0}.transfer-input:focus{border-color:#b6a0ff73;box-shadow:0 0 12px #7e51ff26}@keyframes borderSpin{0%{background-position:0%}to{background-position:200%}}@keyframes borderSpinReverse{0%{background-position:200%}to{background-position:0%}}@keyframes dotBounce{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@keyframes barSweep{0%{left:-40%}to{left:140%}}.progress-bar-fill{position:relative;overflow:hidden}.progress-bar-fill:after{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);border-radius:999px;width:40%;height:100%;animation:2s ease-in-out infinite barSweep;position:absolute;top:0}.pending-dots span{background:currentColor;border-radius:50%;width:3px;height:3px;margin-left:2px;animation:1.2s infinite dotBounce;display:inline-block}.pending-dots span:nth-child(2){animation-delay:.15s}.pending-dots span:nth-child(3){animation-delay:.3s}.animated-card{background:linear-gradient(90deg, var(--c1), var(--c2), var(--c3), var(--c1), var(--c2));background-size:200% 100%;border-radius:18px;padding:1px;animation:4s linear infinite borderSpin;position:relative}.animated-card-reverse{background:linear-gradient(90deg, var(--c1), var(--c2), var(--c3), var(--c1), var(--c2));background-size:200% 100%;border-radius:18px;padding:1px;animation:4s linear infinite borderSpinReverse;position:relative}.animated-card:before,.animated-card-reverse:before{content:"";z-index:0;background:linear-gradient(145deg,#111827 0%,#0f172a 100%);border-radius:17px;position:absolute;inset:1px}.animated-card>*,.animated-card-reverse>*{z-index:1;position:relative}@keyframes donkeyWalk{0%,to{transform:translate(0)scaleX(1)}25%{transform:translate(4px)scaleX(1)rotate(-3deg)}50%{transform:translate(0)scaleX(1)}75%{transform:translate(-4px)scaleX(-1)rotate(3deg)}}@keyframes checkPop{0%{opacity:0;transform:scale(.3)rotate(-10deg)}60%{opacity:1;transform:scale(1.18)rotate(2deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes checkGlow{0%,to{box-shadow:0 0 #22c55e73,0 0 18px #22c55e40}50%{box-shadow:0 0 0 9px #22c55e00,0 0 28px #22c55e8c}}.resourceRow{background:#0009;border:1px solid #48484726;border-radius:8px;flex-wrap:wrap;align-items:center;gap:14px;padding:12px 14px;transition:border-color .15s,opacity .15s;display:flex}.resourceRow:hover{border-color:#4848474d}.resourceRowOff{opacity:.4}.resourceToggle{cursor:pointer;-webkit-user-select:none;user-select:none;flex:1;align-items:center;gap:12px;min-width:0;display:flex}.resourceIcon{object-fit:contain;flex:none;width:28px;height:28px}.resourceName{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin:0;font-size:12px;font-weight:600}.resourceAvail{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;margin:2px 0 0;font-size:11px}.amountWrap{flex-direction:column;align-items:flex-end;gap:3px;display:flex}.amountInput{text-align:right;font-variant-numeric:tabular-nums;background:var(--bg-base);width:150px;color:var(--text-primary);border:1px solid #48484733;border-radius:6px;outline:none;padding:8px 10px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}.amountInput::placeholder{color:var(--text-disabled)}.amountInput:focus{border-color:#b6a0ff73;box-shadow:0 0 12px #7e51ff26}.amountInputInvalid,.amountInputInvalid:focus{border-color:#ff6e848c;box-shadow:0 0 12px #ff6e841f}.amountEcho{color:var(--text-muted);font-variant-numeric:tabular-nums;min-height:13px;margin:0;font-size:11px}.amountEchoInvalid{color:var(--accent-red)}.stockWarning{color:var(--accent-orange);margin:0;font-size:12px}.stockError{color:var(--accent-red);margin:0;font-size:12px}.acctHeader{align-items:center;gap:10px;margin-top:4px;display:flex}.acctEmail{color:var(--text-secondary);overflow-wrap:anywhere;font-size:12px;font-weight:600}.charRow{cursor:pointer;-webkit-user-select:none;user-select:none;background:#00000040;border:1px solid #0000;border-radius:6px;align-items:center;gap:10px;padding:8px 12px;transition:background .12s,border-color .12s;display:flex}.charRow:hover{background:var(--bg-card-hover)}.charRowSelected{background:#7e51ff14;border-color:#7e51ff40}.charIdentity{flex:1;min-width:0}.charName{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:13px;overflow:hidden}.charMeta{color:var(--text-muted);font-variant-numeric:tabular-nums;margin:1px 0 0;font-size:11px}.charRss{flex:none;gap:12px;display:flex}.charRssItem{min-width:58px;color:var(--text-secondary);font-variant-numeric:tabular-nums;justify-content:flex-end;align-items:center;gap:5px;font-size:12px;display:flex}.charRssIcon{object-fit:contain;opacity:.9;width:14px;height:14px}.charRssEmpty{color:var(--text-disabled);font-size:11px}@media (max-width:620px){.charRss{grid-template-columns:repeat(2,minmax(58px,auto));gap:2px 12px;display:grid}}.statusPill{letter-spacing:.04em;text-transform:uppercase;background:var(--bg-elevated);color:var(--text-secondary);border-radius:999px;align-items:center;justify-content:center;line-height:1.45;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.statusPillOk{color:var(--accent-green);background:#beee001f}.statusPillErr{color:var(--accent-red);background:#ff6e841f}.statusPillRun{color:var(--accent-teal);background:#00e3fd1a}.statusPillWarn{color:var(--accent-orange);background:#ffb0201f}.stateBlock{border-radius:10px;padding:12px 16px;font-size:13px;line-height:1.5}.stateBlockWarning{color:var(--accent-orange);background:#ffb02014;border:1px solid #ffb02033}.stateBlockError{color:var(--accent-red);background:#ff6e8414;border:1px solid #ff6e8433}.metaPill{color:var(--text-secondary);background:#ffffff0d;border-radius:20px;align-items:center;justify-content:center;line-height:1.45;gap:5px;padding:3px 12px;font-size:12px;font-weight:600;display:inline-flex}.progressHint{color:var(--text-secondary);background:#00e3fd0d;border:1px solid #00e3fd33;border-radius:8px;padding:12px 14px;font-size:13px;line-height:1.5}.progressHintLead{color:var(--accent-teal);font-weight:600}.progressHintCount{color:var(--text-muted);font-variant-numeric:tabular-nums;margin-top:4px;display:block}.progressRow{align-items:center;gap:12px;display:flex}.progressNums{color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;margin-inline-start:auto;font-size:12px}.progressTrack{background:#00000080;border-radius:999px;height:10px;overflow:hidden}.progressFill{background:linear-gradient(135deg,#b6a0ff,#7e51ff);border-radius:999px;height:100%;transition:width .6s;box-shadow:0 0 40px #b6a0ff40}.progressFillDone{background:linear-gradient(135deg,#f3ffca,#beee00);box-shadow:0 0 40px #f3ffca33}.jobCard{background:#000000a6;border:1px solid #48484726;border-radius:12px;flex-direction:column;gap:18px;padding:26px;display:flex;position:relative;overflow:hidden}.jobCardActive{border-color:#00e3fd40}.jobCardActive:before{content:"";pointer-events:none;background:radial-gradient(circle,#00e3fd29,#0000 70%);width:130px;height:130px;position:absolute;top:-46px;right:-46px}.resultRow{background:#00000040;border-radius:6px;padding:10px 12px}.resultAmounts{flex-wrap:wrap;gap:14px;margin-top:6px;display:flex}.resultAmount{color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:5px;font-size:12px;display:flex}.startBtn{color:#0e0e0e;cursor:pointer;background:linear-gradient(135deg,#b6a0ff,#7e51ff);border:none;border-radius:6px;padding:10px 22px;font-family:inherit;font-size:13px;font-weight:700;transition:box-shadow .15s,filter .15s;box-shadow:0 0 20px #7e51ff40}.startBtn:hover:not(:disabled){filter:brightness(1.05);box-shadow:0 0 32px #7e51ff66}.startBtn:disabled{opacity:.5;cursor:not-allowed}.optionRow{cursor:pointer;-webkit-user-select:none;user-select:none;background:#0006;border:1px solid #48484726;border-radius:8px;align-items:flex-start;gap:12px;padding:12px 14px;transition:border-color .15s;display:flex}.optionRow:hover{border-color:#4848474d}.optionText{flex:1;min-width:0}.optionHint{color:var(--text-muted);margin:3px 0 0;font-size:11px;display:block}[dir=rtl] body{font-family:var(--font-ar);font-size:17px;line-height:1.7}[dir=rtl] h1,[dir=rtl] h2,[dir=rtl] h3,[dir=rtl] h4{font-family:var(--font-ar);letter-spacing:0}[dir=rtl] button,[dir=rtl] input,[dir=rtl] select,[dir=rtl] textarea{font-family:var(--font-ar)}[dir=rtl] .brand-sub{letter-spacing:0;font-size:14px;font-weight:700;font-family:var(--font-ar)}[dir=rtl] .inst-name{unicode-bidi:plaintext}[dir=rtl] .brand-name{flex-direction:row-reverse}[dir=rtl] .sidebar-nav-item{font-size:16px}[dir=rtl] .sidebar-nav-item:hover{transform:translate(-3px)}[dir=rtl] .nav-label{text-align:right;letter-spacing:0;text-transform:none}[dir=rtl] .page-title{text-align:right}[dir=rtl] .select{background-position:12px;padding:10px 13px 10px 34px}[dir=rtl] .config-category-btn.active{background:linear-gradient(270deg,#00e3fd0f,#00e3fd04)}[dir=rtl] .amountWrap{align-items:flex-start}[dir=rtl] .charRssItem{justify-content:flex-start}[dir=rtl] .topbar-ticker{-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 64px calc(100% - 28px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 64px calc(100% - 28px),#0000 100%)}@media (max-width:900px){[dir=rtl] .sidebar{left:auto;right:0;transform:translate(100%)}[dir=rtl] .sidebar.open{transform:translate(0);box-shadow:-10px 0 40px #00000080}}.store-row{grid-template-columns:auto 1fr auto;align-items:stretch;display:grid}.shop-checkout-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:16px;display:grid}.shop-summary-col{position:sticky;top:16px}@media (max-width:980px){.shop-checkout-grid{grid-template-columns:minmax(0,1fr)}.shop-summary-col{position:static}}html,body{max-width:100vw;overflow-x:clip}body{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}img,svg,video{max-width:100%}@media (max-width:900px){.sidebar{max-width:86vw}.topbar{gap:10px;padding:0 14px}.topbar-actions{gap:7px}.icon-btn{width:36px;height:36px}.hamburger{width:38px;height:38px}}@media (max-width:640px){.main{padding:12px 10px}.card-head{padding:13px 16px}.card-body{padding:15px 16px}.page-title{font-size:22px}.topbar-refresh{display:none}.ticker-item{font-size:10.5px}.modal{border-radius:var(--radius-md);width:calc(100vw - 20px);max-width:none;max-height:90dvh}.modal-body{padding:16px}.modal-foot{flex-direction:column-reverse;padding:12px 16px}.modal-foot .btn{width:100%;min-height:44px}.modal-card{width:94vw;max-width:none;padding:18px}.table-wrap{-webkit-overflow-scrolling:touch}.table th,.table td{white-space:nowrap}.farm-groups-grid{grid-template-columns:1fr}.commander-slot-row{flex-wrap:wrap;row-gap:10px;align-items:end}.commander-slot-row .select,.commander-slot-row select{flex:180px;max-width:none}.gather-order-row{padding:10px 12px}.gather-order-btn{width:38px;height:38px;font-size:18px}.settings-item .input,.settings-item .select,.settings-item>.input,.settings-item>.select{width:100%;max-width:none}.gem-day-chip{min-width:38px;height:36px;font-size:12px}.shop-tier-grid,.shop-target-grid,.shop-duration-grid{grid-template-columns:minmax(0,1fr)!important}.transfer-coords-grid{grid-template-columns:minmax(0,1fr)!important;gap:10px!important}.transfer-res-grid{grid-template-columns:minmax(0,1fr)!important}.transfer-res-row{flex-wrap:wrap}.transfer-res-row .transfer-res-amount{align-items:center;width:100%}.transfer-res-row .transfer-input{width:100%!important}.transfer-coords-grid .transfer-input{width:100%!important;height:48px!important}.profile-tabs{scrollbar-width:none;flex-wrap:nowrap;margin-bottom:14px;overflow-x:auto}.profile-tabs::-webkit-scrollbar{display:none}.profile-tab{white-space:nowrap;flex:none;padding:9px 14px;font-size:13px}.fb-add-form{grid-template-columns:minmax(0,1fr)!important}.fb-add-form .btn{height:42px!important}.store-row{grid-template-columns:minmax(0,1fr)}.store-row>div:first-child{padding:14px 18px}.store-price{border-top:1px solid #ffffff14;width:100%;border-inline-start:none!important;flex-direction:row!important;justify-content:space-between!important;align-items:center!important;min-width:0!important;padding:14px 20px!important}.store-price button{height:44px;padding:0 22px}.btn{min-height:42px}.input,.select,textarea{min-height:44px;font-size:16px}}.tr-switch{cursor:pointer;background:#1e293bb3;border-radius:14px;flex-shrink:0;width:48px;height:28px;transition:background .2s;position:relative}.tr-switch.on{background:#8b5cf6}.tr-switch-knob{top:3px;background:#fff;border-radius:11px;width:22px;height:22px;transition:inset-inline-start .2s;position:absolute;inset-inline-start:3px;box-shadow:0 1px 4px #0000004d}.tr-switch.on .tr-switch-knob{inset-inline-start:23px}@media (max-width:640px){.app-page--narrow{padding:16px 10px 44px}.animated-card>div,.animated-card-reverse>div{padding:20px 14px!important}.tr-char-row{flex-wrap:wrap}.tr-char-rss{flex-wrap:wrap;justify-content:flex-start;gap:8px 14px;width:100%}.transfer-input{min-height:44px;font-size:16px}}.shop-progress{scrollbar-width:none;overflow-x:auto!important}.shop-progress::-webkit-scrollbar{display:none}@media (max-width:640px){.shop-wrap{padding:0!important}.shop-progress{min-height:52px;height:auto!important;padding-inline:12px!important}.shop-inline-input{height:42px!important;font-size:16px!important}}.interval-chips{flex-wrap:wrap;gap:6px;display:flex}.interval-chip{color:#c9d1e0;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff24;border-radius:9px;min-height:36px;padding:0 13px;font-size:13px;font-weight:600;transition:border-color .15s,background .15s,color .15s}.interval-chip:hover:not(:disabled):not(.active){color:#fff;border-color:#ffffff4d}.interval-chip.active{color:#00e3fd;background:#00e3fd1f;border-color:#00e3fda6;box-shadow:0 0 10px #00e3fd26}.interval-chip:disabled{opacity:.45;cursor:default}@keyframes cybergrid-move{0%{background-position:0 0}to{background-position:60px 60px}}@keyframes cyberscan{0%{transform:none}to{transform:none}}@keyframes cyberparticle-float{0%{opacity:0;transform:none}to{opacity:0;transform:none}}.cyber-grid{display:none!important}.cyber-scanlines:before{content:none;display:none!important}.cyber-noise:after{content:none}.cyber-particles{display:none!important}.cyber-particle,.cyber-particle--purple,.cyber-particle--teal{display:none!important}

.gather-march-list{flex-direction:column;gap:8px;width:100%;display:flex}
.gather-march-empty{color:var(--text-muted);font-size:12px;opacity:.75}
.gather-march-card{background:rgba(0,0,0,.32);border:1px solid rgba(255,255,255,.07);border-radius:10px;flex-direction:column;gap:8px;padding:10px 12px;display:flex;transition:border-color .15s,box-shadow .15s}
.gather-march-card:hover{border-color:rgba(255,255,255,.14);box-shadow:0 2px 10px rgba(0,0,0,.18)}
.gather-march-head{justify-content:flex-start;align-items:center;gap:8px;display:flex}
.gather-march-idx{color:var(--accent-primary);background:var(--accent-purple-muted);border:1px solid var(--accent-purple-muted);border-radius:6px;padding:3px 9px;font-size:11px;font-weight:700;white-space:nowrap}
.gather-march-res-icon{width:20px;height:20px;object-fit:contain;flex-shrink:0}
.gather-march-res-name{color:var(--text-secondary);font-size:13px;font-weight:600}
.gather-march-badge{color:var(--accent-green);background:var(--accent-green-muted);border:1px solid var(--accent-green-muted);border-radius:99px;padding:1px 8px;font-size:10px;font-weight:700;white-space:nowrap}
.gather-march-del{margin-left:auto;color:var(--text-muted);background:transparent;border:none;border-radius:6px;width:24px;height:24px;line-height:1;font-size:14px;cursor:pointer;flex-shrink:0}
.gather-march-del:hover{color:var(--accent-red);background:var(--accent-red-muted)}
.gather-march-body{flex-direction:column;gap:10px;display:flex}
.gather-march-level{justify-content:flex-start;align-items:center;gap:8px;display:flex}
.gather-march-level-label{color:var(--text-muted);font-size:12px;text-align:center;width:100%}
.gather-cmd{position:relative;display:flex}
.gather-cmd-btn{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:0 10px;display:flex;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s;min-height:36px;height:36px;font-size:13px;color:var(--text-primary)}
.gather-cmd-btn:hover{border-color:var(--accent-primary);background:rgba(0,227,253,.06);box-shadow:0 0 0 1px rgba(0,227,253,.12) inset}
.gather-cmd-btn.open{border-color:var(--accent-primary);background:var(--accent-purple-muted)}
.gather-cmd-role{color:var(--text-muted);font-size:11px;font-weight:600;flex:auto}
.gather-cmd-face{align-items:center;display:flex}
.gather-cmd-face img{width:30px;height:30px;border-radius:6px;object-fit:cover}
.gather-cmd-name{color:var(--text-primary);font-size:12px;font-weight:600;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gather-cmd-menu{position:absolute;top:calc(100% + 6px);display:flex;flex-direction:column;gap:4px;padding:6px;right:0;left:0;z-index:30;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.38),0 0 0 1px rgba(0,227,253,.08) inset;backdrop-filter:blur(6px);flex-direction:column;gap:2px;padding:6px;max-height:260px;overflow-y:auto;display:flex}
.gather-cmd-menu-auto{color:var(--text-primary);background:var(--accent-purple-muted);border:1px solid var(--accent-purple-muted);border-radius:8px;justify-content:center;padding:7px;font-size:12px;font-weight:700;cursor:pointer;display:flex}
.gather-cmd-menu-auto:hover{background:var(--accent-purple-muted);border-color:var(--accent-primary)}
.gather-cmd-menu-hero{color:var(--text-primary);background:transparent;border:1px solid transparent;border-radius:8px;justify-content:flex-start;align-items:center;gap:10px;width:100%;padding:6px 8px;font-size:12px;cursor:pointer;display:flex}
.gather-cmd-menu-hero img{width:28px;height:28px;border-radius:6px;object-fit:cover;flex-shrink:0}
.gather-cmd-menu-hero:hover{background:#00000026;border-color:#ffffff0f}
.gather-order-row2{background:#00000026;border:1px solid #ffffff0f;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;margin-top:2px;padding:8px 14px;display:flex}
.gather-order-res2{width:22px;height:22px;object-fit:contain;flex-shrink:0}
.gather-order-label2{color:var(--text-primary);align-items:center;gap:8px;flex:auto;font-size:13px;font-weight:600;display:flex}

/* Gathering redesign — clear separation, compact Max Node, organized march cards */
.gather-order-group{background:rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:10px;box-shadow:0 1px 4px rgba(0,0,0,.12)}
.gather-order-list{gap:12px}
.gather-order-row2{margin-top:0}
.gather-order-row2 .input,.gather-march-level .input{max-width:160px;width:160px}
.gather-march-list{gap:10px}
.gather-march-card{padding:14px}
.gather-march-body{gap:12px}
.gather-cmd{flex:1}
@media(max-width:640px){.gather-order-row2 .input,.gather-march-level .input{max-width:100%;width:100%}.gather-march-level{flex-direction:column;align-items:stretch}}

/* Commander picker modal — medium nice popup */
.gather-cmd-modal{position:fixed;inset:0;background:rgba(0,0,0,.58);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;padding:16px;animation:modalFade .15s ease}
.gather-cmd-modal-card{background:linear-gradient(145deg,#1e232f 0%,#1a1d23 100%);border:1px solid rgba(255,255,255,.10);border-radius:16px;box-shadow:0 16px 48px rgba(0,0,0,.65),0 0 0 1px rgba(0,227,253,.08) inset;width:min(420px,94vw);max-height:70vh;overflow:auto;display:flex;flex-direction:column;animation:modalPop .20s ease}
.gather-cmd-modal-head{padding:14px 16px 12px;font-weight:700;font-size:14px;text-align:center;border-bottom:1px solid rgba(255,255,255,.07);color:var(--text-primary)}
.gather-cmd-modal-grid{padding:10px;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;align-items:start}@media(max-width:640px){.gather-cmd-modal-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:380px){.gather-cmd-modal-grid{grid-template-columns:1fr}}
.gather-cmd-modal-grid .gather-cmd-menu-auto{grid-column:1/-1;justify-content:center}
@keyframes modalFade{from{opacity:0}to{opacity:1}}
@keyframes modalPop{from{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:none}}
.gather-cmd-menu-hero{padding:8px 10px}
.gather-cmd-menu-hero img{width:36px;height:36px}

/* Select fallback for dead buttons — small professional */
.gather-cmd-select{display:flex;align-items:center;gap:8px;padding:2px 0}
.gather-cmd-select .gather-cmd-role{font-size:11px;min-width:72px;color:var(--text-muted);font-weight:600;white-space:nowrap}
.gather-cmd-select .input{flex:1;max-width:168px;height:32px;font-size:12px;padding:0 8px}
.gather-march-body{gap:10px;align-items:end}
.gather-march-level .input{height:32px}

.gather-cmd-menu-pick{color:var(--text-primary);background:rgba(0,227,253,.09);border:1px solid rgba(0,227,253,.18);border-radius:8px;justify-content:center;padding:8px;font-size:12px;font-weight:700;cursor:pointer;width:100%;display:flex;align-items:center;gap:6px;transition:background .15s,border-color .15s}
.gather-cmd-menu-pick:hover{background:rgba(0,227,253,.16);border-color:rgba(0,227,253,.32)}

/* Wrapper for commander with label outside, and grid for march body */
.gather-cmd-wrapper{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0;align-items:stretch}
.gather-cmd-label{font-size:11px;color:var(--text-muted);font-weight:600;white-space:nowrap;letter-spacing:.02em;text-align:center;width:100%;display:block}
.gather-march-body{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;align-items:end}
@media(max-width:760px){.gather-march-body{grid-template-columns:1fr}}
.gather-march-level{justify-content:flex-start;gap:10px;align-items:end}
.gather-march-level .input{max-width:168px;width:168px;height:32px;font-size:12px}
.gather-cmd-select .input{max-width:168px}

.gather-cmd-modal-grid .gather-cmd-menu-hero{flex-direction:column;align-items:center;gap:4px;padding:10px 6px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);border-radius:12px;transition:background .15s,border-color .15s,transform .12s,box-shadow .15s;text-align:center;justify-content:center;min-height:84px}
.gather-cmd-modal-grid .gather-cmd-menu-hero:hover{background:rgba(0,227,253,.09);border-color:rgba(0,227,253,.22);transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,0,0,.22)}
.gather-cmd-modal-grid .gather-cmd-menu-hero img{width:56px;height:56px;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.gather-cmd-modal-grid .gather-cmd-menu-hero span{font-size:12px;font-weight:600;line-height:1.2}
.gather-cmd-modal-head{font-size:15px;letter-spacing:.02em;color:var(--text-primary);background:rgba(0,0,0,.12)}

/* Total merged inside same card, top right, bigger, not separate line */
.gather-order-total{position:absolute;top:14px;right:18px;z-index:2;margin:0 !important}
.gather-order-list{margin-top:8px}
.gather-march-body{background:rgba(0,0,0,.14);border:1px solid rgba(255,255,255,.05);border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:10px;align-items:end}
.gather-march-level{background:transparent;border:none;padding:0;margin:0}
.gather-cmd-btn span:last-child{color:#fff !important;opacity:.9 !important}
/* ================= UI ENHANCEMENT MISSION (2026-08-31) ================= */
/* 1) Commander picker modal — bigger avatars, compact 3-per-row grid, name centered below */
/* CRITICAL FIX 2026-08-31 (Abu Jawad): avatars must beat the inline style (Him(h,36)) -> !important;
   modal widened (min(720px,94vw)) + overflow-x hidden so the 3-col grid never scrolls horizontally */
.gather-cmd-modal-card{width:min(720px,94vw)!important;max-width:min(720px,94vw)!important;overflow-x:hidden}
.gather-cmd-modal-grid{gap:8px;padding:14px}
.gather-cmd-modal-grid .gather-cmd-menu-hero{min-height:0;padding:14px 8px;gap:8px;margin:0}
.gather-cmd-modal-grid .gather-cmd-menu-hero img{width:68px!important;height:68px!important;border-radius:12px!important;box-shadow:0 3px 10px rgba(0,0,0,.3)}
.gather-cmd-modal-grid .gather-cmd-menu-hero span{font-size:13px;font-weight:600;line-height:1.25;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;padding:0 2px}

/* 2) March row — one flat 3-column row; Max node level box = exact clone of the commander box */
.gather-march-body{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px;align-items:end}
.gather-march-level{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1;background:transparent;border:none;padding:0;margin:0}
.gather-march-level .input{width:100%!important;max-width:100%!important;height:36px!important;min-height:36px!important;font-size:13px!important;border-radius:8px;border:1px solid var(--border-subtle);background:var(--bg-input);padding:0 10px;box-sizing:border-box;text-align:center!important;text-align-last:center}
.gather-march-level-label{font-size:11px;font-weight:600;letter-spacing:.02em;white-space:nowrap;text-align:center;width:100%}

/* 3) Total Marches X/7 badge — polished, pinned top-right of the card */
.gather-order-total{position:absolute;top:14px;right:18px;z-index:5;margin:0!important;font-size:13px;font-weight:600;color:var(--text-primary);letter-spacing:.02em}
.gather-order-total-label{opacity:.8}
.gather-order-total-count{color:var(--accent-teal);font-weight:800;margin-left:2px}
.gather-order-total-count.over{color:#ff5c5c}

/* ================= UI POLISH & PRECISION ALIGNMENT MISSION (2026-08-31) ================= */
/* 1) Total Marches badge now INSIDE the section header - flexbox space-between, right side */
.config-category-header{align-items:center!important}
.config-category-header .gather-order-total{position:static!important;z-index:5;margin:0!important;font-size:13px;font-weight:600;color:var(--text-primary);letter-spacing:.02em;white-space:nowrap}
/* 2) Visual separators between Food/Wood/Stone/Gold resource blocks */
.gather-order-group+.gather-order-group{border-top:1px solid rgba(255,255,255,.12);padding-top:16px}
/* 3a) Perfect centering of the +/- stepper and the number between them */
.gather-order-controls{align-items:center!important}
.gather-order-btn{align-items:center!important;justify-content:center!important;line-height:1}
.gather-order-count{display:flex!important;align-items:center!important;justify-content:center!important;height:38px;min-width:30px;line-height:1}
/* 3b) Sidebar number badges perfectly centered */
.config-category-count{align-items:center!important;justify-content:center!important}
/* 4) March 1/2 badges -> sidebar-active cyan (#00e3fd) */
.gather-march-idx{color:#fff!important;background:rgba(0,227,253,.16)!important;border:1px solid rgba(0,227,253,.45)!important;text-shadow:0 0 6px rgba(0,227,253,.35)}
/* 5) Status badges (Active, etc.) perfectly centered in their pill */
.badge{align-items:center!important;justify-content:center!important;line-height:1;font-size:10px}

/* PHASE 7 - mobile tap targets + tablet readability (2026-08-31) */
@media (max-width:900px){
.icon-btn{width:44px;height:44px}
.hamburger{width:44px;height:44px}
.sidebar-nav-item{flex-shrink:0;min-height:44px}
.sidebar-signout{height:44px}
.legal-chip{min-height:36px;padding:8px 11px}
.config-search-input{height:44px}
.config-category-btn{min-height:44px}
.inst-name{white-space:normal;overflow:visible;max-width:none}
.btn{min-height:44px}
.page-head>.btn{min-height:44px}
}

/* PHASE 7 r2 - remaining touch targets (2026-08-31) */
@media (max-width:900px){
.legal-chip{min-height:44px;padding:10px 14px}
.interval-chip{min-height:44px}
.rename-btn{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center}
}

/* PHASE 7 r3 - pin rename-btn width (flex-shrink) (2026-08-31) */
@media (max-width:900px){
.rename-btn{flex-shrink:0}
}
@keyframes omnix-signout-exit-ltr{0%,100%{transform:translateX(0)}50%{transform:translateX(6px)}}@keyframes omnix-signout-exit-rtl{0%,100%{transform:translateX(0)}50%{transform:translateX(-6px)}}.sidebar-signout:hover:not(:disabled) svg{animation:omnix-signout-exit-ltr 1.1s ease-in-out infinite}[dir=rtl] .sidebar-signout:hover:not(:disabled) svg{animation:omnix-signout-exit-rtl 1.1s ease-in-out infinite}.sidebar-signout:active:not(:disabled) svg{transform:translateX(8px) scale(1.18);animation:none}[dir=rtl] .sidebar-signout:active:not(:disabled) svg{transform:translateX(-8px) scale(1.18);animation:none}.sidebar-signout{position:absolute;top:50%;transform:translateY(-50%);right:26px;margin:0;height:24px;padding:4px 6px;font-size:12px;font-weight:700;color:#8a8988;background:transparent;z-index:3}.sidebar-signout:hover:not(:disabled){color:#cbd5e1}[dir=rtl] .sidebar-signout{right:auto;left:26px}.sidebar-signout svg{width:11px;height:11px}@media (max-width:900px){.sidebar-signout{position:static;transform:none;top:auto;right:auto;margin:10px 0 0 auto;height:34px;font-size:12px;padding:0 14px;background:#94a3b817}[dir=rtl] .sidebar-signout{left:auto}}

/* =========================================================================
   CITY SECTION REDESIGN v4 (2026-09-02 — Abu Jawad feedback round 3)
   v4 changes:
     - TROOP IMAGES: enlarged to 56x56, each centered with background-position
       center (wide Infantry now sits centered in its slot, not flush left),
       no trailing margin (row gap handles spacing) -> all four look uniform.
     - BATTLE TRAINING: the whole card is visually LOCKED (dimmed, blurred,
       non-interactive) when the user is NOT +Plus/Pro — detected via the
       gold "+Plus only" pill that the app renders in the card header only for
       non-pro accounts. When pro, the pill is absent and the card is normal.
   Scope: CITY + BATTLE TRAINING categories only. Other categories untouched.
   Pure CSS — no JS/HTML change (worker connection unaffected).
   ========================================================================= */

/* ---- City Management card (holds #cfg-trainInf/Cav/Arch/Siege) ------------- */
.section-card:has(#cfg-trainInf) {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 16px;
  background: var(--bg-card);
}
.section-card:has(#cfg-trainInf) .config-category-header {
  grid-column: 1 / -1;
  padding: 0 0 6px;
}

/* Each setting = one compact tile, SAME dark tone as the rest of the config. */
.section-card:has(#cfg-trainInf) .settings-item {
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 12px;
  border: 1px solid rgba(255, 255, 255, .07);
  border-bottom: 1px solid rgba(255, 255, 255, .07);
  border-radius: 12px;
  padding: 14px 16px;
  background: #00000026;
  margin: 0;
  transition: border-color .15s, background .15s;
}
.section-card:has(#cfg-trainInf) .settings-item:hover {
  border-color: rgba(255, 255, 255, .16);
  background: #ffffff06;
}
.section-card:has(#cfg-trainInf) .settings-item + .settings-item {
  margin-top: 0;
}

/* ---- Troop rows: icon as a FLOW flex element, 56px, centered ------------- */
.section-card:has(#cfg-trainInf) .settings-item:has(> #cfg-trainInf),
.section-card:has(#cfg-trainInf) .settings-item:has(> #cfg-trainCav),
.section-card:has(#cfg-trainInf) .settings-item:has(> #cfg-trainArch),
.section-card:has(#cfg-trainInf) .settings-item:has(> #cfg-trainSiege) {
  position: relative;
}
.section-card:has(#cfg-trainInf) .settings-item:has(> #cfg-trainInf)::before,
.section-card:has(#cfg-trainInf) .settings-item:has(> #cfg-trainCav)::before,
.section-card:has(#cfg-trainInf) .settings-item:has(> #cfg-trainArch)::before,
.section-card:has(#cfg-trainInf) .settings-item:has(> #cfg-trainSiege)::before {
  content: "";
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
  background-position: center;   /* every icon centered in its slot */
  background-size: contain;
  background-repeat: no-repeat;
  /* image only — no background box */
}
.section-card:has(#cfg-trainInf) .settings-item:has(> #cfg-trainInf)::before { background-image: url("/rok/Troops/Infantry.png?v=4"); }
.section-card:has(#cfg-trainInf) .settings-item:has(> #cfg-trainCav)::before { background-image: url("/rok/Troops/Cavalry.png?v=4"); }
.section-card:has(#cfg-trainInf) .settings-item:has(> #cfg-trainArch)::before { background-image: url("/rok/Troops/Archery.png?v=4"); }
.section-card:has(#cfg-trainInf) .settings-item:has(> #cfg-trainSiege)::before { background-image: url("/rok/Troops/Siege.png?v=4"); }

/* Text + control sizing on City tiles. */
.section-card:has(#cfg-trainInf) .settings-info {
  flex: 1 1 auto;
  min-width: 0;
}
.section-card:has(#cfg-trainInf) .settings-label {
  font-size: 14px;
  font-weight: 600;
}
.section-card:has(#cfg-trainInf) .settings-description {
  font-size: 12px;
  line-height: 1.45;
  color: #ffffff94;
}
.section-card:has(#cfg-trainInf) .settings-item > .input,
.section-card:has(#cfg-trainInf) .settings-item > .select {
  flex: 0 0 auto;
  width: auto;
  min-width: 88px;
  max-width: 190px;
  align-self: center;
}
.section-card:has(#cfg-trainInf) .settings-item > .fb-toggle {
  flex: 0 0 auto;
  width: 42px;
  height: 24px;
  align-self: center;
}

/* ==== Battle Training — clean rows + PRO lock ============================== */
.section-card:has(#cfg-btMode) {
  position: relative;
  background: var(--bg-card);
}
.section-card:has(#cfg-btMode) .settings-item {
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 12px;
  border: 1px solid rgba(255, 255, 255, .07);
  border-bottom: 1px solid rgba(255, 255, 255, .07);
  border-radius: 12px;
  padding: 12px 16px;
  margin: 0;
  background: #00000026;
}
.section-card:has(#cfg-btMode) .settings-item + .settings-item {
  margin-top: 0;
}
.section-card:has(#cfg-btMode) .settings-info {
  flex: 1 1 auto;
  min-width: 0;
}
.section-card:has(#cfg-btMode) .settings-label {
  font-size: 14px;
  font-weight: 600;
}
/* Battle subtitle reads with the same muted line colour as the rest of the
   config panels (not pure white). */
.section-card:has(#cfg-btMode) .section-subtitle {
  color: var(--text-muted);
}
.section-card:has(#cfg-btMode) .settings-item > .input,
.section-card:has(#cfg-btMode) .settings-item > .select {
  flex: 0 0 auto;
  width: auto;
  min-width: 120px;
  max-width: 240px;
  align-self: center;
}
.section-card:has(#cfg-btMode) .settings-item > .fb-toggle {
  flex: 0 0 auto;
  width: 42px;
  height: 24px;
}

/* ---- Lock: NOT +Pro (gold "+Plus only" pill present in card) ------------- */
/* Clean locked view:
     * remove the DUPLICATE small "+Plus only" pill under the title
       (React inline style="display:flex" overrides plain display:none, so we
       need !important),
     * keep the title + muted subtitle (description stays readable),
     * blur/disable ONLY the control rows,
     * one clean top badge carries the lock message. */
.section-card:has(#cfg-btMode):has(.coming-soon-pill) > .section-title {
  display: none !important;
}
.section-card:has(#cfg-btMode):has(.coming-soon-pill) .settings-item {
  opacity: .4;
  filter: grayscale(.8) blur(.6px);
  pointer-events: none;
  user-select: none;
}
.section-card:has(#cfg-btMode):has(.coming-soon-pill)::after {
  content: "\1F512  +Plus Only";
  position: absolute;
  left: 50%;
  top: 12%;
  transform: translate(-50%, -50%);
  z-index: 20;
  pointer-events: none;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #ffd166;
  background: #0009;
  border: 1px solid #ffd16659;
  border-radius: 999px;
  padding: 10px 26px;
  font-size: 14px;
  font-weight: 800;
  white-space: nowrap;
  box-shadow: 0 6px 24px #0009;
}

/* ---- Responsive: stack City to 1 column on narrow screens ------------------- */
@media (max-width:760px) {
  .section-card:has(#cfg-trainInf) {
    grid-template-columns: minmax(0, 1fr);
  }
  .section-card:has(#cfg-trainInf) .settings-item {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
  }
}
/* ============ END CITY SECTION REDESIGN v4 ============ */

/* =========================================================================
   COMBAT SECTION REDESIGN v1 (2026-09-02 — copy of the City design)
   Makes the Combat/Barbarian card a compact 2-column grid of horizontal,
   dark tiles instead of a long vertical list — same look as the City card.
   Also shows the new "Mixed" barb troop type option.
   Scope: COMBAT category only (targeted via its unique #cfg-barbType).
   Pure CSS — no JS/HTML change beyond the 'Mixed' option (done in bundle).
   ========================================================================= */
.section-card:has(#cfg-barbType) {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 16px;
  background: var(--bg-card);
}
.section-card:has(#cfg-barbType) .config-category-header {
  grid-column: 1 / -1;
  padding: 0 0 6px;
}

/* Each setting = one compact tile, SAME dark tone as the rest of the config. */
.section-card:has(#cfg-barbType) .settings-item {
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 12px;
  border: 1px solid rgba(255, 255, 255, .07);
  border-bottom: 1px solid rgba(255, 255, 255, .07);
  border-radius: 12px;
  padding: 14px 16px;
  background: #00000026;
  margin: 0;
  transition: border-color .15s, background .15s;
}
.section-card:has(#cfg-barbType) .settings-item:hover {
  border-color: rgba(255, 255, 255, .16);
  background: #ffffff06;
}
.section-card:has(#cfg-barbType) .settings-item + .settings-item {
  margin-top: 0;
}

/* The barb commander tile holds two picker pairs — needs the full row. */
.section-card:has(#cfg-barbType) .settings-item:has(.commander-picker-pair) {
  grid-column: 1 / -1;
  flex-wrap: wrap;
}
.section-card:has(#cfg-barbType) .commander-picker-pair {
  flex: 1 1 auto;
  min-width: 200px;
}

/* Text + control sizing on Combat tiles. */
.section-card:has(#cfg-barbType) .settings-info {
  flex: 1 1 auto;
  min-width: 0;
}
.section-card:has(#cfg-barbType) .settings-label {
  font-size: 14px;
  font-weight: 600;
}
.section-card:has(#cfg-barbType) .settings-description {
  font-size: 12px;
  line-height: 1.45;
  color: #ffffff94;
}
.section-card:has(#cfg-barbType) .settings-item > .input,
.section-card:has(#cfg-barbType) .settings-item > .select {
  flex: 0 0 auto;
  width: auto;
  min-width: 88px;
  max-width: 190px;
  align-self: center;
}
.section-card:has(#cfg-barbType) .settings-item > .fb-toggle {
  flex: 0 0 auto;
  width: 42px;
  height: 24px;
  align-self: center;
}
.section-card:has(#cfg-barbType) .settings-item > .num-input-group {
  flex: 0 0 auto;
  align-self: center;
}

/* ---- Responsive: stack Combat to 1 column on narrow screens ------------- */
@media (max-width:760px) {
  .section-card:has(#cfg-barbType) {
    grid-template-columns: minmax(0, 1fr);
  }
  .section-card:has(#cfg-barbType) .settings-item {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
  }
}
/* ============ END COMBAT SECTION REDESIGN v1 ============ */

/* ---- Combat: per-march commander list (same UX as Gathering) ------------ */
.section-card:has(#cfg-barbType) .barb-march-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}
.section-card:has(#cfg-barbType) .barb-march-row {
  justify-content: flex-start;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.section-card:has(#cfg-barbType) .barb-march-label {
  flex: 0 0 26px;
  width: 26px;
  height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  background: #ffffff14;
  color: #e2e8f0;
  font-size: 12px;
  font-weight: 700;
}
.section-card:has(#cfg-barbType) .barb-march-row .commander-picker {
  justify-content: flex-start;
}
/* ============ END COMBAT PER-MARCH LIST ============ */
/* ====== OmniX loader art (guard + login transition) — loader v5 ====== */
#root>.center-load{min-height:100vh;min-height:100svh;place-content:center;gap:16px;padding:24px;background:radial-gradient(1000px 500px at 70% -10%,#00e3fd1f,#0000 55%),radial-gradient(800px 500px at -10% 110%,#b6a0ff18,#0000 50%),#0e0e0e}
#root>.center-load::before{content:"";width:92px;height:92px;margin:0 auto;background:url(/omnix-icon-logo.png) center/contain no-repeat;opacity:.96;animation:omx-logo-float 3.2s ease-in-out infinite,omx-logo-glow 2.6s ease-in-out infinite}
#root>.center-load .spinner{width:26px;height:26px;border-width:2px;margin:0 auto;border-color:#b6a0ff26;border-top-color:var(--accent-primary)}
#root>.center-load::after{content:"Please wait, loading";width:max-content;max-width:100%;color:var(--accent-purple);font-size:13px;opacity:.92;text-align:center}
html[lang=ar] #root>.center-load::after{content:"الرجاء الانتظار، جاري التحميل";direction:rtl}
html[lang=zh] #root>.center-load::after{content:"请稍候，正在加载";}
html[lang=ru] #root>.center-load::after{content:"Пожалуйста, подождите, идёт загрузка";}
html[lang=ko] #root>.center-load::after{content:"잠시만 기다려주세요, 로딩 중입니다";}
html[lang=es] #root>.center-load::after{content:"Espere, cargando";}
html[lang=tr] #root>.center-load::after{content:"Lütfen bekleyin, yükleniyor";}
.login-wrap:has(> .spinner){background:radial-gradient(1000px 500px at 70% -10%,#00e3fd1f,#0000 55%),radial-gradient(800px 500px at -10% 110%,#b6a0ff18,#0000 50%),#0e0e0e;padding:24px}
.login-wrap:has(> .spinner)::before{content:"";width:92px;height:92px;background:url(/omnix-icon-logo.png) center/contain no-repeat;opacity:.96;animation:omx-logo-float 3.2s ease-in-out infinite,omx-logo-glow 2.6s ease-in-out infinite}
.login-wrap:has(> .spinner) .spinner{margin:10px auto 8px}
.login-wrap:has(> .spinner)::after{content:"Please wait, loading";width:max-content;max-width:100%;color:var(--accent-purple);font-size:13px;opacity:.92;text-align:center}
html[lang=ar] .login-wrap:has(> .spinner)::after{content:"الرجاء الانتظار، جاري التحميل";direction:rtl}
html[lang=zh] .login-wrap:has(> .spinner)::after{content:"请稍候，正在加载";}
html[lang=ru] .login-wrap:has(> .spinner)::after{content:"Пожалуйста, подождите, идёт загрузка";}
html[lang=ko] .login-wrap:has(> .spinner)::after{content:"잠시만 기다려주세요, 로딩 중입니다";}
html[lang=es] .login-wrap:has(> .spinner)::after{content:"Espere, cargando";}
html[lang=tr] .login-wrap:has(> .spinner)::after{content:"Lütfen bekleyin, yükleniyor";}
@keyframes omx-logo-float{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-9px) scale(1.04)}}
@keyframes omx-logo-glow{0%,100%{filter:drop-shadow(0 6px 16px #b6a0ff26)}50%{filter:drop-shadow(0 10px 26px #b6a0ff66)}}
@media (prefers-reduced-motion:reduce){#root>.center-load::before,.login-wrap:has(> .spinner)::before{animation:none}}

/* OmniX Universal Mobile & APK Responsiveness Hardening */
html,body{overflow-x:hidden!important;max-width:100vw!important;-webkit-text-size-adjust:100%!important;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.table-wrap{width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;margin-bottom:12px!important}
.tabs{display:flex!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;white-space:nowrap!important;gap:4px!important}
.tabs::-webkit-scrollbar{display:none!important}
.tab-btn{flex-shrink:0!important;white-space:nowrap!important}
@media (max-width:640px){
  .fb-stat-grid,.stat-grid,.grid-4{grid-template-columns:repeat(2,1fr)!important;gap:10px!important}
  .inst-grid{grid-template-columns:1fr!important;gap:12px!important}
  .modal-card,.dialog-card,.onboard-modal,.card-modal{max-width:calc(100vw - 20px)!important;max-height:calc(100vh - 30px)!important;overflow-y:auto!important;margin:10px auto!important;padding:14px 12px!important}
}

/* === OMNIX MOBILE & APK RESPONSIVE PERFECTION (v198) === */
@media (max-width: 768px) {
  .topbar-ticker { display: none !important; }
}
.fleet-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  align-items: center;
}
@media (max-width: 768px) {
  .fleet-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px 10px !important;
  }
  .fleet-grid .flex { min-width: 0 !important; }
  .fleet-grid .stat-value {
    font-size: 15px !important;
    white-space: normal !important;
    word-break: break-word !important;
    line-height: 1.25 !important;
  }
  .fleet-grid .muted { font-size: 11.5px !important; }
}
.acc-head {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px 12px !important;
  margin-bottom: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
}
.acc-head .acc-id {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
.acc-head .acc-id h3 {
  color: #fff !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  margin: 0 !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  flex: 0 1 auto !important;
  min-width: 0 !important;
}
.acc-head .acc-id span, .acc-head .acc-id .acc-saved-badge {
  flex-shrink: 0 !important;
  white-space: nowrap !important;
}
@media (max-width: 640px) {
  .acc-head {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
  }
  .acc-head .acc-id {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
  }
  .acc-head .acc-id h3 {
    flex: 0 1 auto !important;
    max-width: calc(100% - 90px) !important;
  }
  .acc-tools {
    width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
  }
  .acc-menu {
    margin-inline-start: 0 !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }
}
.table-wrap, div[style*="overflowX"], div[style*="overflow-x"] {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
}
.acc-card table, .account-card table {
  min-width: 620px !important;
}
.sidebar,
.sidebar-nav,
.tabs,
.faq-sidebar,
.faq-pills,
.filter-pills,
.acc-chips,
.pills,
.scroll-pills,
.subtabs,
.nav-tabs {
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}
.sidebar::-webkit-scrollbar,
.sidebar-nav::-webkit-scrollbar,
.tabs::-webkit-scrollbar,
.faq-sidebar::-webkit-scrollbar,
.faq-pills::-webkit-scrollbar,
.filter-pills::-webkit-scrollbar,
.acc-chips::-webkit-scrollbar,
.pills::-webkit-scrollbar,
.scroll-pills::-webkit-scrollbar,
.subtabs::-webkit-scrollbar,
.nav-tabs::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

/* === OMNIX CONFIG TAB MOBILE & APK RESPONSIVE OVERHAUL (v201) === */
@media (max-width: 768px) {
  /* 1. Header Card & Controls */
  .config-workspace-header {
    padding: 16px 14px !important;
  }
  .config-workspace-header-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 16px !important;
    width: 100% !important;
  }
  .config-workspace-heading {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .config-workspace-heading .section-title {
    font-size: 20px !important;
    line-height: 1.3 !important;
    white-space: normal !important;
  }
  .config-workspace-heading .section-subtitle {
    font-size: 13px !important;
    line-height: 1.5 !important;
    padding: 0 !important;
    margin: 4px 0 !important;
  }
  .config-restart-hint {
    font-size: 12px !important;
    display: block !important;
    margin-top: 2px !important;
  }
  .config-workspace-tools {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 auto !important;
  }
  .config-account-picker {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 6px !important;
    width: 100% !important;
  }
  .config-account-picker label {
    font-size: 12px !important;
    font-weight: 600 !important;
  }
  .config-account-picker select,
  .config-account-picker .input,
  .config-account-picker button {
    width: 100% !important;
    min-height: 42px !important;
    height: 42px !important;
    font-size: 13.5px !important;
    box-sizing: border-box !important;
    border-radius: 8px !important;
  }
  .config-search {
    width: 100% !important;
    position: relative !important;
  }
  .config-search-input {
    width: 100% !important;
    height: 42px !important;
    min-height: 42px !important;
    font-size: 13.5px !important;
    box-sizing: border-box !important;
    border-radius: 8px !important;
    padding-inline-start: 36px !important;
  }
  .scope-dropdown {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    z-index: 1000 !important;
  }

  /* 2. Category Nav Strip */
  .config-workspace-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
  }
  .config-sidebar {
    position: sticky !important;
    top: calc(var(--topbar-height, 56px) + 6px) !important;
    z-index: 25 !important;
    padding: 6px 8px !important;
    margin-bottom: 8px !important;
    background: var(--bg-card, #121418) !important;
    border: 1px solid var(--border-subtle, rgba(255,255,255,0.08)) !important;
    border-radius: 12px !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
  }
  .config-category-nav {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    padding: 2px 0 !important;
    gap: 6px !important;
    width: 100% !important;
  }
  .config-category-nav::-webkit-scrollbar {
    display: none !important;
  }
  .config-category-btn {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    min-height: 38px !important;
    padding: 6px 14px !important;
    font-size: 13px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
  }
  .config-category-btn.active {
    border-color: #00e3fd !important;
    background: rgba(0, 227, 253, 0.12) !important;
    color: #00e3fd !important;
  }

  /* 3. Section Cards & Category Content */
  .config-category-content {
    width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }
  .section-card {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 16px 14px !important;
    display: flex !important;
    flex-direction: column !important;
  }
  .section-card[data-cat],
  .section-card:has(#cfg-trainInf),
  .section-card:has(#cfg-barbMax) {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .config-category-header {
    padding: 0 0 8px 0 !important;
    width: 100% !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
  }
  .section-card > .section-subtitle {
    padding: 0 0 10px 0 !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
  }

  /* 4. Settings Items (Universal & Semantic) */
  .settings-item {
    padding: 12px 14px !important;
    border-radius: 10px !important;
    margin-bottom: 8px !important;
    border: 1px solid rgba(255, 255, 255, 0.07) !important;
    background: rgba(0, 0, 0, 0.22) !important;
    box-sizing: border-box !important;
    width: 100% !important;
  }
  .settings-label {
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 6px !important;
  }
  .settings-description,
  .settings-item-hint {
    font-size: 12px !important;
    line-height: 1.45 !important;
    color: #ffffff94 !important;
    margin-top: 2px !important;
  }

  /* Toggle Settings Items: Row layout with toggle on right */
  .settings-item-toggle,
  .settings-item:has(> .fb-toggle),
  .settings-item:has(.fb-toggle) {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
  }
  .settings-item-toggle .settings-info,
  .settings-item:has(> .fb-toggle) .settings-info,
  .settings-item:has(.fb-toggle) .settings-info {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
  .settings-item-toggle .fb-toggle,
  .settings-item:has(> .fb-toggle) .fb-toggle,
  .settings-item:has(.fb-toggle) .fb-toggle {
    flex: 0 0 42px !important;
    margin-inline-start: auto !important;
  }

  /* Control Settings Items: Stacks neatly with full-width controls below text */
  .settings-item-control,
  .settings-item:has(select),
  .settings-item:has(.input),
  .settings-item:has(.interval-chips),
  .settings-item:has(.num-input-group),
  .settings-item:has(.commander-picker-pair) {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
  }
  .settings-item-control .settings-info,
  .settings-item:has(select) .settings-info,
  .settings-item:has(.input) .settings-info,
  .settings-item:has(.interval-chips) .settings-info,
  .settings-item:has(.num-input-group) .settings-info {
    width: 100% !important;
    min-width: 0 !important;
  }
  .settings-item-control select,
  .settings-item-control .select,
  .settings-item-control .input,
  .settings-item-control .input-size-sm,
  .settings-item:has(select) select,
  .settings-item:has(select) .input,
  .settings-item:has(.input) .input {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 40px !important;
    height: 40px !important;
    box-sizing: border-box !important;
    font-size: 13.5px !important;
    border-radius: 8px !important;
  }

  /* 5. Specialized Form Controls */
  /* Number Input Group */
  .num-input-group {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
  }
  .num-input-group .input {
    flex: 1 1 auto !important;
    width: 100% !important;
    text-align: center !important;
    height: 40px !important;
  }
  .num-input-suffix {
    flex-shrink: 0 !important;
    font-size: 13px !important;
  }

  /* Commander Slots & Barbarian March Rows */
  .commander-slot-row,
  .barb-march-row {
    padding: 12px !important;
    border-radius: 10px !important;
    background: rgba(0, 0, 0, 0.25) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .commander-picker-pair {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
  }
  .commander-picker-pair select,
  .commander-picker-pair .input {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: 100% !important;
    height: 38px !important;
    font-size: 13px !important;
  }

  /* Interval Chips (Run Frequency) */
  .interval-chips {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(75px, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
  }
  .interval-chip {
    width: 100% !important;
    min-height: 40px !important;
    padding: 0 8px !important;
    font-size: 13px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    border-radius: 8px !important;
  }

  /* Resource Split List (Gathering) */
  .gather-order-list {
    padding: 8px 0 !important;
    width: 100% !important;
  }
  .gather-order-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    padding: 8px 0 !important;
  }

  /* State / Info / Hint blocks */
  .state-block,
  .config-inline-note {
    font-size: 12.5px !important;
    line-height: 1.5 !important;
    padding: 10px 12px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
}
/* === OMNIX RESPONSIVE PERFECTION (v202) === */
/* 1. Config March Rows Stack on Mobile */
@media (max-width: 640px) {
  .gather-march-body {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    align-items: stretch !important;
    width: 100% !important;
  }
  .gather-march-level {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    gap: 12px !important;
  }
  .gather-march-level-label {
    text-align: start !important;
    width: auto !important;
    font-size: 12.5px !important;
    white-space: normal !important;
    flex: 1 1 auto !important;
  }
  .gather-march-level .input {
    width: 130px !important;
    max-width: 130px !important;
    height: 38px !important;
    flex-shrink: 0 !important;
  }
  .gather-march-body .gather-cmd-select {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    align-items: stretch !important;
  }
  .gather-march-body .gather-cmd-select .gather-cmd-label,
  .gather-march-body .gather-cmd-select label {
    font-size: 12.5px !important;
    text-align: start !important;
    white-space: normal !important;
    display: block !important;
  }
  .gather-march-body .gather-cmd-btn,
  .gather-march-body .gather-cmd-select .input,
  .gather-march-body .gather-cmd-select select {
    width: 100% !important;
    height: 40px !important;
    min-height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }
}

/* 2. Config Category Nav Touch Scrolling & Static Positioning */
@media (max-width: 768px) {
  .config-sidebar {
    position: static !important;
    top: auto !important;
    z-index: 10 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin-bottom: 14px !important;
    padding: 6px 8px !important;
  }
  .config-category-nav {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-x !important;
    scrollbar-width: none !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 6px !important;
    padding: 4px 2px !important;
    box-sizing: border-box !important;
  }
  .config-category-nav::-webkit-scrollbar {
    display: none !important;
  }
  .config-category-btn {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    touch-action: manipulation !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    min-height: 38px !important;
    padding: 6px 14px !important;
  }
}

/* 3. Overview Stat Cards 2-Column Harmony */
@media (max-width: 640px) {
  .fb-stat-grid,
  .stat-grid,
  .grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  .stat-card {
    min-height: 96px !important;
    padding: 12px 14px !important;
    border-radius: 12px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
  }
  .stat-card .stat-label {
    font-size: 11px !important;
    letter-spacing: 0.04em !important;
  }
  .stat-card .stat-value {
    font-size: 20px !important;
    line-height: 1.2 !important;
  }
  .stat-card .stat-foot {
    font-size: 11px !important;
  }
}
@media (max-width: 380px) {
  .fb-stat-grid,
  .stat-grid,
  .grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  .stat-card {
    min-height: 90px !important;
    padding: 10px 10px !important;
  }
  .stat-card .stat-value {
    font-size: 18px !important;
  }
}
/* === OMNIX OVERVIEW CARDS HARMONY & UNIFIED WIDTH (v203) === */
.ov-pair {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
}

@media (max-width: 768px) {
  .grid-2,
  .ov-pair {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  
  .ov-pair > .card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    margin: 0 !important;
  }

  /* Unify all card dimensions, paddings, and borders across Overview */
  .card {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    border-radius: 12px !important;
  }

  .card-head {
    padding: 12px 14px !important;
    box-sizing: border-box !important;
  }

  .card-body {
    padding: 12px 14px !important;
    box-sizing: border-box !important;
  }

  .ov-bot-row,
  .ov-sess-row {
    padding: 10px 4px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .ov-bot-main,
  .ov-sess-main {
    min-width: 0 !important;
    flex: 1 1 0 !important;
    overflow: hidden !important;
  }

  .ov-bot-name,
  .ov-sess-device {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
  }
}
/* === OMNIX AFFILIATE SECTION RESPONSIVE & MOBILE PERFECTION (v205) === */
.profile-col {
  width: 100% !important;
  max-width: 760px !important;
  box-sizing: border-box !important;
}

.profile-tabs {
  scrollbar-width: none !important;
  -webkit-overflow-scrolling: touch !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  gap: 8px !important;
  padding-bottom: 4px !important;
}

.profile-tabs::-webkit-scrollbar {
  display: none !important;
}

.profile-tab {
  flex-shrink: 0 !important;
  white-space: nowrap !important;
}

/* 1. Hero Card */
.aff-hero {
  background: var(--bg-card, #0f1422) !important;
  border: 1px solid var(--border-subtle, rgba(255, 255, 255, 0.08)) !important;
  border-radius: 14px !important;
  padding: 18px 20px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25) !important;
  position: relative !important;
  overflow: hidden !important;
}

.aff-hero::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 2.5px !important;
  background: linear-gradient(90deg, #00e3fd, #7c5cff, #4ade80) !important;
  opacity: 0.9 !important;
}

.aff-hero > div:first-child {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.aff-hero-code {
  font-family: var(--font-mono, 'JetBrains Mono', monospace) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #00e3fd !important;
  background: rgba(0, 227, 253, 0.1) !important;
  border: 1px solid rgba(0, 227, 253, 0.3) !important;
  padding: 4px 12px !important;
  border-radius: 8px !important;
  white-space: nowrap !important;
  letter-spacing: 0.03em !important;
  box-shadow: 0 0 10px rgba(0, 227, 253, 0.15) !important;
  flex-shrink: 0 !important;
}

.aff-hero-link {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 14px !important;
  background: rgba(0, 0, 0, 0.38) !important;
  border: 1px solid var(--border-subtle, rgba(255, 255, 255, 0.08)) !important;
  border-radius: 10px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
}

.aff-hero-link > span:first-child {
  display: flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
}

.aff-hero-link > span:first-child svg {
  width: 16px !important;
  height: 16px !important;
  stroke: var(--text-muted, #94a3b8) !important;
  display: block !important;
}

.aff-hero-link .mono {
  font-family: var(--font-mono, 'JetBrains Mono', monospace) !important;
  font-size: 13px !important;
  color: var(--text-primary, #f8fafc) !important;
  flex: 1 1 0% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.aff-hero-link .link-btn {
  flex-shrink: 0 !important;
  padding: 6px 12px !important;
  border-radius: 8px !important;
  background: rgba(0, 227, 253, 0.1) !important;
  border: 1px solid rgba(0, 227, 253, 0.25) !important;
  color: #00e3fd !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  transition: all 0.15s ease !important;
}

.aff-hero-link .link-btn:hover {
  background: rgba(0, 227, 253, 0.2) !important;
}

/* 2. KPI Cards Grid */
.aff-kpis {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.aff-kpi {
  background: var(--bg-card, #0f1422) !important;
  border: 1px solid var(--border-subtle, rgba(255, 255, 255, 0.08)) !important;
  border-radius: 12px !important;
  padding: 14px 16px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  position: relative !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15) !important;
  transition: transform 0.2s, border-color 0.2s, box-shadow 0.2s !important;
}

.aff-kpi:hover {
  transform: translateY(-2px) !important;
  border-color: color-mix(in srgb, var(--kpi-c, #00e3fd) 40%, transparent) !important;
  box-shadow: 0 4px 16px color-mix(in srgb, var(--kpi-c, #00e3fd) 15%, transparent) !important;
}

.aff-kpi::after {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 2.5px !important;
  background: var(--kpi-c, #00e3fd) !important;
  opacity: 0.9 !important;
}

.aff-kpi-ico {
  width: 34px !important;
  height: 34px !important;
  border-radius: 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: color-mix(in srgb, var(--kpi-c, #00e3fd) 14%, transparent) !important;
  color: var(--kpi-c, #00e3fd) !important;
  margin-bottom: 2px !important;
  flex-shrink: 0 !important;
}

.aff-kpi-ico svg {
  width: 18px !important;
  height: 18px !important;
  stroke: currentColor !important;
  display: block !important;
}

.aff-kpi-label {
  font-size: 11.5px !important;
  font-weight: 700 !important;
  color: var(--text-muted, #94a3b8) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.aff-kpi-value {
  font-size: 20px !important;
  font-weight: 800 !important;
  color: var(--text-primary, #f8fafc) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em !important;
  font-variant-numeric: tabular-nums !important;
  word-break: break-word !important;
}

.aff-kpi-foot {
  font-size: 11.5px !important;
  color: var(--text-muted, #64748b) !important;
  margin-top: auto !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* 3. Duo Section (Payout & Redeem) */
.aff-duo {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.aff-duo > .card {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}

.aff-tier-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 10px 0 !important;
  border-bottom: 1px solid var(--border-subtle, rgba(255, 255, 255, 0.06)) !important;
}

.aff-tier-row:last-child {
  border-bottom: none !important;
}

/* 4. Table Cards */
.aff-table-card {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}

.aff-table-card .table-wrap {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

.aff-table-card .table {
  min-width: 520px !important;
}

.aff-table-card .card-head .card-title svg {
  width: 18px !important;
  height: 18px !important;
}

/* 5. Tablet Responsiveness (<= 768px) */
@media (max-width: 768px) {
  .profile-col {
    padding: 0 4px !important;
  }
  
  .aff-hero {
    padding: 14px 14px !important;
    border-radius: 12px !important;
  }
  
  .aff-hero-link {
    padding: 8px 10px !important;
    gap: 8px !important;
  }
  
  .aff-hero-link .mono {
    font-size: 12px !important;
  }
  
  .aff-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  
  .aff-kpi {
    padding: 12px 12px !important;
    border-radius: 10px !important;
    min-height: 96px !important;
  }
  
  .aff-kpi-value {
    font-size: 17px !important;
  }
  
  .aff-duo {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
  }
}

/* 6. Mobile Phone Responsiveness (<= 480px) */
@media (max-width: 480px) {
  .aff-hero > div:first-child {
    flex-wrap: wrap !important;
    gap: 8px !important;
  }
  
  .aff-hero-code {
    margin-inline-start: auto !important;
    font-size: 12px !important;
    padding: 3px 8px !important;
  }
  
  .aff-hero-link {
    padding: 7px 10px !important;
    gap: 6px !important;
  }
  
  .aff-hero-link .mono {
    font-size: 11.5px !important;
  }
  
  .aff-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  
  .aff-kpi {
    padding: 10px 10px !important;
    min-height: 88px !important;
  }
  
  .aff-kpi-ico {
    width: 28px !important;
    height: 28px !important;
    border-radius: 8px !important;
  }
  
  .aff-kpi-ico svg {
    width: 16px !important;
    height: 16px !important;
  }
  
  .aff-kpi-label {
    font-size: 10.5px !important;
  }
  
  .aff-kpi-value {
    font-size: 15px !important;
  }
  
  .aff-kpi-foot {
    font-size: 10.5px !important;
  }
  
  .aff-tier-row {
    padding: 8px 0 !important;
    gap: 8px !important;
  }
  
  .aff-tier-row .btn {
    min-height: 36px !important;
    padding: 6px 12px !important;
    font-size: 12px !important;
  }

  /* Non-partner pitch cards & steps */
  .profile-tab-panel .grid-3 {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
  }
  
  .profile-tab-panel .card {
    padding: 16px 14px !important;
  }
}
