:root{--bg: #06111c;--bg-elev: #0c1a2a;--bg-soft: #122436;--surface: color-mix(in srgb, var(--bg-elev) 94%, black);--line: rgba(186, 214, 236, .14);--line-strong: rgba(186, 214, 236, .22);--text: #eef6ff;--muted: #8fa6bc;--muted-2: #6f869c;--accent: #14b8a6;--accent-2: #38bdf8;--accent-hot: #fb7185;--ok: #34d399;--warn: #fbbf24;--bad: #f87171;--font: "Outfit", "Segoe UI", sans-serif;--display: "Sora", "Segoe UI", sans-serif;--mono: "IBM Plex Mono", ui-monospace, "Cascadia Code", Consolas, monospace;--teal: #14b8a6;--blue: #38bdf8;--indigo: #818cf8;--amber: #f59e0b;--coral: #fb7185;--green: #4ade80;--cyan: #22d3ee;--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--radius-xl: 20px;--shadow-soft: 0 12px 28px rgba(0, 0, 0, .28);--focus: color-mix(in srgb, var(--accent) 72%, white);--space-1: .35rem;--space-2: .65rem;--space-3: 1rem;--space-4: 1.35rem;--motion: .18s cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:var(--font);color:var(--text);background-color:var(--bg);background-image:radial-gradient(900px 520px at -8% -12%,rgba(20,184,166,.18),transparent 55%),radial-gradient(720px 420px at 108% -4%,rgba(56,189,248,.12),transparent 52%),radial-gradient(560px 360px at 72% 110%,rgba(251,113,133,.07),transparent 48%),linear-gradient(180deg,#050e18 0%,var(--bg) 42%,#07131f 100%);background-attachment:fixed}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;opacity:.035;background-image:linear-gradient(rgba(238,246,255,.9) 1px,transparent 1px),linear-gradient(90deg,rgba(238,246,255,.9) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 20%,black,transparent 75%);mask-image:radial-gradient(ellipse 80% 70% at 50% 20%,black,transparent 75%)}button,input,select,textarea{font:inherit}[hidden],.is-hidden,.login-gate[hidden],#login-gate.is-hidden,#app-shell[hidden],#app-shell.is-hidden{display:none!important}.login-gate{min-height:100vh;display:grid;place-items:center;padding:2rem;position:relative;z-index:20}.login-card{width:min(460px,100%);background:linear-gradient(160deg,rgba(20,184,166,.12),transparent 40%),var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);padding:2.1rem 1.85rem;box-shadow:var(--shadow-soft);position:relative;z-index:21;animation:rise-in .42s cubic-bezier(.22,1,.36,1) both}.enter-btn,#btn-enter-local{width:100%;margin-top:1.2rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer!important;position:relative;z-index:30}.eyebrow{margin:0 0 .5rem;color:var(--accent);text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:700}.login-card h1{margin:0 0 .75rem;font-family:var(--display);font-size:1.85rem;letter-spacing:-.03em}.login-copy,.login-hint{color:var(--muted);line-height:1.55}.login-copy strong{color:var(--accent-2);font-weight:600}.login-hint{font-size:.82rem;margin-top:1.25rem}.login-banner{margin:1rem 0 0;padding:.75rem .9rem;border-radius:var(--radius-sm);border:1px solid rgba(251,191,36,.35);background:#fbbf241f;color:#fde68a;font-size:.85rem;line-height:1.45}.ms-btn{margin-top:1rem;width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.65rem;border:0;border-radius:var(--radius);padding:.85rem 1rem;background:#fff;color:#1b1b1b;font-weight:600;cursor:pointer;transition:transform var(--motion),box-shadow var(--motion)}.ms-btn:hover{transform:translateY(-1px)}.ms-logo{width:18px;height:18px;background:linear-gradient(90deg,#f25022 50%,#7fba00 50%),linear-gradient(90deg,#00a4ef 50%,#ffb900 50%);background-size:100% 50%;background-position:top,bottom;background-repeat:no-repeat}.login-error{color:var(--bad);margin-top:.85rem;font-size:.9rem}.catalog-error{margin:.75rem 0 0;padding:.75rem 1rem;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--bad) 50%,transparent);color:#fecaca;background:#f871711f}.app{max-width:1240px;margin:0 auto;padding:1.15rem 1.25rem 3.5rem;position:relative;z-index:1}.topbar{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.55rem 0 1rem;border-bottom:1px solid var(--line)}.brand-block{display:flex;gap:.85rem;align-items:center}.brand-mark{width:40px;height:40px;border-radius:var(--radius);background:linear-gradient(145deg,var(--accent),#0f766e 50%,var(--accent-2));box-shadow:0 8px 20px #14b8a647}.brand-title{font-family:var(--display);font-weight:700;letter-spacing:-.02em;font-size:1.05rem}.brand-sub{color:var(--muted);font-size:.82rem}.topbar-right{display:flex;gap:.75rem;align-items:center}.user-chip{display:flex;flex-direction:column;align-items:flex-end;line-height:1.25}.user-email{color:var(--muted);font-size:.8rem}.portal-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:1.15rem;margin-top:1.15rem;align-items:start}.side-nav{display:flex;flex-direction:column;gap:.3rem;padding:.85rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);position:sticky;top:1rem}.side-nav-label{margin:0 0 .35rem .35rem;color:var(--muted-2);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700}.side-tab{border:0;text-align:left;background:transparent;color:var(--muted);padding:.7rem .85rem;border-radius:var(--radius-sm);cursor:pointer;font-weight:600;transition:background var(--motion),color var(--motion)}.side-tab:hover{color:var(--text);background:#ffffff0a}.side-tab.active{background:linear-gradient(135deg,#14b8a642,#38bdf81f);color:var(--text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 32%,transparent)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.25rem 1.3rem 1.35rem;animation:rise-in .38s cubic-bezier(.22,1,.36,1) both}.panel-head{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem;padding-bottom:.9rem;border-bottom:1px solid var(--line)}.panel-head h2{margin:0 0 .3rem;font-family:var(--display);font-size:1.28rem;letter-spacing:-.02em}.panel-head p{margin:0;color:var(--muted);max-width:42rem;font-size:.92rem;line-height:1.45}.toolbar{display:flex;gap:.75rem;align-items:end;flex-wrap:wrap}.inline{display:flex;flex-direction:column;gap:.35rem;color:var(--muted);font-size:.82rem}.inline input,.inline select{width:auto;min-width:11rem}.ghost-btn,.primary-btn{border-radius:var(--radius);padding:.68rem 1.1rem;cursor:pointer;font-weight:700;transition:transform var(--motion),box-shadow var(--motion),background var(--motion),opacity var(--motion)}.ghost-btn{border:1px solid var(--line-strong);background:transparent;color:var(--text)}.ghost-btn:hover:not(:disabled){background:#ffffff0a;border-color:color-mix(in srgb,var(--accent-2) 35%,var(--line))}.primary-btn{border:0;background:linear-gradient(135deg,#14b8a6,#0284c7 72%);color:#fff;box-shadow:0 8px 20px #14b8a63d}.primary-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 24px #14b8a652}.primary-btn:disabled,.ghost-btn:disabled{opacity:.55;cursor:not-allowed}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:var(--radius)}table{width:100%;border-collapse:collapse;font-size:.86rem}th,td{text-align:left;padding:.55rem .7rem;border-bottom:1px solid var(--line);vertical-align:middle}th{color:var(--muted-2);font-weight:600;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;background:#ffffff06;white-space:nowrap}tr:last-child td{border-bottom:0}tbody tr{transition:background var(--motion)}tbody tr:hover td{background:#ffffff06}.mono-cell{font-family:var(--mono);font-size:.74rem;word-break:break-all;color:color-mix(in srgb,var(--text) 88%,var(--accent-2))}.status-cell,.tracking-cell{white-space:nowrap}.tracking-links{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.35rem .65rem}.status-track-link{color:var(--accent-2);font-weight:600;font-size:.8rem;text-decoration:none}.status-track-link:hover{text-decoration:underline}.status-badge{display:inline-flex;align-items:center;gap:.35rem;border-radius:6px;padding:.18rem .5rem;font-size:.72rem;font-weight:700;letter-spacing:.01em;text-transform:lowercase;border:1px solid transparent;background:transparent}.status-badge:before{content:"";width:.4rem;height:.4rem;border-radius:50%;background:currentColor;flex-shrink:0}.status-submitted{color:#93c5fd;background:#3b82f61a;border-color:#3b82f647}.status-dispatched,.status-deploying{color:#5eead4;background:#14b8a61f;border-color:#14b8a652}.status-succeeded{color:#86efac;background:#22c55e1f;border-color:#22c55e52}.status-cancelled{color:#cbd5e1;background:#64748b24;border-color:#94a3b852}.status-failed{color:#fca5a5;background:#ef44441f;border-color:#ef444452}.linkish{border:0;background:transparent;color:var(--accent-2);cursor:pointer;font-weight:700;padding:0}.section-block{margin-bottom:1.15rem;padding-bottom:1.1rem;border-bottom:1px solid var(--line);animation:rise-in .42s cubic-bezier(.22,1,.36,1) both}.section-block:nth-of-type(1){animation-delay:40ms}.section-block:nth-of-type(2){animation-delay:90ms}.section-block:nth-of-type(3){animation-delay:.14s}.section-block:nth-of-type(4){animation-delay:.19s}.section-block:nth-of-type(5){animation-delay:.24s}.section-block:last-of-type{border-bottom:0;margin-bottom:0;padding-bottom:0}.section-title{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.section-title h3{margin:0;font-family:var(--display);font-size:.98rem;letter-spacing:-.01em}.chip{display:inline-flex;align-items:center;border-radius:6px;padding:.2rem .55rem;font-size:.72rem;font-weight:700;color:var(--muted);background:#ffffff0a;border:1px solid var(--line)}.resource-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.8rem}.section-hint{margin:0 0 .7rem;color:var(--muted);font-size:.84rem;line-height:1.45}.dependency-note{margin:.75rem 0 0;padding:.65rem .85rem;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--amber) 45%,var(--line));background:color-mix(in srgb,var(--amber) 12%,transparent);color:var(--text);font-size:.84rem}.resource-card{position:relative;text-align:left;border:1px solid var(--line);border-radius:var(--radius-lg);padding:.95rem 1rem .9rem;cursor:pointer;color:var(--text);background:linear-gradient(180deg,color-mix(in srgb,var(--card-accent, var(--accent)) 7%,transparent),transparent 42%),#08121eb8;overflow:hidden;transition:transform var(--motion),border-color var(--motion),box-shadow var(--motion),background var(--motion)}.resource-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--card-accent, var(--accent));opacity:.45;transition:opacity var(--motion),width var(--motion)}.resource-card .check-mark{position:absolute;top:.75rem;right:.75rem;width:1.15rem;height:1.15rem;border-radius:5px;border:1.5px solid color-mix(in srgb,var(--card-accent, var(--accent)) 40%,var(--line));background:transparent;transition:border-color var(--motion),background var(--motion),transform var(--motion)}.resource-card.selected .check-mark{border-color:transparent;background:linear-gradient(135deg,var(--card-accent, var(--accent)),color-mix(in srgb,var(--card-accent, var(--accent)) 55%,white));transform:scale(1.05)}.resource-card.selected .check-mark:after{content:"";position:absolute;left:.28rem;top:.08rem;width:.28rem;height:.55rem;border:solid #042f2e;border-width:0 2px 2px 0;transform:rotate(45deg)}.resource-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--card-accent, var(--accent)) 50%,var(--line))}.resource-card:hover:before,.resource-card.selected:before{opacity:1;width:3px}.resource-card.selected{border-color:color-mix(in srgb,var(--card-accent, var(--accent)) 62%,white);box-shadow:0 0 0 1px color-mix(in srgb,var(--card-accent, var(--accent)) 28%,transparent),0 12px 26px #00000042;background:linear-gradient(160deg,color-mix(in srgb,var(--card-accent, var(--accent)) 16%,transparent),transparent 58%),#08121ee0}.resource-card.selected:hover{transform:translateY(-2px)}.resource-card.just-selected{animation:select-pulse .52s cubic-bezier(.22,1,.36,1)}@keyframes select-pulse{0%{transform:scale(1)}35%{transform:scale(1.025);box-shadow:0 0 0 3px color-mix(in srgb,var(--card-accent, var(--accent)) 35%,transparent)}to{transform:scale(1)}}.resource-card:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.resource-card.locked{cursor:default}.resource-card.locked:hover{transform:none}.resource-card .lock-hint{display:block;margin-top:.5rem;font-size:.7rem;font-weight:600;color:color-mix(in srgb,var(--amber) 78%,white)}.resource-card .icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;margin-bottom:.65rem;color:#042f2e;background:var(--card-accent, var(--accent));box-shadow:0 4px 12px color-mix(in srgb,var(--card-accent, var(--accent)) 28%,transparent)}.resource-card h4{margin:0 0 .3rem;font-family:var(--display);font-size:.95rem;padding-right:1.4rem;letter-spacing:-.01em}.resource-card p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.4;min-height:2.6em}.resource-card .region-cue{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-top:.7rem;padding-top:.55rem;border-top:1px solid color-mix(in srgb,var(--card-accent, var(--accent)) 18%,var(--line))}.resource-card .region-cue-label{font-size:.66rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-2)}.resource-card .region-code{font-family:var(--mono);font-size:.74rem;font-weight:600;color:color-mix(in srgb,var(--card-accent, var(--accent)) 55%,var(--text));letter-spacing:-.01em}.accent-teal{--card-accent: var(--teal)}.accent-blue{--card-accent: var(--blue)}.accent-indigo{--card-accent: var(--indigo)}.accent-amber{--card-accent: var(--amber)}.accent-coral{--card-accent: var(--coral)}.accent-green{--card-accent: var(--green)}.accent-cyan{--card-accent: var(--cyan)}.template-combos{margin-top:1rem;padding:.95rem 1rem 1.05rem;border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--teal) 10%,transparent),transparent 42%),linear-gradient(210deg,color-mix(in srgb,var(--accent-2) 8%,transparent),transparent 55%),#07101cb8;opacity:0;transform:translateY(10px);transition:opacity .28s cubic-bezier(.22,1,.36,1),transform .28s cubic-bezier(.22,1,.36,1)}.template-combos.is-entering,.template-combos:not([hidden]){opacity:1;transform:translateY(0)}.template-combos[hidden]{display:none!important}.template-combos-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.template-combos-title{margin:0;font-family:var(--display);font-size:.98rem;font-weight:650;letter-spacing:-.01em}.template-combos-sub{margin:.2rem 0 0;color:var(--muted);font-size:.8rem;line-height:1.4}.chip-soft{background:color-mix(in srgb,var(--accent-2) 14%,transparent);border-color:color-mix(in srgb,var(--accent-2) 30%,var(--line));color:color-mix(in srgb,var(--accent-2) 55%,var(--text))}.combo-selection-row{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem .75rem;margin-bottom:.9rem;padding-bottom:.75rem;border-bottom:1px solid color-mix(in srgb,var(--line) 80%,transparent)}.combo-selection-label{font-size:.72rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-2)}.combo-selection-pills,.combo-composition{display:flex;flex-wrap:wrap;gap:.4rem}.combo-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .55rem .28rem .35rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--card-accent, var(--accent)) 42%,var(--line));background:color-mix(in srgb,var(--card-accent, var(--accent)) 14%,transparent);color:var(--text);font-size:.75rem;font-weight:600;line-height:1.2}.combo-pill.is-extra{opacity:.55;border-style:dashed}.combo-pill.is-selected-type{box-shadow:0 0 0 1px color-mix(in srgb,var(--card-accent, var(--accent)) 25%,transparent)}.combo-pill-icon{display:inline-grid;place-items:center;width:1.25rem;height:1.25rem;border-radius:999px;font-size:.58rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:#041018;background:var(--card-accent, var(--accent))}.combo-group{margin-top:.75rem}.combo-group+.combo-group{margin-top:1rem}.combo-group-label{margin:0 0 .55rem;font-size:.72rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-2)}.combo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem}.combo-card{position:relative;display:block;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;padding:.85rem .9rem;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--card-accent, var(--accent)) 32%,var(--line));background:linear-gradient(165deg,color-mix(in srgb,var(--card-accent, var(--accent)) 12%,transparent),transparent 55%),#060e188c;opacity:0;transform:translateY(8px);transition:opacity .26s cubic-bezier(.22,1,.36,1),transform .26s cubic-bezier(.22,1,.36,1),border-color var(--motion),box-shadow var(--motion),background var(--motion);transition-delay:var(--combo-delay, 0ms)}.combo-card:hover{border-color:color-mix(in srgb,var(--card-accent, var(--accent)) 58%,white);transform:translateY(-1px)}.combo-card:focus-visible{outline:2px solid color-mix(in srgb,var(--card-accent, var(--accent)) 70%,white);outline-offset:2px}.combo-card.is-visible{opacity:1;transform:translateY(0)}.combo-card.is-visible:hover{transform:translateY(-1px)}.combo-card.is-best{border-color:color-mix(in srgb,var(--card-accent, var(--accent)) 72%,white);box-shadow:0 0 0 1px color-mix(in srgb,var(--card-accent, var(--accent)) 30%,transparent),0 14px 28px #00000047;animation:best-glow 1.1s ease-out 1}.combo-card.is-selected{border-color:color-mix(in srgb,var(--card-accent, var(--accent)) 85%,white);box-shadow:0 0 0 2px color-mix(in srgb,var(--card-accent, var(--accent)) 45%,transparent),0 16px 32px #00000052;background:linear-gradient(165deg,color-mix(in srgb,var(--card-accent, var(--accent)) 22%,transparent),transparent 58%),#08121eb8}.combo-card.is-partial{border-style:dashed}.combo-card.is-visible.is-partial{opacity:.92}.combo-radio{flex:0 0 auto;width:1.05rem;height:1.05rem;margin-top:.35rem;border-radius:999px;border:2px solid color-mix(in srgb,var(--card-accent, var(--accent)) 55%,var(--line));background:transparent;box-shadow:inset 0 0 0 0 transparent;transition:box-shadow var(--motion),border-color var(--motion),background var(--motion)}.combo-card.is-selected .combo-radio{border-color:var(--card-accent, var(--accent));background:color-mix(in srgb,var(--card-accent, var(--accent)) 18%,transparent);box-shadow:inset 0 0 0 .28rem var(--card-accent, var(--accent))}.combo-pick-hint{font-weight:500;letter-spacing:.02em;text-transform:none;color:var(--muted)}.combo-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin-top:.55rem}.combo-path{font-family:var(--mono);font-size:.66rem;color:var(--muted-2);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.combo-version{font-size:.66rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;padding:.12rem .4rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--line) 90%,transparent);color:var(--muted)}.combo-selected-note{margin:.85rem 0 0;padding:.55rem .7rem;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--ok) 35%,var(--line));background:color-mix(in srgb,var(--ok) 10%,transparent);font-size:.8rem;color:var(--text)}.combo-selected-note--prompt{border-color:color-mix(in srgb,var(--accent) 30%,var(--line));background:color-mix(in srgb,var(--accent) 8%,transparent)}.combo-selected-note code{font-family:var(--mono);font-size:.74rem;margin-left:.25rem;color:var(--muted)}.combo-clear-btn{display:inline-block;margin-left:.45rem;padding:.15rem .5rem;border-radius:6px;border:1px solid color-mix(in srgb,var(--line) 90%,transparent);background:#08121e73;color:var(--muted);font:inherit;font-size:.74rem;font-weight:600;cursor:pointer;transition:border-color var(--motion),color var(--motion),background var(--motion)}.combo-clear-btn:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));color:var(--text);background:color-mix(in srgb,var(--accent) 12%,transparent)}.combo-clear-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 70%,white);outline-offset:2px}.combo-badge.selected{border-color:color-mix(in srgb,var(--ok) 50%,var(--line));background:color-mix(in srgb,var(--ok) 20%,transparent);color:color-mix(in srgb,var(--ok) 35%,white)}@keyframes best-glow{0%{box-shadow:0 0 color-mix(in srgb,var(--card-accent, var(--accent)) 0%,transparent)}40%{box-shadow:0 0 0 3px color-mix(in srgb,var(--card-accent, var(--accent)) 28%,transparent),0 14px 28px #00000047}to{box-shadow:0 0 0 1px color-mix(in srgb,var(--card-accent, var(--accent)) 30%,transparent),0 14px 28px #00000047}}.combo-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.55rem;margin-bottom:.45rem}.combo-card-identity{display:flex;align-items:center;gap:.55rem;min-width:0}.combo-card-icon{flex:0 0 auto;display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:9px;font-size:.68rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:#041018;background:var(--card-accent, var(--accent));box-shadow:0 4px 10px color-mix(in srgb,var(--card-accent, var(--accent)) 28%,transparent)}.combo-card h5{margin:0;font-family:var(--display);font-size:.9rem;font-weight:650;letter-spacing:-.01em}.combo-key{display:block;margin-top:.15rem;font-family:var(--mono);font-size:.68rem;color:var(--muted)}.combo-badge{flex:0 0 auto;padding:.2rem .5rem;border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.02em;border:1px solid var(--line);background:#ffffff0a;color:var(--muted)}.combo-badge.best{border-color:color-mix(in srgb,var(--ok) 45%,var(--line));background:color-mix(in srgb,var(--ok) 16%,transparent);color:color-mix(in srgb,var(--ok) 40%,white)}.combo-badge.exact,.combo-badge.full{border-color:color-mix(in srgb,var(--accent-2) 40%,var(--line));background:color-mix(in srgb,var(--accent-2) 12%,transparent);color:color-mix(in srgb,var(--accent-2) 45%,white)}.combo-badge.partial{border-color:color-mix(in srgb,var(--amber) 42%,var(--line));background:color-mix(in srgb,var(--amber) 12%,transparent);color:color-mix(in srgb,var(--amber) 55%,white)}.combo-desc{margin:0 0 .65rem;color:var(--muted);font-size:.78rem;line-height:1.4}.combo-extras,.combo-gap{margin:.55rem 0 0;font-size:.74rem;line-height:1.35;color:var(--muted-2)}.combo-gap{color:color-mix(in srgb,var(--amber) 55%,var(--text))}.combo-empty{padding:.85rem .95rem;border-radius:var(--radius);border:1px dashed color-mix(in srgb,var(--amber) 40%,var(--line));background:color-mix(in srgb,var(--amber) 8%,transparent)}.combo-empty-soft{border-color:color-mix(in srgb,var(--accent-2) 35%,var(--line));background:color-mix(in srgb,var(--accent-2) 7%,transparent);margin-bottom:.75rem}.combo-empty-title{margin:0 0 .3rem;font-family:var(--display);font-size:.88rem;font-weight:650}.combo-empty-copy{margin:0;color:var(--muted);font-size:.8rem;line-height:1.45}@media (max-width: 720px){.template-combos-head{flex-direction:column;align-items:stretch}.combo-grid{grid-template-columns:1fr}.combo-card-top{flex-wrap:wrap}}#dynamic-inputs.dynamic-inputs{display:flex;flex-direction:column;gap:.55rem;width:100%;min-width:0;overflow:visible}.param-section-nav-slot:empty{display:none}.param-section-nav{position:sticky;top:.35rem;z-index:4;display:flex;flex-wrap:wrap;gap:.35rem;padding:.4rem .15rem .55rem;margin:0 0 .15rem;background:color-mix(in srgb,var(--bg-elev) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgba(186,214,236,.08)}.param-nav-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .55rem;border-radius:999px;border:1px solid var(--line);background:#060e18a6;color:var(--muted);font-size:.72rem;font-weight:600;letter-spacing:.01em;cursor:pointer;transition:border-color var(--motion),color var(--motion),background var(--motion)}.param-nav-chip:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.param-nav-chip.is-active{color:var(--text);border-color:color-mix(in srgb,currentColor 45%,var(--line));background:color-mix(in srgb,currentColor 12%,rgba(6,14,24,.65))}.param-nav-dot{width:.4rem;height:.4rem;border-radius:50%;background:currentColor;opacity:.85;flex-shrink:0}.param-nav-chip.accent-teal{color:#2dd4bf}.param-nav-chip.accent-blue{color:#60a5fa}.param-nav-chip.accent-amber{color:#fbbf24}.param-nav-chip.accent-coral{color:#fb7185}.param-nav-chip.accent-cyan{color:#22d3ee}.param-nav-chip.accent-green{color:#4ade80}.param-nav-chip.accent-teal.is-active,.param-nav-chip.accent-blue.is-active,.param-nav-chip.accent-amber.is-active,.param-nav-chip.accent-coral.is-active,.param-nav-chip.accent-cyan.is-active,.param-nav-chip.accent-green.is-active{color:var(--text)}.param-group{grid-column:1 / -1;margin-bottom:0;width:100%;min-width:0;padding:0;border-radius:var(--radius);border:1px solid var(--line);background:#060e1859;border-left:3px solid color-mix(in srgb,var(--accent-teal, #2dd4bf) 70%,var(--line));overflow:hidden}.param-group.accent-teal{border-left-color:#2dd4bf}.param-group.accent-blue{border-left-color:#60a5fa}.param-group.accent-amber{border-left-color:#fbbf24}.param-group.accent-coral{border-left-color:#fb7185}.param-group.accent-cyan{border-left-color:#22d3ee}.param-group.accent-green{border-left-color:#4ade80}.param-group-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.65rem;padding:.55rem .75rem;border:0;background:transparent;color:var(--text);cursor:pointer;text-align:left;font:inherit}.param-group-toggle::-webkit-details-marker{display:none}.param-group-toggle::marker{content:""}.param-group-toggle:hover{background:#ffffff08}.param-group-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.param-toggle-main{display:flex;align-items:center;gap:.4rem;min-width:0;flex-wrap:wrap}.param-toggle-title{font-family:var(--display);font-size:.86rem;font-weight:600}.param-toggle-meta{color:var(--muted-2);font-size:.7rem;font-weight:500;letter-spacing:.01em}.param-toggle-chevron{width:.55rem;height:.55rem;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform var(--motion);flex-shrink:0;margin-right:.2rem}.param-group.is-open .param-toggle-chevron{transform:rotate(-135deg);margin-top:.2rem}.param-group-body{display:none;padding:0 .75rem .7rem;border-top:1px solid rgba(186,214,236,.08)}.param-group.is-open .param-group-body{display:block}details.param-group[open] .param-group-body{display:block}.template-input-sections{display:flex;flex-direction:column;gap:.55rem;width:100%}.param-group h4{margin:0 0 .45rem;font-family:var(--display);font-size:.86rem;display:flex;align-items:center;gap:.4rem;padding:.55rem .75rem 0}.param-accent-dot{width:.45rem;height:.45rem;border-radius:50%;background:currentColor;flex-shrink:0;opacity:.9}.param-group.accent-teal .param-accent-dot,.param-nav-chip.accent-teal .param-nav-dot{color:#2dd4bf;background:#2dd4bf}.param-group.accent-blue .param-accent-dot,.param-nav-chip.accent-blue .param-nav-dot{color:#60a5fa;background:#60a5fa}.param-group.accent-amber .param-accent-dot,.param-nav-chip.accent-amber .param-nav-dot{color:#fbbf24;background:#fbbf24}.param-group.accent-coral .param-accent-dot,.param-nav-chip.accent-coral .param-nav-dot{color:#fb7185;background:#fb7185}.param-group.accent-cyan .param-accent-dot,.param-nav-chip.accent-cyan .param-nav-dot{color:#22d3ee;background:#22d3ee}.param-group.accent-green .param-accent-dot,.param-nav-chip.accent-green .param-nav-dot{color:#4ade80;background:#4ade80}.param-group.bundled-note{border-style:dashed;border-color:color-mix(in srgb,var(--coral) 40%,var(--line));background:color-mix(in srgb,var(--coral) 8%,transparent);padding-bottom:.55rem}.param-group .form-grid,.param-group .param-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .75rem;width:100%;min-width:0}.param-fields-compact .field{gap:.22rem}.param-fields-compact label{font-size:.74rem;line-height:1.25}.param-fields-compact input,.param-fields-compact select,.param-fields-compact textarea{padding:.48rem .65rem;font-size:.86rem}.param-fields-compact .field-help{font-size:.68rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.param-advanced{margin-top:.55rem;border-top:1px dashed rgba(186,214,236,.12);padding-top:.35rem}.param-advanced summary{cursor:pointer;color:var(--muted);font-size:.74rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;padding:.25rem 0;list-style:none}.param-advanced summary::-webkit-details-marker{display:none}.param-advanced summary:before{content:"+";display:inline-block;width:.9rem;color:var(--accent-2);font-weight:700}.param-advanced[open] summary:before{content:"–"}.param-advanced .param-fields{margin-top:.45rem}.param-group .empty-hint,.empty-hint.compact{text-align:left;padding:.4rem .15rem;margin:0;font-size:.78rem}.inputs-mode-banner{grid-column:1 / -1;padding:.55rem .75rem;border-radius:var(--radius);border:1px solid var(--line);font-size:.82rem;line-height:1.4;color:var(--text);margin-bottom:0}@media (max-width: 720px){.param-group .form-grid,.param-group .param-fields{grid-template-columns:1fr}.param-section-nav{position:static}}.inputs-mode-banner.template-mode{background:color-mix(in srgb,#2dd4bf 10%,transparent);border-color:color-mix(in srgb,#2dd4bf 35%,var(--line))}.inputs-mode-banner.modules-mode{background:color-mix(in srgb,#fbbf24 12%,transparent);border-color:color-mix(in srgb,#fbbf24 40%,var(--line))}.field input.is-invalid,.field select.is-invalid{border-color:#fb7185;outline-color:#fb7185}.dispatch-list{margin:.5rem 0 0;padding-left:1.2rem;color:var(--muted);font-size:.86rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem 1rem}.field{display:flex;flex-direction:column;gap:.35rem;min-width:0}.field.span-2,.form-grid>.span-2,.form-grid>label.span-2{grid-column:1 / -1}.muted{opacity:.72;font-weight:400}.field.field-select select,.field.field-bool select{min-height:2.35rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% - 2px),calc(100% - 9px) calc(50% - 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:1.75rem}.field.field-bool{align-self:stretch}.param-fields-compact .field.field-bool select,.param-fields-compact .field.field-select select{min-height:2.2rem}label{color:var(--muted);font-size:.82rem;font-weight:500}.req-mark{color:#e8a45a;font-weight:700;margin-left:.15rem;font-size:1.05em;line-height:1;vertical-align:baseline}.filter-note{margin:0 0 .75rem;padding:.55rem .75rem;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,#c47a2c 40%,transparent);background:color-mix(in srgb,#c47a2c 14%,transparent);color:#f0d2ad;font-size:.84rem;line-height:1.4}.field .filter-note{margin:.15rem 0 0}input,select,textarea{width:100%;border-radius:var(--radius-sm);border:1px solid var(--line);background:#060e18c7;color:var(--text);padding:.68rem .8rem;transition:border-color var(--motion),box-shadow var(--motion)}input[readonly]{opacity:.85}textarea{min-height:96px;resize:vertical}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--focus);outline-offset:1px;border-color:transparent}.field-help{color:var(--muted-2);font-size:.74rem;line-height:1.4}.field-help code,.section-hint code{font-family:var(--mono);font-size:.9em;color:color-mix(in srgb,var(--accent-2) 55%,var(--text))}.region-guide{margin-top:.35rem;color:var(--muted);font-size:.8rem;line-height:1.35}.region-guide[hidden],.region-guide:empty{display:none}.region-guide-code{font-family:var(--mono);font-size:.82rem;font-weight:600;color:color-mix(in srgb,var(--accent) 40%,var(--text))}.region-guide-single{margin:0}.empty-hint{grid-column:1 / -1;margin:0;padding:.9rem 1rem;border-radius:var(--radius);border:1px dashed var(--line);color:var(--muted);text-align:center;font-size:.86rem}.cost-block{border-bottom:0}.cost-panel{border:1px solid color-mix(in srgb,var(--amber) 30%,var(--line));border-radius:var(--radius-lg);padding:.95rem;background:linear-gradient(135deg,#f59e0b14,#14b8a60f)}.cost-summary{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap;margin-bottom:.85rem}.cost-kicker{color:var(--amber);text-transform:uppercase;letter-spacing:.1em;font-size:.66rem;font-weight:700}.cost-total{font-family:var(--display);font-size:1.7rem;font-weight:700;letter-spacing:-.03em;margin:.15rem 0}.cost-sub{color:var(--muted);font-size:.85rem}.cost-source{background:linear-gradient(135deg,#fbbf24,#fde68a)!important;color:#422006!important}.cost-notes{margin:.85rem 0 0;padding-left:1.1rem;color:var(--muted);font-size:.82rem}.cost-notes li{margin:.2rem 0}td.num{font-variant-numeric:tabular-nums;font-weight:600}.generate-block{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap;padding:1rem 1.1rem;border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--accent-2) 28%,var(--line));background:linear-gradient(120deg,#38bdf81a,#14b8a614),color-mix(in srgb,var(--bg-elev) 88%,black);position:sticky;bottom:.75rem;z-index:6;box-shadow:0 10px 28px #00000052;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.generate-copy h3{margin:0 0 .25rem;font-family:var(--display);font-size:1.02rem}.generate-copy p{margin:0;color:var(--muted);font-size:.86rem;max-width:36rem;line-height:1.4}.generate-copy code{color:var(--accent-2);font-family:var(--mono)}.actions{display:flex;gap:.65rem;flex-wrap:wrap}.status{margin-top:1.1rem;border:1px solid var(--line);border-radius:var(--radius);padding:.95rem;background:#0000002e;animation:rise-in .32s cubic-bezier(.22,1,.36,1) both}.status.ok{border-color:color-mix(in srgb,var(--ok) 50%,transparent)}.status.warn{border-color:color-mix(in srgb,var(--warn) 55%,transparent)}.status.bad{border-color:color-mix(in srgb,var(--bad) 50%,transparent)}.meta.issue-error{color:#fde68a;border-left:3px solid var(--warn);padding-left:.65rem}.status-track-missing{color:#fde68a;font-size:.8rem}.status h3{margin:0 0 .65rem;font-family:var(--display);font-size:1rem}.badge{display:inline-block;padding:.12rem .45rem;border-radius:6px;font-size:.72rem;font-weight:700}.badge.ok{background:#34d3992e;color:#6ee7b7}.badge.fail{background:#f871712e;color:#fca5a5}.badge.warn{background:#fbbf242e;color:#fde68a}.meta{margin-top:.75rem;color:var(--muted);font-size:.85rem}.meta a,.meta code{color:var(--accent-2)}.env-pills{display:flex;flex-wrap:wrap;gap:.3rem}.env-pill{font-size:.7rem;border:1px solid var(--line);border-radius:6px;padding:.12rem .4rem;color:var(--muted);font-family:var(--mono)}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}}.lz-form{display:flex;flex-direction:column;gap:1rem;max-width:36rem}.lz-form-section{padding:.75rem .85rem .85rem;border-radius:var(--radius);border:1px solid var(--line);background:color-mix(in srgb,rgba(8,18,30,.55) 88%,transparent)}.lz-form-heading{margin:0 0 .65rem;font-family:var(--display);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.lz-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .75rem;width:100%;min-width:0}.lz-form-grid>.field{display:flex;flex-direction:column;gap:.28rem;min-width:0}.lz-form-grid>.field.span-2,.lz-form-grid>.span-2{grid-column:1 / -1}.lz-form-grid label{color:var(--muted);font-size:.74rem;font-weight:500;line-height:1.25}.lz-form-grid input,.lz-form-grid select{width:100%;max-width:100%;min-height:2.2rem;padding:.48rem .65rem;font-size:.86rem;box-sizing:border-box}.lz-form-grid select:disabled{opacity:.92;cursor:default;color:var(--text)}.lz-form .field-hint,.lz-adopt-field .field-hint{display:block;margin-top:.15rem;color:var(--muted);font-size:.72rem;font-weight:400;line-height:1.35}.lz-form .field-hint code,.lz-addr-hint code,#lz-name-preview{font-family:var(--mono, "IBM Plex Mono", ui-monospace, monospace);font-size:.86em;color:color-mix(in srgb,var(--accent-2, #7dd3c0) 75%,var(--text))}.lz-check-label{display:flex;align-items:flex-start;gap:.55rem;font-weight:600;cursor:pointer}.lz-check-label input[type=checkbox]{margin-top:.2rem;flex-shrink:0}.lz-hub-meta{display:block;margin-top:.4rem;padding:.4rem .55rem;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--accent, #3b82f6) 28%,var(--line));background:color-mix(in srgb,var(--accent, #3b82f6) 8%,transparent);font-size:.78rem;color:var(--text);font-family:var(--mono, "IBM Plex Mono", ui-monospace, monospace);word-break:break-all}.lz-inline-btn{margin-left:.35rem;padding:.1rem .45rem;font-size:.78rem;vertical-align:baseline}.lz-addr-note{display:block;margin-top:.35rem;font-size:.76rem;color:var(--muted);line-height:1.35}.lz-spoke-net{margin-top:.55rem;padding:.55rem .65rem;border:1px solid var(--line);border-radius:var(--radius);background:#0814228c}.lz-spoke-net-head{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.45rem}.lz-spoke-net-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .55rem}.lz-spoke-net-title{margin:0;font-size:.78rem;color:var(--accent-2, #7dd3c0);font-weight:600;line-height:1.35}.lz-spoke-net-table{width:100%;border-collapse:collapse;font-size:.76rem}.lz-spoke-net-table th,.lz-spoke-net-table td{text-align:left;padding:.28rem .35rem;border-bottom:1px solid rgba(255,255,255,.06);vertical-align:middle}.lz-spoke-net-table th{color:var(--muted);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.03em}.lz-spoke-net-table code{font-size:.74rem}.lz-spoke-net-table input{width:100%;box-sizing:border-box;background:#060e18a6;border:1px solid var(--line);border-radius:6px;color:var(--text);padding:.28rem .4rem;font-size:.78rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.lz-spoke-net-table input:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 55%,var(--line))}.lz-subnet-actions-col{width:5.5rem;text-align:right}.lz-spoke-net-table td.lz-subnet-row-actions{text-align:right;white-space:nowrap}.lz-spoke-net-table .lz-subnet-remove{padding:.2rem .45rem;font-size:.72rem}.lz-advanced{margin:0;border:1px solid var(--line);border-radius:var(--radius);padding:.55rem .85rem .7rem;background:#060e1866}.lz-advanced>summary{cursor:pointer;color:var(--muted);font-size:.82rem;font-weight:600;list-style:none;padding:.15rem 0}.lz-advanced>summary::-webkit-details-marker{display:none}.lz-advanced>summary:before{content:"+";display:inline-block;width:.95rem;color:var(--accent-2, #7dd3c0);font-weight:700}.lz-advanced[open]>summary:before{content:"–"}.lz-adopt-field{display:flex;flex-direction:column;gap:.35rem;margin-top:.65rem;color:var(--muted);font-size:.82rem;font-weight:500}.lz-discovery-note{margin:0;padding:.45rem .65rem;border-radius:var(--radius-sm);border:1px dashed color-mix(in srgb,var(--line) 80%,transparent);background:transparent;color:var(--muted);font-size:.76rem;line-height:1.4}.lz-discovery-note--warn{border-style:solid;border-color:color-mix(in srgb,var(--warn) 55%,transparent);color:color-mix(in srgb,var(--warn) 85%,var(--text));background:color-mix(in srgb,var(--warn) 10%,transparent)}.lz-form-actions{display:flex;flex-direction:column;gap:.55rem}.lz-workflow-hint{margin:0;font-size:.82rem;color:var(--muted);line-height:1.4}.lz-workflow-hint code{font-size:.9em}.lz-form-actions-row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.lz-banner{margin:.85rem 0 0;padding:.7rem .85rem;border-radius:var(--radius-sm);font-size:.86rem;line-height:1.45}.lz-banner.success{border:1px solid color-mix(in srgb,#34d399 40%,var(--line));background:color-mix(in srgb,#34d399 12%,transparent);color:#d1fae5}.lz-banner.error{border:1px solid color-mix(in srgb,#fb7185 45%,var(--line));background:color-mix(in srgb,#fb7185 12%,transparent);color:#fecdd3}.lz-banner a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px}@media (max-width: 900px){.portal-layout{grid-template-columns:1fr}.side-nav{position:static;flex-direction:row;flex-wrap:wrap}.form-grid,.lz-form-grid{grid-template-columns:1fr}.lz-form{max-width:none}.topbar{flex-direction:column;align-items:flex-start}.user-chip{align-items:flex-start}.generate-block{position:static;box-shadow:none}.resource-picker{grid-template-columns:1fr}}
