.routes-builder{--brand: #003555;--brand-deep: #002b45;--brand-lift: #0a4b71;--accent: #00b2b2;--accent-ink: #00696b;--brand-font: "Reem Kufi";--text-font: "IBM Plex Sans Arabic";--paper: #f2f6f8;--card: #ffffff;--card-2: #f8fbfc;--sunk: #eaf1f5;--ink: #0a1d28;--ink-2: #48606d;--ink-3: #7a8d99;--line: #dde7ec;--line-2: #c3d2db;--brand-tint: #e3edf3;--accent-tint: #dcf3f3;--on-brand: #ffffff;--on-accent: #ffffff;--danger: #b03a3a;--danger-tint: #fbecec;--sh-1: 0 1px 2px rgba(10, 29, 40, .05);--sh-2: 0 1px 2px rgba(10, 29, 40, .05), 0 10px 26px -14px rgba(10, 29, 40, .2);--sh-up: 0 -1px 2px rgba(10, 29, 40, .04), 0 -14px 34px -20px rgba(10, 29, 40, .26);--r-1: 9px;--r-2: 13px;--r-3: 19px;--r-4: 24px;--display: var(--brand-font), "IBM Plex Sans Arabic", Tahoma, sans-serif;--sans: var(--text-font), Tahoma, Arial, "Segoe UI", sans-serif;box-sizing:border-box;width:100%;min-height:100vh;min-height:100dvh;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.65;-webkit-font-smoothing:antialiased;padding-bottom:120px}.routes-builder.routes-builder--compact{padding-bottom:24px}.routes-builder.routes-builder--no-pad{padding-bottom:0}.routes-builder.routes-builder--in-shell{--rb-shell-pad: 1rem;margin:calc(-1 * var(--rb-shell-pad));width:calc(100% + 2 * var(--rb-shell-pad));min-height:calc(100% + var(--rb-shell-pad))}@media(min-width:768px){.routes-builder.routes-builder--in-shell{--rb-shell-pad: 1.5rem}}@media(min-width:1024px){.routes-builder.routes-builder--in-shell{--rb-shell-pad: 2rem}}.routes-builder.routes-builder--in-shell .bar:not(.compact){position:sticky}.dark .routes-builder,html[data-theme=dark] .routes-builder{--brand: #2cc2c2;--brand-deep: #a6e9e9;--brand-lift: #4dd4d4;--accent: #7fc6e4;--accent-ink: #a9d9ee;--paper: #061219;--card: #0e1e28;--card-2: #132631;--sunk: #0a1a22;--ink: #e4eff4;--ink-2: #9cb2be;--ink-3: #6e8593;--line: #1e323f;--line-2: #2c4454;--brand-tint: #0f2a31;--accent-tint: #12242f;--on-brand: #04181c;--on-accent: #062028;--danger: #e08078;--danger-tint: #2c1b19;--sh-1: 0 1px 2px rgba(0, 0, 0, .5);--sh-2: 0 1px 2px rgba(0, 0, 0, .5), 0 10px 26px -14px rgba(0, 0, 0, .72);--sh-up: 0 -1px 2px rgba(0, 0, 0, .4), 0 -14px 34px -20px rgba(0, 0, 0, .76)}.routes-builder *,.routes-builder *:before,.routes-builder *:after{box-sizing:border-box}.routes-builder h1,.routes-builder h2,.routes-builder h3,.routes-builder h4{margin:0;text-wrap:balance;line-height:1.3}.routes-builder p{margin:0}.routes-builder button,.routes-builder input,.routes-builder select,.routes-builder textarea{font:inherit;color:inherit}.routes-builder button{cursor:pointer;appearance:none;-webkit-appearance:none;background:none;border:none;padding:0}.routes-builder .cat,.routes-builder .chip,.routes-builder .jchip,.routes-builder .tbtn,.routes-builder .sbtn,.routes-builder .btn,.routes-builder .lbtn,.routes-builder .fold{font:inherit;color:inherit}.routes-builder :focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:8px}.routes-builder .app{max-width:1260px;margin:auto;padding:20px 18px 24px}.routes-builder .topbar{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--paper) 90%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.routes-builder .topbar-in{max-width:1260px;margin:auto;padding:0 18px;height:74px;display:flex;align-items:center;gap:16px}.routes-builder .brand{display:flex;align-items:center;gap:13px}.routes-builder .brandmark{height:52px;width:auto;display:block}.routes-builder .logo-d,.dark .routes-builder .logo-l,html[data-theme=dark] .routes-builder .logo-l{display:none}.dark .routes-builder .logo-d,html[data-theme=dark] .routes-builder .logo-d{display:block}.routes-builder .brand .rule{width:1px;height:32px;background:var(--line-2)}.routes-builder .brand small{font-size:12px;color:var(--ink-3);letter-spacing:.04em;line-height:1.4;display:block;max-width:15ch}.routes-builder .sp{flex:1}.routes-builder .tbtn{border:1px solid var(--line-2);background:var(--card);color:var(--ink-2);border-radius:10px;padding:9px 14px;font-size:12.5px;font-weight:500;display:inline-flex;align-items:center;gap:7px}.routes-builder .tbtn:hover{border-color:var(--brand);color:var(--brand)}.routes-builder .tbtn.sq{width:38px;padding:0;justify-content:center}.routes-builder .jump{position:sticky;top:74px;z-index:29;background:color-mix(in srgb,var(--paper) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.routes-builder .jump[hidden]{display:none}.routes-builder .jump-in{max-width:1260px;margin:auto;padding:9px 18px;display:flex;gap:7px;overflow-x:auto;scrollbar-width:thin}.routes-builder .jchip{border:1px solid var(--line);background:var(--card);border-radius:99px;padding:6px 13px;font-size:12.5px;white-space:nowrap;display:inline-flex;align-items:center;gap:7px;flex-shrink:0}.routes-builder .jchip:hover{border-color:var(--brand);color:var(--brand)}.routes-builder .jchip .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0}.routes-builder .jchip.done .dot{background:var(--brand)}.routes-builder .hero{position:relative;overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:var(--r-4);padding:26px;box-shadow:var(--sh-2);margin-bottom:16px}.routes-builder .hero:before{content:"";position:absolute;inset-inline-end:-80px;top:-100px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,var(--accent-tint) 0%,transparent 70%);pointer-events:none}.routes-builder .hero-row{position:relative;display:flex;justify-content:space-between;align-items:flex-start;gap:22px;flex-wrap:wrap}.routes-builder .hero h2{font-family:var(--display);font-size:27px;font-weight:600;margin-bottom:9px}.routes-builder .hero p{color:var(--ink-2);font-size:14.5px;line-height:1.8;max-width:72ch}.routes-builder .hero p b{color:var(--ink);font-weight:600}.routes-builder .stats{display:flex;gap:10px;flex-shrink:0}.routes-builder .stat{background:var(--card-2);border:1px solid var(--line);border-radius:var(--r-2);padding:12px 18px;text-align:center;min-width:104px}.routes-builder .stat b{display:block;font-size:25px;font-weight:700;line-height:1.15;color:var(--brand);font-variant-numeric:tabular-nums}.routes-builder .stat span{font-size:11.5px;color:var(--ink-3)}.routes-builder .picker{position:relative;margin-top:20px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.routes-builder .cat{border:1px solid var(--line);background:var(--card);border-radius:var(--r-3);padding:12px;text-align:right;display:flex;align-items:center;gap:10px;transition:.16s;min-height:66px}.routes-builder .cat:hover:not(:disabled){border-color:var(--brand);transform:translateY(-1px);box-shadow:var(--sh-1)}.routes-builder .cat.active{border-color:var(--brand);background:var(--brand-tint)}.routes-builder .cat:disabled{opacity:.5;cursor:not-allowed}.routes-builder .cat .ico{width:36px;height:36px;border-radius:11px;background:var(--sunk);display:grid;place-items:center;color:var(--brand);flex-shrink:0}.routes-builder .cat.active .ico{background:var(--card)}.routes-builder .cat b{font-size:12.5px;display:block;font-weight:600;line-height:1.35}.routes-builder .cat small{font-size:10.5px;color:var(--ink-3)}.routes-builder .tick{margin-inline-start:auto;width:21px;height:21px;border-radius:7px;border:1.5px solid var(--line-2);background:var(--card);display:grid;place-items:center;color:transparent;flex-shrink:0}.routes-builder .cat.active .tick{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.routes-builder .sect{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:26px 2px 13px}.routes-builder .sect h3{font-family:var(--display);font-size:19px;font-weight:600}.routes-builder .sect span{font-size:12.5px;color:var(--ink-3)}.routes-builder .blocks{display:grid;gap:13px}.routes-builder .block{background:var(--card);border:1px solid var(--line);border-radius:var(--r-4);box-shadow:var(--sh-2);overflow:hidden;scroll-margin-top:140px}.routes-builder .btop{display:flex;align-items:center;gap:12px;padding:15px 18px;background:var(--card-2);border-bottom:1px solid var(--line)}.routes-builder .block.folded .btop{border-bottom:0}.routes-builder .btop .ico{width:42px;height:42px;border-radius:13px;background:var(--brand-tint);display:grid;place-items:center;color:var(--brand);flex-shrink:0}.routes-builder .btop h4{font-size:15.5px;font-weight:600;margin-bottom:2px}.routes-builder .btop p{color:var(--ink-3);font-size:11.5px}.routes-builder .pill{font-size:11px;font-weight:600;padding:3px 10px;border-radius:99px;white-space:nowrap}.routes-builder .pill.ok{background:var(--brand-tint);color:var(--brand-deep)}.routes-builder .pill.miss{background:var(--accent-tint);color:var(--accent-ink)}.routes-builder .bacts{margin-inline-start:auto;display:flex;gap:7px;align-items:center;flex-wrap:wrap}.routes-builder .sbtn{border:1px solid var(--line-2);background:var(--card);border-radius:var(--r-1);padding:7px 12px;font-size:12px;font-weight:500;color:var(--ink-2)}.routes-builder .sbtn:hover{border-color:var(--brand);color:var(--brand)}.routes-builder .sbtn.pri{color:var(--brand);border-color:var(--brand);background:var(--brand-tint);font-weight:600}.routes-builder .sbtn.pri:hover{background:var(--brand);color:var(--on-brand)}.routes-builder .fold{width:32px;height:32px;padding:0;display:grid;place-items:center;border-radius:9px;border:1px solid var(--line-2);background:var(--card);color:var(--ink-3)}.routes-builder .fold:hover{border-color:var(--brand);color:var(--brand)}.routes-builder .fold svg{transition:transform .2s}.routes-builder .block.folded .fold svg{transform:rotate(-90deg)}.routes-builder .routes{padding:15px}.routes-builder .block.folded .routes{display:none}.routes-builder .route{border:1px solid var(--line);border-radius:var(--r-3);padding:16px;margin-bottom:11px;background:var(--card-2)}.routes-builder .route:last-child{margin-bottom:0}.routes-builder .rhead{display:flex;align-items:center;gap:10px;margin-bottom:15px;flex-wrap:wrap}.routes-builder .rno{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:9px;background:var(--brand-tint);color:var(--brand-deep);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.routes-builder .rhead b{font-size:13.5px;font-weight:600}.routes-builder .racts{display:flex;gap:5px;margin-inline-start:auto}.routes-builder .lbtn{border:0;background:transparent;font-size:12px;font-weight:500;color:var(--ink-2);padding:5px 9px;border-radius:7px}.routes-builder .lbtn:hover{background:var(--brand-tint);color:var(--brand)}.routes-builder .lbtn.del{color:var(--danger)}.routes-builder .lbtn.del:hover{background:var(--danger-tint)}.routes-builder .flow,.routes-builder .rb-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;align-items:start}.routes-builder .rb-flow-contents{display:contents}.routes-builder .rb-scoped-stack{display:flex;flex-direction:column;gap:13px;width:100%}.routes-builder .field{min-width:0}.routes-builder .field.full{grid-column:1 / -1}.routes-builder .field label{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600;margin-bottom:7px;flex-wrap:wrap;min-height:24px}.routes-builder .dot{width:5px;height:5px;border-radius:50%;background:var(--brand);flex-shrink:0}.routes-builder .opt{font-size:10px;font-weight:600;color:var(--accent-ink);background:var(--accent-tint);padding:1px 7px;border-radius:5px}.routes-builder .cnt{font-size:11px;font-weight:600;color:var(--brand-deep);background:var(--brand-tint);padding:1px 9px;border-radius:99px;font-variant-numeric:tabular-nums;min-width:1.5rem;text-align:center}.routes-builder .cnt.empty{visibility:hidden}.routes-builder .fb{margin-inline-start:auto;display:flex;gap:2px;min-height:22px;align-items:center}.routes-builder .fb button.hidden-reserved{visibility:hidden;pointer-events:none}.routes-builder .fb button{border:0;background:transparent;font-size:11.5px;font-weight:500;color:var(--brand);padding:2px 7px;border-radius:6px}.routes-builder .fb button:hover{background:var(--brand-tint)}.routes-builder .fb button.mute{color:var(--ink-3)}.routes-builder .field select,.routes-builder .field input,.routes-builder .field textarea,.routes-builder .rb-select{width:100%;border:1px solid var(--line-2);background:var(--card);border-radius:10px;padding:11px 12px;outline:none;font-size:14px}.routes-builder .field textarea{min-height:76px;resize:vertical;line-height:1.7}.routes-builder .field select:focus,.routes-builder .field input:focus,.routes-builder .field textarea:focus,.routes-builder .rb-select:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 16%,transparent)}.routes-builder .field select,.routes-builder .rb-select{cursor:pointer}.routes-builder .lock{border:1px dashed var(--line-2);background:var(--sunk);border-radius:10px;padding:11px 13px;font-size:12.5px;color:var(--ink-3);display:flex;align-items:center;gap:8px}.routes-builder .lock svg{flex-shrink:0;opacity:.65}.routes-builder .chips,.routes-builder .rb-chips{min-height:40px;display:flex;flex-wrap:wrap;gap:7px}.routes-builder .chip,.routes-builder .rb-chip{border:1px solid var(--line-2);background:var(--card);border-radius:999px;padding:7px 13px;font-size:13px;color:var(--ink-2);transition:.14s;display:inline-flex;align-items:center;gap:6px}.routes-builder .chip:hover,.routes-builder .rb-chip:hover{border-color:var(--brand);color:var(--brand)}.routes-builder .chip.active,.routes-builder .rb-chip.active{background:var(--brand);border-color:var(--brand);color:var(--on-brand);font-weight:500}.routes-builder .chip.active:hover,.routes-builder .rb-chip.active:hover{background:var(--brand-lift)}.routes-builder .chip.oth,.routes-builder .rb-chip.oth{border-style:dashed;color:var(--accent-ink);border-color:var(--accent)}.routes-builder .chip.oth.active,.routes-builder .rb-chip.oth.active{background:var(--accent-ink);border-color:var(--accent-ink);color:var(--on-accent)}.routes-builder .chip .x,.routes-builder .rb-chip .x{opacity:.7;font-size:15px;line-height:1;margin-inline-start:4px}.routes-builder .scroll,.routes-builder .rb-scroll{max-height:206px;overflow-y:auto;padding:4px 4px 8px;border:1px solid var(--line);border-radius:10px;background:var(--card)}.routes-builder .fs{width:100%;border:1px solid var(--line-2);background:var(--card);border-radius:10px;padding:9px 12px;margin-bottom:8px;outline:none;font-size:13.5px}.routes-builder .fs:focus{border-color:var(--brand)}.routes-builder .entry{display:flex;gap:7px}.routes-builder .entry input{flex:1;min-width:0}.routes-builder .entry button{border:1px solid var(--brand);background:var(--brand);color:var(--on-brand);border-radius:10px;padding:0 16px;font-weight:600;font-size:13px;flex-shrink:0}.routes-builder .entry button:hover{background:var(--brand-lift)}.routes-builder .chips+.chips,.routes-builder .entry+.chips{margin-top:8px}.routes-builder .othbox{margin-top:9px;padding:11px;border:1px dashed var(--accent);border-radius:10px;background:var(--accent-tint)}.routes-builder .othbox .entry button{border-color:var(--accent-ink);background:var(--accent-ink);color:var(--on-accent)}.routes-builder .modes{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:9px}.routes-builder .mode{padding:8px 14px;border:1px solid var(--line-2);border-radius:10px;font-size:13px;background:var(--card)}.routes-builder .mode.on{border-color:var(--brand);background:var(--brand-tint);color:var(--brand-deep);font-weight:600}.routes-builder .fh{font-size:11.5px;color:var(--ink-3);margin-top:7px;line-height:1.55}.routes-builder .tree,.routes-builder .rb-tree{margin-top:15px;display:flex;align-items:stretch;gap:7px;flex-wrap:wrap;padding:13px;background:var(--sunk);border-radius:var(--r-2);border:1px dashed var(--line-2)}.routes-builder .node,.routes-builder .rb-tree-node{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:7px 11px;font-size:12.5px;display:flex;flex-direction:column;gap:2px;max-width:290px;border-inline-start:2px solid var(--accent)}.routes-builder .node i,.routes-builder .rb-tree-node i{font-style:normal;font-size:9.5px;color:var(--ink-3);letter-spacing:.04em}.routes-builder .node span,.routes-builder .rb-tree-node span{line-height:1.45}.routes-builder .arw{color:var(--line-2);font-size:14px;align-self:center}.routes-builder .enode{font-size:12.5px;color:var(--ink-3)}.routes-builder .tips{margin-top:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.routes-builder .tip{background:var(--card);border:1px solid var(--line);border-radius:var(--r-3);padding:16px}.routes-builder .tip .ti{width:30px;height:30px;border-radius:9px;background:var(--brand-tint);color:var(--brand);display:grid;place-items:center;margin-bottom:9px}.routes-builder .tip b{font-size:13.5px;display:block;margin-bottom:5px;font-weight:600}.routes-builder .tip p{font-size:12.5px;color:var(--ink-2);line-height:1.7}.routes-builder .bar{position:fixed;inset-inline:0;bottom:0;z-index:40;background:color-mix(in srgb,var(--card) 95%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);box-shadow:var(--sh-up)}.routes-builder .bar.compact{position:sticky;margin-top:16px}.routes-builder .bar-in{max-width:1260px;margin:auto;padding:13px 18px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.routes-builder .bmsg{font-size:13px;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:62ch;flex:1;min-width:200px}.routes-builder .bmsg b{color:var(--ink);font-weight:600}.routes-builder .bmsg.warn{color:var(--accent-ink)}.routes-builder .bacts2{display:flex;gap:9px;margin-inline-start:auto}.routes-builder .btn{border:1px solid transparent;border-radius:11px;padding:11px 22px;font-size:14.5px;font-weight:600}.routes-builder .btn.gh{background:transparent;border-color:var(--line-2);color:var(--ink-2)}.routes-builder .btn.gh:hover{border-color:var(--ink-3);color:var(--ink)}.routes-builder .btn.pri{background:var(--brand);color:var(--on-brand)}.routes-builder .btn.pri:hover:not(:disabled){background:var(--brand-lift)}.routes-builder .btn.pri:disabled{opacity:.45;cursor:not-allowed}.routes-builder.routes-builder--modal-portal{min-height:0;padding:0;background:transparent;width:auto;pointer-events:none}.routes-builder.routes-builder--modal-portal .modal-overlay{pointer-events:auto}.routes-builder .modal-overlay{position:fixed;inset:0;background:#04121999;display:flex;align-items:center;justify-content:center;padding:16px;z-index:60;overscroll-behavior:contain}.routes-builder .mbox{width:min(840px,100%);max-height:86vh;overflow:auto;overflow-x:hidden;scrollbar-gutter:stable;background:var(--card);border-radius:var(--r-4);padding:24px;border:1px solid var(--line);display:flex;flex-direction:column}.routes-builder .mbox h3{font-family:var(--display);font-size:22px;font-weight:600;margin-bottom:6px;flex-shrink:0}.routes-builder .mbox>.msub{font-size:13px;color:var(--ink-3);margin-bottom:16px;min-height:1.25rem;flex-shrink:0}.routes-builder .mbox>.mbody{flex:1 1 auto;min-height:120px}.routes-builder .mbox>.mdev{flex-shrink:0;margin-top:8px}.routes-builder .mbox>p:not(.msub){font-size:13px;color:var(--ink-3);margin-bottom:16px}.routes-builder .rc{border:1px solid var(--line);border-radius:var(--r-2);padding:15px;margin-bottom:10px;background:var(--card-2)}.routes-builder .rc b{font-size:14px;color:var(--brand-deep);display:flex;align-items:center;gap:8px}.routes-builder .rl{font-size:13px;line-height:1.85;margin-top:8px;color:var(--ink-2);list-style:none;padding:0;margin-bottom:0}.routes-builder .rl em{font-style:normal;color:var(--ink-3);font-weight:600}.routes-builder details summary{font-size:12.5px;color:var(--ink-3);cursor:pointer;padding:7px 0}.routes-builder .json{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11.5px;direction:ltr;text-align:left;background:var(--sunk);border:1px solid var(--line);border-radius:10px;padding:14px;max-height:290px;overflow:auto;white-space:pre;color:var(--ink-2);line-height:1.55;margin-top:8px}.routes-builder .mfoot{display:flex;justify-content:flex-end;gap:9px;margin-top:16px;flex-shrink:0;min-height:40px;align-items:center}.routes-builder .mfoot .btn.mconfirm{min-width:8.5rem;justify-content:center}.routes-builder .empty{background:var(--card);border:1px dashed var(--line-2);border-radius:var(--r-3);padding:40px;text-align:center;color:var(--ink-3);font-size:14px}.routes-builder .loading-text{font-size:13px;color:var(--ink-3);animation:rb-pulse 1.5s ease-in-out infinite}@keyframes rb-pulse{0%,to{opacity:1}50%{opacity:.5}}@media(max-width:1000px){.routes-builder .picker,.routes-builder .flow,.routes-builder .rb-flow{grid-template-columns:repeat(2,1fr)}.routes-builder .tips{grid-template-columns:1fr}}@media(max-width:660px){.routes-builder .app{padding:14px 12px 24px}.routes-builder .flow,.routes-builder .rb-flow{grid-template-columns:1fr}.routes-builder .topbar-in{height:64px}.routes-builder .jump{top:64px}.routes-builder .brandmark{height:42px}.routes-builder .brand .rule,.routes-builder .brand small{display:none}.routes-builder .hero{padding:20px}.routes-builder .hero-row{display:block}.routes-builder .stats{margin-top:16px}.routes-builder .btop{flex-wrap:wrap}.routes-builder .bmsg{display:none}.routes-builder .bacts2{width:100%}.routes-builder .btn{flex:1}}@media(prefers-reduced-motion:reduce){.routes-builder *{transition:none!important}}
