:root{--font: "IBM Plex Sans", "IBM Plex Sans Arabic", system-ui, -apple-system, "Segoe UI", sans-serif;--bg: #f5f4f8;--surface: #ffffff;--surface-2: #f2f0f6;--surface-3: #e9e6f0;--line: #e3dfea;--line-strong: #cbc5d6;--text: #1d1628;--text-2: #5c546c;--text-3: #857e95;--brand: #67138c;--brand-solid: #67138c;--brand-solid-hover: #551074;--on-brand: #ffffff;--brand-soft: #f3eaf8;--brand-line: #d9c2e8;--saffron: #e8890f;--saffron-soft: #fdf1df;--ok: #137a4c;--ok-soft: #e2f3ea;--warn: #9a5b00;--warn-soft: #fbf0dc;--danger: #b42318;--danger-soft: #fce9e6;--danger-solid: #b42318;--focus: #67138c;--overlay: rgba(29, 22, 40, .38);--shadow-pop: 0 1px 2px rgba(29, 22, 40, .06), 0 12px 32px -8px rgba(29, 22, 40, .22);--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--sidebar: 252px;--topbar: 56px;color-scheme:light}:root[data-theme=dark]{--bg: #121016;--surface: #1a1720;--surface-2: #211d29;--surface-3: #2a2533;--line: #2e2938;--line-strong: #433b52;--text: #ece9f2;--text-2: #aaa3ba;--text-3: #7f7891;--brand: #c6a2ee;--brand-solid: #b98ae6;--brand-solid-hover: #caa4f0;--on-brand: #1b0f26;--brand-soft: #2a2036;--brand-line: #4b3a60;--saffron: #f2a23a;--saffron-soft: #2e2313;--ok: #5cc995;--ok-soft: #16271f;--warn: #e6b35c;--warn-soft: #2b2314;--danger: #f08a7e;--danger-soft: #2f1a19;--danger-solid: #d9483a;--focus: #c6a2ee;--overlay: rgba(0, 0, 0, .55);--shadow-pop: 0 1px 2px rgba(0, 0, 0, .3), 0 16px 40px -8px rgba(0, 0, 0, .6);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);font-size:14px;line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}:lang(ar) body,body:lang(ar){font-family:IBM Plex Sans Arabic,IBM Plex Sans,system-ui,sans-serif}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.01em}h1{font-size:24px;line-height:1.25}h2{font-size:18px;line-height:1.3}h3{font-size:15px;line-height:1.35}p{margin:0}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}::selection{background:var(--brand-soft)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}.num,td.num,.tabular{font-variant-numeric:tabular-nums}.muted{color:var(--text-2)}.subtle{color:var(--text-3)}.small{font-size:12.5px}.mono-id{letter-spacing:.01em}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.stack{display:flex;flex-direction:column;gap:16px}.row{display:flex;align-items:center;gap:8px}.row.wrap{flex-wrap:wrap}.spacer{flex:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;padding-inline:14px;border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--surface);color:var(--text);font-weight:500;font-size:14px;white-space:nowrap;cursor:pointer;transition:background-color .12s,border-color .12s,color .12s}.btn:hover{background:var(--surface-2)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn svg{width:16px;height:16px;flex:none}.btn.primary{background:var(--brand-solid);border-color:var(--brand-solid);color:var(--on-brand)}.btn.primary:hover:not(:disabled){background:var(--brand-solid-hover);border-color:var(--brand-solid-hover)}.btn.danger{background:var(--danger-solid);border-color:var(--danger-solid);color:#fff}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:var(--surface-2)}.btn.sm{height:30px;padding-inline:10px;font-size:13px}.btn.icon{width:36px;padding:0}.btn.icon.sm{width:30px}.btn.block{width:100%}.btn .spin{animation:spin .8s linear infinite}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>label,.field-label{font-weight:500;font-size:13px;color:var(--text)}.field .hint{font-size:12.5px;color:var(--text-3)}.field .error{font-size:12.5px;color:var(--danger)}.input,.select,.textarea{height:36px;width:100%;padding-inline:11px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--text);transition:border-color .12s,box-shadow .12s}.textarea{height:auto;min-height:76px;padding-block:8px;resize:vertical}.input::placeholder,.textarea::placeholder{color:var(--text-3)}.input:hover,.select:hover,.textarea:hover{border-color:var(--text-3)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.input[aria-invalid=true],.select[aria-invalid=true]{border-color:var(--danger)}.input:disabled,.select:disabled{background:var(--surface-2);color:var(--text-2)}.select{appearance:none;padding-inline-end:32px;background-image:linear-gradient(45deg,transparent 50%,var(--text-2) 50%),linear-gradient(135deg,var(--text-2) 50%,transparent 50%);background-position:calc(100% - 16px) 15px,calc(100% - 11px) 15px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}[dir=rtl] .select{background-position:11px 15px,16px 15px}.input-wrap{position:relative}.input-wrap .input{padding-inline-end:40px}.input-wrap .btn{position:absolute;inset-inline-end:3px;top:3px;height:30px;width:32px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:640px){.grid-2{grid-template-columns:1fr}}.check{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.check input{width:16px;height:16px;accent-color:var(--brand-solid);margin:0}.switch{position:relative;display:inline-flex;flex:none;width:36px;height:20px}.switch input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer;z-index:1}.switch .track,.switch .thumb{pointer-events:none}.switch .track{width:100%;height:100%;border-radius:999px;background:var(--line-strong);transition:background-color .15s}.switch .thumb{position:absolute;top:2px;inset-inline-start:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform .15s}.switch input:checked+.track{background:var(--brand-solid)}.switch input:checked~.thumb{transform:translate(16px)}[dir=rtl] .switch input:checked~.thumb{transform:translate(-16px)}.switch input:focus-visible+.track{outline:2px solid var(--focus);outline-offset:2px}.badge{display:inline-flex;align-items:center;gap:5px;height:22px;padding-inline:8px;border-radius:999px;font-size:12px;font-weight:500;white-space:nowrap;background:var(--surface-2);color:var(--text-2);border:1px solid var(--line)}.badge.ok{background:var(--ok-soft);color:var(--ok);border-color:transparent}.badge.warn{background:var(--warn-soft);color:var(--warn);border-color:transparent}.badge.danger{background:var(--danger-soft);color:var(--danger);border-color:transparent}.badge.brand{background:var(--brand-soft);color:var(--brand);border-color:transparent}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.shell{display:grid;grid-template-columns:var(--sidebar) 1fr;min-height:100%}.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;background:var(--surface);border-inline-end:1px solid var(--line)}.brand-block{display:flex;align-items:center;gap:10px;height:var(--topbar);padding-inline:18px;border-bottom:1px solid var(--line)}.brand-block img{height:30px;width:auto;display:block}.brand-block .product{display:flex;flex-direction:column;line-height:1.15}.brand-block .product strong{font-size:15px;font-weight:600;letter-spacing:-.01em}.brand-block .product span{font-size:11.5px;color:var(--text-3)}.nav{padding:12px 10px 24px;display:flex;flex-direction:column;gap:18px}.nav-group{display:flex;flex-direction:column;gap:2px}.nav-group-title{font-size:12px;font-weight:500;color:var(--text-3);padding:0 10px 4px}.nav-item{position:relative;display:flex;align-items:center;gap:10px;height:36px;padding-inline:10px;border-radius:var(--r-sm);color:var(--text-2);font-weight:500;text-decoration:none;cursor:pointer;border:0;background:transparent;width:100%;text-align:start}.nav-item svg{width:18px;height:18px;flex:none}.nav-item:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.nav-item[aria-current=page]{background:var(--brand-soft);color:var(--brand)}.nav-item[aria-current=page]:before{content:"";position:absolute;inset-inline-start:-10px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--saffron)}[dir=rtl] .nav-item[aria-current=page]:before{border-radius:3px 0 0 3px}.nav-item.disabled{color:var(--text-3);cursor:default}.nav-item.disabled:hover{background:transparent;color:var(--text-3)}.nav-item .label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-item .later{flex:none;margin-inline-start:auto;font-size:11px;font-weight:400;color:var(--text-3);white-space:nowrap}.sidebar-foot{margin-top:auto;padding:14px 18px;border-top:1px solid var(--line);font-size:12px;color:var(--text-3)}.main{min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;height:var(--topbar);display:flex;align-items:center;gap:12px;padding-inline:24px;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:saturate(140%) blur(8px);backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--line)}.topbar .menu-btn{display:none}.content{padding:28px 32px 64px;width:100%;max-width:1280px}.site-switch{display:flex;align-items:center;gap:8px}.site-switch .select{height:32px;min-width:200px;font-size:13px}.user-btn{display:inline-flex;align-items:center;gap:10px;height:38px;padding:0 6px 0 4px;border-radius:999px;border:1px solid transparent;background:transparent;cursor:pointer}[dir=rtl] .user-btn{padding:0 4px 0 6px}.user-btn:hover{background:var(--surface-2)}.avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--brand-soft);color:var(--brand);font-weight:600;font-size:12.5px}.user-btn .who{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2}.user-btn .who span{font-size:12px;color:var(--text-3)}@media(max-width:960px){.shell{grid-template-columns:1fr}.sidebar{position:fixed;inset-block:0;inset-inline-start:0;z-index:50;width:var(--sidebar);transform:translate(-100%);transition:transform .2s ease;box-shadow:var(--shadow-pop)}[dir=rtl] .sidebar{transform:translate(100%)}.shell.nav-open .sidebar{transform:none}.scrim{position:fixed;inset:0;z-index:40;background:var(--overlay)}.topbar{padding-inline:12px}.topbar .menu-btn{display:inline-flex}.user-btn .who{display:none}.content{padding:20px 16px 48px}.site-switch .select{min-width:0;max-width:46vw}}.page-head{display:flex;align-items:flex-end;gap:16px;margin-bottom:20px;flex-wrap:wrap}.page-head .titles{display:flex;flex-direction:column;gap:4px;min-width:0}.page-head .titles p{color:var(--text-2);max-width:70ch}.page-head .actions{margin-inline-start:auto;display:flex;gap:8px;flex-wrap:wrap}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}.panel-head{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}.panel-body{padding:18px}.panel+.panel{margin-top:16px}.stack>.panel+.panel,.home-grid>.panel+.panel,.grid-2>.panel+.panel{margin-top:0}.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px;border-bottom:1px solid var(--line)}.toolbar .input,.toolbar .select{height:32px;font-size:13px;width:auto}.toolbar .search{position:relative;flex:1 1 220px;max-width:320px}.toolbar .search .input{width:100%;padding-inline-start:32px}.toolbar .search svg{position:absolute;inset-inline-start:10px;top:8px;width:16px;height:16px;color:var(--text-3)}.table-wrap{overflow-x:auto}table.table{width:100%;border-collapse:collapse;font-size:13.5px}.table th{position:sticky;top:0;text-align:start;font-weight:500;font-size:12.5px;color:var(--text-2);background:var(--surface-2);padding:9px 14px;border-bottom:1px solid var(--line);white-space:nowrap}.table td{padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:middle}.table tbody tr:last-child td{border-bottom:0}.table tbody tr.clickable{cursor:pointer}.table tbody tr.clickable:hover td,.table tbody tr.expanded td{background:var(--surface-2)}.table .cell-main{font-weight:500}.table .cell-sub{font-size:12.5px;color:var(--text-3)}.table td.actions{text-align:end;white-space:nowrap;width:1%}.table tr.inactive td{color:var(--text-3)}.pager{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid var(--line);font-size:13px;color:var(--text-2)}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:48px 24px}.empty .glyph{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand)}.empty .glyph svg{width:22px;height:22px}.empty p{color:var(--text-2);max-width:46ch}.skeleton{height:14px;border-radius:4px;background:linear-gradient(90deg,var(--surface-2),var(--surface-3),var(--surface-2));background-size:200% 100%;animation:shimmer 1.4s infinite}@keyframes shimmer{to{background-position:-200% 0}}.notice{display:flex;gap:10px;padding:12px 14px;border-radius:var(--r-md);font-size:13.5px;border:1px solid transparent}.notice svg{width:18px;height:18px;flex:none;margin-top:1px}.notice.info{background:var(--brand-soft);color:var(--text);border-color:var(--brand-line)}.notice.info svg{color:var(--brand)}.notice.warn{background:var(--warn-soft);color:var(--text)}.notice.warn svg{color:var(--warn)}.notice.danger{background:var(--danger-soft);color:var(--text)}.notice.danger svg{color:var(--danger)}.notice.ok{background:var(--ok-soft);color:var(--text)}.notice.ok svg{color:var(--ok)}.overlay{position:fixed;inset:0;z-index:60;background:var(--overlay);animation:fade .15s ease}@keyframes fade{0%{opacity:0}}.sheet{position:fixed;z-index:61;inset-block:0;inset-inline-end:0;width:min(520px,100vw);display:flex;flex-direction:column;background:var(--surface);box-shadow:var(--shadow-pop);border-inline-start:1px solid var(--line);animation:sheet-in .2s cubic-bezier(.2,.8,.2,1)}@keyframes sheet-in{0%{transform:translate(24px);opacity:0}}[dir=rtl] .sheet{animation-name:sheet-in-rtl}@keyframes sheet-in-rtl{0%{transform:translate(-24px);opacity:0}}.sheet-head{display:flex;align-items:flex-start;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line)}.sheet-head .titles{display:flex;flex-direction:column;gap:2px}.sheet-head .titles p{color:var(--text-2);font-size:13px}.sheet-head .btn{margin-inline-start:auto}.sheet-body{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:18px}.sheet-foot{display:flex;gap:8px;justify-content:flex-end;padding:14px 20px;border-top:1px solid var(--line);background:var(--surface)}.dialog{position:fixed;z-index:61;top:50%;left:50%;transform:translate(-50%,-50%);width:min(460px,calc(100vw - 32px));background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-pop);border:1px solid var(--line);animation:pop .16s ease}@keyframes pop{0%{transform:translate(-50%,-48%);opacity:0}}.dialog-body{padding:22px 22px 8px;display:flex;flex-direction:column;gap:10px}.dialog-body p{color:var(--text-2)}.dialog-foot{display:flex;gap:8px;justify-content:flex-end;padding:16px 22px 20px}.menu{position:absolute;z-index:70;min-width:220px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-pop)}.menu-item{display:flex;align-items:center;gap:10px;width:100%;height:34px;padding-inline:10px;border:0;background:transparent;border-radius:var(--r-sm);text-align:start;cursor:pointer;color:var(--text)}.menu-item svg{width:16px;height:16px;color:var(--text-2)}.menu-item:hover,.menu-item:focus-visible{background:var(--surface-2);outline:none}.menu-item.danger{color:var(--danger)}.menu-item.danger svg{color:var(--danger)}.menu-sep{height:1px;background:var(--line);margin:6px 4px}.menu-label{padding:8px 10px 4px;font-size:12px;color:var(--text-3)}.seg{display:inline-flex;padding:2px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line)}.seg button{height:26px;padding-inline:10px;border:0;border-radius:4px;background:transparent;cursor:pointer;font-size:12.5px;color:var(--text-2);display:inline-flex;align-items:center;gap:6px}.seg button svg{width:14px;height:14px}.seg button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #00000014}.toasts{position:fixed;z-index:80;inset-block-end:20px;inset-inline-end:20px;display:flex;flex-direction:column;gap:8px}.toast{display:flex;align-items:center;gap:10px;min-width:240px;max-width:380px;padding:11px 14px;border-radius:var(--r-md);background:var(--text);color:var(--bg);box-shadow:var(--shadow-pop);font-size:13.5px;animation:toast-in .2s ease}.toast svg{width:16px;height:16px;flex:none;color:var(--saffron)}@keyframes toast-in{0%{transform:translateY(8px);opacity:0}}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:20px;overflow-x:auto}.tab{height:40px;padding-inline:12px;border:0;background:transparent;cursor:pointer;color:var(--text-2);font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.tab:hover{color:var(--text)}.tab[aria-selected=true]{color:var(--brand);border-bottom-color:var(--brand)}.secret{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--r-md);background:var(--surface-2);border:1px dashed var(--line-strong)}.secret code{font-size:17px;font-weight:600;letter-spacing:.04em;direction:ltr;unicode-bidi:isolate;flex:1}.diff{display:grid;grid-template-columns:minmax(120px,200px) 1fr 1fr;font-size:13px;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:var(--surface)}.diff>div{padding:8px 12px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.diff>div:nth-last-child(-n+3){border-bottom:0}.diff .h{background:var(--surface-2);font-weight:500;font-size:12.5px;color:var(--text-2)}.diff .k{font-weight:500}.diff .old{color:var(--danger);background:color-mix(in srgb,var(--danger-soft) 55%,transparent)}.diff .new{color:var(--ok);background:color-mix(in srgb,var(--ok-soft) 55%,transparent)}.diff .none{color:var(--text-3)}.matrix{width:100%;border-collapse:collapse;font-size:13px}.matrix th,.matrix td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:center}.matrix th:first-child,.matrix td:first-child{text-align:start}.matrix th{font-weight:500;color:var(--text-2);font-size:12.5px}.feature{display:flex;align-items:flex-start;gap:14px;padding:14px 18px;border-bottom:1px solid var(--line)}.feature:last-child{border-bottom:0}.feature .text{flex:1;display:flex;flex-direction:column;gap:2px}.feature .text span{color:var(--text-2);font-size:13px}.home-hello{display:flex;flex-direction:column;gap:6px;margin-bottom:24px}.home-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:16px;align-items:start}@media(max-width:1100px){.home-grid{grid-template-columns:1fr}}.steps{list-style:none;margin:0;padding:0}.steps li{display:flex;gap:14px;padding:14px 18px;border-bottom:1px solid var(--line);align-items:flex-start}.steps li:last-child{border-bottom:0}.steps .tick{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;flex:none;border:1.5px solid var(--line-strong);color:transparent;margin-top:1px}.steps .tick svg{width:13px;height:13px}.steps li.done .tick{background:var(--ok);border-color:var(--ok);color:var(--surface)}.steps .text{flex:1;display:flex;flex-direction:column;gap:2px}.steps .text span{color:var(--text-2);font-size:13px}.steps li.done .text strong{color:var(--text-2)}.roadmap{list-style:none;margin:0;padding:6px 0;position:relative}.roadmap li{position:relative;display:grid;grid-template-columns:18px 1fr;gap:12px;padding:9px 18px}.roadmap li:before{content:"";position:absolute;inset-inline-start:26px;top:0;bottom:0;width:1px;background:var(--line)}.roadmap li:first-child:before{top:18px}.roadmap li:last-child:before{bottom:calc(100% - 18px)}.roadmap .pin{position:relative;z-index:1;width:9px;height:9px;margin:6px 0 0 4px;border-radius:50%;background:var(--surface);border:2px solid var(--line-strong)}[dir=rtl] .roadmap .pin{margin:6px 4px 0 0}.roadmap li.done .pin{background:var(--brand-solid);border-color:var(--brand-solid)}.roadmap li.now .pin{background:var(--saffron);border-color:var(--saffron);box-shadow:0 0 0 4px var(--saffron-soft)}.roadmap .what{display:flex;flex-direction:column}.roadmap .what span{font-size:12.5px;color:var(--text-3)}.roadmap li.done .what strong{color:var(--text-2);font-weight:500}.stat-line{display:flex;gap:28px;flex-wrap:wrap;padding:16px 18px}.stat-line div{display:flex;flex-direction:column}.stat-line strong{font-size:22px;font-weight:600;font-variant-numeric:tabular-nums}.stat-line span{font-size:12.5px;color:var(--text-2)}.auth{display:grid;grid-template-columns:minmax(380px,1fr) minmax(0,1.15fr);min-height:100vh;background:var(--surface)}.auth-form{display:flex;flex-direction:column;padding:32px clamp(24px,6vw,88px)}.auth-form .top{display:flex;align-items:center;justify-content:space-between;gap:12px}.auth-form .top img{height:44px;width:auto;display:block}.auth-form .middle{flex:1;display:flex;flex-direction:column;justify-content:center;max-width:380px;width:100%;padding-block:40px}.auth-form .middle h1{font-size:30px;letter-spacing:-.02em}.auth-form .middle .lead{margin-top:8px;color:var(--text-2)}.auth-form form{margin-top:28px;display:flex;flex-direction:column;gap:16px}.auth-form .foot{font-size:12.5px;color:var(--text-3);display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between}.auth-visual{position:relative;overflow:hidden;color:#f3ecfa;background:#1c1027;display:flex;flex-direction:column;justify-content:space-between;padding:48px clamp(28px,4vw,56px)}.auth-visual h2{font-size:clamp(26px,2.6vw,38px);line-height:1.15;letter-spacing:-.025em;font-weight:600;max-width:18ch;color:#fff}.auth-visual .claim p{margin-top:14px;max-width:44ch;color:#cbbbdb;font-size:15px}.auth-visual .legend{display:flex;gap:18px;flex-wrap:wrap;font-size:12.5px;color:#bba9cf}.auth-visual .legend span{display:inline-flex;align-items:center;gap:7px}.auth-visual .legend i{display:inline-block;width:18px;height:8px;border-radius:2px}@media(max-width:960px){.auth{grid-template-columns:1fr}.auth-visual{display:none}}.ribbon{position:relative;margin-block:36px;direction:ltr}.ribbon .lane{display:grid;grid-template-columns:132px 1fr;align-items:center;height:44px;border-top:1px solid rgba(255,255,255,.07)}.ribbon .lane:last-child{border-bottom:1px solid rgba(255,255,255,.07)}.ribbon .lane-name{font-size:12.5px;color:#bba9cf;line-height:1.2}.ribbon .lane-name b{display:block;color:#efe6f8;font-weight:500;font-size:13px}.ribbon .track{position:relative;height:100%}.ribbon .bar{position:absolute;top:10px;height:24px;border-radius:5px;padding-inline:8px;display:flex;align-items:center;font-size:11.5px;font-weight:500;white-space:nowrap;overflow:hidden;color:#fff;background:#7d34ad;box-shadow:inset 0 0 0 1px #ffffff14}.ribbon .bar.b2{background:#5a2380}.ribbon .bar.b3{background:#9c5fcb;color:#1c1027}.ribbon .bar.qc{background:transparent;color:#e7c98f;box-shadow:inset 0 0 0 1px #f2a23a8c}.ribbon .bar.clean{background:repeating-linear-gradient(135deg,rgba(255,255,255,.14) 0 4px,transparent 4px 8px);color:transparent;box-shadow:inset 0 0 0 1px #ffffff1f}.ribbon .grid{position:absolute;inset:0 0 0 132px;pointer-events:none;background-image:linear-gradient(to right,rgba(255,255,255,.05) 1px,transparent 1px);background-size:12.5% 100%}.ribbon .now{position:absolute;top:-14px;bottom:-6px;left:calc(132px + 18%);width:2px;background:#f2a23a;border-radius:2px;box-shadow:0 0 0 3px #f2a23a29;animation:now-drift 24s ease-in-out infinite alternate}.ribbon .now:before{content:"";position:absolute;top:-4px;left:-4px;width:10px;height:10px;border-radius:50%;background:#f2a23a}.ribbon .bar{animation:bar-in .7s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--d, 0s)}@keyframes bar-in{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}@keyframes now-drift{0%{left:calc(132px + 18%)}to{left:calc(132px + 62%)}}@media(prefers-reduced-motion:reduce){.ribbon .now,.ribbon .bar{animation:none}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.rules{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:4px;font-size:13px;color:var(--text-2)}.rules li{display:flex;align-items:center;gap:8px}.rules li svg{width:14px;height:14px;color:var(--text-3)}.rules li.met{color:var(--ok)}.rules li.met svg{color:var(--ok)}.center-card{min-height:100vh;display:grid;place-items:center;padding:24px}.center-card .panel{width:min(460px,100%)}.center-card .panel-body{padding:28px;display:flex;flex-direction:column;gap:18px}.boot{min-height:100vh;display:grid;place-items:center}.boot img{height:40px;opacity:.9}.sheet.wide{width:min(760px,100vw)}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}@media(max-width:720px){.grid-3{grid-template-columns:1fr}}.input-suffix{position:relative;display:flex;align-items:center}.input-suffix .input{flex:1}.input-suffix .suffix{position:absolute;inset-inline-end:10px;font-size:12.5px;color:var(--text-3);pointer-events:none}.input-suffix:has(.suffix) .input{padding-inline-end:52px}.conv-row{display:grid;grid-template-columns:16px minmax(140px,1fr) auto 110px 48px 32px;align-items:center;gap:8px}.link-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.link-list li{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:8px 12px;border:1px solid var(--line);border-radius:var(--r-md)}.warn-text{color:var(--warn)}.ok-text{color:var(--ok)}.import-errors{margin:0;padding-inline-start:18px;max-height:220px;overflow:auto;font-size:13px;color:var(--text-2);display:grid;gap:4px}.toolbar .seg{flex-wrap:wrap}.toolbar .seg button .subtle{margin-inline-start:4px}.table td .input,.table td .select{height:32px;font-size:13px}.cell-tight{width:1%;white-space:nowrap}.section-head{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin:28px 0 12px}.section-head .titles{display:flex;flex-direction:column;gap:2px}.section-head .titles p{color:var(--text-2);font-size:13px;max-width:70ch}.section-head .actions{margin-inline-start:auto;display:flex;gap:8px}.back-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-2);margin-bottom:10px}.back-link svg{width:14px;height:14px}[dir=rtl] .back-link svg,[dir=rtl] .flip-rtl{transform:scaleX(-1)}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}@media(max-width:900px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.grid-4{grid-template-columns:1fr}}.units-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px;align-items:start}.units-grid>.panel+.panel{margin-top:0}@media(max-width:1100px){.units-grid{grid-template-columns:1fr}}.table tr.group-row td{background:var(--surface);padding-top:16px;padding-bottom:6px;border-bottom:1px solid var(--line)}.table tbody tr.group-row:first-child td{padding-top:10px}.table .center,.table th.center{text-align:center}.cb{width:16px;height:16px;accent-color:var(--brand-solid);margin:0;vertical-align:middle}.table tr.row-error td{background:color-mix(in srgb,var(--danger-soft) 60%,transparent);border-bottom:0}.table tr.row-error-msg td{background:color-mix(in srgb,var(--danger-soft) 60%,transparent);padding-top:0}.table td.error{color:var(--danger)}.version-strip{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.version-chip{display:inline-flex;align-items:center;gap:8px;height:36px;padding-inline:12px;cursor:pointer;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);color:var(--text)}.version-chip[aria-selected=true]{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}.version-chip .status{font-size:12px;padding:1px 8px;border-radius:999px;background:var(--surface-2);color:var(--text-2)}.version-chip .status.active{background:var(--ok-soft);color:var(--ok)}.version-chip .status.draft{background:var(--warn-soft);color:var(--warn)}.bom-bottom{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px;align-items:start}.bom-bottom>.panel+.panel{margin-top:0}@media(max-width:1100px){.bom-bottom{grid-template-columns:1fr}}.bom-bottom .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.tree{padding:6px 0 10px}.tree-row{position:relative;display:grid;grid-template-columns:22px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding-block:7px;padding-inline-end:16px;border-bottom:1px solid var(--line);font-size:13.5px}.tree-row:last-child{border-bottom:0}.tree-row.depth-0 .tree-name .mono-id{font-weight:600}.tree-row:before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:3px;background:transparent}.tree-row.depth-1:before{background:var(--brand-line)}.tree-row.depth-2:before{background:var(--saffron-soft)}.tree-toggle{width:22px;height:22px;display:grid;place-items:center;border:0;background:transparent;cursor:pointer;color:var(--text-2);border-radius:4px}.tree-toggle:hover{background:var(--surface-2)}.tree-toggle svg{width:15px;height:15px}.tree-leaf{width:22px;height:22px;display:grid;place-items:center}.tree-leaf:after{content:"";width:5px;height:5px;border-radius:50%;background:var(--line-strong)}.tree-name{display:flex;gap:8px;align-items:baseline;min-width:0}.tree-name .mono-id{white-space:nowrap}.tree-label{color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-tags{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.tree-qty{white-space:nowrap;font-weight:500;text-align:end;min-width:110px}@media(max-width:720px){.tree-row{grid-template-columns:22px 1fr auto}.tree-tags{display:none}}.lot-result{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:var(--r-md);background:var(--brand-soft);border:1px solid var(--brand-line)}.lot-result .formula{font-size:11.5px}.chip-row{display:flex;flex-wrap:wrap;gap:4px}.mchip{font-size:12px;padding:2px 7px;border-radius:4px;background:var(--surface-2);border:1px solid var(--line);color:var(--text-2)}.flow-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;align-items:start}.flow-layout.readonly{grid-template-columns:minmax(0,1fr)}.palette{position:sticky;top:calc(var(--topbar) + 16px);max-height:calc(100vh - var(--topbar) - 32px);display:flex;flex-direction:column;overflow:hidden}.palette-search{position:relative;padding:12px 12px 6px}.palette-search svg{position:absolute;inset-inline-start:22px;top:21px;width:15px;height:15px;color:var(--text-3)}.palette-search .input{height:32px;padding-inline-start:32px;font-size:13px}.palette-list{overflow-y:auto;padding:4px 12px 8px;flex:1}.palette-area{font-size:12px;color:var(--text-3);padding:10px 2px 4px}.pchip{display:grid;grid-template-columns:14px auto minmax(0,1fr);align-items:center;gap:8px;padding:7px 9px;margin-bottom:4px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);cursor:grab;font-size:13px;-webkit-user-select:none;user-select:none;transition:border-color .12s,background-color .12s,transform .12s}.pchip:hover{border-color:var(--brand-line);background:var(--brand-soft)}.pchip:active{cursor:grabbing;transform:scale(.98)}.pchip .grip{width:14px;height:14px;color:var(--text-3)}.pchip .mono-id{font-weight:600}.pname{color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px}.palette-hint{padding:10px 14px 14px;border-top:1px solid var(--line);margin:0}.flow-board{overflow-x:auto;padding:4px 2px 20px;min-height:280px}.flow-track{display:flex;align-items:flex-start;gap:0;min-width:min-content}.flow-item{display:flex;align-items:flex-start}.flow-link{flex:none;width:48px;height:24px;margin-top:26px;overflow:visible}[dir=rtl] .flow-link{transform:scaleX(-1)}.flow-dash{stroke:var(--brand);stroke-width:2;stroke-dasharray:5 5;animation:flow 1.1s linear infinite}.flow-head{fill:none;stroke:var(--brand);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.flow-link.faint .flow-dash,.flow-link.faint .flow-head{stroke:var(--line-strong);animation:none}@keyframes flow{to{stroke-dashoffset:-10}}.step-card{width:300px;flex:none;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);transition:border-color .15s,box-shadow .15s,opacity .15s}.step-card.over{border-color:var(--saffron);box-shadow:0 0 0 3px var(--saffron-soft)}.step-card.invalid{border-color:var(--danger)}.step-card.dragging{opacity:.45}.step-head{display:flex;align-items:center;gap:8px;padding:10px 10px 10px 8px;border-bottom:1px solid var(--line)}[dir=rtl] .step-head{padding:10px 8px 10px 10px}.drag-handle{cursor:grab;color:var(--text-3);display:grid;place-items:center;width:18px}.drag-handle svg{width:16px;height:16px}.step-no{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--brand-solid);color:var(--on-brand);font-size:12.5px;font-weight:600}.step-name{flex:1;min-width:0;height:30px;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;font-weight:600;padding-inline:6px}.step-name:hover:not(:disabled){border-color:var(--line)}.step-name:focus{outline:none;border-color:var(--brand);background:var(--surface)}.step-tools{display:flex;gap:2px}.icon-btn{width:26px;height:26px;display:grid;place-items:center;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-2);cursor:pointer;flex:none}.icon-btn:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.icon-btn:disabled{opacity:.35;cursor:default}.icon-btn svg{width:15px;height:15px}.step-time{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px;border-bottom:1px solid var(--line)}.step-time .seg{grid-column:1 / -1;justify-self:start}.mini{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-2)}.mini .input{height:32px;font-size:13px}.dropzone{display:flex;flex-direction:column;gap:6px;padding:12px;min-height:92px}.dropzone.empty{justify-content:center}.drop-hint{border:1.5px dashed var(--line-strong);border-radius:var(--r-md);padding:14px;text-align:center;color:var(--text-3);font-size:13px}.step-card.over .drop-hint{border-color:var(--saffron);color:var(--text);background:var(--saffron-soft)}.mslot{display:grid;grid-template-columns:26px minmax(0,1fr) 76px 26px;align-items:center;gap:6px;padding:5px 6px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface)}.mslot.preferred{border-color:var(--brand-line);background:var(--brand-soft)}.mslot.pop{animation:pop-in .5s cubic-bezier(.2,.9,.3,1.4)}@keyframes pop-in{0%{transform:scale(.85);opacity:.2}}.mslot-name{display:flex;flex-direction:column;min-width:0;line-height:1.25;font-size:13px}.mslot-name .mono-id{font-weight:600}.mslot .own{height:28px;font-size:12px;padding-inline:6px}.star{width:26px;height:26px;display:grid;place-items:center;border:0;background:transparent;color:var(--text-3);cursor:pointer;border-radius:var(--r-sm)}.star svg{width:15px;height:15px}.star[aria-pressed=true]{color:var(--saffron)}.star[aria-pressed=true] svg{fill:currentColor}.add-machine{height:30px;font-size:12.5px;color:var(--text-2)}.step-foot{padding:9px 12px;border-top:1px solid var(--line);font-size:12.5px;color:var(--text-2);background:var(--surface-2);border-radius:0 0 var(--r-lg) var(--r-lg)}.step-error{padding:8px 12px;color:var(--danger);font-size:12.5px;border-top:1px solid var(--line)}.step-add{width:200px;height:120px;flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1.5px dashed var(--line-strong);border-radius:var(--r-lg);background:transparent;color:var(--text-2);cursor:pointer;font-weight:500}.step-add:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}.step-add svg{width:20px;height:20px}@media(max-width:960px){.flow-layout{grid-template-columns:1fr}.palette{display:none}.flow-track{flex-direction:column;min-width:0}.flow-item{flex-direction:column;align-items:stretch;width:100%}.step-card{width:100%}.flow-link{transform:rotate(90deg);margin:6px auto}[dir=rtl] .flow-link{transform:rotate(90deg)}.step-add{width:100%;height:72px}}@media(prefers-reduced-motion:reduce){.flow-dash{animation:none}}.month-label{min-width:150px;text-align:center}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding:12px}.mg-head{font-size:12px;color:var(--text-3);text-align:center;padding-bottom:4px}.mg-day{min-height:74px;border-radius:var(--r-sm);padding:6px 8px;display:flex;flex-direction:column;gap:2px;position:relative;border:1px solid var(--line);background:var(--surface)}.mg-day.lvl-0{background:var(--surface-2);color:var(--text-3)}.mg-day.lvl-1{background:color-mix(in srgb,var(--brand-soft) 55%,var(--surface))}.mg-day.lvl-2{background:var(--brand-soft)}.mg-day.lvl-3{background:color-mix(in srgb,var(--brand-solid) 16%,var(--surface))}.mg-day.lvl-4{background:color-mix(in srgb,var(--brand-solid) 24%,var(--surface))}.mg-day.today{box-shadow:inset 0 0 0 2px var(--saffron)}.mg-day.hol{background:var(--warn-soft)}.mg-day.hol-proposed{background:repeating-linear-gradient(135deg,var(--warn-soft) 0 6px,var(--surface) 6px 12px)}.mg-date{font-weight:600;font-size:13px}.mg-hours{font-size:12px;color:var(--text-2)}.mg-note{font-size:11px;line-height:1.25;color:var(--warn);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.mg-note.period{color:var(--brand)}@media(max-width:720px){.mg-day{min-height:54px;padding:4px}.mg-note{display:none}}.cal-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:16px;align-items:start;margin-top:16px}.cal-grid>.panel+.panel,.cal-grid .stack>.panel+.panel{margin-top:0}@media(max-width:1100px){.cal-grid{grid-template-columns:1fr}}.week-row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;padding:12px 18px;border-bottom:1px solid var(--line);align-items:start}.week-row.off .week-day strong{color:var(--text-3)}.week-day{display:flex;flex-direction:column;padding-top:6px}.week-shifts{display:flex;flex-direction:column;gap:6px}.shift-chip{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.shift-chip .input{height:32px;font-size:13px;width:auto}.shift-chip .sname{width:110px}.shift-chip input[type=time]{width:132px}@media(max-width:640px){.week-row{grid-template-columns:1fr}}.plain-list{list-style:none;margin:0;padding:0}.plain-list li{display:flex;align-items:center;gap:12px;padding:10px 18px;border-bottom:1px solid var(--line)}.plain-list li:last-child{border-bottom:0}.plain-list li>div:first-child{flex:1;min-width:0}.plain-list li.selected{background:var(--brand-soft)}.plain-list li.proposed{background:color-mix(in srgb,var(--warn-soft) 50%,transparent)}.hol-date{width:108px;flex:none!important;font-size:13px;color:var(--text-2)}.hol-name{flex:1;min-width:0}.sheet-toolbar{padding:0 20px;border-bottom:1px solid var(--line)}@media(pointer:coarse){.palette{display:none}.flow-layout{grid-template-columns:1fr}}.inline-icon{width:18px;height:18px;vertical-align:-3px;color:var(--brand)}.group-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}.group-card{--tone: var(--brand);display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:start;padding:12px 14px 12px 16px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);position:relative;overflow:hidden;cursor:pointer;font:inherit;color:inherit;transition:border-color .15s,transform .15s}.group-card:before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:4px;background:var(--tone)}.group-card:hover:not(:disabled){border-color:var(--tone);transform:translateY(-1px)}.group-card:disabled{cursor:default}.group-card.inactive{opacity:.55}.group-card .code{font-weight:650;letter-spacing:.02em;color:var(--tone)}.group-card .name{font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.group-card .count{font-size:12px;color:var(--text-3)}.tone-0{--tone: #67138c}.tone-1{--tone: #c46f00}.tone-2{--tone: #137a6c}.tone-3{--tone: #2b5fb8}.tone-4{--tone: #b0306b}.tone-5{--tone: #5b6b1a}:root[data-theme=dark] .tone-0{--tone: #c6a2ee}:root[data-theme=dark] .tone-1{--tone: #f0a94a}:root[data-theme=dark] .tone-2{--tone: #5ccbb7}:root[data-theme=dark] .tone-3{--tone: #8fb3f5}:root[data-theme=dark] .tone-4{--tone: #f08fbd}:root[data-theme=dark] .tone-5{--tone: #bcd06a}.scope-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:28px;padding:12px 14px;border-radius:var(--r-lg);background:var(--brand-soft);border:1px solid var(--brand-line);position:sticky;top:64px;z-index:5}.scope-bar .select{width:auto;min-width:240px;max-width:100%;height:34px}.scope-bar label{font-weight:600;color:var(--brand)}.rule-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.rule-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:start;padding:16px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);font:inherit;color:inherit;cursor:pointer;transition:border-color .15s,box-shadow .15s}.rule-card:hover:not(:disabled){border-color:var(--brand-line);box-shadow:0 4px 16px -8px #67138c59}.rule-card:disabled{cursor:default}.rule-card .icon{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:var(--brand-soft);color:var(--brand);margin-bottom:4px}.rule-card .icon svg{width:17px;height:17px}.rule-card .title{font-weight:600}.rule-card .desc{font-size:12.5px;color:var(--text-2)}.rule-card .value{display:flex;align-items:center;gap:8px;font-size:22px;font-weight:650;margin-top:6px;font-variant-numeric:tabular-nums}.rule-card .parts{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:12px;color:var(--text-3)}.rule-card.unset .value{color:var(--text-3);font-size:16px;font-weight:500}.rule-card.inherited{border-style:dashed}.rule-card .badge{margin-top:4px}.ver{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--saffron-soft);color:var(--saffron);flex:none}.ver svg{width:12px;height:12px}:root[data-theme=dark] .ver{background:color-mix(in srgb,var(--saffron) 20%,transparent);color:#f5b45a}table.matrix{border-collapse:separate;border-spacing:4px;margin:8px}table.matrix th{font-size:12px;font-weight:600;color:var(--text-2);padding:4px 6px;text-align:center;white-space:nowrap}table.matrix tbody th{text-align:start;padding-inline-end:12px}table.matrix tbody th .sub{display:block;font-weight:400;color:var(--text-3);font-size:11.5px;max-width:150px;overflow:hidden;text-overflow:ellipsis}table.matrix th.corner{position:relative;min-width:120px;height:44px}table.matrix th.corner .to{position:absolute;top:2px;inset-inline-end:6px;color:var(--text-3);font-weight:500;display:inline-flex;align-items:center;gap:4px}table.matrix th.corner .from{position:absolute;bottom:2px;inset-inline-start:6px;color:var(--text-3);font-weight:500}table.matrix td{padding:0}.mcell{--heat: 0;width:100%;min-width:92px;height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:8px;border:1px solid transparent;font:inherit;color:var(--text);cursor:pointer;font-variant-numeric:tabular-nums;background:color-mix(in srgb,var(--brand) calc(var(--heat) * 1%),var(--surface-2));transition:transform .12s,box-shadow .12s}.mcell .v{font-weight:600;font-size:13px}.mcell .meta{display:flex;align-items:center;gap:4px;min-height:16px}.mcell .meta .ver{width:16px;height:16px}.mcell .meta .ver svg{width:10px;height:10px}.mcell .tag{font-size:10.5px;color:var(--text-3)}.mcell.general{background:var(--surface-2);border:1px dashed var(--line-strong);color:var(--text-2)}.mcell.general .v{font-weight:500}.mcell.unset{color:var(--text-3)}.mcell:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 0 0 2px var(--brand-line)}.mcell:disabled{cursor:default}.mcell.own.heat-0{--heat: 4}.mcell.own.heat-1{--heat: 10}.mcell.own.heat-2{--heat: 18}.mcell.own.heat-3{--heat: 28}.mcell.own.heat-4{--heat: 38}.mcell.own.heat-5{--heat: 50}.mcell.own.heat-4,.mcell.own.heat-5{color:#fff}.mcell.own.heat-4 .tag,.mcell.own.heat-5 .tag{color:#fffc}:root[data-theme=dark] .mcell.own.heat-4,:root[data-theme=dark] .mcell.own.heat-5{color:#1a1720}td.diag .mcell.own{box-shadow:inset 0 0 0 1.5px var(--brand-line)}.rule-scope{display:grid;gap:10px;padding:12px 14px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line)}.rule-scope>div{display:flex;flex-direction:column;gap:2px}.rule-total{display:flex;align-items:baseline;justify-content:space-between;padding:12px 14px;border-radius:var(--r-md);background:var(--brand-soft);color:var(--brand)}.rule-total strong{font-size:20px;font-variant-numeric:tabular-nums}.ver-seg{flex-wrap:wrap}.ver-seg button{display:inline-flex;align-items:center;gap:6px}.check-co{display:grid;gap:16px}.check-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}@media(max-width:760px){.check-inputs{grid-template-columns:1fr}}.check-result{display:flex;gap:20px;align-items:center;padding:16px 18px;border-radius:var(--r-lg);background:var(--brand-soft);border:1px solid var(--brand-line);flex-wrap:wrap}.check-result .big{font-size:28px;font-weight:700;color:var(--brand);font-variant-numeric:tabular-nums;min-width:120px}.check-result .detail{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}.check-result.none{background:var(--surface-2);border-color:var(--line)}.check-result.none .big{color:var(--text-3)}.edit-table td{padding-block:6px}.cell-input{height:32px;font-size:13px}.edit-table .input.cell-input{width:80px;text-align:end}.edit-table td.mono-id,.edit-table th{white-space:nowrap}.edit-table .select.cell-input{width:auto;min-width:100px}.table th.center,.table td.center{text-align:center}.table td.center .switch{margin-inline:auto}.table tr.row-dirty td{background:color-mix(in srgb,var(--saffron-soft) 55%,transparent)}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}@media(max-width:640px){.scope-bar{top:56px}.scope-bar .select{min-width:0;flex:1}}.table td.mono-id{white-space:nowrap}@media(max-width:640px){.check-result{flex-direction:column;align-items:flex-start;gap:8px}}.grow{flex:1 1 200px}.text-danger{color:var(--danger)}.month-nav{display:inline-flex;align-items:center;gap:2px}.month-nav .label{font-weight:600;font-size:13px;min-width:150px;text-align:center;font-variant-numeric:tabular-nums}.plan-grid{border-collapse:separate;border-spacing:0}.plan-grid .sticky-col{position:sticky;inset-inline-start:0;z-index:2;background:var(--surface);min-width:190px;text-align:start}.plan-grid thead .sticky-col{background:var(--surface-2);z-index:3}.plan-grid tr.group-row td{position:sticky;inset-inline-start:0}.plan-grid tbody th.sticky-col{font-weight:400;padding-inline-start:26px}.plan-grid .mkt{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.plan-grid td.pcell{padding:4px;position:relative;min-width:104px}.plan-grid td.num{white-space:nowrap}.plan-grid .sticky-col{min-width:170px}.pcell-in{display:flex;align-items:center;gap:2px}.pcell .input{height:32px;font-size:13px;text-align:end;min-width:0;width:100%;padding-inline:8px}.pcell.dirty .input{background:color-mix(in srgb,var(--saffron-soft) 70%,var(--surface));border-color:color-mix(in srgb,var(--saffron) 55%,transparent)}.pcell.over .input{color:var(--warn);font-weight:600}.pcell.bad .input{border-color:var(--danger);box-shadow:0 0 0 2px var(--danger-soft)}.over-icon{position:absolute;top:2px;inset-inline-start:4px;width:12px;height:12px;color:var(--warn);pointer-events:none}.due-btn{flex:none;display:grid;place-items:center;width:24px;height:28px;border:0;background:none;border-radius:6px;color:var(--text-3);cursor:pointer;opacity:0;transition:opacity .12s}.due-btn svg{width:14px;height:14px}.pcell:hover .due-btn,.pcell:focus-within .due-btn,.due-btn.has{opacity:1}.due-btn.has{color:var(--brand)}.due-btn:hover:not(:disabled){background:var(--surface-2)}.due-btn:disabled{cursor:default}@media(pointer:coarse){.due-btn{opacity:1}}.plan-grid tfoot th,.plan-grid tfoot td{background:var(--surface-2);font-weight:600;border-top:1px solid var(--line-strong);padding:10px 14px}.plan-grid tfoot td.num{font-variant-numeric:tabular-nums}.stock-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;margin-bottom:14px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}.stock-bar .input{width:170px}.horizon{padding:12px 16px;display:flex;flex-direction:column;gap:12px}.horizon-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}.horizon-row .label{display:inline-flex;align-items:center;gap:6px;font-weight:600}.horizon-row .seg{flex-wrap:wrap}.horizon-row .input{width:160px;height:32px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:16px}.kpi{position:relative;display:flex;flex-direction:column;gap:2px;padding:16px 18px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);min-height:96px}.kpi .icon{position:absolute;top:14px;inset-inline-end:14px;display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--brand-soft);color:var(--brand)}.kpi .icon svg{width:16px;height:16px}.kpi .k{font-size:12.5px;color:var(--text-2);padding-inline-end:40px}.kpi strong{font-size:26px;font-weight:650;font-variant-numeric:tabular-nums;line-height:1.2}.kpi .money{display:flex;flex-direction:column}.kpi .money strong{font-size:20px}.kpi .money small{font-size:12px;color:var(--text-3);font-weight:500}.kpi.bad{border-color:color-mix(in srgb,var(--danger) 35%,var(--line))}.kpi.bad .icon{background:var(--danger-soft);color:var(--danger)}.kpi.bad strong{color:var(--danger)}.kpi.good .icon{background:var(--ok-soft);color:var(--ok)}.kpis+.notice,.kpis~.notice{margin-top:12px}.req-table td{vertical-align:top}.batches{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.bchip{display:inline-block;padding:1px 7px;border-radius:999px;font-size:12px;background:var(--brand-soft);color:var(--brand);font-variant-numeric:tabular-nums}.bchip.partial{background:var(--saffron-soft);color:var(--warn);border:1px dashed color-mix(in srgb,var(--saffron) 60%,transparent)}:root[data-theme=dark] .bchip.partial{background:color-mix(in srgb,var(--saffron) 18%,transparent);color:#f5b45a}.cover{height:4px;border-radius:999px;background:var(--danger-soft);margin-top:6px;overflow:hidden;min-width:80px}.cover span{display:block;height:100%;background:var(--ok);border-radius:inherit}.cover:not(.short){background:var(--surface-3)}.cover.short span{background:var(--saffron)}.req-table td:first-child{min-width:210px}.text-warn{color:var(--warn)}.sheet-section{font-size:13px;font-weight:600;color:var(--text-2);margin:8px 0 -4px;text-transform:none}.obj-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}@media(max-width:720px){.obj-cards{grid-template-columns:1fr}}.obj-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;text-align:start;font:inherit;color:inherit;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);cursor:pointer;transition:border-color .15s,box-shadow .15s}.obj-card .icon{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--surface-2);color:var(--text-2);margin-bottom:4px}.obj-card .icon svg{width:16px;height:16px}.obj-card:hover{border-color:var(--brand-line)}.obj-card[aria-checked=true]{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.obj-card[aria-checked=true] .icon{background:var(--brand);color:#fff}:root[data-theme=dark] .obj-card[aria-checked=true] .icon{color:#1a1720}.obj{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:9px;flex:none}.obj svg{width:17px;height:17px}.obj-on_time{background:var(--brand-soft);color:var(--brand)}.obj-sales_value{background:var(--saffron-soft);color:var(--saffron)}.obj-utilization{background:var(--ok-soft);color:var(--ok)}:root[data-theme=dark] .obj-sales_value{background:color-mix(in srgb,var(--saffron) 18%,transparent);color:#f5b45a}.plan-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}.plan-card{display:flex;flex-direction:column;gap:14px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);color:inherit;text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s}.plan-card:hover{border-color:var(--brand-line);transform:translateY(-1px);box-shadow:0 6px 20px -12px #67138c66}.plan-card.archived{opacity:.65}.plan-card .top{display:flex;gap:12px;align-items:flex-start}.plan-card .titles{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.plan-card .titles strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-card .stats{display:flex;gap:16px;align-items:center}.plan-card .stats .small>div{display:flex;align-items:center;gap:6px;line-height:1.8}.plan-card .i{width:14px;height:14px;color:var(--text-3)}.plan-card .foot{border-top:1px solid var(--line);padding-top:10px}.ring{--c: var(--text-3);width:58px;height:58px;border-radius:50%;flex:none;display:grid;place-items:center;background:conic-gradient(var(--c) calc(var(--p) * 1%),var(--surface-3) 0)}.ring span{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--surface);font-weight:650;font-size:13px}.ring.good{--c: var(--ok)}.ring.mid{--c: var(--saffron)}.ring.bad{--c: var(--danger)}.date-kpi{font-size:16px!important;padding-inline-end:34px;line-height:1.35!important}.gantt-wrap{display:flex;flex-direction:column}.gantt-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:10px 14px;border-bottom:1px solid var(--line)}.legend{display:flex;flex-wrap:wrap;gap:4px 14px;color:var(--text-2)}.legend span{display:inline-flex;align-items:center;gap:6px}.lg{display:inline-block;width:18px;height:10px;border-radius:3px}.lg.co,.g-co{background:repeating-linear-gradient(135deg,var(--line-strong) 0 3px,var(--surface-3) 3px 6px)}.lg.wait,.g-wait{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--saffron) 55%,transparent) 0 3px,var(--saffron-soft) 3px 6px)}.lg.down,.g-down{background:repeating-linear-gradient(45deg,color-mix(in srgb,var(--danger) 45%,transparent) 0 3px,var(--danger-soft) 3px 7px)}.lg.tone-0,.g-op.tone-0{--bar: #67138c}.lg.tone-1,.g-op.tone-1{--bar: #c46f00}.lg.tone-2,.g-op.tone-2{--bar: #137a6c}.lg.tone-3,.g-op.tone-3{--bar: #2b5fb8}.lg.tone-4,.g-op.tone-4{--bar: #b0306b}.lg.tone-5,.g-op.tone-5{--bar: #5b6b1a}.g-op.tone-x{--bar: #6b6577}.lg[class*=tone-]{background:var(--bar)}:root[data-theme=dark] .g-op.tone-0,:root[data-theme=dark] .lg.tone-0{--bar: #9b5cc8}:root[data-theme=dark] .g-op.tone-1,:root[data-theme=dark] .lg.tone-1{--bar: #d98a2b}.gantt{display:flex;position:relative}.g-names{flex:none;width:190px;border-inline-end:1px solid var(--line);background:var(--surface);z-index:3;overflow:hidden}.g-head{height:46px;border-bottom:1px solid var(--line);background:var(--surface-2);position:relative}.g-area,.g-row.area{height:24px}.g-area{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--text-3);padding:6px 12px 0;background:var(--surface-2);border-bottom:1px solid var(--line)}.g-name,.g-row{height:36px;border-bottom:1px solid var(--line)}.g-name{display:flex;flex-direction:column;justify-content:center;padding:0 12px;line-height:1.2}.g-name strong{font-size:12.5px}.g-name span{font-size:11px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.g-scroll{flex:1;overflow-x:auto;overflow-y:hidden;position:relative}.g-canvas{position:relative}.g-canvas .g-head{position:sticky;top:0;z-index:2}.g-months span{position:absolute;top:4px;font-size:12px;font-weight:600;padding-inline-start:6px;white-space:nowrap;color:var(--text-2)}.g-days span{position:absolute;top:24px;height:22px;font-size:11px;color:var(--text-3);padding-inline-start:4px;white-space:nowrap;overflow:hidden;border-inline-start:1px solid var(--line);line-height:22px}.g-days span.off{background:color-mix(in srgb,var(--surface-3) 70%,transparent)}.g-body{position:relative}.g-row.area{background:color-mix(in srgb,var(--surface-2) 70%,transparent);border-bottom:1px solid var(--line)}.g-row{position:relative}.g-off{position:absolute;top:0;bottom:0;background:color-mix(in srgb,var(--surface-3) 45%,transparent);pointer-events:none}.g-line{position:absolute;top:0;bottom:0;width:1px;background:var(--line);pointer-events:none}.g-now,.g-hend{position:absolute;top:0;bottom:0;width:0;border-inline-start:2px solid var(--saffron);z-index:1;pointer-events:none}.g-hend{border-inline-start:2px dashed var(--brand)}.g-now span,.g-hend span{position:absolute;top:2px;left:4px;font-size:10.5px;font-weight:600;color:var(--saffron);background:var(--surface);padding:0 4px;border-radius:4px;white-space:nowrap}.g-hend span{color:var(--brand)}.g-co,.g-wait,.g-down{position:absolute;top:9px;height:18px;border-radius:3px}.g-down{top:4px;height:28px;opacity:.9}.g-op{position:absolute;top:6px;height:24px;border:0;border-radius:5px;padding:0 6px;font:inherit;font-size:11px;font-weight:600;color:#fff;background:var(--bar);cursor:pointer;overflow:hidden;white-space:nowrap;text-align:start;box-shadow:inset 0 0 0 1px #00000014;transition:opacity .15s,box-shadow .15s}.g-op.lvl-1{background:color-mix(in srgb,var(--bar) 78%,#fff)}.g-op.lvl-2,.g-op.lvl-3{background:color-mix(in srgb,var(--bar) 58%,#fff);color:#1d1628}:root[data-theme=dark] .g-op.lvl-1{background:color-mix(in srgb,var(--bar) 80%,#000)}:root[data-theme=dark] .g-op.lvl-2,:root[data-theme=dark] .g-op.lvl-3{background:color-mix(in srgb,var(--bar) 60%,#000);color:#fff}.g-op span{pointer-events:none}.g-op:hover{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--bar);z-index:1}.g-op.sel{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--saffron);z-index:1}.g-op.dim,.g-co.dim,.g-wait.dim{opacity:.18}.batch-detail{margin-top:14px}.batch-detail .panel-head .titles{display:flex;flex-direction:column;gap:2px}.bd-grid{display:grid;gap:16px}.bd-times{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.bd-times>div{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:var(--r-md);background:var(--surface-2)}.bd-times span{font-size:12px;color:var(--text-2)}.bd-links{display:grid;gap:10px}.bd-links>div{display:flex;flex-direction:column;gap:4px}.bchip.link{border:0;cursor:pointer;font:inherit;font-size:12px}.bchip.link:hover{background:var(--brand);color:#fff}.table.compact td,.table.compact th{padding:7px 10px}.warn-list{list-style:none;margin:0;padding:6px 0}.warn-list li{display:flex;gap:10px;align-items:flex-start;padding:9px 16px;border-bottom:1px solid var(--line);font-size:13.5px}.warn-list li:last-child{border-bottom:0}.warn-list li svg{flex:none;margin-top:2px;color:var(--warn)}.warn-list li.w-unscheduled svg,.warn-list li.w-material_short svg{color:var(--danger)}.util-list{display:flex;flex-direction:column;gap:10px}.util-row{display:grid;grid-template-columns:90px minmax(120px,1fr) 54px minmax(0,1.2fr);gap:12px;align-items:center}.util-bar{height:10px;border-radius:999px;background:var(--surface-3);overflow:hidden;display:flex}.util-bar .busy{background:var(--brand)}.util-bar .co{background:var(--saffron)}@media(max-width:720px){.util-row{grid-template-columns:70px 1fr 44px}.util-row>.small{grid-column:1 / -1}.g-names{width:110px}.g-name span{display:none}}@media(max-width:640px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi{min-height:0;padding:12px 14px}.kpi strong{font-size:20px}}.no-pause{grid-column:1 / -1;display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-2)}.g-op.movable{cursor:grab;touch-action:none}.g-op.movable:active{cursor:grabbing}.g-op.locked{outline:2px dashed color-mix(in srgb,var(--bar) 60%,var(--text));outline-offset:1px}.g-op .lk{width:11px;height:11px;flex:none;vertical-align:-1px;margin-inline-end:3px}.g-op.origin{opacity:.35}.g-body.dragging .g-row.drop-ok{background:color-mix(in srgb,var(--ok-soft) 55%,transparent)}.g-body.dragging .g-row.drop-no{background:color-mix(in srgb,var(--surface-3) 40%,transparent)}.g-body.dragging .g-row.hover.drop-ok{background:color-mix(in srgb,var(--ok-soft) 100%,transparent);box-shadow:inset 0 0 0 1px var(--ok)}.g-body.dragging .g-row.hover.drop-no{background:color-mix(in srgb,var(--danger-soft) 80%,transparent)}.g-ghost{position:absolute;height:24px;border-radius:5px;background:var(--brand);color:#fff;z-index:4;pointer-events:none;box-shadow:0 6px 18px -6px #00000073;font-size:11px;font-weight:600;display:flex;align-items:center}.g-ghost span{position:absolute;left:0;top:-22px;white-space:nowrap;padding:2px 6px;border-radius:4px;background:var(--text);color:var(--surface)}.g-ghost.bad{background:var(--danger)}.gantt-panel{position:relative}.replanning{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:10px;z-index:6;background:color-mix(in srgb,var(--surface) 70%,transparent);font-weight:600;border-radius:var(--r-lg);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.spinner{width:18px;height:18px;border-radius:50%;border:2.5px solid var(--brand-soft);border-top-color:var(--brand);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.badge svg{width:11px;height:11px}.plan-card{position:relative}.pick{display:grid;place-items:center;width:22px;height:22px;border-radius:6px;border:1.5px solid var(--line-strong);color:transparent;margin-inline-start:auto;flex:none;cursor:pointer;background:var(--surface)}.pick svg{width:14px;height:14px}.pick:hover{border-color:var(--brand)}.pick.on{background:var(--brand);border-color:var(--brand);color:#fff}.cmp-table th,.cmp-table td{vertical-align:top}.cmp-table thead th{white-space:normal;min-width:200px}.cmp-table thead th:first-child{min-width:180px}.cmp-head{display:flex;gap:10px;align-items:flex-start;color:inherit;text-decoration:none;margin-bottom:6px}.cmp-head>span:last-child{display:flex;flex-direction:column;gap:2px}.cmp-head strong{color:var(--text)}.cmp-table td.best{background:color-mix(in srgb,var(--ok-soft) 70%,transparent);color:var(--ok);font-weight:650}.cmp-table tbody th{font-weight:500;color:var(--text-2);background:none;position:static}.getstarted .panel-head{align-items:flex-start;gap:12px}.getstarted .panel-head h2{margin:0}.nowrap{white-space:nowrap}.gs-bar{height:4px;background:var(--surface-2)}.gs-bar span{display:block;height:100%;background:var(--brand-solid);transition:width .3s ease}.gs-complete{display:flex;gap:8px;align-items:center;color:var(--ok);font-weight:500}.gs-steps{list-style:none;margin:0;padding:4px 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.gs-steps li{display:flex;align-items:center;gap:12px;padding:12px 18px;border-top:1px solid var(--line);min-width:0}.gs-steps li .n{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:600;border:1.5px solid var(--line-strong, var(--line));color:var(--text-2)}.gs-steps li.done .n{background:var(--ok);border-color:var(--ok);color:#fff}.gs-steps li.next .n{border-color:var(--brand-solid);color:var(--brand)}.gs-steps li .text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.gs-steps li .text>span:first-of-type{font-size:13px;color:var(--text-2)}.gs-steps li.done .text strong{color:var(--text-2)}.gs-steps li.done .btn{visibility:hidden}.gs-steps li .btn{flex:none}@media(max-width:640px){.gs-steps{grid-template-columns:1fr}.gs-steps li{padding:12px 14px}}.page-head h1{display:flex;align-items:center;gap:8px}.tour-help{display:inline-grid;place-items:center;width:26px;height:26px;border:0;border-radius:50%;background:transparent;color:var(--text-3, var(--text-2));cursor:pointer;font-size:18px}.tour-help:hover,.tour-help:focus-visible{background:var(--surface-2);color:var(--brand)}.tour{position:fixed;inset:0;z-index:400}.tour-shield{position:absolute;inset:0}.tour-spot{position:fixed;border-radius:10px;box-shadow:0 0 0 9999px #0f0a1e8c,0 0 0 2px var(--brand-solid);pointer-events:none;transition:top .2s ease,left .2s ease,width .2s ease,height .2s ease}.tour-bubble{position:fixed;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:0 12px 40px #00000040;padding:12px 14px;transition:top .2s ease,left .2s ease}.tour-bubble p{margin:4px 0 12px;font-size:14px;line-height:1.5}.tour-head,.tour-actions{display:flex;align-items:center;gap:6px}@media(prefers-reduced-motion:reduce){.tour-spot,.tour-bubble,.gs-bar span{transition:none}}.ai-fab{position:fixed;inset-inline-end:20px;bottom:20px;z-index:300;display:inline-flex;align-items:center;gap:8px;height:44px;padding-inline:16px 18px;border:0;border-radius:999px;background:var(--brand-solid);color:var(--on-brand);font:inherit;font-weight:600;box-shadow:0 8px 24px #3c145a4d;cursor:pointer}.ai-fab:hover{background:var(--brand-solid-hover)}.ai-fab svg{font-size:18px}.ai-panel{position:fixed;inset-inline-end:20px;bottom:20px;z-index:300;width:min(420px,calc(100vw - 32px));height:min(640px,calc(100vh - 100px));display:flex;flex-direction:column;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:0 16px 48px #00000038;overflow:hidden}.ai-head{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line)}.ai-head .grow{display:flex;flex-direction:column;min-width:0}.ai-mark{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:var(--brand-soft, var(--surface-2));color:var(--brand)}.ai-list{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px}.ai-empty p{margin:0 0 12px;color:var(--text-2);font-size:14px;line-height:1.5}.ai-sugs{display:flex;flex-direction:column;gap:6px}.ai-sug{text-align:start;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;font-size:13.5px;cursor:pointer}.ai-sug:hover{border-color:var(--brand-solid);background:var(--surface-2)}.ai-msg{max-width:92%;padding:9px 12px;border-radius:12px;font-size:14px;line-height:1.55;overflow-wrap:anywhere}.ai-msg p{margin:0 0 6px}.ai-msg p:last-child{margin:0}.ai-msg ul,.ai-msg ol{margin:4px 0 6px;padding-inline-start:20px}.ai-msg li{margin:2px 0}.ai-msg code{font-size:12.5px;background:var(--surface-2);padding:1px 4px;border-radius:4px}.ai-msg.user{align-self:flex-end;background:var(--brand-solid);color:var(--on-brand);border-end-end-radius:4px}.ai-msg.assistant{align-self:flex-start;background:var(--surface-2);border-end-start-radius:4px}.ai-msg.error{background:transparent;border:1px solid var(--danger-solid);color:var(--danger, var(--danger-solid))}.ai-busy{display:flex;align-items:center;gap:8px;color:var(--text-2)}.ai-used{display:flex;gap:6px;align-items:flex-start;font-size:12px;color:var(--text-3, var(--text-2));margin-top:-4px}.ai-used svg{flex:none;margin-top:2px}.ai-input{display:flex;gap:8px;align-items:flex-end;padding:10px 12px;border-top:1px solid var(--line)}.ai-input textarea{flex:1;resize:none;min-height:40px;max-height:120px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;font-size:14px;field-sizing:content}.ai-input textarea:focus{outline:2px solid var(--brand-solid);outline-offset:-1px}.ai-foot{margin:0;padding:0 12px 10px}@media(max-width:640px){.ai-panel{inset:0;width:100%;height:100%;border-radius:0}.ai-fab{bottom:14px;inset-inline-end:14px}}body:has(.sheet) .ai-fab,body:has(.dialog) .ai-fab,body:has(.tour) .ai-fab{display:none}body:has(.ai-fab) .content{padding-bottom:96px}@media(max-width:640px){.ai-fab{width:48px;height:48px;padding:0;justify-content:center}.ai-fab span{display:none}}
