:root{--s1: #7b66ff;--s2: #f59e0b;--s3: #10b981;--s4: #8b5cf6;--s5: #10b981;--s6: #ef4444;--green: #10b981;--amber: #f59e0b;--red: #ef4444;--red-600: #dc2626;--blue: #3b82f6;--purple: #8b5cf6;--accent: #7b66ff;--accent-bg: rgba(123, 102, 255, .1);--brand: #3b82f6;--brand-600: #2563eb;--brand-700: #1d4ed8;--brand-900: #1e3a8a;--on-brand: #ffffff;--sidebar-w: 248px;--sidebar-w-col: 60px;--topbar-h: 56px;--radius: 8px;--radius-lg: 12px;--trans: all .18s cubic-bezier(.4, 0, .2, 1)}:root,[data-theme=dark]{--bg-base: #0d0f14;--bg-surface: #13161e;--bg-elevated: #1a1f2e;--bg-hover: #1e2333;--bg-active: #222840;--border: #252b3d;--border-light: #1e2333;--text-primary: #e8eaf0;--text-secondary: #8892a4;--text-muted: #4a5568;--text-link: #4f8ef7;--brand-fg: #60a5fa;--shadow: 0 4px 24px rgba(0, 0, 0, .5);--shadow-modal: 0 24px 64px rgba(0, 0, 0, .6);--sidebar-bg: var(--bg-surface)}[data-theme=light]{--bg-base: #f8fafc;--bg-surface: #ffffff;--bg-elevated: #f1f5f9;--bg-hover: #e2e8f0;--bg-active: #cbd5e1;--border: #e2e8f0;--border-light: #f1f5f9;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--text-link: #2563eb;--brand-fg: #2563eb;--shadow: 0 4px 16px rgba(15, 23, 42, .06);--shadow-modal: 0 24px 48px rgba(15, 23, 42, .18);--sidebar-bg: var(--bg-surface)}*{box-sizing:border-box;margin:0;padding:0}input,select,textarea,button{box-sizing:border-box;font-family:inherit}select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding:8px 30px 8px 11px;border:1px solid var(--border);border-radius:8px;background-color:var(--bg-elevated);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%2394a3b8' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M4 6l4 4 4-4'/></svg>");background-repeat:no-repeat;background-position:right 10px center;background-size:12px;color:var(--text-primary);font-size:14px;line-height:1.4;cursor:pointer;outline:none;transition:border-color .12s ease}select:hover{border-color:var(--text-muted)}select:focus{border-color:var(--brand)}select:disabled{opacity:.55;cursor:not-allowed}select option{color:var(--text-primary);background:var(--bg-surface)}body{font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;background:var(--bg-base);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;transition:background .2s,color .2s}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;height:calc(100vh / var(--ui-zoom-vu, 1));overflow:hidden;transition:grid-template-columns .18s cubic-bezier(.4,0,.2,1)}.shell.collapsed{grid-template-columns:var(--sidebar-w-col) 1fr}.hamburger{display:none;width:38px;height:38px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);color:var(--text-secondary);font-size:18px;cursor:pointer}.sidebar-backdrop{display:none}@media(max-width:768px){.shell,.shell.collapsed{grid-template-columns:1fr}.hamburger{display:inline-grid;place-items:center}.brand-collapse{display:none}.sidebar{position:fixed;top:0;left:0;width:min(calc(84vw / var(--ui-zoom-vu, 1)),300px);z-index:60;transform:translate(-100%);transition:transform .22s cubic-bezier(.4,0,.2,1),box-shadow .22s;box-shadow:none}.shell.mobile-open .sidebar{transform:translate(0);box-shadow:2px 0 18px #00000059}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:55;opacity:0;pointer-events:none;transition:opacity .2s}.shell.mobile-open .sidebar-backdrop{display:block;opacity:1;pointer-events:auto}.topbar{padding:0 10px;gap:8px}.topbar-date,.topbar .breadcrumb{display:none}.topbar .icon-btn{width:34px;height:34px;font-size:14px}.content{padding:14px 12px}.dash-hd h2{font-size:20px}.modal{width:calc(94vw / var(--ui-zoom-vu, 1));max-width:calc(94vw / var(--ui-zoom-vu, 1))}.att-grid{grid-template-columns:1fr}}.sidebar{background:var(--sidebar-bg);color:var(--text-secondary);display:flex;flex-direction:column;overflow:hidden;height:calc(100vh / var(--ui-zoom-vu, 1));border-right:1px solid var(--border)}.brand{display:flex;align-items:center;gap:10px;padding:0 14px;height:56px;border-bottom:1px solid var(--border);flex-shrink:0}.brand-mark{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;font-weight:800;font-size:16px;display:grid;place-items:center;flex:none}.brand-mark.lg{width:52px;height:52px;font-size:26px;border-radius:12px}.brand-logo{width:34px;height:34px;border-radius:8px;object-fit:contain;background:var(--bg-elevated);padding:3px;flex:none}.brand-name{font-weight:700;font-size:15px;line-height:1.1;letter-spacing:-.3px;white-space:nowrap;color:var(--text-primary)}.brand-sub{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.collapsed .brand-text{display:none}.collapsed .brand{justify-content:center;padding:0}.collapsed .brand-mark,.collapsed .brand-logo{display:none}.collapsed .brand-collapse{margin:0}.collapsed .side-search{display:none}.nav{display:flex;flex-direction:column;gap:2px;flex:1;overflow-y:auto;padding:6px 8px 8px}.nav-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;color:var(--text-secondary);text-decoration:none;font-size:13px;font-weight:500;white-space:nowrap;transition:var(--trans)}.nav-item.active{background:#3b82f61f;color:#60a5fa}[data-theme=light] .nav-item.active{background:#3b82f61a;color:#2563eb}.nav-item.disabled{opacity:.55}.nav-icon{width:20px;text-align:center;font-size:16px;color:var(--text-muted);flex:none}.nav-item.active .nav-icon{color:inherit}.nav-label{flex:1}.nav-badge{font-size:9px;font-weight:700;background:var(--bg-elevated);color:var(--text-muted);padding:2px 6px;border-radius:8px}.collapsed .nav-label,.collapsed .nav-badge{display:none}.collapsed .nav-item{justify-content:center;padding:9px 0}.nav-group{display:flex;flex-direction:column}.nav-parent{background:transparent;border:none;cursor:pointer;font-family:inherit;width:100%}.nav-chev{margin-left:auto;transition:transform .15s;color:var(--text-muted);font-size:15px}.nav-children{display:flex;flex-direction:column;gap:1px;margin:2px 0 4px;padding-left:28px;position:relative}.nav-children:before{content:"";position:absolute;left:18px;top:2px;bottom:2px;width:1px;background:var(--border)}.nav-child{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:6px;color:var(--text-secondary);text-decoration:none;font-size:12.5px;transition:var(--trans)}.nav-child:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-child.active{background:#3b82f61f;color:#60a5fa;font-weight:600}[data-theme=light] .nav-child.active{background:#3b82f61a;color:#2563eb}.nav-child.disabled{opacity:.5}.nav-badge.sm{font-size:8.5px;padding:1px 5px;margin-left:auto}.nav-section{margin-top:6px}.nav-section-title{font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);padding:10px 8px 4px}.nav-noresults{font-size:12.5px;color:var(--text-muted);padding:10px}.nav-child-mod{margin-left:auto;font-size:9.5px;color:var(--text-muted);opacity:.8}.brand-collapse{margin-left:auto;background:none;border:1px solid var(--border);color:var(--text-muted);width:28px;height:28px;border-radius:6px;cursor:pointer;font-size:15px;flex:none;transition:var(--trans)}.brand-collapse:hover{background:var(--bg-hover);color:var(--text-primary)}.collapsed .brand-collapse{margin-left:0}.side-search{position:relative;padding:10px 12px 8px;flex-shrink:0}.side-search-ic{position:absolute;left:22px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:14px}.side-search input{width:100%;background:var(--bg-elevated);border:1px solid var(--border);border-radius:6px;padding:7px 10px 7px 30px;font-size:12px;color:var(--text-secondary);outline:none;transition:var(--trans)}.side-search input::placeholder{color:var(--text-muted)}.side-search input:focus{border-color:var(--blue);color:var(--text-primary)}.side-user{display:flex;align-items:center;gap:8px;padding:12px 14px;border-top:1px solid var(--border)}.collapsed .side-user{justify-content:center;padding:12px 0}.avatar.sm{width:32px;height:32px;font-size:12px;flex:none;background:linear-gradient(135deg,var(--blue),var(--purple))}.side-user-meta{flex:1;min-width:0}.side-user-name{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-user-role{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.icon-btn.xs{width:28px;height:28px;font-size:15px;background:transparent;border-color:transparent;color:var(--text-muted)}.icon-btn.xs:hover{background:var(--bg-hover);color:var(--text-primary)}.breadcrumb{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted)}.crumb{display:inline-flex;align-items:center;gap:6px}.crumb-sep{color:var(--text-muted);opacity:.6}.crumb-current{color:var(--brand-fg);font-weight:600}.topbar-date{font-size:12.5px;color:var(--text-secondary);font-family:DM Mono,monospace;white-space:nowrap}.version-chip{font-family:DM Mono,monospace;font-size:11.5px;font-weight:500;color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--border);border-radius:20px;padding:4px 11px;cursor:pointer;transition:var(--trans)}.version-chip:hover{border-color:var(--accent);color:var(--accent)}.notif,.notif-btn{position:relative}.notif-dot{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--red);color:#fff;font-size:9px;font-weight:700;display:grid;place-items:center}.notif-panel{position:absolute;top:46px;right:0;width:340px;max-height:460px;background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-modal);z-index:200;overflow:hidden;display:flex;flex-direction:column}.notif-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--border);font-size:13px;font-weight:700}.notif-list{overflow-y:auto;flex:1 1 auto;min-height:0;overscroll-behavior:contain}.notif-empty{padding:24px;text-align:center;color:var(--text-muted);font-size:13px}.notif-push{border-top:1px solid var(--border);padding:10px 14px;background:var(--bg-base)}.notif-push-enable{width:100%;padding:9px 12px;border:1px solid var(--brand);background:color-mix(in srgb,var(--brand) 10%,transparent);color:var(--brand-fg, var(--brand));border-radius:8px;font-size:12.5px;font-weight:600;cursor:pointer}.notif-push-enable:hover:not(:disabled){background:color-mix(in srgb,var(--brand) 18%,transparent)}.notif-push-enable:disabled{opacity:.6;cursor:default}.notif-push-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.notif-push-on{font-size:12.5px;font-weight:600;color:var(--green, var(--text))}.notif-push-actions{display:flex;gap:12px}.notif-push-msg{font-size:12px;color:var(--text-muted)}.notif-push-hint{margin-top:6px;font-size:11.5px;color:var(--text-muted)}.notif-push-settings{display:block;margin-top:8px;font-size:12px}.np-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 2px;border-bottom:1px solid var(--border-light);font-size:13px;cursor:pointer}.np-row:last-child{border-bottom:none}.np-row input{width:auto}@media(max-width:620px){.notif-panel{position:fixed;top:calc(var(--topbar-h) + env(safe-area-inset-top,0px) + 6px);left:8px;right:8px;width:auto;max-width:none;max-height:calc(calc(100dvh / var(--ui-zoom-vu, 1)) - var(--topbar-h) - 16px)}}.notif-item{display:block;width:100%;text-align:left;background:transparent;border:none;border-bottom:1px solid var(--border-light);padding:11px 14px;cursor:pointer;transition:var(--trans)}.notif-item:hover{background:var(--bg-hover)}.notif-item.unread{background:#3b82f60f}.notif-item-top{display:flex;justify-content:space-between;gap:8px}.notif-title{font-size:13px;font-weight:600;color:var(--text-primary)}.notif-time{font-size:11px;color:var(--text-muted);flex:none}.notif-body{font-size:12px;color:var(--text-secondary);margin-top:2px}.updates-modal{max-width:720px}.updates-body{display:grid;grid-template-columns:180px 1fr;gap:16px;padding:0}.updates-nav{display:flex;flex-direction:column;gap:2px;border-right:1px solid var(--border);padding:12px 8px}.updates-nav-item{display:flex;justify-content:space-between;align-items:center;gap:8px;background:transparent;border:none;border-radius:7px;padding:9px 11px;font-size:13px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:var(--trans)}.updates-nav-item:hover{background:var(--bg-elevated);color:var(--text-primary)}.updates-nav-item.active{background:var(--accent-bg);color:var(--accent)}.updates-ver{font-family:DM Mono,monospace;font-size:10.5px;color:var(--text-muted)}.updates-content{padding:16px 18px 18px 4px;overflow-y:auto;max-height:520px}.updates-timeline{position:relative;padding-left:18px}.updates-timeline:before{content:"";position:absolute;left:4px;top:6px;bottom:6px;width:2px;background:var(--border)}.rel{position:relative;margin-bottom:18px}.rel-dot{position:absolute;left:-18px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--accent);border:2px solid var(--bg-surface)}.rel-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;padding:12px 14px}.rel-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rel-badge{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;border-radius:20px}.rel-major{background:#6366f129;color:#6366f1}.rel-minor{background:#10b98126;color:var(--green)}.rel-patch{background:#f59e0b26;color:var(--amber)}.rel-hotfix{background:#ef444426;color:var(--red)}.rel-ver{font-family:DM Mono,monospace;font-size:12px;font-weight:700;color:var(--text-primary)}.rel-title{font-size:13px;font-weight:600;color:var(--text-primary)}.rel-date{margin-left:auto;font-size:11px;color:var(--text-muted)}.rel-notes{list-style:none;margin-top:8px;display:flex;flex-direction:column;gap:4px}.rel-notes li{font-size:12.5px;color:var(--text-secondary);padding-left:14px;position:relative}.rel-notes li:before{content:"•";position:absolute;left:2px;color:var(--accent)}@media(max-width:620px){.updates-body{grid-template-columns:1fr}}.feedback-fab{position:fixed;right:20px;bottom:20px;z-index:150;display:flex;align-items:center;gap:7px;background:linear-gradient(135deg,#ef4444,#b91c1c);color:#fff;border:none;border-radius:24px;padding:10px 18px;font-size:13px;font-weight:700;cursor:pointer;box-shadow:0 6px 20px #ef444466;transition:var(--trans)}.feedback-fab:hover{transform:translateY(-2px);box-shadow:0 8px 26px #ef444480}.feedback-fab-beta{font-size:15px;font-style:italic;opacity:.9}.feedback-modal{max-width:720px;padding:0;overflow:hidden}.bf-version-bar{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#ef4444,#b91c1c);color:#fff;padding:16px 20px}.bf-version-title{font-size:16px;font-weight:700}.bf-version-sub{font-size:12px;opacity:.9;margin-top:2px}.modal-x.light{color:#fff;opacity:.85}.bf-tabs{display:flex;gap:4px;padding:8px 16px 0;border-bottom:1px solid var(--border);background:var(--bg-surface)}.bf-tab{background:transparent;border:none;border-bottom:2px solid transparent;padding:9px 14px;font-size:13px;font-weight:600;color:var(--text-muted);cursor:pointer;margin-bottom:-1px}.bf-tab:hover{color:var(--text-primary)}.bf-tab.active{color:var(--red);border-bottom-color:var(--red)}.bf-form{display:flex;flex-direction:column;gap:14px}.bf-type-row{display:flex;gap:10px;flex-wrap:wrap}.bf-type-chip{display:flex;align-items:center;gap:7px;padding:9px 14px;border:1px solid var(--border);border-radius:9px;background:var(--bg-elevated);color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:var(--trans)}.bf-type-chip:hover{border-color:var(--text-muted)}.bf-type-chip.active{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}.bf-type-ic{font-size:16px}.bf-form textarea,.fld textarea{padding:9px 11px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);color:var(--text-primary);font-size:14px;font-family:inherit;resize:vertical;outline:none}.bf-filter{display:flex;align-items:center;gap:8px;margin-bottom:12px}.chip-btn.active-chip{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}.bf-issue-title{font-weight:600;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bf-by{font-size:12px;color:var(--text-muted)}.bf-pri{font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px}.bf-pri-critical{background:#ef444426;color:var(--red)}.bf-pri-high{background:#f59e0b26;color:var(--amber)}.bf-pri-medium{background:#3b82f626;color:var(--blue)}.bf-pri-low{background:var(--bg-elevated);color:var(--text-muted)}.bf-badge,.bf-status-sel{font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px;border:none}.bf-status-sel{cursor:pointer;font-family:inherit}.bf-badge-open{background:#3b82f626;color:var(--blue)}.bf-badge-inprogress{background:#f59e0b26;color:var(--amber)}.bf-badge-resolved{background:#10b98126;color:var(--green)}.bf-badge-wontfix{background:var(--bg-elevated);color:var(--text-muted)}.bf-badge-duplicate{background:#8b5cf626;color:var(--purple)}.bf-badge-closed{background:#10b98138;color:#065f46}.bf-badge-reopened{background:#ef444426;color:#dc2626}.sidebar-foot{flex-shrink:0}.collapse-btn{width:100%;display:flex;align-items:center;gap:12px;padding:9px 11px;border-radius:8px;background:transparent;border:none;color:var(--text-muted);font-size:13px;font-weight:600;cursor:pointer;transition:var(--trans)}.collapse-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.collapsed .collapse-btn{justify-content:center;padding:9px 0}.collapse-btn span.label{flex:1;text-align:left}.collapsed .collapse-btn span.label{display:none}.main{display:flex;flex-direction:column;min-width:0;height:calc(100vh / var(--ui-zoom-vu, 1));overflow:hidden}.topbar{height:var(--topbar-h);background:var(--bg-surface);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:14px;padding:0 22px;flex-shrink:0}.topbar-spacer{flex:1}.icon-btn{width:36px;height:36px;border-radius:8px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-secondary);font-size:15px;cursor:pointer;display:grid;place-items:center;transition:var(--trans)}.icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.user-chip{display:flex;align-items:center;gap:12px}.user-meta{text-align:right}.user-name{font-weight:600;font-size:13px}.user-role{font-size:11px;color:var(--text-muted)}.avatar{width:34px;height:34px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:700}.content{flex:1;min-height:0;padding:26px 30px;overflow:auto}.page-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:calc(55vh / var(--ui-zoom-vu, 1));color:var(--text-muted)}.page-loader-spin{width:34px;height:34px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--accent);animation:pageSpin .7s linear infinite}.page-loader-txt{font-size:12px;letter-spacing:.05em}@keyframes pageSpin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.page-loader-spin{animation-duration:2s}}.dash-hd h2{margin:0 0 2px;font-size:22px;font-weight:700;letter-spacing:-.3px}.muted{color:var(--text-secondary)}.muted.sm{font-size:11.5px;color:var(--text-muted)}.dash-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0}.dash-kpi{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:16px}.dash-kpi-t{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary);font-weight:600}.dash-kc{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;font-size:13px;color:#fff}.kc-n{background:var(--brand)}.kc-b{background:var(--purple)}.kc-r{background:var(--red)}.kc-g{background:var(--green)}.dash-kpi-v{font-size:28px;font-weight:750;margin-top:10px;letter-spacing:-.5px}.dash-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:16px;margin-bottom:18px}.dash-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:16px}.dash-ch{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}.dash-ch.mt{margin-top:20px}.dash-ch h3{font-size:14px;margin:0}.dash-mgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dash-mc{display:flex;align-items:center;gap:11px;padding:11px;border:1px solid var(--border);border-radius:9px;transition:var(--trans)}.dash-mc:not(.on){opacity:.72;border-style:dashed}.dash-mc.on:hover{border-color:var(--brand);background:var(--bg-elevated)}.dash-mci{width:34px;height:34px;border-radius:8px;background:var(--bg-elevated);color:var(--brand-fg);display:grid;place-items:center;font-size:15px}.dash-mt{font-size:12.5px;font-weight:600}.dash-ms{font-size:11px;color:var(--text-muted)}.dash-ms.ok{color:var(--green);font-weight:600}.dash-ann{list-style:none;display:flex;flex-direction:column}.dash-ann li+li{border-top:1px solid var(--border-light)}.dash-ann-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 2px;text-decoration:none;color:inherit}.dash-ann-row:hover{background:var(--bg-elevated);border-radius:8px}.dash-ann-main{min-width:0;display:flex;flex-direction:column;gap:2px}.dash-ann-title{font-size:13px;font-weight:600;color:var(--text-primary);display:flex;align-items:center}.dash-ann-prev{font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60ch}.dash-ann-meta{font-size:11px;color:var(--text-muted);white-space:nowrap;flex:none}@media(max-width:620px){.dash-ann-row{flex-direction:column;gap:3px}.dash-ann-prev{white-space:normal;max-width:none}}.dash-feed{list-style:none;display:flex;flex-direction:column;gap:11px}.dash-feed li{display:flex;gap:10px;font-size:12px;line-height:1.35}.dash-fi{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;font-size:12px;color:#fff;flex:none}.fi-n{background:var(--brand)}.dash-ft{display:block;color:var(--text-muted);font-size:10.5px;margin-top:1px}.dash-notes{list-style:none;display:flex;flex-direction:column;gap:8px}.dash-notes li{font-size:12px;background:var(--bg-elevated);border-radius:7px;padding:9px 11px}.dash-empty{padding:6px 0}.info-panel{background:var(--bg-elevated);border:1px solid var(--border);border-left:3px solid var(--brand);border-radius:8px;padding:14px 16px;font-size:13.5px;color:var(--text-secondary)}.page{max-width:100%}.coming-soon{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:48px;text-align:center;max-width:560px;margin:40px auto}.coming-soon-badge{display:inline-block;background:var(--red);color:#fff;font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;margin-bottom:12px}.coming-soon h2{margin-bottom:8px}.auth-screen{min-height:calc(100vh / var(--ui-zoom-vu, 1));display:grid;place-items:center;position:relative;overflow:hidden;background:var(--bg-base);padding:24px}.auth-screen:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:48px 48px;opacity:.4}.auth-screen:after{content:"";position:absolute;width:620px;height:620px;top:50%;left:50%;transform:translate(-50%,-55%);background:radial-gradient(circle,rgba(59,130,246,.22) 0%,rgba(239,68,68,.08) 55%,transparent 75%);pointer-events:none}.auth-card{position:relative;z-index:1;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);padding:36px 32px 32px;width:100%;max-width:400px}.auth-brand{text-align:center;margin-bottom:26px;padding-bottom:24px;border-bottom:1px solid var(--border)}.auth-brand .brand-mark{margin:0 auto 14px}.auth-brand h1{font-size:20px;margin:0 0 4px;letter-spacing:-.4px}.auth-brand p{margin:0;color:var(--text-muted);font-size:13px}.auth-form{display:flex;flex-direction:column;gap:16px}.login-toggle{display:flex;gap:6px;padding:4px;background:var(--bg-base);border:1px solid var(--border);border-radius:10px}.login-toggle-btn{flex:1;border:0;background:transparent;color:var(--text-secondary);font-weight:600;font-size:13px;padding:8px 10px;border-radius:7px;cursor:pointer}.login-toggle-btn.active{background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow)}.auth-form label{display:flex;flex-direction:column;gap:6px;font-size:12.5px;font-weight:600;color:var(--text-secondary)}.auth-form input{padding:11px 13px;border:1px solid var(--border);border-radius:8px;font-size:15px;background:var(--bg-elevated);color:var(--text-primary);outline:none;transition:var(--trans)}.auth-form input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #3b82f62e}.auth-hint{font-size:13px;color:var(--text-muted);margin:0}.auth-error{background:#ef44441f;color:var(--red-600);border-radius:8px;padding:10px 12px;font-size:13px}.btn-primary{background:var(--brand);color:#fff;border:none;border-radius:8px;padding:12px;font-size:15px;font-weight:600;cursor:pointer;transition:var(--trans)}.btn-primary:hover:not(:disabled){background:var(--brand-600)}.btn-primary:disabled{opacity:.6;cursor:default}.ic-btn{width:auto;min-width:30px;padding:5px 8px;font-size:15px;line-height:1;text-align:center}.ic-btn.danger:hover{border-color:#ef4444}.btn-ghost{background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;padding:7px 14px;font-size:13px;font-weight:600;color:var(--text-primary);cursor:pointer;transition:var(--trans)}.btn-ghost:hover{background:var(--bg-hover)}.btn-danger{background:var(--red);color:#fff;border:none;border-radius:8px;padding:10px 18px;font-size:14px;font-weight:600;cursor:pointer;transition:var(--trans)}.btn-danger:hover:not(:disabled){background:var(--red-600)}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.confirm-modal{max-width:440px}.confirm-msg{font-size:14px;color:var(--text-secondary);line-height:1.5}.confirm-modal .modal-foot .btn-primary{width:auto;padding:10px 18px;font-size:14px}.center-screen{min-height:calc(100vh / var(--ui-zoom-vu, 1));display:grid;place-items:center;color:var(--text-muted);background:var(--bg-base)}@media(max-width:900px){.dash-kpis{grid-template-columns:1fr 1fr}.dash-grid{grid-template-columns:1fr}}.hr-head{display:flex;justify-content:space-between;align-items:flex-start}.hr-add{padding:9px 16px;font-size:13.5px;width:auto}.hr-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.hr-search{flex:1;max-width:360px;padding:9px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);color:var(--text-primary);font-size:13px;outline:none}.hr-search:focus{border-color:var(--brand)}.q-list-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.q-list-actions .ci{margin-right:5px}.q-actions-bar{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}@media(max-width:620px){.q-list-actions{justify-content:flex-start}.q-list-actions .cl{display:none}.q-list-actions .ci{margin-right:0}.q-list-actions .chip-btn{padding:7px 12px;font-size:15px}.q-actions-bar>button{flex:1 1 44%;padding:10px 12px}.dash-ch{flex-wrap:wrap;gap:8px}}.crm-accounts-grid{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}.crm-accounts-grid.split{grid-template-columns:1.4fr 1fr}@media(max-width:900px){.crm-accounts-grid.split{grid-template-columns:1fr}}.crm-stage-row{display:grid;grid-template-columns:120px 1fr 150px;align-items:center;gap:10px}.crm-stage-val{text-align:right}@media(max-width:620px){.crm-stage-row{grid-template-columns:1fr auto;grid-template-areas:"label value" "bar bar";gap:4px 10px}.crm-stage-label{grid-area:label}.crm-stage-val{grid-area:value}.crm-stage-bar{grid-area:bar}}.crm-pipeline-board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,1fr);gap:12px;overflow-x:auto;padding-bottom:8px}@media(max-width:1024px){.crm-pipeline-board{grid-auto-columns:calc(46vw / var(--ui-zoom-vu, 1));scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.crm-pipeline-board>*{scroll-snap-align:start}}@media(max-width:620px){.crm-pipeline-board{grid-auto-columns:calc(86vw / var(--ui-zoom-vu, 1))}}@media(max-width:620px){.crm-enq-table thead,.crm-card-table thead{display:none}.crm-enq-table,.crm-enq-table tbody,.crm-card-table,.crm-card-table tbody{display:block}.crm-enq-table tr,.crm-card-table tr{display:block;border:1px solid var(--border);border-radius:10px;padding:6px 12px;margin-bottom:10px;background:var(--bg-surface)}.crm-enq-table tr:hover td,.crm-card-table tr:hover td{background:transparent}.crm-enq-table td,.crm-card-table td{display:flex;justify-content:space-between;align-items:baseline;gap:8px 12px;border:none;padding:5px 0;text-align:right;flex-wrap:wrap;min-width:0}.crm-enq-table td>*,.crm-card-table td>*{min-width:0;max-width:100%;overflow-wrap:anywhere}.crm-enq-table td select,.crm-enq-table td input,.crm-card-table td select,.crm-card-table td input,.crm-card-table td .prospect-signal-src{max-width:100%}.crm-enq-table td+td,.crm-card-table td+td{border-top:1px solid var(--border-light)}.crm-enq-table td:before,.crm-card-table td:before{content:attr(data-label);font-weight:600;color:var(--text-muted);text-align:left;flex:0 0 auto;font-size:11px;text-transform:uppercase;letter-spacing:.03em}.crm-enq-table td.crm-enq-title,.crm-card-table td.crm-card-title{font-size:14px;font-weight:700;text-align:left}.crm-enq-table td.crm-enq-title:before,.crm-card-table td.crm-card-title:before{display:none}.crm-enq-table td.crm-enq-actions,.crm-card-table td.crm-card-actions{justify-content:flex-end;gap:8px;padding-top:8px;flex-wrap:wrap}.crm-enq-table td.crm-enq-actions:before,.crm-card-table td.crm-card-actions:before{display:none}.crm-enq-table tr:has(td[colspan]),.crm-card-table tr:has(td[colspan]){border:none;background:transparent;padding:2px 0;margin:8px 0 2px}.crm-enq-table td[colspan],.crm-card-table td[colspan]{display:block;text-align:left}.crm-enq-table td[colspan]:before,.crm-card-table td[colspan]:before{display:none}.crm-enq-table .hr-empty,.crm-card-table .hr-empty{text-align:center}.crm-card-table tbody tr:nth-of-type(2n):not(.tk-group-hd):not(:has(td[colspan])),.crm-enq-table tbody tr:nth-of-type(2n):not(.tk-group-hd):not(:has(td[colspan])),.tk-list-table tbody tr:nth-of-type(2n):not(.tk-group-hd):not(:has(td[colspan])){background:var(--bg-base)}}.crm-card-table tbody tr:nth-of-type(2n):not(.row-selected):not(.tk-group-hd),.crm-enq-table tbody tr:nth-of-type(2n):not(.row-selected):not(.tk-group-hd),.tk-list-table tbody tr:nth-of-type(2n):not(.row-selected):not(.tk-group-hd){background:color-mix(in srgb,var(--text-primary) 4%,transparent)}@media(max-width:620px){.hr-toolbar{flex-wrap:wrap}.hr-toolbar .hr-search{flex:1 1 100%;max-width:none;order:-1}.hr-head{flex-direction:column;align-items:stretch;gap:8px}.hr-head .hr-add{width:100%}}.hr-table-wrap{overflow-x:auto}.hr-table{width:100%;border-collapse:collapse;font-size:13px}.hr-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:600;padding:9px 12px;border-bottom:1px solid var(--border);white-space:nowrap}.hr-table td{padding:11px 12px;border-bottom:1px solid var(--border-light);vertical-align:top}.hr-table tr:hover td{background:var(--bg-elevated)}.prospect-signal{max-width:260px}.prospect-signal-row{display:flex;align-items:center;gap:5px;flex-wrap:nowrap;overflow:hidden}.prospect-signal-row .mini-chip{flex:0 0 auto}.prospect-signal-src{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prospect-th{cursor:pointer;-webkit-user-select:none;user-select:none}.prospect-th:hover{color:var(--brand-fg)}.prospect-th .sort-caret{opacity:.9;font-size:10px}.prospect-group td{background:var(--bg-base);font-weight:700;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);padding:7px 12px!important}.prospect-group td .grp-count{font-weight:600;opacity:.7}.hr-mono{font-family:DM Mono,monospace;font-size:12px;color:var(--text-secondary)}.hr-name{font-weight:600}.payroll-run-table{font-size:12px}.payroll-run-table th,.payroll-run-table td{white-space:nowrap;padding-left:10px;padding-right:10px}.payroll-run-table th.num,.payroll-run-table td.num{text-align:right;font-variant-numeric:tabular-nums}.payroll-run-table .pr-actions{white-space:nowrap}.payroll-run-table .col-code,.payroll-run-table .col-name{position:sticky;z-index:2;background:var(--bg-surface)}.payroll-run-table .col-code{left:0;min-width:84px}.payroll-run-table .col-name{left:84px;box-shadow:inset -1px 0 0 var(--border)}.payroll-run-table thead .col-code,.payroll-run-table thead .col-name{z-index:3}.payroll-run-table tr:hover .col-code,.payroll-run-table tr:hover .col-name{background:var(--bg-elevated)}.hr-sub{font-size:11.5px;color:var(--text-muted)}.hr-empty{text-align:center;color:var(--text-muted);padding:28px 0!important}.hr-badge{font-size:11px;font-weight:600;padding:2px 9px;border-radius:20px;white-space:nowrap}.st-active{background:#10b98126;color:#0f9d6e}.st-on_leave{background:#f59e0b26;color:#d18b0a}.st-resigned,.st-terminated{background:#ef444424;color:var(--red-600)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0408108c;display:grid;place-items:center;z-index:100;padding:20px}.modal{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);width:100%;max-width:560px;max-height:calc(90vh / var(--ui-zoom-vu, 1));overflow:auto}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--border)}.modal-head h3{margin:0;font-size:16px}.modal-x{background:transparent;border:none;color:var(--text-muted);font-size:22px;line-height:1;cursor:pointer}.modal-x:hover{color:var(--text-primary)}.modal-body{padding:20px;display:flex;flex-direction:column;gap:14px}.fld{display:flex;flex-direction:column;gap:6px;font-size:12.5px;font-weight:600;color:var(--text-secondary);flex:1}.fld input,.fld select{padding:9px 11px;border:1px solid var(--border);border-radius:8px;background-color:var(--bg-elevated);color:var(--text-primary);font-size:14px;font-weight:400;outline:none}.fld select{padding-right:30px}.fld input:focus,.fld select:focus{border-color:var(--brand)}.fld-row{display:flex;gap:14px}.modal-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.modal-foot .btn-primary{width:auto;padding:10px 18px;font-size:14px}@media(max-width:560px){.fld-row{flex-direction:column}}.emp-form{display:flex;flex-direction:column;gap:16px}.emp-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);flex-wrap:wrap}.emp-tab{background:transparent;border:none;border-bottom:2px solid transparent;padding:9px 14px;font-size:13px;font-weight:600;color:var(--text-muted);cursor:pointer;margin-bottom:-1px}.emp-tab:hover{color:var(--text-primary)}.emp-tab.active{color:var(--brand-fg);border-bottom-color:var(--brand)}.emp-tabbody{display:flex;flex-direction:column;gap:14px;min-height:200px}.emp-subhead{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-top:6px;display:flex;align-items:center;justify-content:space-between}.emp-same{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;text-transform:none;letter-spacing:0;color:var(--text-secondary);cursor:pointer}.emp-checks{display:flex;flex-wrap:wrap;gap:16px;padding:6px 0}.fld-chk{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer}.fld-chk input{width:16px;height:16px;accent-color:var(--brand)}.emp-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--border);padding-top:16px}.emp-foot-nav{display:flex;gap:10px;margin-left:auto}.emp-foot .btn-primary{width:auto;padding:10px 20px;font-size:14px}.hr-link{background:none;border:none;padding:0;cursor:pointer;color:var(--brand-fg);text-decoration:none;font-weight:600;font-size:12.5px;text-align:left}.hr-link:hover{text-decoration:underline}.hr-code-badge{font-family:DM Mono,monospace;font-size:12px;font-weight:500;color:var(--text-muted);background:var(--bg-elevated);padding:2px 8px;border-radius:6px;vertical-align:middle;margin-left:6px}.hr-saved{background:#10b98124;color:#0f9d6e;border-radius:8px;padding:10px 14px;font-size:13px;font-weight:600;margin-bottom:14px}.fld-err{color:var(--red-600);font-size:11.5px;font-weight:500;margin-top:2px}.emp-tab.has-err{color:var(--red-600)}.photo-up{display:flex;gap:16px;align-items:flex-start}.photo-preview{width:96px;height:120px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);display:grid;place-items:center;overflow:hidden;flex:none}.photo-preview img{width:100%;height:100%;object-fit:cover}.photo-ph{font-size:11px;color:var(--text-muted)}.photo-side{display:flex;flex-direction:column;gap:6px}.photo-side .btn-ghost{width:auto;align-self:flex-start}.photo-hint{font-size:11px;color:var(--text-muted)}.photo-warn{font-size:11.5px;color:var(--amber)}.hr-doc-upload{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.hr-doc-upload select{padding:8px 11px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);color:var(--text-primary);font-size:13px}.hr-doc-btn{cursor:pointer;width:auto!important}.hr-doc-list{list-style:none;display:flex;flex-direction:column;gap:6px}.hr-doc-list li{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;background:var(--bg-elevated);border-radius:7px;padding:8px 12px}.hr-doc-list button{background:none;border:none;cursor:pointer}.hr-doc-actions{display:inline-flex;gap:14px}.hr-link.danger{color:var(--red-600)}.bank-modal{max-width:640px}.bank-list{list-style:none;display:flex;flex-direction:column;gap:12px}.bank-card{padding:14px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px}.bank-card-info .bank-row1{display:flex;align-items:center;gap:8px;font-size:14px;flex-wrap:wrap}.bank-card-info .bank-row2{font-size:12px;color:var(--text-secondary);margin-top:4px}.bank-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.chip-btn{background:var(--bg-surface);border:1px solid var(--border);border-radius:7px;padding:6px 12px;font-size:12px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:var(--trans)}.chip-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--text-muted)}.chip-btn.ok{color:#0f9d6e;border-color:#10b98166}.chip-btn.ok:hover{background:#10b9811a}.chip-btn.danger{color:var(--red-600);border-color:#ef444459;margin-left:auto}.chip-btn.danger:hover{background:#ef444414}.pr-row-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:nowrap}.pr-row-actions .chip-btn{white-space:nowrap}.pr-row-actions .chip-btn.danger{margin-left:0}.pr-doc-list{display:flex;flex-direction:column;gap:6px;margin-top:10px}.pr-doc-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-base);flex-wrap:wrap}.pr-doc-kind{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);flex:0 0 auto;min-width:92px}.pr-doc-name{flex:1 1 200px;min-width:0;text-align:left;background:none;border:0;padding:0;cursor:pointer;color:var(--accent);font-weight:600;font-size:13px;overflow-wrap:anywhere}.pr-doc-name:hover{text-decoration:underline}.pr-doc-name:disabled{opacity:.6;cursor:default}.pr-doc-size{font-size:12px;color:var(--text-muted);flex:0 0 auto}.pr-doc-remove{flex:0 0 auto;margin-left:0}.doc-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4000;background:#0009;display:flex;align-items:center;justify-content:center;padding:calc(2vh / var(--ui-zoom-vu, 1)) calc(2vw / var(--ui-zoom-vu, 1))}.doc-preview{width:calc(96vw / var(--ui-zoom-vu, 1));height:calc(96vh / var(--ui-zoom-vu, 1));max-width:1200px;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;overflow:hidden}.doc-preview-head{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border)}.doc-preview-name{font-weight:700;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.doc-preview-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.doc-preview-actions .chip-btn{text-decoration:none}.doc-preview-body{flex:1;min-height:0;width:100%;border:0;background:#fff;object-fit:contain}.bank-add-btn{width:auto;margin-top:14px;padding:10px 18px;font-size:14px}.bank-form{margin-top:14px;border-top:1px solid var(--border);padding-top:16px;display:flex;flex-direction:column;gap:14px}.bank-form .modal-foot{margin-top:4px}.bank-form .modal-foot .btn-primary{width:auto;padding:10px 18px;font-size:14px}.salary-modal{max-width:720px}.sal-new{border-bottom:1px solid var(--border);padding-bottom:16px;margin-bottom:16px}.sal-breakdown-wrap{margin-bottom:16px}.sal-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:8px}.sal-col{background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;padding:12px}.sal-col-h{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:8px}.sal-row{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;padding:4px 0;color:var(--text-secondary)}.sal-row.strong{font-weight:700;color:var(--text-primary);border-top:1px solid var(--border);margin-top:4px;padding-top:7px}.sal-row.accent .hr-mono{color:var(--green)}.sal-history{list-style:none;display:flex;flex-direction:column;gap:8px}.sal-history li{display:flex;justify-content:space-between;align-items:center;background:var(--bg-elevated);border:1px solid var(--border);border-radius:9px;padding:10px 13px;font-size:13px}.sim-opts{display:flex;flex-direction:column;gap:8px;margin:14px 0 4px}.kyc-panel{background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;padding:14px;margin-bottom:16px}.kyc-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.kyc-badge{font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;border:1px solid var(--border);white-space:nowrap}.kyc-verified{color:var(--brand);border-color:var(--brand);background:color-mix(in srgb,var(--brand) 10%,transparent)}.kyc-pending{color:#f59e0b;border-color:#f59e0b;background:color-mix(in srgb,#F59E0B 10%,transparent)}.kyc-failed{color:var(--red);border-color:var(--red);background:color-mix(in srgb,var(--red) 10%,transparent)}.kyc-not_started{color:var(--text-muted)}.kyc-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.sal-reqdocs{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:6px 16px;margin-bottom:12px}.att-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;align-items:start}@media(max-width:800px){.att-grid{grid-template-columns:1fr}}.att-toolbar{margin-bottom:14px}.face-cam{position:relative;width:100%;max-width:440px;margin:0 auto;aspect-ratio:4 / 3;max-height:calc(56vh / var(--ui-zoom-vu, 1));background:#000;border-radius:12px;overflow:hidden;border:1px solid var(--border)}.face-cam.kiosk{max-width:640px;aspect-ratio:16 / 10}.face-cam video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.face-cam-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#fff;background:#0000008c;font-size:13px;text-align:center;padding:12px}.face-cam-overlay.err{color:#fca5a5;flex-direction:column}.face-cam-overlay.idle{flex-direction:column;background:#000000b8}.workmode-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.leave-balances{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:16px}.leave-bal-card{background:var(--bg-elevated);border:1px solid var(--border);border-top:3px solid var(--brand);border-radius:10px;padding:12px 14px}.leave-bal-code{font-size:12px;font-weight:700;color:var(--text-muted)}.leave-bal-num{font-size:30px;font-weight:700;line-height:1.1}.leave-req-list,.leave-approve-list{list-style:none;padding:0;margin:8px 0 0}.leave-req-list li{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--border);font-size:13px}.leave-req-actions{display:flex;align-items:center;gap:10px;white-space:nowrap}.leave-approve-list li{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border);flex-wrap:wrap}.leave-approve-info{font-size:13px}.leave-approve-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lop-row{background:color-mix(in srgb,var(--red) 6%,transparent)}.leave-bal-strip{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px}.leave-bal-label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.leave-bal-pill{display:inline-flex;align-items:baseline;gap:3px;font-size:12px;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--text-primary) 6%,transparent);border:1px solid var(--border);white-space:nowrap}.leave-bal-pill b{font-weight:700}.leave-bal-pill.req{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.leave-bal-used{color:var(--text-muted);font-size:11px}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}.kpi-tile{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px;text-decoration:none;color:inherit}.kpi-tile.link:hover{border-color:var(--brand)}.kpi-val{font-size:30px;font-weight:700;line-height:1.1}.kpi-val.ok{color:var(--brand-fg)}.kpi-val.warn{color:#f59e0b}.kpi-val.bad{color:var(--red)}.kpi-val.muted{color:var(--text-muted)}.kpi-label{font-size:13px;color:var(--text-secondary);margin-top:2px}.kpi-sub{font-size:11px;color:var(--text-muted)}.dash-2col{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;margin-bottom:16px}.dash-3col{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:16px}@media(max-width:800px){.dash-2col{grid-template-columns:1fr}}.bar-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.bar-row{display:grid;grid-template-columns:130px 1fr 32px;align-items:center;gap:10px;font-size:13px}.bar-label{color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-track{height:10px;background:var(--bg-elevated);border-radius:6px;overflow:hidden}.bar-fill{display:block;height:100%;background:var(--brand);border-radius:6px}.bar-val{text-align:right;font-variant-numeric:tabular-nums}.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.mini-chip{font-size:11px;padding:1px 9px;border:1px solid var(--border);border-radius:999px;color:var(--text-secondary);display:inline-flex;align-items:center;line-height:1.7;vertical-align:middle}.name-chips{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.today-stats{display:flex;gap:20px}.today-num{font-size:28px;font-weight:700}.today-num.ok{color:var(--brand-fg)}.today-num.warn{color:#f59e0b}.today-num.bad{color:var(--red)}.mini-list{list-style:none;padding:0;margin:6px 0 0}.mini-list li{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--border);font-size:13px}.action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:6px}.action-card{display:flex;flex-direction:column;gap:2px;padding:14px;border:1px solid var(--border);border-radius:10px;text-decoration:none;color:inherit}.action-card.has{border-color:var(--red);background:color-mix(in srgb,var(--red) 6%,transparent)}.action-card:hover{border-color:var(--brand)}.action-count{font-size:26px;font-weight:700}.action-label{font-size:13px;color:var(--text-secondary)}.action-go{font-size:12px;color:var(--brand-fg);font-weight:600;margin-top:4px}.event-card .mini-list li:last-child{border-bottom:none}.run-totals{display:flex;gap:24px;flex-wrap:wrap;margin:6px 0 14px}.run-totals>div{display:flex;flex-direction:column}.run-totals b{font-size:18px}.slip-head{border-bottom:1px solid var(--border);padding-bottom:10px;margin-bottom:12px}.slip-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media(max-width:640px){.slip-cols{grid-template-columns:1fr}}.slip-line{display:flex;justify-content:space-between;padding:5px 0;font-size:13px;border-bottom:1px dashed var(--border)}.slip-line.strong{font-weight:700;border-bottom:1px solid var(--border)}.slip-net{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding:12px 14px;border-radius:10px;background:color-mix(in srgb,var(--brand) 12%,transparent);font-size:18px;font-weight:700;color:var(--brand-fg)}.ess-profile{display:flex;align-items:center;gap:16px;margin-bottom:16px}.ess-photo{width:56px;height:56px;border-radius:50%;object-fit:cover;flex-shrink:0}.ess-photo-ph{display:grid;place-items:center;background:var(--brand);color:#fff;font-size:24px;font-weight:700}.ess-profile-main{flex:1;min-width:0}.ess-name{font-size:17px;font-weight:700}.ess-profile-meta{flex-shrink:0}.ess-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:16px}.ess-action{display:flex;flex-direction:column;gap:3px;padding:18px;border:1px solid var(--border);border-radius:12px;background:var(--bg-surface);text-decoration:none;color:inherit;transition:border-color .15s}.ess-action:hover{border-color:var(--brand)}.ess-action-ic{font-size:24px}.ess-action-title{font-size:16px;font-weight:700}.sig-preview{display:flex;align-items:center;justify-content:center;height:90px;border:1px dashed var(--border);border-radius:10px;background:var(--bg-elevated);margin:10px 0 14px;max-width:360px}.sig-preview img{max-height:74px;max-width:320px;object-fit:contain}.ff-inp{width:110px;text-align:right;padding:4px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg-elevated);color:var(--text-primary);font-family:inherit;font-size:13px}.slip-modal{max-width:720px;width:calc(96vw / var(--ui-zoom-vu, 1))}.slip-sheet{background:var(--bg-surface);color:var(--text-primary)}.slip-company{display:flex;align-items:center;gap:14px;padding-bottom:12px;border-bottom:2px solid var(--border)}.slip-logo{width:48px;height:48px;object-fit:contain;border-radius:8px}.slip-logo-fallback{width:48px;height:48px;border-radius:8px;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:22px}.slip-org{font-size:18px;font-weight:700}.slip-doc-title{color:var(--text-secondary);font-size:13px}.slip-status{margin-left:auto;font-size:11px;font-weight:700;letter-spacing:.5px;color:var(--text-secondary);border:1px solid var(--border);border-radius:6px;padding:3px 8px}.slip-info{display:grid;grid-template-columns:repeat(2,1fr);gap:6px 24px;margin:14px 0}.slip-info>div{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:4px 0;border-bottom:1px dashed var(--border-light)}.slip-info span{color:var(--text-secondary)}.slip-words{font-size:11.5px;color:var(--text-secondary);font-weight:400;margin-top:2px}.slip-sign{margin-top:26px;margin-left:auto;width:220px;text-align:center}.slip-sign-img{max-height:60px;max-width:200px;object-fit:contain;display:block;margin:0 auto 4px}.slip-sign-line{border-top:1px solid var(--text-secondary);margin-top:34px}.slip-sign-img+.slip-sign-line{margin-top:4px}.slip-sign-label{font-size:12px;font-weight:600;margin-top:6px}.slip-sign-org{margin-top:1px}.slip-foot{margin-top:16px;text-align:center;font-size:11px;color:var(--text-muted)}@media(max-width:560px){.slip-info{grid-template-columns:1fr}}@media print{@page{margin:0}body *{visibility:hidden!important}.slip-sheet,.slip-sheet *{visibility:visible!important}.modal-overlay{position:static!important;background:none!important}.modal.slip-modal{position:static!important;box-shadow:none!important;max-width:100%!important;width:100%!important}.slip-sheet{position:absolute;left:0;top:0;width:100%;box-sizing:border-box;padding:14mm 16mm}.no-print{display:none!important}}.bt-cols{display:flex;flex-direction:column;gap:8px}.bt-col{display:flex;align-items:center;gap:8px}.bt-idx{width:20px;text-align:right;color:var(--text-muted);font-size:12px;flex-shrink:0}.bt-head{flex:1 1 140px;min-width:100px}.bt-src{flex:1 1 200px;min-width:140px}.bt-static{flex:1 1 140px;min-width:100px}.bt-ops{display:flex;gap:2px;flex-shrink:0}.bt-ops .btn-ghost.sm{padding:3px 7px}.cmp-run{display:flex;align-items:center}.cmp-total{font-size:14px;margin:4px 0 12px}.cmp-total b{font-size:18px}.cmp-table td.num,.cmp-table th.num{text-align:right}.cmp-head{font-weight:700}.cmp-overdue{color:#dc2626;font-weight:600}.cmp-note{margin-top:12px}.btn-ghost.sm{padding:3px 10px;font-size:12px}.lib-upload h3{margin-top:0}.lib-upload-foot{align-items:flex-end}.lib-pub{display:inline-flex;align-items:center;gap:8px;font-size:13px;white-space:nowrap;padding-bottom:8px}.lib-group{margin-bottom:22px}.lib-group:last-child{margin-bottom:0}.lib-cat{font-size:14px;margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid var(--border)}.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:14px}.doc-tile{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--bg, #fff);display:flex;flex-direction:column;transition:border-color .15s,box-shadow .15s}.doc-tile:hover{border-color:var(--brand, #4f46e5);box-shadow:0 2px 10px #0000000f}.doc-thumb{position:relative;border:none;width:100%;aspect-ratio:4 / 3;background:var(--bg-subtle, #f4f5f7);display:grid;place-items:center;cursor:pointer;overflow:hidden;padding:0}.doc-thumb img{width:100%;height:100%;object-fit:cover}.doc-thumb-icon{font-size:44px}.doc-thumb-type{position:absolute;top:6px;left:6px;font-size:9.5px;font-weight:700;letter-spacing:.04em;background:#0f172aa6;color:#fff;border-radius:4px;padding:1px 6px}.doc-thumb-eye{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#0f172a73;color:#fff;font-size:13px;font-weight:600;opacity:0;transition:opacity .15s}.doc-thumb:hover .doc-thumb-eye{opacity:1}.doc-tile-body{padding:8px 10px 10px;display:flex;flex-direction:column;gap:2px}.doc-tile-title{font-weight:600;font-size:13.5px;cursor:pointer;line-height:1.3}.doc-tile-title:hover{color:var(--brand, #4f46e5)}.doc-tile-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.doc-tile-actions{display:flex;gap:10px;margin-top:4px}.lib-list{display:flex;flex-direction:column;gap:8px}.lib-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:10px}.lib-main{flex:1;min-width:0}.lib-title{font-weight:600;font-size:14px}.lib-meta{margin-top:2px}.lib-actions{display:flex;gap:6px;flex-shrink:0}.lib-del{color:#dc2626}.doc-view-modal{width:min(920px,calc(96vw / var(--ui-zoom-vu, 1)));max-width:calc(96vw / var(--ui-zoom-vu, 1))}.doc-view-body{height:calc(74vh / var(--ui-zoom-vu, 1));background:#525659;border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center}.doc-view-frame{width:100%;height:100%;border:0}.doc-view-img{max-width:100%;max-height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.doc-view-foot{margin-top:10px;text-align:center}@media print{body.doc-view-open *{display:none!important}}.rep-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.rep-month{display:flex;align-items:center;gap:8px}.rep-month-lbl{font-weight:700;min-width:140px;text-align:center;font-size:15px}.rep-month .btn-ghost{padding:4px 12px;font-size:18px;line-height:1}.rep-dept{width:200px}.rep-q{width:260px;max-width:100%}.rep-toolbar .field-inp,.rep-toolbar .btn-ghost{height:36px;box-sizing:border-box;margin:0}.rep-csv{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.rep-csv-ic{flex-shrink:0}.rep-spacer{flex:1}.rep-legend{display:flex;flex-wrap:wrap;gap:14px;margin:12px 0;font-size:12px;color:var(--muted);align-items:center}.rep-leg-item{display:inline-flex;align-items:center;gap:6px}.rep-summary{display:flex;flex-wrap:wrap;gap:18px;padding:10px 12px;background:var(--panel-2, rgba(127,127,127,.06));border-radius:8px;margin-bottom:12px;font-size:13px}.rep-summary b{font-size:15px}.rep-summary .present b{color:#16a34a}.rep-summary .absent b{color:#dc2626}.rep-summary .leave b{color:#d97706}.rep-cell{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:5px;font-size:12px;font-weight:700;color:#fff}.rep-cell.present{background:#16a34a}.rep-cell.present.manual{background:#0d9488;box-shadow:inset 0 0 0 1.5px #ffffff73}.rep-cell.present.bio{background:#2563eb;box-shadow:inset 0 0 0 1.5px #ffffff8c}.rep-cell.present.wfh{background:#6366f1}.modal.modal-lg{max-width:860px;width:calc(96vw / var(--ui-zoom-vu, 1))}.imp-period{margin:4px 0 10px;font-size:15px}.imp-summary{margin-bottom:10px}.imp-warn{background:#d977061a;border-radius:6px;padding:8px 10px;margin:0 0 10px}.imp-table{max-height:320px;overflow:auto;margin-bottom:12px}.imp-row-skip{opacity:.6}.imp-check{display:flex;align-items:flex-start;gap:8px;font-size:13px;margin:4px 0 8px;cursor:pointer}.imp-check input{margin-top:2px}.imp-done-hd{font-size:16px;font-weight:600;color:#16a34a;margin-bottom:10px}.imp-notes{margin:6px 0 4px;padding-left:18px;font-size:13px;color:var(--muted)}.imp-notes li{margin:2px 0}.wfh-presets{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 12px}.wfh-grid{display:grid;grid-template-columns:180px 180px 1fr;gap:12px;align-items:end}@media(max-width:640px){.wfh-grid{grid-template-columns:1fr 1fr}.wfh-grid .wfh-reason{grid-column:1 / -1}}.wfh-grid .fld{margin:0}.wfh-grid .fld input{width:100%}.wfh-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}.ess-profile-link{text-decoration:none;color:inherit;cursor:pointer;transition:border-color .15s,box-shadow .15s}.ess-profile-link:hover{border-color:var(--brand, #4f46e5);box-shadow:0 2px 12px #00000012}.ess-profile-cta{display:block;margin-top:6px;color:var(--brand, #4f46e5)}.pf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px 18px}.pf-k{font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.pf-v{font-size:14px;word-break:break-word}.pf-sec{border-top:1px solid var(--border);padding-top:14px;margin-top:14px}.pf-sec-hd{display:flex;align-items:center;gap:10px;margin-bottom:4px}.pf-2fa-step{margin-top:10px;display:flex;flex-direction:column;gap:8px}.pf-codes{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.pf-codes code{background:var(--bg-subtle, #f4f5f7);border:1px solid var(--border);border-radius:6px;padding:2px 8px;font-family:monospace;font-size:12.5px}.rep-cell{position:relative}.rep-cell.has-short:after{content:"";position:absolute;top:1px;right:1px;width:6px;height:6px;border-radius:50%;background:#f59e0b;box-shadow:0 0 0 1px #fff}.rep-cell.short-hrs:before{content:"";position:absolute;bottom:0;right:0;border-width:0 0 8px 8px;border-style:solid;border-color:transparent transparent #b91c1c transparent;box-shadow:-1px 0 #fff}.rep-summary .short b{color:#b91c1c}.rep-tot.short{color:#b91c1c;font-weight:600}.pe-scope.seg{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.pe-scope.seg button{border:none;background:transparent;padding:6px 14px;cursor:pointer;font-size:13px;color:var(--muted)}.pe-scope.seg button.active{background:var(--brand, #4f46e5);color:#fff}.pe-winner{display:flex;align-items:center;gap:16px;padding:16px 18px;border-radius:12px;background:linear-gradient(120deg,#facc1529,#4f46e51a);border:1px solid rgba(250,204,21,.4)}.pe-medal{font-size:30px}.pe-photo{width:60px;height:60px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 3px #facc15}.pe-photo-ph{display:flex;align-items:center;justify-content:center;background:var(--brand, #4f46e5);color:#fff;font-size:24px;font-weight:700}.pe-winner-main{flex:1;min-width:0}.pe-winner-kicker{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#b45309;font-weight:700}.pe-winner-name{font-size:20px;font-weight:700;margin:2px 0}.pe-winner-stats{display:flex;gap:18px}.pe-stat{text-align:center}.pe-stat b{display:block;font-size:19px}.pe-stat span{font-size:11px;color:var(--muted)}.pe-rank-1{background:#facc151a}.pe-rank-2{background:#94a3b81f}.pe-rank-3{background:#b4783c1a}@media(max-width:640px){.pe-winner{flex-wrap:wrap}.pe-winner-stats{width:100%;justify-content:space-between}}.pe-star{display:flex;align-items:center;gap:14px;background:linear-gradient(120deg,#facc1529,#4f46e514);border:1px solid rgba(250,204,21,.4)}.pe-star-self{border-color:#16a34a;background:linear-gradient(120deg,#16a34a24,#facc1524)}.pe-star-medal{font-size:24px}.pe-star-photo{width:48px;height:48px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2.5px #facc15}.pe-star-kicker{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:#b45309;font-weight:700}.pe-star-name{font-size:16px;font-weight:700;margin:1px 0}.rep-cell.missing-punch{box-shadow:inset 0 0 0 2px #f59e0b}.rep-bang{position:absolute;top:-5px;right:-4px;min-width:11px;height:11px;padding:0 1px;display:inline-flex;align-items:center;justify-content:center;background:#f59e0b;color:#fff;font-size:9px;font-weight:800;line-height:1;border-radius:50%;box-shadow:0 0 0 1.5px #fff}.rep-cell.absent{background:#dc2626}.rep-cell.leave{background:#d97706}.rep-cell.half{background:linear-gradient(135deg,#d97706 50%,#cbd5e1 50%)}.rep-cell.weekoff{background:#94a3b8}.rep-cell.holiday{background:#2563eb}.rep-cell.upcoming{background:transparent;color:var(--border);border:1px dashed var(--border)}.rep-grid-wrap{overflow-x:auto}.rep-grid{border-collapse:separate;border-spacing:0}.rep-grid th,.rep-grid td{padding:4px 3px;text-align:center}.rep-day{min-width:26px}.rep-day.weekend{background:#94a3b81f}.rep-dow{display:block;font-size:9px;color:var(--muted);text-transform:uppercase}.rep-dnum{display:block;font-size:11px;font-weight:600}.rep-daycell{padding:3px 2px}.rep-sticky{position:sticky;left:0;z-index:2;background:var(--bg-surface)}.rep-emp-col{text-align:left!important;min-width:190px;box-shadow:1px 0 0 var(--border)}.rep-emp-name{font-weight:600;font-size:13px;color:var(--text-primary)}.rep-tot{font-weight:700;min-width:30px;background:#94a3b814}.rep-tot.present{color:#16a34a}.rep-tot.absent{color:#dc2626}.rep-tot.leave{color:#d97706}.rep-holidays{margin-top:12px}.perm-selectors{display:flex;flex-wrap:wrap;gap:16px;margin-top:4px}.perm-selectors .fld{max-width:320px;flex:1 1 240px}.perm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-top:12px}.perm-group{border:1px solid var(--border);border-radius:10px;padding:12px}.perm-group-hd{display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:13px;margin-bottom:8px}.perm-item{display:flex;align-items:flex-start;gap:8px;padding:4px 0;font-size:13px;cursor:pointer}.perm-item input{margin-top:2px}.wl-list{list-style:none;padding:0;margin:12px 0 0}.wl-row{padding:10px 0;border-bottom:1px solid var(--border)}.wl-name{display:flex;align-items:center;gap:8px;margin-bottom:6px}.wl-fields{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.wl-inp{width:120px;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg-base);color:var(--text-primary);font-size:13px}.wl-inp.sm{width:64px}.wl-name-inp{width:220px;font-weight:600}.wl-name .chip-btn.danger{margin-left:auto}.wl-radius{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--text-muted)}.att-big-btn{width:100%;margin-top:12px;padding:14px;font-size:16px}.att-confirm-who{text-align:center;padding:6px 0 10px}.att-confirm-name{font-size:22px;font-weight:700;margin-top:2px}.att-confirm-meta{display:flex;justify-content:center;gap:26px;padding:10px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.att-confirm-meta>div{display:flex;flex-direction:column;align-items:center;gap:2px}.att-confirm-warn{background:#ef444418;border:1px solid #ef444455;color:#ef4444;border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.5;margin-top:12px}.att-confirm-danger{background:#ef4444!important}.att-undo-row{margin-top:10px;text-align:center}.btn-ghost.sm{padding:6px 12px;font-size:13px;width:auto}.kiosk-confirm{text-align:center;padding:14px 8px;border-top:1px solid var(--border);margin-top:4px}.kiosk-confirm-name{font-size:26px;font-weight:700;margin-top:2px}.kiosk-confirm-action{font-size:18px;font-weight:700;margin:12px 0}.kiosk-confirm-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.att-confirm-danger:hover:not(:disabled){background:#dc2626!important}.att-big-btn.out{background:#f59e0b}.att-big-btn.done{background:var(--bg-elevated);color:var(--text-muted)}.att-banner{margin-top:10px;padding:10px 12px;border-radius:8px;font-weight:600;font-size:14px}.att-banner.ok{color:var(--brand-fg);background:color-mix(in srgb,var(--brand) 12%,transparent)}.att-banner.err{color:var(--red);background:color-mix(in srgb,var(--red) 12%,transparent)}.att-today{display:flex;gap:24px}.att-today>div{display:flex;flex-direction:column}.att-today b{font-size:20px}.att-list{list-style:none;padding:0;margin:8px 0 0}.att-list li{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--border);font-size:13px}.face-enroll{margin-top:8px}.face-samples{display:flex;align-items:center;gap:8px;margin:10px 0}.face-dot{width:12px;height:12px;border-radius:50%;border:2px solid var(--border)}.face-dot.on{background:var(--brand);border-color:var(--brand)}.face-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}.staged-doc{display:block!important}.staged-doc-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.doc-verify{font-size:12px;margin-top:4px;padding:5px 8px;border-radius:6px}.doc-verify.checking{color:var(--text-muted)}.doc-verify.match{color:var(--brand-fg)}.doc-verify.mismatch{color:var(--red);background:color-mix(in srgb,var(--red) 10%,transparent);font-weight:600}.doc-verify.unverified{color:#f59e0b}.doc-badge{margin-left:8px;font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px}.doc-badge.mismatch{color:var(--red);border:1px solid var(--red)}.doc-badge.match{color:var(--brand-fg)}.ifsc-hint{font-size:12.5px;margin:-4px 0 8px;color:var(--text-muted)}.ifsc-hint.ok{color:var(--brand-fg);font-weight:600}.ifsc-hint.notfound{color:var(--red)}.ifsc-hint.error{color:#f59e0b}.sal-statutory{background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;padding:14px;margin-bottom:16px}.epf-optout{margin-top:4px}.epf-state{margin-bottom:10px}.epf-state .st-on{color:var(--brand)}.epf-state .st-off{color:var(--red)}.otp-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px}.otp-box{border:1px solid var(--border);border-radius:8px;padding:12px;background:var(--bg-surface);margin-top:8px}.otp-input{width:130px;font-size:20px;letter-spacing:8px;text-align:center;font-variant-numeric:tabular-nums;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-base);color:var(--text-primary)}.btn-secondary{background:transparent;color:var(--brand);border:1px solid var(--brand);border-radius:8px;padding:8px 14px;font-weight:600;cursor:pointer}.btn-secondary:hover:not(:disabled){background:color-mix(in srgb,var(--brand) 12%,transparent)}.btn-secondary:disabled{opacity:.55;cursor:default}.otp-chan{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:6px 0 10px}.chan-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--border);border-radius:999px;cursor:pointer;font-size:13px}.chan-pill.on{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 10%,transparent)}.chan-pill.off{opacity:.5;cursor:not-allowed}.chan-pill input{accent-color:var(--brand)}.sal-settings{margin-top:16px}.sal-hra-basis{max-width:280px;margin-bottom:14px}.sal-sum{display:inline-block;font-size:12px;font-weight:600;margin-top:8px;padding:5px 10px;border-radius:7px}.sal-sum.ok{color:var(--green);background:#10b9811f}.sal-sum.bad{color:var(--red-600);background:#ef44441a}.sal-warn{font-size:12.5px;color:var(--amber);background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:8px;padding:9px 12px;margin-top:4px;line-height:1.45}.sal-input-suffix{display:flex;align-items:center;gap:6px}.sal-input-suffix input{padding:9px 11px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);color:var(--text-primary);font-size:14px;width:100%}.sal-input-suffix span{color:var(--text-muted);font-size:13px}@media(max-width:640px){.sal-breakdown{grid-template-columns:1fr}}.settings-shell{display:grid;grid-template-columns:210px 1fr;gap:18px;align-items:start}.settings-nav{display:flex;flex-direction:column;gap:2px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:8px;position:sticky;top:20px}.settings-nav-item{display:flex;align-items:center;gap:10px;text-align:left;background:transparent;border:none;border-radius:8px;padding:9px 11px;font-size:13.5px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:var(--trans)}.settings-nav-item:hover{background:var(--bg-elevated);color:var(--text-primary)}.settings-nav-item.active{background:var(--brand);color:#fff}.settings-nav-ic{width:18px;text-align:center}.settings-content{min-width:0}.lookup-card .lookup-search{width:100%;margin-bottom:12px}.lookup-scroll{max-height:360px;overflow:auto;border:1px solid var(--border);border-radius:10px}.lookup-table{margin:0}.lookup-table th{position:sticky;top:0;background:var(--bg-elevated);z-index:1}.lookup-table td{vertical-align:middle}.row-inactive td:not(.lookup-actions){opacity:.5}.lookup-edit-input{width:100%;padding:6px 9px;border:1px solid var(--brand);border-radius:6px;background:var(--bg-elevated);color:var(--text-primary);font-size:13px}.lookup-actions{display:flex;gap:8px;justify-content:flex-end;white-space:nowrap}.lookup-actions .chip-btn{min-width:72px;text-align:center}.lookup-table th:last-child,.lookup-table td:last-child{text-align:right;width:1%}.lookup-add{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.lookup-add input{flex:1;min-width:100px;padding:9px 11px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);color:var(--text-primary);font-size:14px}.lookup-add .btn-primary{width:auto;padding:9px 16px;font-size:13px}.hr-badge.st-inactive{background:#64748b2e;color:var(--text-muted)}@media(max-width:720px){.settings-shell{grid-template-columns:1fr}.settings-nav{flex-direction:row;flex-wrap:wrap;position:static}}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.settings-card{display:flex;flex-direction:column}.settings-list{list-style:none;display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.settings-list li{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:8px 11px;background:var(--bg-elevated);border-radius:7px}.settings-list li.inactive{opacity:.5}.settings-add{display:flex;gap:8px;flex-wrap:wrap}.settings-add input{flex:1;min-width:90px;padding:8px 11px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);color:var(--text-primary);font-size:13px}.settings-add .btn-primary{width:auto;padding:8px 16px;font-size:13px}.brand-edit{display:flex;gap:14px;align-items:center}.brand-logo-preview{width:64px;height:64px;border-radius:12px;border:1px solid var(--border);background:var(--bg-elevated);display:grid;place-items:center;overflow:hidden;flex:none}.brand-logo-preview img{width:100%;height:100%;object-fit:contain}.brand-logo-preview span{font-size:11px;color:var(--text-muted)}.brand-edit-side{display:flex;flex-direction:column;gap:6px}.brand-edit-side .btn-ghost{width:auto;align-self:flex-start}.org-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.org-modes{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.org-mode{background:var(--bg-surface);border:none;padding:8px 14px;font-size:12.5px;font-weight:600;color:var(--text-secondary);cursor:pointer;border-right:1px solid var(--border)}.org-mode:last-child{border-right:none}.org-mode:hover{background:var(--bg-elevated)}.org-mode.active{background:var(--brand);color:#fff}.org-filter{padding:8px 11px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);color:var(--text-primary);font-size:13px}.org-toggle{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--text-secondary);cursor:pointer}.org-toggle input{width:15px;height:15px;accent-color:var(--brand)}.org-email{font-size:10px;color:var(--brand-fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.org-canvas{height:calc(calc(100vh / var(--ui-zoom-vu, 1)) - 220px);min-height:440px;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-base);position:relative}.org-scroll{width:100%;height:100%;overflow:auto;padding:20px}.org-stage{position:relative;transform-origin:top left}.org-links{position:absolute;top:0;left:0;pointer-events:none;overflow:visible}.org-link{stroke:var(--text-muted);stroke-width:1.5;opacity:.6}.org-zoom{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--border);border-radius:8px;padding:2px}.org-zoom button{background:var(--bg-surface);border:none;border-radius:6px;padding:4px 9px;font-size:13px;cursor:pointer;color:var(--text-secondary)}.org-zoom button:hover{background:var(--bg-elevated)}.org-zoom span{font-size:12px;color:var(--text-muted);min-width:38px;text-align:center}.org-node{position:absolute;box-sizing:border-box;display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-surface);border:1px solid var(--border);border-left:3px solid var(--brand);border-radius:10px;box-shadow:var(--shadow);cursor:pointer;transition:box-shadow .12s,border-color .12s}.org-node.org-center{border:2px solid var(--brand);border-left:4px solid var(--brand)}.org-node:hover{border-color:var(--brand);box-shadow:0 4px 14px #3b82f640}.org-avatar{width:40px;height:40px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:13px;font-weight:700;overflow:hidden;flex:none}.org-avatar img{width:100%;height:100%;object-fit:cover}.org-info{min-width:0}.org-name{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.org-desig{font-size:11.5px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.org-dept{font-size:10.5px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ogn-tree{display:inline-flex;flex-direction:column;align-items:center;padding:8px 20px}.ogn-node{display:flex;flex-direction:column;align-items:center}.ogn-card{box-sizing:border-box;display:flex;align-items:center;gap:10px;width:232px;padding:9px 12px;background:var(--bg-surface);border:1px solid var(--border);border-left:3px solid var(--brand);border-radius:10px;box-shadow:var(--shadow);cursor:pointer;transition:box-shadow .12s,border-color .12s}.ogn-card:hover{border-color:var(--border-strong);box-shadow:0 4px 14px #0000001a}.ogn-children{display:flex;justify-content:center;align-items:flex-start;padding-top:22px;position:relative}.ogn-children:before{content:"";position:absolute;top:0;left:50%;width:2px;height:22px;background:var(--border);transform:translate(-1px)}.ogn-branch{position:relative;padding:22px 14px 0;display:flex;flex-direction:column;align-items:center}.ogn-branch:before,.ogn-branch:after{content:"";position:absolute;top:0;right:50%;width:50%;height:22px;border-top:2px solid var(--border)}.ogn-branch:after{right:auto;left:50%;border-left:2px solid var(--border)}.ogn-branch:first-child:before{border-top:0}.ogn-branch:last-child:after{border-top:0}.ogn-branch:only-child{padding-top:0}.ogn-branch:only-child:before,.ogn-branch:only-child:after{display:none}.ogn-panel{border:1px solid var(--border);border-radius:12px;overflow:hidden;min-width:268px}.ogn-panel-head{display:flex;align-items:center;justify-content:space-between;padding:9px 14px;background:var(--bg-elevated);border-top:3px solid var(--brand)}.ogn-panel-title{font-size:13.5px;font-weight:500;display:flex;align-items:center;gap:7px}.ogn-panel-count{font-size:11.5px;color:var(--text-secondary)}.ogn-panel-body{display:flex;flex-direction:column;gap:10px;padding:12px;align-items:center}.ogn-dot{width:9px;height:9px;border-radius:999px;flex:none}.ogn-skill{display:inline-block;font-size:10.5px;padding:1px 7px;border-radius:999px;background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary);margin-left:4px}.org-canvas .react-flow__controls button,.org-canvas .react-flow__minimap{background:var(--bg-elevated);border-color:var(--border)}.org-canvas .react-flow__controls button svg{fill:var(--text-secondary)}.seg{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;flex:0 0 auto}.seg-btn{padding:8px 14px;font-size:13px;font-weight:600;background:var(--bg-elevated);color:var(--text-secondary);border:none;cursor:pointer;transition:background .12s,color .12s}.seg-btn.on{background:var(--brand);color:#fff}.seg-btn:hover:not(.on){background:color-mix(in srgb,var(--brand) 10%,transparent);color:var(--text-primary)}.crm-move{padding:5px 8px;font-size:12px;border:1px solid var(--border);border-radius:6px;background:var(--bg-base);color:var(--text-secondary);cursor:pointer}.fld input:not([type=checkbox]):not([type=radio]),.fld select,.fld textarea{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.ms-opt input[type=checkbox],.chan-pill input[type=checkbox]{width:auto;flex:0 0 auto;margin:0}.form-grid{display:grid;gap:10px;align-items:end}.form-grid>.fld,.form-grid>label{min-width:0}.form-grid-2{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.form-grid-3{grid-template-columns:repeat(auto-fit,minmax(175px,1fr))}.modal-foot-fixed{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 20px;border-top:1px solid var(--border);background:var(--bg-surface);flex-wrap:wrap}@media(max-width:560px){.modal-foot-fixed{justify-content:stretch}.modal-foot-fixed>*{flex:1}}.ms{position:relative}.ms-btn{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 11px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);color:var(--text-primary);font-size:14px;font-weight:400;cursor:pointer;text-align:left}.ms-btn:hover{border-color:var(--brand)}.ms-caret{color:var(--text-secondary);font-size:11px;flex:0 0 auto}.ms-panel{position:absolute;z-index:60;top:calc(100% + 4px);left:0;right:0;max-height:240px;overflow-y:auto;padding:4px;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-modal)}.ms-opt{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:6px;font-size:13.5px;font-weight:400;color:var(--text-primary);cursor:pointer}.ms-opt:hover{background:color-mix(in srgb,var(--brand) 12%,transparent)}.ms-panel:has(.ms-search){max-height:300px;padding-top:0}.ms-search{position:sticky;top:0;z-index:1;background:var(--bg-surface);padding:6px 2px;margin-bottom:2px}.ms-search input{width:100%;padding:7px 10px;font-size:13px;border:1px solid var(--border);border-radius:7px;background:var(--bg-elevated)}.ms-foot{position:sticky;bottom:-4px;display:flex;justify-content:space-between;align-items:center;padding:6px 9px;margin:2px -4px -4px;border-top:1px solid var(--border);background:var(--bg-surface)}.taginput{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:40px;padding:6px 8px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);cursor:text}.taginput:focus-within{border-color:var(--brand)}.tag-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 4px 2px 10px;background:color-mix(in srgb,var(--brand) 14%,transparent);color:var(--brand);border-radius:999px;font-size:12.5px;font-weight:500}.tag-x{border:none;background:none;color:inherit;cursor:pointer;font-size:15px;line-height:1;padding:0 3px}.tag-inp{flex:1 1 90px;min-width:90px;width:auto!important;border:none!important;outline:none;background:transparent;color:var(--text-primary);font-size:14px;padding:4px 2px}.map-tip{position:absolute;top:8px;left:10px;padding:4px 10px;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;font-size:12.5px;pointer-events:none;box-shadow:var(--shadow-sm, 0 1px 3px rgba(0,0,0,.1))}.field-inp{padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);color:var(--text-primary);font-size:13px;outline:none}.field-inp:focus{border-color:var(--brand)}.rt{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--bg-elevated)}.rt-bar{display:flex;gap:2px;padding:4px;border-bottom:1px solid var(--border);background:var(--bg-base);flex-wrap:wrap}.rt-btn{padding:4px 10px;font-size:13px;border:1px solid transparent;border-radius:5px;background:none;color:var(--text-secondary);cursor:pointer}.rt-btn:hover{background:color-mix(in srgb,var(--brand) 12%,transparent);color:var(--text-primary)}.rt-body{padding:8px 10px;font-size:13.5px;font-weight:400;color:var(--text-primary);outline:none}.rt-body:empty:before{content:attr(data-ph);color:var(--text-secondary)}.rt-body ul,.rt-body ol{margin:4px 0 4px 20px;padding:0}.rt-view{font-size:13px;color:var(--text-primary)}.rt-view ul,.rt-view ol{margin:4px 0 4px 20px;padding:0}.rt-sym-wrap{position:relative;display:inline-flex}.rt-sym-pop{position:absolute;z-index:70;top:calc(100% + 4px);left:0;display:grid;grid-template-columns:repeat(8,1fr);gap:2px;width:232px;padding:6px;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-modal)}.rt-sym{border:1px solid transparent;background:none;color:var(--text-primary);cursor:pointer;border-radius:5px;padding:5px 0;font-size:14px;line-height:1}.rt-sym:hover{background:color-mix(in srgb,var(--brand) 14%,transparent)}.fx-crumb{display:flex;align-items:center;gap:2px;flex-wrap:wrap;margin-bottom:12px}.fx-crumb button{border:1px solid transparent;background:none;color:var(--brand);cursor:pointer;font-size:13px;padding:4px 8px;border-radius:6px}.fx-crumb button:hover,.fx-crumb button.drop-hover{background:color-mix(in srgb,var(--brand) 14%,transparent)}.fx-crumb .sep{color:var(--text-secondary)}.fx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;min-height:200px}.fx-tile{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;border:1px solid transparent;border-radius:10px;cursor:pointer;text-align:center;-webkit-user-select:none;user-select:none;position:relative}.fx-tile:hover{background:color-mix(in srgb,var(--brand) 8%,transparent)}.fx-tile.sel{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 12%,transparent)}.fx-tile.drop-hover{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 16%,transparent)}.fx-tile.cut{opacity:.5}.fx-ico{font-size:40px;line-height:1}.fx-name{font-size:12.5px;word-break:break-word;max-width:100%;color:var(--text-primary)}.fx-badge{position:absolute;top:6px;right:6px;font-size:9px}.fx-menu{position:fixed;z-index:200;min-width:180px;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-modal);padding:4px}.fx-mi{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:7px 10px;border:none;background:none;color:var(--text-primary);font-size:13px;cursor:pointer;border-radius:6px}.fx-mi:hover:not(:disabled){background:color-mix(in srgb,var(--brand) 12%,transparent)}.fx-mi.danger{color:#ef4444}.fx-mi:disabled{opacity:.4;cursor:default}.fx-sep{height:1px;background:var(--border);margin:4px 2px}.fx-grid{align-items:start;align-content:start}.fx-layout{display:grid;grid-template-columns:1fr;gap:14px;align-items:start}.fx-layout.with-info{grid-template-columns:1fr minmax(240px,300px)}@media(max-width:820px){.fx-layout.with-info{grid-template-columns:1fr}}.fx-info .k{color:var(--text-secondary);font-size:12px}.fx-info .v{font-size:13px;word-break:break-word}.fx-info-row{padding:8px 0;border-bottom:1px solid var(--border)}.fx-view-body{flex:1;min-height:0;background:var(--bg-base);border-radius:8px;overflow:hidden;display:flex}.fx-view-body iframe,.fx-view-body img{width:100%;height:100%;border:0;object-fit:contain}.q-lines th,.q-lines td{padding:6px;vertical-align:top}.q-lines .field-inp{width:100%}.q-lines .q-num{width:96px;text-align:right}.q-revs{display:flex;flex-direction:column;gap:8px}.q-rev{display:flex;gap:10px;padding:9px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-subtle)}.q-rev-body{min-width:0;display:flex;flex-direction:column;gap:2px}.mini-chip-btn{background:var(--bg-subtle);cursor:pointer;font-family:inherit;font-weight:600}.mini-chip-btn:hover{border-color:currentColor}.qb-editor{display:grid;grid-template-columns:minmax(320px,400px) 1fr;gap:16px;margin-top:12px;align-items:start}@media(max-width:1100px){.qb-editor{grid-template-columns:minmax(0,1fr)}.qb-left,.qb-right{min-width:0}}@media(max-width:620px){.qb-right{position:static;overflow-x:auto}.qb-paper{font-size:11px;padding:18px 16px}}.qb-left{display:flex;flex-direction:column;gap:12px}.qb-nav{display:flex;flex-direction:column;gap:4px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;padding:6px}.qb-nav-item{text-align:left;padding:9px 12px;border-radius:8px;border:none;background:none;color:var(--text-secondary);font:inherit;cursor:pointer}.qb-nav-item:hover{background:var(--bg-subtle)}.qb-nav-item.active{background:#1f6feb1f;color:var(--text-primary);font-weight:600}.qb-panel{background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.qb-blk{border:1px solid var(--border);border-radius:8px;padding:8px 10px;background:var(--bg-subtle);opacity:.62;display:flex;flex-direction:column;gap:8px}.qb-blk.on{opacity:1;border-color:#1f6feb4d}.qb-blk-head{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.qb-blk-head span{display:flex;flex-direction:column;min-width:0}.qb-blk-cfg{display:flex;align-items:center;gap:10px;padding-left:26px}textarea.qb-blk-cfg{display:block;width:calc(100% - 26px);margin-left:26px;padding:6px 8px}.qb-sig-preview{width:180px;height:66px;border:1px dashed var(--border);border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--bg-base);overflow:hidden}.qb-sig-preview img{max-width:100%;max-height:100%;object-fit:contain}.qb-right{position:sticky;top:12px}@media(min-width:1101px){.qb-editor{height:calc(calc(100dvh / var(--ui-zoom-vu, 1)) - var(--qb-top, 180px) - 12px);min-height:520px;align-items:stretch}.qb-left,.qb-right{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.qb-left{padding-right:4px}.qb-right{position:relative;top:0;padding:0 6px 24px}}.qb-pv-block.qb-pv-flash{animation:qbFlash 1.1s ease-out}@keyframes qbFlash{0%{box-shadow:0 0 0 3px #1f6feb73;background:#1f6feb0f}to{box-shadow:0 0 #1f6feb00;background:transparent}}@media(prefers-reduced-motion:reduce){.qb-pv-block.qb-pv-flash{animation:none}}.qb-paper{container-type:inline-size;position:relative;background:#fff;color:#1a1a1a;border:1px solid #e2e2e2;border-radius:8px;box-shadow:0 6px 24px #0000001f;padding:30px 34px;max-width:780px;margin:0 auto;font-size:12px;line-height:1.5;min-height:400px;overflow:hidden}.qb-pv-body{position:relative;z-index:1}.qb-wm{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.qb-wm span{font-size:68px;font-weight:800;letter-spacing:2px;transform:rotate(-32deg);white-space:nowrap;text-transform:uppercase}.qb-wm img{max-width:70%;max-height:70%;object-fit:contain}.qb-pv-block{position:relative;border:1px dashed transparent;border-radius:6px;padding:4px;margin:2px 0}.qb-pv-block:hover{border-color:#cfe0ff;background:#1f6feb08}.qb-pv-block.dragging{opacity:.4}.qb-pv-tools{position:absolute;top:2px;right:2px;display:none;gap:4px;align-items:center}.qb-pv-block:hover .qb-pv-tools{display:flex}.qb-pv-tools button{border:none;background:#eef2f7;color:#64748b;border-radius:4px;cursor:pointer;font-size:11px;padding:1px 5px}.qb-pv-grip{cursor:grab;color:#94a3b8;font-size:12px;letter-spacing:-2px}.qb-pv-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.qb-pv-logo{max-height:46px;max-width:160px;object-fit:contain}.qb-pv-logo.ph{width:120px;height:42px;border:1px dashed #cbd5e1;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:11px;letter-spacing:1px}.qb-pv-co{font-weight:700;font-size:15px;margin-top:6px}.qb-pv-title{font-size:20px;font-weight:800;text-align:right}.qb-pv-meta{margin-left:auto;font-size:11px;border-collapse:collapse}.qb-pv-meta td{padding:1px 0 1px 10px;text-align:right}.qb-pv-meta td:first-child{color:#64748b}.qb-pv-meta td:last-child{font-weight:600}.qb-pv-lbl{font-size:10px;font-weight:700;letter-spacing:.5px;margin-bottom:2px}.qb-pv-party{margin:8px 0}.qb-pv-party b{font-size:13px}.qb-pv-muted{color:#64748b}.qb-pv-h{font-weight:700;font-size:13px;margin-bottom:3px}.qb-pv-rich :is(ul,ol){margin:2px 0 2px 18px}.qb-pv-rich.sm{font-size:11px;color:#555}.qb-pv-items{width:100%;border-collapse:collapse;margin:6px 0;font-size:11px}.qb-pv-items th{color:#fff;padding:4px 6px;font-size:10px}.qb-pv-items td{padding:5px 6px;border-bottom:1px solid #eee;vertical-align:top}.qb-pv-totals{max-width:260px;margin-left:auto}.qb-pv-totals>div{display:flex;justify-content:space-between;padding:3px 8px}.qb-pv-totals:not(.plain) .grand{background:#eef4ff}.qb-pv-totals .grand{font-weight:800;font-size:14px;border-top:1px solid #ccc;margin-top:3px}.qb-pv-words{font-style:italic;color:#333;margin:6px 0}.qb-pv-hr{border:none;border-top:1px solid #d4d4d8;margin:4px 0}.qb-pv-mtable{width:100%;border-collapse:collapse;margin:6px 0;font-size:11px}.qb-pv-mtable th,.qb-pv-mtable td{border:1px solid #e2e2e2;padding:4px 6px;text-align:left}.qb-pv-mtable th{background:#eef4ff;font-weight:700}.qb-pv-img{position:relative;display:inline-block;max-width:100%;line-height:0}.qb-pv-img-handle{position:absolute;right:-6px;bottom:-6px;width:13px;height:13px;background:#1f6feb;border:2px solid #fff;border-radius:3px;cursor:nwse-resize;box-shadow:0 1px 3px #00000059;opacity:0;transition:opacity .12s}.qb-pv-img:hover .qb-pv-img-handle{opacity:1}.qb-pv-img-pct{position:absolute;top:4px;left:4px;background:#1f6febd9;color:#fff;font-size:9px;line-height:1.4;padding:0 5px;border-radius:3px;opacity:0}.qb-pv-img:hover .qb-pv-img-pct{opacity:1}.qb-pv-term{display:grid;grid-template-columns:120px 1fr;gap:8px;padding:2px 0}.qb-pv-term b{color:#333}.qb-pv-sig{text-align:right;margin:10px 0 10px auto;width:calc(180 * 100cqw / 515);max-width:100%}.qb-pv-sig-img{position:relative}.qb-pv-sig-img img{display:inline-block;width:auto;max-width:none}.qb-pv-sig img{max-height:44px;display:inline-block}.qb-pv-sig-ph{height:30px}.qb-pv-footer{border-top:1px solid #e2e2e2;margin-top:16px;padding-top:6px;color:#94a3b8;font-size:10px}.qb-pages{display:flex;flex-direction:column}.qb-pages .qb-paper{margin:0 auto}.qb-pagebreak{display:flex;align-items:center;justify-content:center;gap:6px;margin:10px auto;padding:5px 14px;max-width:300px;border:1px dashed #f59e0b;border-radius:999px;background:#f59e0b1f;color:#b45309;font-size:12px;font-weight:700;cursor:grab}.qb-pagebreak.dragging{opacity:.4}.qb-pagebreak button{border:none;background:none;color:#b45309;cursor:pointer;font-size:13px;padding:0 2px}.qb-pv-drop{border:1px dashed #cbd5e1;border-radius:6px;padding:22px;text-align:center;color:#94a3b8;margin-bottom:8px;font-size:12px}.qb-pv-insert{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:10px;padding-top:8px;border-top:1px dashed #e2e8f0;opacity:.45;transition:opacity .15s}.qb-paper:hover .qb-pv-insert{opacity:1}.qb-pv-insert>span{font-size:10px;color:#94a3b8}.qb-pv-insert button{border:1px solid #cbd5e1;background:#f8fafc;color:#475569;border-radius:5px;font-size:10px;padding:2px 7px;cursor:pointer}.qb-pv-insert button:hover{background:#eef2f7;border-color:#94a3b8}.q-lines td:nth-child(6) .q-num{width:120px}.q-lines td:nth-child(6){min-width:108px}.q-lines .q-sr{width:34px;text-align:center;font-weight:700;color:var(--text-muted, #64748b);padding-top:14px;font-variant-numeric:tabular-nums}.q-lines th.q-sr{padding-top:6px}.q-desc{max-width:260px}.q-desc-prev{font-size:11px;max-height:84px;overflow:auto;border:1px solid var(--border);border-radius:6px;padding:4px 6px;margin-top:3px;background:var(--bg-base)}.q-desc-prev ul{padding-left:16px;margin:2px 0}.q-tot{display:flex;justify-content:space-between;align-items:baseline;padding:4px 0;font-size:13px;color:var(--text-secondary)}.q-tot b{color:var(--text)}.q-tot.grand{border-top:1px solid var(--border);margin-top:6px;padding-top:8px;font-size:15px}.q-tot.grand b{color:var(--brand);font-size:17px}.q-tot-words{margin-top:6px;padding-top:8px;border-top:1px dashed var(--border);font-size:12.5px;font-style:italic;color:var(--text-secondary);line-height:1.4}.rcp{position:relative}.rcp-box{display:flex;flex-wrap:wrap;gap:4px;align-items:center;min-height:38px;padding:4px 6px;border:1px solid var(--border);border-radius:8px;background:var(--bg-base);cursor:text}.rcp-box input{flex:1;min-width:120px;border:0;outline:0;background:transparent;color:var(--text);padding:4px;font-size:13px}.rcp-pop{position:absolute;z-index:30;left:0;right:0;margin-top:4px;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0000002e;max-height:240px;overflow-y:auto}.rcp-opt{display:block;width:100%;text-align:left;padding:8px 10px;border:0;background:transparent;color:var(--text);font-size:13px;cursor:pointer}.rcp-opt:hover{background:var(--bg-hover, rgba(127,127,127,.12))}.rcp-opt.add{border-top:1px solid var(--border);color:var(--brand)}.rt-menu-wrap{position:relative;display:inline-flex}.rt-color-pop{position:absolute;top:100%;left:0;z-index:40;margin-top:4px;display:grid;grid-template-columns:repeat(6,20px);gap:4px;padding:8px;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0003}.rt-swatch{width:20px;height:20px;border-radius:4px;border:1px solid rgba(0,0,0,.2);cursor:pointer;padding:0}.rt-swatch:hover{outline:2px solid var(--brand)}.rt-tpl-btn{white-space:nowrap}.rt-menu-pop{position:absolute;z-index:70;top:calc(100% + 4px);left:0;display:flex;flex-direction:column;min-width:180px;max-height:300px;overflow-y:auto;padding:6px;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-modal)}.rt-tpl-pop{left:auto;right:0;min-width:200px}.rt-tpl-item{display:block;width:100%;text-align:left;padding:8px 10px;border:0;background:transparent;color:var(--text-primary);font-size:13px;cursor:pointer;border-radius:6px;white-space:nowrap}.rt-tpl-item:hover{background:color-mix(in srgb,var(--brand) 14%,transparent)}.rt-token{font-family:monospace;font-size:11px;color:var(--brand)}.sig-prev{border:1px solid var(--border);border-radius:8px;padding:10px;margin-top:6px;background:var(--bg-base);overflow-x:auto}.sig-prev img{max-width:100%}.tpl-prev{font-size:12px;color:var(--text-secondary);margin-top:6px;max-height:96px;overflow:auto}.mail-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mail-ok{color:#10b981;font-size:12.5px;font-weight:600}.conv-layout{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:14px;align-items:start}@media(max-width:860px){.conv-layout{grid-template-columns:1fr}}@media(max-width:620px){.conv-layout .conv-list{max-height:calc(46vh / var(--ui-zoom-vu, 1))}.conv-layout .conv-detail{max-height:none}}.conv-list{max-height:calc(72vh / var(--ui-zoom-vu, 1));overflow-y:auto;padding:6px}.conv-item{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text-primary);padding:10px;cursor:pointer}.conv-item:hover{background:color-mix(in srgb,var(--brand) 8%,transparent)}.conv-item.active{background:color-mix(in srgb,var(--brand) 14%,transparent);border-radius:8px}.conv-item-top{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.conv-item-sub{font-size:13px;margin:2px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-detail{max-height:calc(72vh / var(--ui-zoom-vu, 1));overflow-y:auto}.conv-msg{border:1px solid var(--border);border-radius:10px;overflow:hidden}.conv-msg.out{border-left:3px solid #3b82f6}.conv-msg.in{border-left:3px solid #10b981}.conv-msg-head{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-base);border:0;cursor:pointer;color:var(--text-primary)}.conv-msg-body{padding:10px 14px;font-size:13.5px;line-height:1.5}.conv-msg-snippet{padding:6px 14px 10px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-attach{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;padding-top:8px;border-top:1px dashed var(--border)}.org-trade{display:inline-block;margin-left:6px;padding:0 6px;border-radius:999px;font-size:9.5px;font-weight:700;letter-spacing:.02em;background:color-mix(in srgb,var(--brand) 16%,transparent);color:var(--brand-fg, var(--brand));vertical-align:middle}.emp-exited-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px;padding:11px 16px;border-radius:10px;background:color-mix(in srgb,#ef4444 12%,var(--bg-surface));border:1px solid color-mix(in srgb,#ef4444 32%,var(--border));font-size:14px}.emp-rehire{margin:10px 0;padding:11px 14px;border-radius:10px;font-size:13.5px;display:flex;align-items:center;flex-wrap:wrap;gap:6px}.emp-rehire.warn{background:color-mix(in srgb,#f59e0b 14%,var(--bg-surface));border:1px solid color-mix(in srgb,#f59e0b 34%,var(--border))}.emp-rehire.block{background:color-mix(in srgb,#ef4444 12%,var(--bg-surface));border:1px solid color-mix(in srgb,#ef4444 32%,var(--border))}.ff-note{padding:9px 13px;border-radius:9px;font-size:13px;margin-bottom:10px}.ff-note.warn{background:color-mix(in srgb,#f59e0b 14%,var(--bg-surface));border:1px solid color-mix(in srgb,#f59e0b 34%,var(--border))}.ff-note.ok{background:color-mix(in srgb,#10b981 14%,var(--bg-surface));border:1px solid color-mix(in srgb,#10b981 34%,var(--border))}.ff-reject{padding:11px 15px;border-radius:10px;margin-bottom:12px;font-size:13.5px;background:color-mix(in srgb,#ef4444 12%,var(--bg-surface));border:1px solid color-mix(in srgb,#ef4444 32%,var(--border))}.ff-timeline{margin-top:12px;padding-top:10px;border-top:1px solid var(--border);display:grid;gap:6px;font-size:12.5px}.ff-tl-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--text-secondary);margin-right:8px;vertical-align:middle}.ff-tl-dot.ok{background:#10b981}.ff-tl-dot.done{background:#3b82f6}.nav-badge.count{background:#ef4444;color:#fff;border-radius:999px;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;margin-left:auto}.ff-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 12px}.otp-boxes{display:flex;gap:8px;justify-content:center;margin:6px 0 4px}.otp-box{width:48px;height:52px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);text-align:center;font-size:22px;font-family:ui-monospace,SFMono-Regular,DM Mono,Consolas,monospace;font-weight:500;color:var(--text-primary);outline:none;transition:border-color .15s,box-shadow .15s,color .15s}.otp-box:focus{border-color:var(--brand);box-shadow:0 0 0 3px #3b82f626}.otp-box.filled{border-color:var(--brand);color:var(--brand)}.otp-boxes.err .otp-box{border-color:#ef4444;animation:otp-shake .3s}@keyframes otp-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.asset-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.asset-form-grid .fld{margin:0}.asset-form-grid .fld input,.asset-form-grid .fld select{width:100%}.policy-builder{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:16px;align-items:start}@media(max-width:760px){.policy-builder{grid-template-columns:1fr}}.pb-lib{border:1px solid var(--border);border-radius:10px;padding:12px;background:var(--bg-subtle, #fafafa);max-height:460px;overflow:auto}.pb-hd{display:flex;align-items:center}.pb-cat{margin-bottom:6px}.pb-cat-hd{display:flex;align-items:center;gap:6px;width:100%;border:none;background:none;cursor:pointer;font-weight:600;font-size:13px;padding:5px 4px;color:var(--text);text-align:left}.pb-cat-hd:hover{color:var(--brand, #4f46e5)}.pb-caret{width:12px;display:inline-block;color:var(--muted)}.pb-count{margin-left:auto;font-size:11px;color:var(--muted);background:var(--border);border-radius:999px;padding:1px 7px}.pb-cat-items{display:flex;flex-direction:column;gap:5px;padding:2px 0 6px 14px}.pb-chip{display:flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid var(--border);border-radius:8px;background:var(--bg, #fff);cursor:grab;font-size:12.5px}.pb-chip:active{cursor:grabbing}.pb-chip:hover{border-color:var(--brand, #4f46e5)}.pb-chip-lbl,.pb-item-lbl{flex:1}.pb-grip{color:var(--muted);cursor:grab;-webkit-user-select:none;user-select:none;font-size:12px}.pb-x{border:none;background:none;color:var(--muted);cursor:pointer;font-size:15px;line-height:1;padding:0 2px}.pb-x:hover{color:#ef4444}.pb-lock{font-size:10px;opacity:.5;padding:0 3px}.pchk{border:1px solid var(--border);border-radius:10px;padding:10px 12px;margin-bottom:12px;background:var(--bg-subtle, #fafafa)}.pchk-hd{font-size:13px;font-weight:600;margin-bottom:8px}.pchk-list{display:flex;flex-direction:column;gap:4px;max-height:240px;overflow:auto}.pchk-row{display:flex;align-items:flex-start;gap:8px;font-size:13px;padding:4px 6px;border-radius:6px;cursor:pointer}.pchk-row:hover{background:var(--bg, #fff)}.pchk-row.on{color:var(--text)}.pchk-row input{margin-top:2px}.pchk-foot{display:flex;align-items:center;margin-top:8px}.cmp-bar-wrap{display:flex;flex-direction:column;gap:3px}.cmp-bar{height:7px;border-radius:999px;background:var(--border);overflow:hidden}.cmp-bar-fill{display:block;height:100%;border-radius:999px}.agent-script{max-height:240px;overflow:auto;background:#0f172a;color:#cbd5e1;font-size:11px;line-height:1.45;padding:10px 12px;border-radius:8px;white-space:pre}.seg{display:inline-flex;gap:2px;padding:3px;background:var(--border);border-radius:9px;margin-bottom:12px}.seg-btn{border:none;background:transparent;padding:6px 14px;border-radius:7px;font-size:13px;cursor:pointer;color:var(--muted)}.seg-btn.on{background:var(--bg, #fff);color:var(--text);font-weight:600;box-shadow:0 1px 2px #00000014}.enf-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}.enf-toggle{display:flex;align-items:flex-start;gap:10px;cursor:pointer;flex:1}.enf-toggle input{margin-top:3px}.enf-deploy{border:1px solid var(--border);border-radius:10px;padding:8px 12px;margin-bottom:14px;background:var(--bg-subtle, #fafafa)}.enf-deploy>summary{cursor:pointer;font-weight:600;font-size:13px}.deploy-step{font-size:13px;margin:10px 0 4px}.cmd-block{position:relative;margin:4px 0}.cmd-copy{position:absolute;top:7px;right:7px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;color:#e2e8f0;border-radius:6px;padding:3px 10px;font-size:12px;cursor:pointer}.cmd-copy:hover{background:#fff3}.tk-list{display:flex;flex-direction:column;gap:8px}.tk-card{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:1px solid var(--border);border-radius:10px;padding:10px 14px;background:var(--bg, #fff);cursor:pointer}.tk-card:hover{border-color:var(--brand, #4f46e5)}.tk-card-main{flex:1}.tk-card-title{font-weight:600}.tk-link{border:none;background:none;padding:0;font:inherit;font-weight:600;color:var(--brand, #4f46e5);cursor:pointer;text-align:left}.tk-link:hover{text-decoration:underline}.tk-cat-row{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap}.tk-cat{flex:1;min-width:120px;display:flex;flex-direction:column;align-items:flex-start;gap:2px;border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:var(--bg, #fff);cursor:pointer}.tk-cat.on{border-color:var(--brand, #4f46e5);background:var(--bg-accent, #eef2ff)}.tk-cat-icon{font-size:18px}.tk-thread{display:flex;flex-direction:column;gap:10px}.tk-msg{border:1px solid var(--border);border-radius:10px;padding:8px 12px;background:var(--bg, #fff);max-width:92%;align-self:flex-start}.tk-msg.it{align-self:flex-end;background:var(--bg-accent, #eef2ff);border-color:#c7d2fe}.tk-msg-head{font-size:11.5px;color:var(--muted);margin-bottom:3px}.tk-body{font-size:14px}.tk-body p{margin:0 0 6px}.apv-panel{border:1px solid var(--border);border-radius:10px;padding:10px 12px;margin-bottom:12px;background:var(--bg-subtle, #fafafa)}.apv-panel-hd{font-weight:600;font-size:13px;margin-bottom:6px}.apv-chain{display:flex;flex-direction:column;gap:4px}.apv-step{display:flex;align-items:flex-start;gap:8px;padding:4px 6px;border-radius:6px}.apv-step.current{background:var(--bg-accent, #eef2ff)}.apv-ic{font-size:13px;width:16px;text-align:center}.apv-step-main{flex:1}.apv-inbox-card,.apv-req-card{display:flex;align-items:center;gap:12px;border:1px solid var(--border);border-radius:10px;padding:10px 14px;background:var(--bg, #fff)}.apv-req-card{display:block}.apv-steps{display:flex;flex-direction:column;gap:6px;margin-top:6px}.apv-step-row{display:flex;align-items:center;gap:6px}.apv-lvl{font-size:12px;font-weight:600;color:var(--muted);width:24px}.pb-drop{border:2px dashed var(--border);border-radius:10px;padding:10px;min-height:130px;display:flex;flex-direction:column;gap:6px;transition:border-color .15s,background .15s}.pb-drop.over{border-color:var(--brand, #4f46e5);background:var(--bg-accent, #eef2ff)}.pb-drop-empty{color:var(--muted);font-size:13px;text-align:center;margin:auto;padding:18px 8px}.pb-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg, #fff);cursor:grab;font-size:13px}.pb-item:active{cursor:grabbing}.mt-viewseg{flex:0 0 auto}.mt-quickadd{margin-bottom:16px}.mt-qa-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.mt-qa-input{flex:1 1 240px;min-width:0}.mt-qa-add{width:auto;padding:9px 18px;flex:0 0 auto}.mt-qa-opts{margin-top:8px;justify-content:space-between}.mt-chipset{display:flex;gap:4px;flex-wrap:wrap;align-items:center}.mt-group{margin-bottom:14px}.mt-row{display:flex;align-items:flex-start;gap:10px;padding:9px 0}.mt-check{width:18px!important;height:18px;margin-top:3px;cursor:pointer;flex:0 0 auto}.mt-row-main{min-width:0;flex:1;cursor:pointer}.mt-notes{margin-top:2px;white-space:pre-wrap;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.mt-row-actions{display:flex;gap:5px;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end}.mt-board{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:start}.mt-col{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:box-shadow .15s,border-color .15s}.mt-col-over{border-color:var(--brand);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 30%,transparent)}.mt-col-head{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--border)}.mt-col-body{padding:10px;display:grid;gap:8px;min-height:80px;max-height:calc(68vh / var(--ui-zoom-vu, 1));overflow-y:auto}.mt-col-empty{text-align:center;padding:18px 6px}.mt-card{background:var(--bg-base);border:1px solid var(--border);border-radius:10px;padding:10px 12px;cursor:grab}.mt-card:active{cursor:grabbing}.mt-card-drag{opacity:.45}.mt-card-overdue{border-left:3px solid #ef4444}.mt-card-title{font-weight:600;cursor:pointer;overflow-wrap:anywhere}.mt-card-foot{display:flex;gap:5px;margin-top:8px;align-items:center}@media(max-width:900px){.mt-board{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:10px;padding-bottom:6px}.mt-col{flex:0 0 84%;max-width:340px;scroll-snap-align:start}.mt-col-body{max-height:none}}@media(max-width:620px){.mt-page .hr-head{flex-direction:column;align-items:flex-start;gap:8px}.mt-qa-add{flex:1 1 auto}.mt-qa-opts{justify-content:flex-start}.mt-chip-label,.mt-hide-sm{display:none}.mt-row{flex-wrap:wrap}.mt-row-actions{flex-basis:100%;justify-content:flex-end;margin-top:2px}.mt-check{width:22px!important;height:22px}.mt-row-actions .chip-btn,.mt-card-foot .chip-btn{padding:7px 12px;font-size:13px}}.mt-stats-wrap{margin-bottom:16px}.mt-stats-top{display:flex;gap:16px;align-items:center;margin-top:8px}.mt-stats-legend{flex:1;display:grid;gap:5px;min-width:0}.mt-legend-row{display:flex;align-items:center;gap:7px;font-size:13px}.mt-legend-dot{width:10px;height:10px;border-radius:3px;flex:0 0 auto}.mt-stats-counters{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.mt-counter{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border:1px solid var(--border);border-radius:10px;text-decoration:none;color:inherit;background:var(--bg-base)}.mt-counter b{font-size:20px}.mt-counter span{font-size:11px;color:var(--text-muted)}.mt-counter-alert{border-color:#ef444266;background:#ef44440d}.mt-counter-alert b{color:#ef4444}.mt-nextup{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;padding:9px 12px;border:1px solid var(--border);border-left:3px solid var(--brand);border-radius:8px;text-decoration:none;color:inherit;background:var(--bg-base)}.mt-nextup-title{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mt-prbars{margin-top:12px;display:grid;gap:5px}.mt-prbar-row{display:grid;grid-template-columns:90px 1fr 24px;align-items:center;gap:8px;font-size:12px}.mt-prbar-track{background:var(--border);border-radius:5px;height:8px;overflow:hidden}.mt-prbar-fill{height:100%;border-radius:5px;min-width:2px}.mt-prbar-val{text-align:right;color:var(--text-muted)}.mt-trend{margin-top:12px}.mt-trend-bars{display:flex;gap:6px;align-items:flex-end;height:46px;margin-top:6px}.mt-trend-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:3px}.mt-trend-bar{width:100%;max-width:22px;background:#10b981;border-radius:4px 4px 0 0;min-height:3px}.mt-trend-lbl{font-size:10px;color:var(--text-muted)}.mt-swatch{width:24px;height:24px;border-radius:6px;border:1px solid var(--border);cursor:pointer;color:#fff;font-size:13px;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:0}.mt-checklist{margin-top:6px;display:grid;gap:6px}.mt-check-progress{display:flex;align-items:center;gap:8px}.mt-check-bar{height:6px;background:#10b981;border-radius:4px;flex:1;max-width:200px;min-width:20px}.mt-check-item{display:flex;align-items:center;gap:8px}.mt-check-item .field-inp{flex:1}.mt-notes{margin-top:3px;font-size:13px;color:var(--text-muted);overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.mt-notes img{max-width:100%;border-radius:6px}.mt-comments{margin-top:14px;border-top:1px solid var(--border);padding-top:12px}.mt-timeline{list-style:none;margin:8px 0;padding:0 0 0 4px;display:grid;gap:10px}.mt-tl-item{display:flex;gap:10px;align-items:flex-start;position:relative}.mt-tl-dot{width:9px;height:9px;border-radius:50%;margin-top:5px;flex:0 0 auto;background:var(--brand)}.mt-tl-system .mt-tl-dot{background:var(--text-muted)}.mt-tl-body{min-width:0;flex:1}.mt-tl-when{margin-bottom:2px}.mt-tl-sys{font-size:13px}.mt-tl-rich{font-size:14px}.mt-tl-rich img{max-width:100%;border-radius:6px}.mt-tl-del{flex:0 0 auto}.mt-comment-add{margin-top:8px}@media(max-width:620px){.mt-stats-counters{grid-template-columns:repeat(2,1fr)}.mt-stats-top{flex-direction:row}}.mt-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.mt-search{flex:1 1 240px;min-width:0}.mt-tagbar{display:flex;gap:6px;flex-wrap:wrap}.mt-tag-chip{background:#6366f118;color:#6366f1;border-color:#6366f133}.mt-tag-edit{display:flex;gap:6px;flex-wrap:wrap;align-items:center;padding:4px;border:1px solid var(--border);border-radius:8px}.mt-tag-input{border:none;flex:1 1 140px;min-width:120px;padding:4px 6px;background:transparent}.mt-tag-input:focus{outline:none}.mt-tag-x{background:none;border:none;cursor:pointer;color:inherit;font-size:14px;line-height:1;padding:0 0 0 2px}@media(max-width:620px){.mt-toolbar{flex-direction:column;align-items:stretch}}.mt-tl-text{white-space:pre-wrap;font-size:14px}.mt-att-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.mt-att{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:8px;background:var(--bg-base);cursor:pointer;padding:0;font:inherit;color:inherit}.mt-att-img{width:76px;height:76px;overflow:hidden;justify-content:center}.mt-att-img img{width:100%;height:100%;object-fit:cover;display:block}.mt-att-loading{font-size:22px;opacity:.5}.mt-att-doc{padding:6px 10px;max-width:240px}.mt-att-ic{font-size:18px;flex:0 0 auto}.mt-att-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.mt-att-size{flex:0 0 auto}.mt-att-rm{background:none;border:none;cursor:pointer;color:#ef4444;font-size:15px;line-height:1;padding:0 0 0 4px}.ch-panel{position:fixed;right:16px;top:calc(var(--topbar-h) + env(safe-area-inset-top,0px) + 8px);z-index:240;width:380px;height:min(600px,calc(calc(100vh / var(--ui-zoom-vu, 1)) - var(--topbar-h) - 24px));background:var(--bg-surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 18px 50px #00000047;display:flex;flex-direction:column;overflow:hidden}.ch-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border);flex:0 0 auto}.ch-conv-head{justify-content:flex-start}.ch-head-id{display:flex;align-items:center;gap:9px;background:none;border:none;cursor:pointer;color:inherit;font:inherit;min-width:0;flex:1}.ch-head-title{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ch-head-sub{font-size:11.5px;color:var(--text-muted)}.ch-hbtn{background:none;border:none;cursor:pointer;font-size:16px;color:inherit;padding:4px 6px;border-radius:8px}.ch-hbtn:hover{background:var(--bg-base)}.ch-search{padding:8px 12px;border-bottom:1px solid var(--border);flex:0 0 auto}.ch-search input{width:100%;box-sizing:border-box;border:1px solid var(--border);background:var(--bg-base);color:inherit;border-radius:10px;padding:8px 12px;font:inherit}.ch-list{flex:1;overflow-y:auto}.ch-empty{padding:26px 16px;text-align:center;color:var(--text-muted);font-size:13px;line-height:1.6}.ch-conv{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:none;border:none;border-bottom:1px solid var(--border);cursor:pointer;color:inherit;font:inherit;text-align:left}.ch-conv:hover{background:var(--bg-base)}.ch-avatar{border-radius:50%;object-fit:cover;flex:0 0 auto}.ch-avatar-ph{display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:700}.ch-conv-main{min-width:0;flex:1}.ch-conv-top{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.ch-conv-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ch-conv-time{font-size:11px;color:var(--text-muted);flex:0 0 auto}.ch-conv-bot{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:2px}.ch-conv-prev{font-size:12.5px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ch-unread{min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:#10b981;color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.ch-check{width:22px;height:22px;border-radius:50%;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;flex:0 0 auto}.ch-check.on{background:#10b981;border-color:#10b981}.ch-hbtn.on{background:var(--accent, #3b82f6);color:#fff}.ch-dept-pick{padding:4px 12px 0}.ch-dept-chips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 8px}.ch-dept-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border);background:var(--bg-base);color:inherit;border-radius:14px;padding:4px 10px;font-size:12px;cursor:pointer}.ch-dept-chip.on{background:#10b981;border-color:#10b981;color:#fff}.ch-dept-count{font-size:10px;opacity:.7;background:#0000001f;border-radius:8px;padding:0 5px}.ch-sec-title{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:700;padding:6px 12px 2px}.ch-filters{padding:8px 12px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:6px;background:var(--bg-subtle, var(--bg-base))}.ch-filter-row{display:flex;align-items:center;gap:8px;font-size:12.5px}.ch-filter-row>span{width:54px;color:var(--text-muted)}.ch-filter-row input,.ch-filter-row select{flex:1;border:1px solid var(--border);background:var(--bg-base);color:inherit;border-radius:8px;padding:5px 8px;font:inherit}.ch-label-filter{display:flex;flex-wrap:wrap;gap:6px;padding:6px 12px;border-bottom:1px solid var(--border)}.ch-label-fchip{border:1px solid var(--border);background:var(--bg-base);color:inherit;border-radius:12px;padding:2px 9px;font-size:11.5px;cursor:pointer}.ch-label-fchip.on{background:var(--accent, #3b82f6);border-color:var(--accent, #3b82f6);color:#fff}.ch-conv-labels{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}.ch-conv-label{font-size:10px;background:#3b82f624;color:#1d4ed8;border-radius:8px;padding:0 6px}.ch-labels-editor{padding:10px 12px;border-top:1px solid var(--border)}.ch-label-chips{display:flex;flex-wrap:wrap;gap:6px}.ch-label-chip{display:inline-flex;align-items:center;gap:4px;background:#3b82f624;color:#1d4ed8;border-radius:12px;padding:2px 4px 2px 8px;font-size:12px}.ch-label-chip button{border:none;background:transparent;color:inherit;cursor:pointer;font-size:11px;opacity:.7}.ch-label-chip button:hover{opacity:1}.ch-msgs{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:2px;background:var(--bg-base)}.ch-daygroup{display:flex;flex-direction:column}.ch-daysep{text-align:center;margin:10px 0 6px}.ch-daysep span{font-size:11px;color:var(--text-muted);background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:3px 10px}.ch-sys{text-align:center;font-size:11.5px;color:var(--text-muted);margin:4px 0}.ch-msg{max-width:78%;align-self:flex-start;background:var(--bg-surface);border:1px solid var(--border);border-radius:12px 12px 12px 4px;padding:7px 10px 5px;margin:2px 0;display:flex;flex-direction:column}.ch-msg-mine{align-self:flex-end;background:#6366f11c;border-color:#6366f13a;border-radius:12px 12px 4px}.ch-msg-sender{font-size:11.5px;font-weight:700;margin-bottom:1px}.ch-msg-body{font-size:13.5px;white-space:pre-wrap;overflow-wrap:anywhere}.ch-msg-meta{font-size:10px;color:var(--text-muted);align-self:flex-end;margin-top:2px;display:flex;gap:4px;align-items:center}.ch-tick{letter-spacing:-2px}.ch-tick.read{color:#3b82f6;font-weight:700}.ch-tick-btn{background:none;border:none;padding:0;cursor:pointer;color:inherit;font:inherit;letter-spacing:-2px}.ch-seen-wrap{position:relative;display:inline-flex;align-items:center;gap:4px}.ch-seen-avs{display:inline-flex;align-items:center;background:none;border:none;padding:0;cursor:pointer}.ch-seen-avs .ch-avatar{border:1.5px solid var(--bg-surface);margin-left:-5px;border-radius:50%}.ch-seen-avs .ch-avatar:first-child{margin-left:0}.ch-seen-more{font-size:9px;color:var(--text-muted);margin-left:2px}.ch-seen-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.ch-seen-pop{position:absolute;bottom:100%;right:0;margin-bottom:6px;z-index:41;min-width:210px;max-width:260px;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 28px #0000002e;padding:8px;text-align:left}.ch-seen-pop-h{font-size:11px;font-weight:700;color:var(--brand);text-transform:uppercase;letter-spacing:.4px;padding:2px 4px 6px}.ch-seen-list{display:flex;flex-direction:column;gap:2px;max-height:240px;overflow-y:auto}.ch-seen-row{display:flex;align-items:center;gap:8px;padding:4px;border-radius:7px}.ch-seen-row.pending{opacity:.6}.ch-seen-name{font-size:12px;font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ch-seen-time{font-size:10.5px;color:var(--text-muted);flex:0 0 auto}.ch-seen-sub{font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;padding:8px 4px 3px}.ch-msg-atts{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 4px}.ch-att{border:1px solid var(--border);border-radius:8px;background:var(--bg-base);cursor:pointer;padding:0;font:inherit;color:inherit;display:inline-flex;align-items:center;gap:6px}.ch-att-img{width:150px;height:110px;overflow:hidden;justify-content:center}.ch-att-img img{width:100%;height:100%;object-fit:cover;display:block}.ch-att-doc{padding:7px 10px;max-width:210px}.ch-att-ic{font-size:17px}.ch-att-name{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ch-att-size{font-size:10.5px;color:var(--text-muted);flex:0 0 auto}.ch-att-audio{padding:4px 6px;min-width:220px;max-width:260px}.ch-att-audio audio{width:100%;height:34px}.ch-voice-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid var(--border);background:var(--bg-surface);flex:0 0 auto;flex-wrap:wrap}.ch-voice-lbl{font-size:12.5px;color:var(--text)}.ch-voice-audio{height:34px;flex:1;min-width:140px;max-width:320px}.ch-voice-dot{width:10px;height:10px;border-radius:50%;background:#ef4444;flex:0 0 auto;animation:ch-voice-pulse 1s ease-in-out infinite}@keyframes ch-voice-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.75)}}.ch-voice-btn{border:none;border-radius:8px;padding:7px 12px;font-size:12.5px;font-weight:600;cursor:pointer;flex:0 0 auto}.ch-voice-btn.ghost{background:var(--bg-base);color:var(--text)}.ch-voice-btn.stop{background:#ef4444;color:#fff}.ch-voice-btn.send{background:var(--brand);color:#fff}.ch-voice-btn:disabled{opacity:.55;cursor:default}.ch-emoji-pop{max-height:190px;overflow-y:auto;border-top:1px solid var(--border);padding:8px 10px;background:var(--bg-surface);flex:0 0 auto}.ch-emoji-cat{font-size:10.5px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin:6px 0 3px}.ch-emoji-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(34px,1fr));gap:2px}.ch-emoji{background:none;border:none;font-size:20px;padding:4px;cursor:pointer;border-radius:8px;line-height:1}.ch-emoji:hover{background:var(--bg-base)}.ch-attach-on{background:var(--bg-base);border-radius:8px}.ch-msg{position:relative}.ch-msg-more{position:absolute;top:2px;right:4px;background:var(--bg-surface);border:1px solid var(--border);cursor:pointer;color:var(--text-secondary);font-size:14px;line-height:1;padding:1px 5px;border-radius:6px;opacity:.5;transition:opacity .12s;z-index:2}.ch-msg:hover .ch-msg-more{opacity:1}.ch-msg-more:hover{background:var(--bg-base);color:var(--text-primary)}.ch-msg-menu{position:absolute;top:22px;left:4px;right:auto;z-index:40;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 28px #0000004d;display:grid;min-width:140px;overflow:hidden}.ch-msg-menu.mine{left:auto;right:4px}.ch-msg-menu button{background:none;border:none;text-align:left;padding:9px 14px;font:inherit;font-size:13px;color:inherit;cursor:pointer;white-space:nowrap}.ch-msg-menu button:hover{background:var(--bg-base)}.ch-msg-deleted .ch-msg-body{font-style:italic;color:var(--text-muted)}.ch-msg-deleted{opacity:.9}.ch-panel-wide{width:640px;height:min(calc(78vh / var(--ui-zoom-vu, 1)),calc(calc(100vh / var(--ui-zoom-vu, 1)) - var(--topbar-h) - 24px))}.ch-hbtn-wide{font-size:15px}.ch-menu-danger{color:#ef4444!important}.ch-quote{display:flex;flex-direction:column;border-left:3px solid var(--brand);background:var(--bg-base);border-radius:6px;padding:4px 8px;margin:2px 0 4px;font-size:12px}.ch-quote b{color:var(--brand);font-size:11.5px}.ch-quote span{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ch-fwd-label{font-size:11px;color:var(--text-muted);font-style:italic;margin-bottom:1px}.ch-edited{font-style:italic;margin-right:2px}.ch-compose-mode{display:flex;align-items:center;gap:8px;padding:7px 12px;border-top:1px solid var(--border);background:var(--bg-surface);flex:0 0 auto}.ch-compose-mode-txt{flex:1;min-width:0;display:flex;flex-direction:column;font-size:12.5px;border-left:3px solid var(--brand);padding-left:8px}.ch-compose-snippet{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ch-sec-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding:10px 14px 4px}.ch-search-ic{width:38px;height:38px;border-radius:50%;background:var(--bg-base);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.ch-fwd-preview{font-size:12.5px;color:var(--text-muted);border-left:3px solid var(--brand);padding:4px 8px;background:var(--bg-base);border-radius:6px}.ch-send-err{background:#ef444422;color:#ef4444;font-size:12.5px;padding:7px 12px;border-top:1px solid var(--border);flex:0 0 auto}.ch-pending{display:flex;flex-wrap:wrap;gap:6px;padding:6px 12px 0;flex:0 0 auto;background:var(--bg-surface)}.ch-pending-item{font-size:12px;border:1px solid var(--border);border-radius:8px;padding:3px 8px;display:inline-flex;gap:4px;align-items:center}.ch-pending-item button{background:none;border:none;color:#ef4444;cursor:pointer;font-size:13px;padding:0}.ch-composer{display:flex;align-items:flex-end;gap:6px;padding:10px 12px;border-top:1px solid var(--border);flex:0 0 auto;background:var(--bg-surface)}.ch-attach{background:none;border:none;font-size:19px;cursor:pointer;padding:6px;border-radius:8px;flex:0 0 auto}.ch-attach:hover{background:var(--bg-base)}.ch-input{flex:1;resize:none;border:1px solid var(--border);background:var(--bg-base);color:inherit;border-radius:10px;padding:9px 12px;font:inherit;font-size:13.5px;min-height:40px;max-height:130px;overflow-y:auto;line-height:1.4;min-width:0}.ch-mention{color:var(--brand);font-weight:600;background:color-mix(in srgb,var(--brand) 12%,transparent);border-radius:4px;padding:0 2px}.ch-hashtag{color:#0ea5e9;font-weight:600;cursor:pointer}.ch-hashtag:hover{text-decoration:underline}.cat-grp-row td{background:color-mix(in srgb,var(--brand) 7%,transparent);border-top:1px solid var(--border)}.cat-grp-row .chip-btn{padding:1px 7px;font-size:11px}.ch-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#000000e6;display:flex;flex-direction:column}.ch-lb-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;color:#fff}.ch-lb-name{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.9}.ch-lb-btns{display:flex;align-items:center;gap:6px;flex:0 0 auto}.ch-lb-btns button,.ch-lb-btns a{width:34px;height:34px;border-radius:8px;border:1px solid rgba(255,255,255,.25);background:#ffffff14;color:#fff;font-size:16px;cursor:pointer;display:grid;place-items:center;text-decoration:none}.ch-lb-btns button:hover,.ch-lb-btns a:hover{background:#ffffff2e}.ch-lb-btns button:disabled{opacity:.4;cursor:default}.ch-lb-pct{color:#fff;font-size:12px;min-width:42px;text-align:center;opacity:.85}.ch-lb-stage{flex:1;overflow:hidden;display:flex;align-items:center;justify-content:center;touch-action:none;-webkit-user-select:none;user-select:none}.ch-lb-stage img{max-width:96%;max-height:100%;transform-origin:center;transition:transform .04s linear;will-change:transform}.ch-lb-loading{color:#fff;opacity:.7}.ch-lb-hint{text-align:center;color:#ffffff8c;font-size:11.5px;padding:8px}@media(max-width:620px){.ch-lb-hint{display:none}}.ch-msg-mentioned{border-left:3px solid var(--brand)}.ch-mention-pop{max-height:210px;overflow-y:auto;border-top:1px solid var(--border);background:var(--bg-surface);flex:0 0 auto}.ch-mention-opt{display:flex;align-items:center;gap:8px;width:100%;background:none;border:none;padding:7px 12px;font:inherit;font-size:13.5px;color:inherit;cursor:pointer;text-align:left}.ch-mention-opt:hover{background:var(--bg-base)}.ch-mention-all{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--brand) 20%,transparent);flex:0 0 auto}.ch-send{background:var(--brand);color:#fff;border:none;border-radius:10px;padding:9px 14px;font-size:15px;cursor:pointer;flex:0 0 auto}.ch-send:disabled{opacity:.45;cursor:default}.ch-info{position:absolute;top:52px;right:0;bottom:0;left:0;background:var(--bg-surface);z-index:5;overflow-y:auto;padding:12px 14px}.ch-info-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.ch-info-members{display:grid;gap:8px}.ch-info-member{display:flex;align-items:center;gap:9px}.ch-info-name{font-size:13.5px;min-width:0;overflow:hidden;text-overflow:ellipsis;flex:1}.ch-admin-badge{font-size:10px;font-weight:700;color:var(--brand);border:1px solid var(--brand);border-radius:6px;padding:1px 6px}.ch-group-name{display:flex;align-items:center;gap:6px;padding:4px 0 10px;border-bottom:1px solid var(--border);margin-bottom:8px}.ch-group-title{font-size:15px;font-weight:700;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ch-member-menu{position:absolute;right:0;top:30px;z-index:9;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #00000040;display:grid;min-width:160px;overflow:hidden}.ch-member-menu button{background:none;border:none;text-align:left;padding:9px 12px;font:inherit;font-size:13px;color:inherit;cursor:pointer}.ch-member-menu button:hover{background:var(--bg-base)}.ch-textbtn{display:block;width:100%;text-align:left;background:none;border:none;color:var(--brand);font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;padding:10px 2px 4px}.ch-danger{color:#ef4444}.ch-info-add{margin-top:8px;border-top:1px solid var(--border)}@media(max-width:620px){.ch-panel,.ch-panel-wide{right:0;left:0;bottom:0;top:calc(var(--topbar-h) + env(safe-area-inset-top,0px));width:auto;height:auto;border-radius:0;border:none}.ch-hbtn-wide{display:none}.version-chip{padding:4px 8px;font-size:11px}.ch-msg{max-width:86%}.ch-att-img{width:calc(42vw / var(--ui-zoom-vu, 1));height:calc(32vw / var(--ui-zoom-vu, 1))}.ch-input{font-size:16px}}.att-revoke-menu{position:absolute;right:0;top:28px;z-index:20;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #00000038;display:grid;min-width:220px;overflow:hidden}.att-revoke-menu button{display:flex;flex-direction:column;align-items:flex-start;gap:1px;background:none;border:none;text-align:left;padding:9px 12px;font:inherit;font-size:13px;color:inherit;cursor:pointer}.att-revoke-menu button:hover{background:var(--bg-base)}.att-revoke-menu .muted{font-size:11px}.att-revoke-danger{color:#ef4444}.conv-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.conv-tag{font-size:10.5px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:6px;padding:1px 6px;color:var(--text-secondary);white-space:nowrap}.conv-tag-edit{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:4px}.conv-tag-edit .conv-tag.on{display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:3px 8px;color:var(--brand);border-color:color-mix(in srgb,var(--brand) 40%,transparent)}.conv-tag-edit .conv-tag.on button{background:none;border:none;color:inherit;cursor:pointer;font-size:13px;padding:0;line-height:1}.conv-tag-edit input{border:1px dashed var(--border);background:var(--bg-base);color:inherit;border-radius:6px;padding:4px 8px;font:inherit;font-size:12.5px;min-width:120px}.conv-att-chip{display:inline-flex;align-items:center;gap:2px}.conv-preview-body{flex:1;overflow:auto;padding:10px;background:var(--bg-base);border-radius:0 0 12px 12px}.conv-sync-banner{animation:convSyncFade 5s ease forwards}@keyframes convSyncFade{0%,82%{opacity:1}to{opacity:0}}.cc-tabs{display:flex;gap:2px;border-bottom:2px solid var(--border);margin-bottom:18px;flex-wrap:wrap}.cc-tab{padding:9px 18px;font-size:13px;font-weight:600;cursor:pointer;border:none;background:transparent;color:var(--text-muted);border-bottom:2px solid transparent;margin-bottom:-2px;transition:var(--trans);font-family:inherit}.cc-tab:hover{color:var(--text-primary)}.cc-tab.active{color:#6366f1;border-bottom-color:#6366f1}.cc-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.cc-search-wrap{position:relative;flex:1;min-width:180px}.cc-search-wrap .cc-search-ic{position:absolute;left:9px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:13px;pointer-events:none}.cc-search{width:100%;box-sizing:border-box;padding:8px 10px 8px 30px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:7px;color:var(--text-primary);font-size:12px;font-family:inherit;outline:none}.cc-search:focus{border-color:#6366f1}.cc-add-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:#6366f1;color:#fff;border:none;border-radius:7px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;font-family:inherit}.cc-add-btn:hover{background:#4f46e5}.cc-table-wrap{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow-x:auto}.cc-table{width:100%;border-collapse:collapse;font-size:12px}.cc-table th{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:9px 12px;text-align:left;border-bottom:1px solid var(--border);background:var(--bg-elevated);white-space:nowrap}.cc-table td{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.cc-table tr:last-child td{border-bottom:none}.cc-table tr:hover td{background:var(--bg-hover)}.cc-table tr.inactive td{opacity:.5}.cc-code{font-family:monospace;font-size:11px;font-weight:700;color:#6366f1}.cc-formula{font-family:monospace;font-size:10px;color:var(--text-muted);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc-params-count{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#6366f11f;color:#6366f1;font-size:10px;font-weight:700}.cc-badge{font-size:10px;font-weight:700;padding:2px 7px;border-radius:6px}.cc-badge-active{background:#10b9811a;color:#10b981}.cc-badge-inactive{background:var(--bg-elevated);color:var(--text-muted)}.cc-badge-group{background:#6366f11a;color:#6366f1}.cc-row-btns{display:flex;gap:5px;flex-wrap:nowrap}.cc-btn{padding:4px 10px;border-radius:5px;border:1px solid var(--border);background:var(--bg-elevated);font-size:11px;font-weight:600;cursor:pointer;color:var(--text-secondary);white-space:nowrap;transition:var(--trans);font-family:inherit}.cc-btn:hover{background:var(--bg-hover)}.cc-btn.primary:hover{background:#6366f1;border-color:#6366f1;color:#fff}.cc-btn.danger:hover{background:#ef4444;border-color:#ef4444;color:#fff}.cc-btn.success:hover{background:#10b981;border-color:#10b981;color:#fff}.cc-ed-grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.cc-ed-grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:12px}@media(max-width:600px){.cc-ed-grid2,.cc-ed-grid3{grid-template-columns:1fr}}.cc-ed-lbl{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:4px}.cc-ed-lbl .req{color:#ef4444}.cc-ed-inp{width:100%;padding:8px 10px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:7px;color:var(--text-primary);font-size:12px;font-family:inherit;outline:none;box-sizing:border-box}.cc-ed-inp:focus{border-color:#6366f1}.cc-ed-mono{font-family:monospace!important;font-size:11px!important}.cc-hint{font-size:11px;color:var(--text-muted);margin-top:4px;line-height:1.4}.cc-param-builder{border:1px solid var(--border);border-radius:8px;padding:12px;background:var(--bg-elevated);margin-bottom:12px}.cc-param-row{display:grid;grid-template-columns:100px 1fr 96px 84px 36px;gap:6px;align-items:start;margin-bottom:7px}@media(max-width:700px){.cc-param-row{grid-template-columns:1fr}}.cc-param-del{background:transparent;border:1px solid var(--border);border-radius:5px;color:var(--text-muted);cursor:pointer;padding:4px 7px;font-size:12px;font-family:inherit}.cc-param-del:hover{color:#ef4444;border-color:#ef4444}.cc-opt-row{display:grid;grid-template-columns:90px 1fr 1fr 30px;gap:5px;margin-bottom:4px}.cc-opt-inp{padding:4px 7px;background:var(--bg-surface);border:1px solid var(--border);border-radius:5px;font-size:11px;color:var(--text-primary);font-family:inherit;outline:none;min-width:0}.cc-opt-inp:focus{border-color:#6366f1}.cc-opt-sku{font-family:monospace}.cc-opt-del{background:transparent;border:1px solid var(--border);border-radius:5px;color:var(--text-muted);cursor:pointer;font-size:11px}.cc-opt-del:hover{color:#ef4444;border-color:#ef4444}.cc-opt-add{margin-top:4px;padding:4px 10px;background:var(--bg-surface);border:1px solid var(--border);border-radius:5px;font-size:11px;font-weight:600;cursor:pointer;color:var(--text-secondary);font-family:inherit}.cc-opt-add:hover{background:var(--bg-hover)}.cc-opt-drag{display:grid;place-items:center;height:100%;color:var(--text-muted);cursor:grab;font-size:14px;line-height:1;-webkit-user-select:none;user-select:none;border-radius:4px}.cc-opt-drag:hover{color:var(--accent);background:var(--bg-hover)}.cc-opt-drag:active{cursor:grabbing}.cc-opt-dragover{box-shadow:0 -2px 0 0 var(--accent);border-radius:2px}.cc-json-area{width:100%;min-height:200px;padding:10px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:7px;color:var(--text-primary);font-size:11px;font-family:monospace;outline:none;box-sizing:border-box;resize:vertical;line-height:1.5}.cc-json-area:focus{border-color:#6366f1}.cc-view-tabs{display:flex;gap:2px;margin-bottom:10px}.cc-view-tab{padding:5px 14px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid var(--border);border-radius:5px;background:var(--bg-elevated);color:var(--text-muted);font-family:inherit}.cc-view-tab.active{background:#6366f1;border-color:#6366f1;color:#fff}.cc-token-pills{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.cc-token{font-size:10px;font-weight:600;padding:2px 8px;border-radius:4px;background:#6366f114;color:#6366f1;cursor:pointer;font-family:monospace}.cc-token:hover{background:#6366f133}.cc-empty{text-align:center;padding:40px 20px;color:var(--text-muted)}.cc-warnbox{background:#ef44440f;border:1px solid rgba(239,68,68,.2);border-radius:7px;padding:10px 14px;margin-top:14px}.cc-vendorbox{margin-bottom:16px;display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:7px}.cc-pl-layout{display:grid;grid-template-columns:280px 1fr;gap:14px;align-items:start}@media(max-width:800px){.cc-pl-layout{grid-template-columns:1fr}}.cc-pl-side{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.cc-pl-side-hdr{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border);background:var(--bg-elevated)}.cc-pl-item{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:10px 14px;background:none;border:none;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;font-family:inherit;color:inherit;transition:var(--trans)}.cc-pl-item:hover{background:var(--bg-hover)}.cc-pl-item.active{background:#6366f114;box-shadow:inset 3px 0 #6366f1}.cc-pl-item-name{font-size:13px;font-weight:600;color:var(--text-primary)}.cc-pl-group-hdr{display:flex;align-items:center;gap:7px;width:100%;padding:7px 12px;background:var(--bg-elevated);border:none;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;font-family:inherit;color:var(--text-secondary);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.cc-pl-group-hdr:hover{background:var(--bg-hover)}.cc-pl-group-caret{flex:0 0 auto;font-size:9px;color:var(--text-muted)}.cc-pl-group-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc-pl-group .cc-pl-item{padding-left:26px}.cc-flag{font-size:10px;color:var(--text-muted);display:flex;align-items:center;gap:3px;cursor:pointer}.cc-flag.cond{color:#6366f1;font-weight:700}.cc-cond-btn{font-size:11px;line-height:1;padding:2px 5px;border:1px solid var(--border);border-radius:5px;background:var(--bg-base);color:var(--text-secondary);cursor:pointer}.cc-cond-btn.on{border-color:#6366f1;color:#6366f1;background:#6366f114}.cc-cond-panel{margin:4px 0 10px 34px;padding:8px 10px;border-left:2px solid #6366F1;background:color-mix(in srgb,#6366F1 5%,var(--bg-surface));border-radius:0 8px 8px 0;display:grid;gap:6px}.cc-cond-line{display:flex;align-items:center;gap:8px}.cc-cond-lbl{flex:0 0 110px;font-size:11px;font-weight:600;color:var(--text-secondary)}.cc-cond-line .ss,.cc-cond-line .ms,.cc-cond-line input{flex:1 1 auto;min-width:0}.cc-master-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 10px;margin-bottom:10px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px}.cc-sample-box{padding:10px 12px;margin-bottom:12px;border:1px solid rgba(99,102,241,.35);border-radius:8px;background:color-mix(in srgb,#6366F1 4%,var(--bg-surface))}.cc-sample-hd{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--text-secondary);margin-bottom:8px}.cc-sample-grid{display:grid;gap:1px}.cc-sample-row{display:grid;grid-template-columns:1fr 60px 60px 90px;gap:6px;align-items:center;font-size:12px;padding:3px 4px}.cc-sample-row.cc-sample-hdr{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-bottom:1px solid var(--border)}.cc-sample-pname{color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc-pl-detail{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px}.cc-gp-box{background:#0d94880a;border:1px solid rgba(13,148,136,.2);border-radius:6px;padding:8px 10px}.cc-gp-hdr{display:flex;align-items:center;gap:6px}.cc-gp-name{font-size:11px;font-weight:700;color:#0d9488}.cc-gp-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;background:#0d948814;border:1px solid rgba(13,148,136,.2);margin:2px;white-space:nowrap}.cc-gp-from{display:flex;align-items:center;gap:6px;margin-bottom:6px}.cc-gp-from>span{font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase;white-space:nowrap}.cc-gp-from select{flex:1;padding:3px 7px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:5px;font-size:11px;color:var(--text-primary);font-family:inherit;min-width:0}.cc-gp-from .ss{flex:1;min-width:0}.cc-gp-from .ss-btn{padding:3px 8px;font-size:11px;border-radius:5px;min-height:0}.cc-gp-from .ss-caret{font-size:9px}.doc-center-layout{display:grid;grid-template-columns:300px 1fr;gap:14px;align-items:start}@media(max-width:860px){.doc-center-layout{grid-template-columns:1fr}}.doc-ws-side{padding:12px}.doc-ws-item{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:8px 10px;background:none;border:none;border-radius:8px;cursor:pointer;text-align:left;font-family:inherit;color:inherit;font-size:13px;transition:var(--trans)}.doc-ws-item:hover{background:var(--bg-hover)}.doc-ws-item.active{background:var(--accent-bg);box-shadow:inset 3px 0 0 var(--accent)}.doc-ws-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.doc-side-cat{margin-bottom:8px}.doc-side-prod-head{display:flex;align-items:center;gap:6px;width:100%;padding:7px 8px;background:none;border:none;border-radius:8px;cursor:pointer;text-align:left;font-family:inherit;color:inherit;font-size:13px;transition:var(--trans)}.doc-side-prod-head:hover{background:var(--bg-hover)}.doc-side-prod-head.has-active{background:var(--accent-bg)}.doc-side-models{margin-left:12px;border-left:1px solid var(--border);padding-left:4px}.doc-ws-item.model{font-size:12.5px;padding-left:10px}.doc-ws-item.model .doc-ws-name{font-weight:500}.doc-side-future{margin-top:12px;padding:8px 10px;border-top:1px dashed var(--border);opacity:.75}.doc-folder-head{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:12px 14px;background:none;border:none;cursor:pointer;font-family:inherit;color:inherit;font-size:13.5px;text-align:left;transition:var(--trans)}.doc-folder-head:hover{background:var(--bg-hover)}.doc-tree{padding:10px 8px}.doc-tree-root{padding:4px 8px 8px;font-size:14px;color:var(--text-secondary)}.doc-tree-children{margin-left:18px;border-left:1px solid var(--border);padding-left:4px}.doc-tree-versions{margin-left:40px;border-left:1px dashed var(--border);padding-left:4px}.doc-tree-row{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:7px;transition:var(--trans);min-width:0}.doc-tree-row:hover{background:var(--bg-hover)}.doc-tree-row.folder{cursor:pointer;font-size:13.5px}.doc-tree-row.version{font-size:12.5px}.doc-tree-caret{width:14px;flex:0 0 auto;color:var(--text-secondary);font-size:11px;-webkit-user-select:none;user-select:none}.doc-tree-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:0 1 auto}.doc-tree-meta{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-tree-actions{display:flex;align-items:center;gap:2px;margin-left:auto;flex:0 0 auto}.doc-tree-row .doc-tree-actions .doc-ico{opacity:0}.doc-tree-row:hover .doc-tree-actions .doc-ico,.doc-tree-row:focus-within .doc-tree-actions .doc-ico{opacity:1}@media(hover:none){.doc-tree-row .doc-tree-actions .doc-ico{opacity:1}}.doc-ico{background:none;border:none;cursor:pointer;font-size:13px;line-height:1;padding:4px 5px;border-radius:6px;color:var(--text-secondary);transition:var(--trans)}.doc-ico:hover{background:var(--accent-bg);color:var(--accent)}.doc-ico.danger:hover{background:#ef444424;color:#dc2626}.doc-ico:disabled{cursor:default;opacity:.5}.doc-badge{font-size:11px;font-weight:600;padding:1px 8px;border-radius:999px;flex:0 0 auto;white-space:nowrap}.doc-count{min-width:20px;text-align:center;font-size:11px;font-weight:600;color:var(--text-secondary);background:var(--bg-hover);border-radius:999px;padding:1px 7px;flex:0 0 auto}.doc-move-bar{display:flex;align-items:center;gap:10px;margin:4px 0 4px 22px;padding:6px 10px;background:var(--accent-bg);border:1px solid var(--border);border-radius:8px;font-size:12.5px}.doc-activity{display:grid;gap:2px}.doc-activity-row{display:flex;gap:10px;padding:8px 6px;border-bottom:1px solid var(--border)}.doc-activity-row:last-child{border-bottom:none}.doc-activity-ico{flex:0 0 auto;width:24px;height:24px;display:grid;place-items:center;background:var(--bg-hover);border-radius:999px;font-size:12px}.doc-dlg-cols{display:grid;grid-template-columns:280px 1fr;gap:0;flex:1;min-height:0;border-top:1px solid var(--border)}.doc-dlg-side{border-right:1px solid var(--border);overflow-y:auto;padding:8px;display:grid;gap:2px;align-content:start;background:var(--bg-base)}.doc-dlg-folder{display:flex;align-items:center;gap:6px;width:100%;padding:7px 9px;background:none;border:none;border-radius:7px;cursor:pointer;text-align:left;font-family:inherit;color:inherit;font-size:13px;transition:var(--trans)}.doc-dlg-folder:hover{background:var(--bg-hover)}.doc-dlg-folder.active{background:var(--accent-bg);box-shadow:inset 3px 0 0 var(--accent)}.doc-dlg-folder-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.doc-dlg-badge{background:var(--accent);color:#fff;font-size:10.5px;font-weight:700;border-radius:999px;padding:0 6px;min-width:18px;text-align:center}.doc-dlg-main{overflow-y:auto;padding:0;min-width:0}.doc-dlg-crumb{position:sticky;top:0;background:var(--bg-elevated);z-index:1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border-bottom:1px solid var(--border)}.doc-dlg-files{padding:6px;display:grid;gap:2px}.doc-dlg-file{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:7px;cursor:pointer;font-size:13px;transition:var(--trans)}.doc-dlg-file:hover{background:var(--bg-hover)}.doc-dlg-file.on{background:var(--accent-bg)}.doc-dlg-file>input[type=checkbox]{flex:0 0 auto}.doc-dlg-file-ico{flex:0 0 auto;font-size:15px}.doc-dlg-file-text{min-width:0;display:flex;flex-direction:column;gap:1px}.doc-dlg-file-name{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-dlg-file-sub{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:640px){.doc-dlg-cols{grid-template-columns:1fr}.doc-dlg-side{max-height:calc(30vh / var(--ui-zoom-vu, 1));border-right:none;border-bottom:1px solid var(--border)}}.ss{position:relative}.ss-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:9px 12px;background:var(--bg-base);border:1px solid var(--border);border-radius:8px;font-family:inherit;font-size:13.5px;color:var(--text-primary);cursor:pointer;text-align:left}.ss-btn:disabled{opacity:.55;cursor:default}.ss-val{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ss-ph{color:var(--text-secondary)}.ss-caret{flex:0 0 auto;font-size:10px;color:var(--text-secondary)}.ss-pop{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:80;background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;box-shadow:0 10px 30px #00000029;overflow:hidden}.ss-search{width:100%;padding:8px 12px;border:none;border-bottom:1px solid var(--border);background:var(--bg-elevated);font-family:inherit;font-size:13px;color:var(--text-primary);outline:none}.ss-list{max-height:240px;overflow-y:auto;padding:4px;display:grid;gap:1px}.ss-opt{display:block;width:100%;text-align:left;padding:7px 10px;border:none;background:none;border-radius:6px;font-family:inherit;font-size:13px;color:var(--text-primary);cursor:pointer}.ss-opt:hover{background:var(--bg-hover)}.ss-opt.on{background:var(--accent-bg);font-weight:600}.ss-opt.ss-clear{color:var(--text-secondary);font-style:italic}.ss-empty{padding:10px 12px;font-size:12.5px;color:var(--text-secondary)}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:60;display:flex;justify-content:flex-end}.drawer{width:min(560px,calc(96vw / var(--ui-zoom-vu, 1)));height:100%;background:var(--bg-elevated);box-shadow:-8px 0 30px #0000002e;display:flex;flex-direction:column;animation:drawer-in .22s ease}@keyframes drawer-in{0%{transform:translate(60px);opacity:.4}to{transform:translate(0);opacity:1}}@media(prefers-reduced-motion:reduce){.drawer{animation:none}}.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px;border-bottom:1px solid var(--border)}.drawer-head h3{margin:0;font-size:16px}.drawer-body{flex:1;overflow-y:auto;padding:14px 18px}.drawer-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 18px;border-top:1px solid var(--border);background:var(--bg-elevated)}.ic-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:14px}.ic-stat{border-top:3px solid var(--accent);padding:14px 16px;display:grid;gap:2px}.ic-stat b{font-size:24px;line-height:1.1}.ic-stat-btn{text-align:left;font:inherit;cursor:pointer;border-left:1px solid var(--border);border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.ic-stat-btn:hover{background:var(--bg-hover)}.ic-stat-btn.active{box-shadow:0 0 0 2px var(--accent) inset}.ic-filter-note{margin:-4px 0 12px;padding:8px 12px;border-radius:8px;font-size:13px;background:#ef444414;border:1px solid rgba(239,68,68,.22)}.seg{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--bg-elevated)}.seg-btn{padding:7px 14px;font-size:13px;font-weight:600;border:0;background:transparent;color:var(--text-secondary);cursor:pointer;font-family:inherit}.seg-btn+.seg-btn{border-left:1px solid var(--border)}.seg-btn:hover{background:var(--bg-hover)}.seg-btn.active{background:var(--accent);color:#fff}.dash-kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:6px 0 12px}.dash-kpi{padding:10px 12px;border-radius:10px;background:var(--bg-base);border:1px solid var(--border);display:grid;gap:3px}.dash-kpi b{font-size:19px}.dash-kpi.in{border-left:3px solid #10B981}.dash-kpi.out{border-left:3px solid #EF4444}.dash-kpi.net{border-left:3px solid #6366F1}.dash-chart{margin-top:6px}.dash-legend{display:flex;gap:16px;font-size:12px;color:var(--text-secondary);margin-bottom:6px}.dash-legend span{display:inline-flex;align-items:center;gap:5px}.dash-legend i{width:10px;height:10px;border-radius:2px;display:inline-block}.dash-svg{width:100%;height:180px;display:block}.dash-xlabel{fill:var(--text-muted);font-size:9px}.dash-2col{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;margin-bottom:14px}.dash-bars{display:grid;gap:8px;margin-top:4px}.dash-bar-row{display:grid;grid-template-columns:130px 1fr auto;gap:10px;align-items:center;font-size:12.5px}.dash-bar-lbl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.dash-bar-track{height:12px;border-radius:6px;background:var(--bg-base);overflow:hidden}.dash-bar-fill{height:100%;border-radius:6px;min-width:3px;transition:width .3s ease}.dash-bar-val{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.ic-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.ic-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.ic-chip{border:1px solid var(--border);background:var(--bg-elevated);border-radius:999px;padding:5px 14px;font-size:12.5px;font-weight:600;cursor:pointer;color:var(--text-secondary);font-family:inherit;transition:var(--trans)}.ic-chip span{font-weight:500;opacity:.75}.ic-chip:hover{background:var(--bg-hover)}.ic-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.ic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px}.ic-card{display:flex;flex-direction:column;gap:8px;padding:12px}.ic-card.inactive{opacity:.6}.ic-thumb{height:110px;border-radius:8px;background:var(--bg-base);display:grid;place-items:center;overflow:hidden}.ic-thumb img{max-width:100%;max-height:110px;object-fit:contain}.ic-thumb-empty{font-size:34px;opacity:.3}.ic-rowthumb{width:40px;height:40px;border-radius:6px;border:1px solid var(--border);background:var(--bg-base);overflow:hidden;display:grid;place-items:center;padding:0;cursor:pointer}.ic-rowthumb img{width:100%;height:100%;object-fit:cover}.ic-rowthumb.empty{cursor:default;opacity:.5;font-size:16px}.ic-rowthumb:not(.empty):hover{border-color:var(--accent)}.ic-pricehist{margin:2px 0 10px;padding:8px 10px;border:1px dashed var(--border);border-radius:8px;background:var(--bg-base)}.ic-pricehist-row{display:flex;align-items:baseline;gap:6px;font-size:12.5px}.ic-import-box{margin:4px 0 10px;padding:12px 14px;border:1px solid rgba(14,165,233,.3);border-radius:10px;background:#0ea5e90d}.ic-landed{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:8px;padding:8px 10px;border-radius:8px;background:var(--bg-surface);border:1px solid var(--border);font-size:13px}.drawer input:not([type=checkbox]):not([type=radio]),.drawer select,.drawer textarea,.drawer .ss-btn,.modal input:not([type=checkbox]):not([type=radio]),.modal select,.modal textarea,.modal .ss-btn,.modal-card input:not([type=checkbox]):not([type=radio]),.modal-card select,.modal-card textarea,.modal-card .ss-btn{background-color:var(--bg-base);border:1px solid rgba(100,116,139,.38)}.drawer input::placeholder,.modal input::placeholder{color:var(--text-muted);opacity:.8}.drawer input:focus,.drawer select:focus,.drawer textarea:focus,.modal input:focus,.modal select:focus,.modal textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px #6366f12e}.drawer .form-grid .fld,.modal .form-grid .fld{justify-content:flex-end}.drawer .fld>span,.modal .fld>span{min-height:18px}.drawer .emp-subhead,.modal .emp-subhead{margin-top:16px}.ic-card-body{display:grid;gap:3px;min-width:0}.ic-sku{font-family:var(--mono, ui-monospace, monospace);font-size:11.5px;font-weight:700;color:var(--accent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ic-name{font-weight:700;font-size:13.5px}.ic-desc{font-size:12px;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ic-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ic-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:6px;border-top:1px solid var(--border)}.ic-preview{margin-top:10px;padding:10px 12px;border:1px dashed var(--border);border-radius:8px;background:var(--bg-base);display:grid;gap:4px;font-size:13px}.ic-preview-side{width:min(420px,calc(32vw / var(--ui-zoom-vu, 1)));height:100%;background:var(--bg-surface);box-shadow:-8px 0 30px #0000001f;display:flex;flex-direction:column;overflow-y:auto;animation:drawer-in .22s ease}.ic-pv-sec{display:flex;flex-direction:column;flex:0 0 auto}.ic-pv-sec+.ic-pv-sec{border-top:8px solid var(--bg-base)}.ic-preview-side-hd{padding:14px 20px;border-bottom:1px solid var(--border);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);background:color-mix(in srgb,var(--brand) 7%,var(--bg-elevated));position:sticky;top:0;z-index:1}.ic-preview-side-body{padding:16px 20px 20px;display:grid;gap:0;align-content:start}.ic-pv-caption{font-size:11.5px;color:var(--text-muted);margin-bottom:12px}.ic-pv-row{padding:12px 0;border-top:1px solid var(--border)}.ic-pv-caption+.ic-pv-row{border-top:0;padding-top:0}.ic-pv-label{font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);margin-bottom:5px}.ic-pv-sku{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:15px;font-weight:700;color:var(--brand);word-break:break-all;line-height:1.45}.ic-pv-name{font-size:15px;font-weight:600;color:var(--text-primary);line-height:1.5}.ic-pv-spec{font-size:13px;color:var(--text-secondary);line-height:1.7;white-space:pre-wrap;padding:10px 12px;background:var(--bg-base);border-radius:8px;border:1px solid var(--border)}.ic-pv-note{margin-top:12px}.ic-pv-missing{margin-top:12px;font-size:12px;font-weight:600;color:var(--amber);background:color-mix(in srgb,var(--amber) 12%,transparent);border-radius:8px;padding:9px 12px}.ic-pv-media-img{margin:2px 0 4px;border:1px solid var(--border);border-radius:10px;background:var(--bg-base);overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:150px;max-height:220px}.ic-pv-media-img img{max-width:100%;max-height:220px;object-fit:contain;display:block}.ic-pv-media-empty{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--text-muted);font-size:12px;padding:28px 0}.ic-pv-media-empty{font-size:32px}.ic-pv-media-empty span{font-size:12px}.ic-pv-media-img img{cursor:zoom-in}.ic-pv-media-actions{display:flex;gap:6px;flex-wrap:wrap;margin:2px 0}.ic-pv-doclist{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:6px}.ic-pv-doc{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 8px;background:var(--bg-base);border:1px solid var(--border);border-radius:8px}.ic-pv-doc-thumb{flex:0 0 auto;width:34px;height:34px;border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:17px;background:var(--bg-elevated);border:1px solid var(--border)}.ic-pv-doc-thumb img{width:100%;height:100%;object-fit:cover}.ic-pv-doc-main{flex:1 1 110px;min-width:0;display:flex;flex-direction:column;gap:1px;border:0;background:none;padding:0;text-align:left;cursor:pointer;font:inherit}.ic-pv-doc-name{font-size:12.5px;color:var(--brand);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ic-pv-doc-main:hover .ic-pv-doc-name{text-decoration:underline}.ic-pv-doc-kind{font-size:10px;font-weight:600;color:var(--text-muted);white-space:nowrap;text-transform:uppercase;letter-spacing:.04em}.ic-pv-doc-kindsel{flex:0 0 auto;width:auto;font-size:11px;padding:3px 4px}.ic-pv-doc-x{flex:0 0 auto;border:0;background:none;cursor:pointer;font-size:13px;color:var(--text-muted);padding:2px 5px;border-radius:6px}.ic-pv-doc-x:hover{color:var(--red);background:color-mix(in srgb,var(--red) 12%,transparent)}.ic-pv-doc-note{font-size:11px;color:var(--text-secondary);white-space:normal;line-height:1.35;margin-top:1px}.ic-pv-doc-top{display:flex;align-items:center;gap:8px;width:100%}.ic-pv-doc.pending{flex-direction:column;align-items:stretch}.ic-pv-doc-noteinp{width:100%;font-size:11.5px;padding:4px 6px}.ic-pv-muted{font-size:12.5px;color:var(--text-muted)}.ic-alias{color:var(--text-muted);font-weight:500}.ic-docmodal{width:min(1320px,calc(97vw / var(--ui-zoom-vu, 1)));max-width:none;height:calc(94vh / var(--ui-zoom-vu, 1));max-height:calc(94vh / var(--ui-zoom-vu, 1));display:flex;flex-direction:column;overflow:hidden}.ic-docmodal-head{display:flex;align-items:center;gap:12px}.ic-docmodal-head h3{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ic-docmodal-tools{display:flex;align-items:center;gap:2px;flex:0 0 auto}.ic-docmodal-tools .icon-btn{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-size:15px}.ic-docmodal-zoom{font-size:12px;color:var(--text-secondary);min-width:40px;text-align:center;font-variant-numeric:tabular-nums}.ic-docmodal-sep{width:1px;height:20px;background:var(--border);margin:0 4px}.ic-docmodal-body{flex:1 1 auto;display:flex;flex-direction:row;gap:0;padding:0;overflow:hidden;min-height:0}.ic-docview{flex:1 1 auto;min-width:0;min-height:0;display:flex;align-items:flex-start;justify-content:center;background:var(--bg-base);padding:12px;overflow:auto}.ic-docview.is-img{align-items:center}.ic-docview img{max-width:100%;object-fit:contain}.ic-docview iframe{width:100%;height:100%;border:0;background:#fff;border-radius:6px}.ic-docview-fallback{margin:auto;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.ic-docnote{flex:0 0 300px;border-left:1px solid var(--border);padding:16px;overflow-y:auto;background:var(--bg-surface)}.ic-docnote textarea{width:100%;resize:vertical}.ic-docnote-ro{font-size:13px;color:var(--text-secondary);line-height:1.6;white-space:pre-wrap}@media(max-width:820px){.ic-docmodal-body{flex-direction:column}.ic-docnote{flex:0 0 auto;border-left:0;border-top:1px solid var(--border)}}@media(max-width:1100px){.ic-preview-side{display:none}}@media(min-width:1101px){.ic-preview-inline,.ic-media-inline{display:none}}.ic-media-inline-body{margin-top:4px}.ic-preview-inline .ic-pv-spec,.ic-media-inline .ic-pv-spec{background:var(--bg-elevated)}.ic-file-pick{display:flex;gap:10px;align-items:flex-start}.ic-file-thumb{width:64px;height:64px;border-radius:8px;overflow:hidden;flex:none;background:var(--bg-base);display:grid;place-items:center;border:1px solid var(--border)}.ic-file-thumb img{max-width:100%;max-height:100%;object-fit:contain}.ic-file-thumb-empty{font-size:24px;opacity:.35}.ic-doc-list{display:grid;gap:5px;margin-top:6px}.ic-doc-row{display:grid;grid-template-columns:1fr auto auto;gap:6px;align-items:center;padding:5px 8px;border:1px solid var(--border);border-radius:7px;background:var(--bg-base);font-size:12.5px}.ic-doc-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:none;border:0;padding:0;cursor:pointer}.ic-doc-row select{padding:3px 6px;font-size:12px}.ic-doc-x{border:0;background:none;color:var(--red);cursor:pointer;font-size:16px;line-height:1;padding:0 4px}.ic-hsn-field{display:flex;gap:6px;align-items:stretch}.ic-hsn-field input{flex:1;min-width:0}.ic-hsn-field .chip-btn{white-space:nowrap;flex:none}.ic-hsn-list{display:grid;gap:5px}.ic-hsn-row{display:grid;grid-template-columns:78px 1fr auto auto;gap:8px;align-items:center;text-align:left;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-base);cursor:pointer;font:inherit}.ic-hsn-row:hover{background:var(--bg-hover);border-color:var(--accent)}.ic-hsn-desc{min-width:0;font-size:12.5px;color:var(--text-primary)}.stk-table th.num,.stk-table td.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.stk-pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:600;white-space:nowrap}.stk-in{background:#10b98124;color:#059669}.stk-out{background:#ef444424;color:#dc2626}.stk-adj{background:#f59e0b29;color:#b45309}.stk-op{background:var(--bg-hover);color:var(--text-secondary)}.stk-item-head{padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-base);display:grid;gap:2px;margin-bottom:14px}.stk-projection{margin-top:12px;padding:10px 12px;border-radius:8px;background:#10b9811a;border:1px solid rgba(16,185,129,.25);font-size:13px}.stk-projection b{color:var(--text-primary)}.stk-projection.bad{background:#ef44441a;border-color:#ef444447}.stk-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin-bottom:14px}.stk-filter{display:flex;flex-direction:column;gap:3px;min-width:130px}.stk-filter.grow{flex:1;min-width:200px}.stk-filter>label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.stk-filter select,.stk-filter input{width:100%}.bom-cert-box{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px;border:1px dashed var(--border);border-radius:8px}.bom-cert-box>:last-child{min-width:180px;flex:1}.bom-audit-row{padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-base);display:grid;gap:4px;font-size:13px}.bom-audit-note{border-left:3px solid var(--accent);padding:4px 8px;background:var(--bg-elevated);border-radius:4px;font-size:12.5px}.np-layout{display:grid;grid-template-columns:240px 1fr;gap:16px;align-items:start}@media(max-width:780px){.np-layout{grid-template-columns:1fr}}.np-steps{display:grid;gap:6px}.np-step{display:flex;align-items:center;gap:10px;text-align:left;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-surface);cursor:pointer;font:inherit}.np-step span span{display:block}.np-step.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.np-step.done .np-step-n{background:var(--green);color:#fff}.np-step-n{width:26px;height:26px;flex:none;border-radius:999px;display:grid;place-items:center;background:var(--bg-hover);font-weight:700;font-size:13px}.np-step.active .np-step-n{background:var(--accent);color:#fff}.np-panel{padding:18px}.np-templates{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.np-tpl{text-align:left;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-base);cursor:pointer;font:inherit;display:grid;gap:4px}.np-tpl.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:#6366f10d}.np-tpl-name{font-weight:700}.np-stages{display:flex;gap:4px;margin-top:4px}.np-stage{font-size:10px;font-weight:700;padding:2px 6px;border-radius:5px;background:var(--bg-hover);color:var(--text-muted)}.np-stage.on{background:#10b98129;color:#059669}.np-checks{display:flex;flex-wrap:wrap;gap:8px}.np-chk{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--border);border-radius:8px;font-size:12.5px;cursor:pointer;background:var(--bg-base)}.np-chk.on{border-color:var(--accent);background:#6366f10f}.np-code{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:12px 0;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--bg-base)}.np-code-val{font-family:var(--mono, monospace);font-size:22px;font-weight:800;color:var(--accent)}.np-review{display:grid;gap:8px}.np-review-row{display:grid;grid-template-columns:160px 1fr;gap:10px;padding:6px 0;border-bottom:1px solid var(--border)}.np-foot{display:flex;justify-content:space-between;margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}.np-items{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:10px;overflow:hidden}.np-items-hd,.np-item-row{display:grid;grid-template-columns:28px minmax(180px,1fr) 74px 68px 110px 110px 32px;gap:8px;align-items:center;padding:7px 10px}.np-items-hd{background:var(--bg-subtle);font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}.np-item-row{border-top:1px solid var(--border)}.np-item-row.off{opacity:.5}.np-item-name{min-width:0}.np-item-name b{display:block;overflow:hidden;text-overflow:ellipsis}.np-item-desc{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.np-items input[type=text],.np-item-name input,.np-item-unit,.np-item-qty,.np-item-rate{padding:5px 8px;font-size:13px}.np-item-rate[readonly]{background:var(--bg-subtle);color:var(--muted);cursor:not-allowed}.np-item-amt{text-align:right;font-variant-numeric:tabular-nums}.np-item-x{border:none;background:none;color:var(--muted);cursor:pointer;font-size:13px;padding:4px;border-radius:6px}.np-item-x:hover{background:#ef44441f;color:var(--red)}input[type=date],input[type=datetime-local],input[type=time],input[type=month]{-moz-appearance:none;appearance:none;-webkit-appearance:none;box-sizing:border-box;padding:8px 11px;border:1px solid var(--border);border-radius:7px;background:var(--bg-elevated);color:var(--text-primary);font-size:12px;font-family:inherit;outline:none}input[type=date]:focus,input[type=datetime-local]:focus{border-color:#6366f1}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6}input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) input[type=date]::-webkit-calendar-picker-indicator,:root:not([data-theme=light]) input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.7}}:root[data-theme=dark] input[type=date]::-webkit-calendar-picker-indicator,:root[data-theme=dark] input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.7}.ic-actionsbar{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.doc-policy-table td,.doc-policy-table th{padding:6px 12px}.doc-policy-table th:first-child,.doc-policy-table td:first-child{width:40%}.doc-policy-table select{cursor:pointer}.tk-viewtabs{display:flex;gap:6px}.tk-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;font-weight:700;flex:0 0 auto}.tk-avatars{display:inline-flex;align-items:center}.tk-avatars .tk-avatar{margin-left:-5px;border:1.5px solid var(--bg-surface)}.tk-avatars .tk-avatar:first-child{margin-left:0}.tk-row-title{display:flex;align-items:center;gap:7px;min-width:0}.tk-chev{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:0 2px;font-size:12px}.tk-check{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--border);background:none;color:transparent;cursor:pointer;font-size:12px;line-height:1;flex:0 0 auto}.tk-check.done{background:#10b981;border-color:#10b981;color:#fff}.tk-check.sm{width:17px;height:17px;font-size:10px}.tk-check:disabled{cursor:default;opacity:.6}.tk-kanban{display:flex;gap:12px;align-items:flex-start;overflow-x:auto;padding-bottom:12px}.tk-col{flex:0 0 270px;background:var(--bg-base);border:1px solid var(--border);border-radius:12px;min-height:120px}@media(max-width:620px){.tk-viewtabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;padding-bottom:2px}.tk-viewtabs .chip-btn{flex:0 0 auto;white-space:nowrap}}@media(max-width:1024px){.tk-kanban{scroll-snap-type:x proximity}.tk-col{flex-basis:calc(46vw / var(--ui-zoom-vu, 1));scroll-snap-align:start}}@media(max-width:620px){.tk-col{flex-basis:calc(84vw / var(--ui-zoom-vu, 1))}}@media(max-width:620px){.tk-list-table thead{display:none}.tk-list-table,.tk-list-table tbody,.tk-list-table tr{display:block}.tk-list-table tr.tk-group-hd{background:var(--bg-base);border-radius:8px;margin:10px 0 4px}.tk-list-table tr.tk-group-hd td{display:block;padding:8px 10px;border:none}.tk-list-table tr:not(.tk-group-hd){border:1px solid var(--border);border-radius:10px;padding:8px 12px;margin-bottom:10px;background:var(--bg-surface)}.tk-list-table tr:not(.tk-group-hd):hover td{background:transparent}.tk-list-table tr:not(.tk-group-hd) td{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border:none;padding:4px 0;text-align:right}.tk-list-table tr:not(.tk-group-hd) td+td{border-top:1px solid var(--border-light)}.tk-list-table td:before{content:attr(data-label);font-weight:600;color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.03em;text-align:left;flex:0 0 auto}.tk-list-table td.tk-cell-title{text-align:left;padding-bottom:6px}.tk-list-table td.tk-cell-title:before{display:none}.tk-list-table td.tk-cell-title .tk-row-title{flex-wrap:wrap}.tk-list-table .hr-empty{text-align:center}}.tk-col.drag-over{outline:2px dashed var(--brand);outline-offset:-2px}.tk-col-head{display:flex;align-items:center;gap:8px;padding:9px 10px;border-top:3px solid transparent;border-radius:12px 12px 0 0}.tk-col-tools{margin-left:auto;display:none;gap:3px}.tk-col-head:hover .tk-col-tools{display:inline-flex}.tk-col-edit{display:inline-flex;gap:5px;align-items:center}.tk-col-edit input[type=color]{width:28px;height:26px;padding:0;border:1px solid var(--border);border-radius:6px;background:none;cursor:pointer}.tk-col-body{padding:4px 8px 10px;display:flex;flex-direction:column;gap:7px}.tk-col-empty{color:var(--text-muted);font-size:12px;text-align:center;padding:18px 0;border:1px dashed var(--border);border-radius:9px}.tk-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:9px 10px;cursor:pointer;box-shadow:0 1px 2px #0000000d}.tk-card:hover{border-color:var(--brand)}.tk-card.dragging{opacity:.45}.tk-card-title{font-weight:600;font-size:13px;margin-bottom:5px;word-break:break-word}.tk-card-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:11.5px}.tk-col-add{background:none;border-style:dashed;min-height:auto}.tk-stickies{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.tk-sticky{border-radius:4px 14px 14px;padding:10px;min-height:150px;display:flex;flex-direction:column;box-shadow:0 3px 8px #00000024}.tk-sticky textarea{flex:1;background:none;border:none;resize:vertical;font:inherit;font-size:13px;color:#1f2937;outline:none;min-height:100px}.tk-sticky-rt{flex:1;display:flex;flex-direction:column;min-height:0}.tk-sticky-tb{display:flex;align-items:center;gap:2px;margin-bottom:5px;opacity:.55;transition:opacity .15s;flex-wrap:wrap}.tk-sticky:hover .tk-sticky-tb,.tk-sticky-rt:focus-within .tk-sticky-tb{opacity:1}.tk-rt-btn{width:22px;height:22px;border:none;background:#0000000f;border-radius:4px;cursor:pointer;font-size:12px;line-height:1;color:#1f2937;display:inline-flex;align-items:center;justify-content:center;padding:0}.tk-rt-btn:hover{background:#00000024}.tk-rt-sep{width:1px;height:16px;background:#0000002e;margin:0 3px}.tk-sticky-body{flex:1;font-size:13px;line-height:1.45;color:#1f2937;outline:none;min-height:92px;overflow-y:auto;word-break:break-word}.tk-sticky-body:empty:before{content:attr(data-ph);color:#1f293766}.tk-sticky-body ul{margin:2px 0;padding-left:20px;list-style:disc}.tk-sticky-body ol{margin:2px 0;padding-left:22px;list-style:decimal}.tk-sticky-body li{margin:1px 0}.tk-sticky-meta{font-size:10px;color:#1f29378c;margin-top:4px}.tk-sticky-foot{display:flex;align-items:center;justify-content:space-between;margin-top:6px;gap:6px 8px;flex-wrap:wrap}.tk-sticky.shared{box-shadow:0 3px 8px #00000024,0 0 0 2px #3b82f673}.tk-sticky-share-hd{font-size:10.5px;font-weight:600;color:#1f2937b3;margin-bottom:4px;display:flex;align-items:center;gap:4px}.tk-sticky-labels{margin:4px 0 2px}.tk-sticky-labels .tk-tag-edit{border:none;background:#ffffff59;border-radius:6px;padding:2px 4px;min-height:22px}.tk-sticky-labels .tk-tag{background:#0000001a;color:#1f2937}.tk-sticky-labels input{color:#1f2937;font-size:11px}.tk-sticky-labels input::placeholder{color:#1f293766}.tk-sticky-actions{display:inline-flex;gap:4px;align-items:center;flex-shrink:0}.tk-sticky-foot .chip-btn{padding:4px 8px;font-size:12px;line-height:1}.tk-sticky-foot .tk-swatch{width:15px;height:15px}.tk-sticky-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:4px 0 12px}.tk-share-pop{position:absolute;bottom:100%;right:0;margin-bottom:6px;z-index:30;width:240px;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 28px #0003;padding:10px;text-align:left}.tk-share-h{font-size:12px;font-weight:700;margin-bottom:8px;color:var(--text)}.tk-sticky-colors{display:inline-flex;gap:4px;flex-wrap:wrap}.tk-swatch{width:16px;height:16px;border-radius:50%;border:1px solid rgba(0,0,0,.2);cursor:pointer;padding:0}.tk-swatch.on{outline:2px solid #1f2937;outline-offset:1px}.tk-sticky-add{align-items:center;justify-content:center;background:none;border:2px dashed var(--border);color:var(--text-muted);font:inherit;cursor:pointer;box-shadow:none}.tk-sticky-add:hover{color:var(--brand);border-color:var(--brand)}.tk-sf-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:14px;align-items:start}.tk-sf-rail{position:sticky;top:8px;display:flex;flex-direction:column;gap:2px;padding:8px;border:1px solid var(--border);border-radius:12px;background:var(--bg-surface)}.tk-sf-hd{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:10px 8px 4px}.tk-sf-item{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:8px;cursor:pointer;font-size:13px;color:var(--text-secondary);border:1px solid transparent}.tk-sf-item:hover{background:var(--bg-hover)}.tk-sf-item.on{background:color-mix(in srgb,var(--brand) 12%,transparent);color:var(--text-primary);font-weight:600}.tk-sf-item.drop{border-color:var(--brand);border-style:dashed;background:color-mix(in srgb,var(--brand) 10%,transparent)}.tk-sf-ic{width:16px;text-align:center;flex:0 0 auto}.tk-sf-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tk-sf-count{font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums}.tk-sf-dot{width:11px;height:11px;border-radius:50%;border:none;padding:0;cursor:pointer;display:inline-block}.tk-sf-tools{display:none;gap:2px}.tk-sf-item:hover .tk-sf-tools{display:inline-flex}.tk-sf-item:hover .tk-sf-count{display:none}.tk-sf-tools button{border:none;background:none;cursor:pointer;font-size:12px;padding:0 3px;color:var(--text-muted)}.tk-sf-tools button:hover{color:var(--text-primary)}.tk-sf-input{width:100%;font:inherit;font-size:13px;padding:3px 6px;border:1px solid var(--brand);border-radius:6px;background:var(--bg-base);color:var(--text-primary)}.tk-sf-new{margin-top:4px;text-align:left;padding:7px 8px;border:1px dashed var(--border);border-radius:8px;background:none;color:var(--text-muted);font:inherit;font-size:12.5px;cursor:pointer}.tk-sf-new:hover{color:var(--brand);border-color:var(--brand)}.tk-sf-hint{font-size:11px;color:var(--text-muted);padding:6px 8px;line-height:1.4}@media(max-width:760px){.tk-sf-layout{grid-template-columns:minmax(0,1fr)}.tk-sf-rail{position:static;flex-direction:row;flex-wrap:wrap}.tk-sf-rail .tk-sf-hd,.tk-sf-rail .tk-sf-hint{width:100%}}.tk-sticky.dragging{opacity:.45}.tk-sticky[draggable=true]{cursor:grab}.tk-sticky-top{display:flex;align-items:center;gap:4px 6px;flex-wrap:wrap;min-height:18px;margin-bottom:4px}.tk-sticky-top .tk-sticky-share-hd{margin:0}.tk-sticky-folder{font-size:10.5px;font-weight:600;color:#1f2937bf;padding:1px 6px;border-left:3px solid;border-radius:4px;background:#ffffff59;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.tk-sticky-open{margin-left:auto;border:none;background:#0000000f;border-radius:5px;width:22px;height:22px;cursor:pointer;color:#1f2937;font-size:13px;line-height:1;opacity:.55}.tk-sticky:hover .tk-sticky-open{opacity:1}.tk-sticky-preview{flex:1;font-size:13px;line-height:1.45;color:#1f2937;cursor:pointer;overflow:hidden;word-break:break-word;min-height:92px;max-height:190px;-webkit-mask-image:linear-gradient(#000 80%,transparent);mask-image:linear-gradient(#000 80%,transparent)}.tk-sticky-preview ul{margin:2px 0;padding-left:20px;list-style:disc}.tk-sticky-preview ol{margin:2px 0;padding-left:22px;list-style:decimal}.tk-sticky-empty{color:#1f293773;font-style:italic}.tk-sticky-taglist{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.tk-sticky-taglist .tk-tag{background:#0000001a;color:#1f2937}.tk-stw-overlay{z-index:70}.tk-stw{width:min(860px,calc(94vw / var(--ui-zoom-vu, 1)));height:min(calc(82vh / var(--ui-zoom-vu, 1)),760px);display:flex;flex-direction:column;padding:14px 18px 12px;border-radius:6px 18px 18px;box-shadow:0 24px 60px #00000059;color:#1f2937}.tk-stw-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid rgba(0,0,0,.1)}.tk-stw-who{font-size:12px;font-weight:600;color:#1f2937bf}.tk-stw-tools{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.tk-stw-tools .chip-btn{padding:5px 9px;font-size:13px;line-height:1}.tk-stw-folder{font:inherit;font-size:12.5px;padding:4px 6px;border-radius:6px;border:1px solid rgba(0,0,0,.15);background:#ffffff8c;color:#1f2937}.tk-stw-x{border:none;background:#00000014;width:30px;height:30px;border-radius:8px;font-size:20px;line-height:1;cursor:pointer;color:#1f2937}.tk-stw-x:hover{background:#00000029}.tk-sticky-rt.big{flex:1;min-height:0}.tk-sticky-rt.big .tk-sticky-tb{opacity:1;margin-bottom:8px}.tk-sticky-rt.big .tk-rt-btn{width:30px;height:30px;font-size:14px}.tk-sticky-rt.big .tk-sticky-body{font-size:15.5px;line-height:1.6;min-height:0;overflow-y:auto;padding:4px 2px}.tk-stw .tk-sticky-labels{margin-top:8px}.tk-stw .tk-sticky-meta{font-size:11px}@media(max-width:620px){.tk-stw{width:calc(100vw / var(--ui-zoom-vu, 1));height:calc(100vh / var(--ui-zoom-vu, 1));border-radius:0}}.tk-rt-mic.on{background:#dc2626;color:#fff;animation:tkMicPulse 1.2s ease-in-out infinite}@keyframes tkMicPulse{0%,to{box-shadow:0 0 #dc262680}50%{box-shadow:0 0 0 5px #dc262600}}.tk-voice-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 9px;margin-bottom:6px;border-radius:8px;background:#ffffffb3;border:1px solid rgba(220,38,38,.35);font-size:12.5px;color:#1f2937}.tk-voice-bar.err{border-color:#b91c1c66;color:#b91c1c}.tk-voice-dot{width:9px;height:9px;border-radius:50%;background:#dc2626;flex:0 0 auto;animation:tkMicPulse 1.2s ease-in-out infinite}.tk-voice-txt{flex:1 1 200px;min-width:0;color:#1f2937bf}.tk-voice-txt i{color:#1f2937;font-style:italic}.tk-voice-lang{font:inherit;font-size:12px;padding:3px 5px;border-radius:6px;border:1px solid rgba(0,0,0,.18);background:#fff;color:#1f2937}.tk-voice-stop{border:none;background:#dc2626;color:#fff;font:inherit;font-size:12px;font-weight:700;padding:4px 10px;border-radius:6px;cursor:pointer}.tk-hist{position:absolute;top:0;right:0;bottom:0;width:min(560px,100%);z-index:30;display:flex;flex-direction:column;background:#fff;color:#1f2937;border-left:1px solid rgba(0,0,0,.12);border-radius:0 18px 18px 0;box-shadow:-14px 0 30px #0000002e;animation:tkHistIn .16s ease-out}@keyframes tkHistIn{0%{transform:translate(24px);opacity:0}to{transform:none;opacity:1}}.tk-hist-hd{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #e5e7eb;font-size:14px}.tk-hist-empty{padding:18px;font-size:13px;color:#6b7280;line-height:1.5}.tk-hist-body{flex:1;min-height:0;display:grid;grid-template-columns:200px minmax(0,1fr)}.tk-hist-list{overflow-y:auto;border-right:1px solid #eef0f3;padding:6px;display:flex;flex-direction:column;gap:2px}.tk-hist-item{display:flex;gap:8px;align-items:flex-start;border:none;background:none;text-align:left;padding:7px 6px;border-radius:8px;cursor:pointer;font:inherit;color:#1f2937}.tk-hist-item:hover{background:#f3f4f6}.tk-hist-item.on{background:#eff6ff;box-shadow:inset 3px 0 #2563eb}.tk-hist-meta{display:flex;flex-direction:column;min-width:0;font-size:12px;line-height:1.35}.tk-hist-meta b{font-weight:600}.tk-hist-meta .muted{color:#6b7280;font-size:11px}.tk-hist-meta small{font-size:11px;color:#6b7280}.tk-hist-add{color:#15803d;font-weight:700}.tk-hist-del{color:#b91c1c;font-weight:700}.tk-hist-view{display:flex;flex-direction:column;min-height:0;padding:8px 12px;gap:8px}.tk-hist-tabs{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.tk-hist-tabs>button:not(.tk-link-go){border:1px solid #e5e7eb;background:#fff;font:inherit;font-size:12px;padding:4px 10px;border-radius:6px;cursor:pointer;color:#374151}.tk-hist-tabs>button.on{background:#1f2937;color:#fff;border-color:#1f2937}.tk-hist-cur{font-size:12px;font-weight:600;color:#15803d}.tk-hist-preview,.tk-hist-diff{flex:1;overflow-y:auto;border:1px solid #eef0f3;border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.55;max-height:none;-webkit-mask-image:none;mask-image:none;cursor:default}.tk-hist-diff{white-space:pre-wrap;word-break:break-word;color:#374151}.tk-hist-diff ins{background:#dcfce7;color:#166534;text-decoration:none;border-radius:3px}.tk-hist-diff del{background:#fee2e2;color:#991b1b;border-radius:3px}@media(max-width:620px){.tk-hist{width:100%;border-radius:0}.tk-hist-body{grid-template-columns:minmax(0,1fr);grid-template-rows:160px minmax(0,1fr)}.tk-hist-list{border-right:none;border-bottom:1px solid #eef0f3}}.tk-tpl-hd{grid-column:1 / -1;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);padding:6px 2px 0}.tk-tpl-hd span{text-transform:none;letter-spacing:0;font-weight:500;color:var(--text-muted)}.tk-tpl-name{font-size:13px;font-weight:700;color:#1f2937;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tk-tpl-preview{max-height:150px;font-size:12px}.tk-tpl-desc{font-size:11.5px;color:#1f2937b3;margin-top:4px}.tk-tpl-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.tk-tpl-actions .chip-btn{padding:4px 9px;font-size:12px}.tk-add-split{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:8px;padding:14px;cursor:default}.tk-add-main,.tk-add-tpl{border:1px dashed var(--border);background:none;color:var(--text-muted);font:inherit;font-size:13.5px;padding:12px;border-radius:10px;cursor:pointer;width:100%}.tk-add-main:hover,.tk-add-tpl:hover{color:var(--brand);border-color:var(--brand)}.tk-tpl-pick-wrap{position:relative;display:block}.tk-tpl-pick{position:absolute;top:calc(100% + 6px);left:0;right:0;min-width:250px;z-index:40;background:#fff;color:#1f2937;border:1px solid rgba(0,0,0,.14);border-radius:10px;box-shadow:0 12px 28px #00000038;padding:6px;display:grid;gap:2px;text-align:left}.tk-tpl-opt{display:flex;gap:9px;align-items:flex-start;border:none;background:none;padding:7px 8px;border-radius:7px;cursor:pointer;font:inherit;font-size:13px;color:#1f2937;text-align:left}.tk-tpl-opt:hover{background:#f3f4f6}.tk-tpl-opt>span:first-child{font-size:16px;line-height:1.2}.tk-tpl-opt b{display:block;font-weight:600}.tk-tpl-opt small{display:block;font-size:11px;color:#6b7280}.tk-tpl-manage{border:none;background:none;text-align:right;font:inherit;font-size:12px;color:#2563eb;padding:6px 8px;cursor:pointer;font-weight:600}.tk-tpl-namebox{display:inline-flex;align-items:center;gap:6px;flex:1 1 260px;min-width:0}.tk-tpl-namebox input{flex:1;min-width:0;font:inherit;font-size:14px;font-weight:700;padding:4px 8px;border:1px solid rgba(0,0,0,.18);border-radius:6px;background:#fff9;color:#1f2937}.tk-tpl-banner{font-size:11.5px;color:#1f2937bf;background:#ffffff80;border-radius:6px;padding:5px 9px;margin-bottom:6px}.tk-tpl-save-inp{width:100%;font:inherit;font-size:13px;padding:6px 8px;border:1px solid rgba(0,0,0,.18);border-radius:6px;color:#1f2937;background:#fff;box-sizing:border-box}.tk-stw{position:relative}.tk-stw.dropping{outline:3px dashed #2563eb;outline-offset:-8px}.tk-stw-drop{position:absolute;top:8px;right:8px;bottom:8px;left:8px;z-index:20;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#ffffffc7;color:#1d4ed8;font-weight:700;font-size:16px;pointer-events:none}.tk-atts{display:flex;flex-direction:column;gap:6px;margin-top:8px;max-height:190px;overflow-y:auto}.tk-att-imgs{display:flex;flex-wrap:wrap;gap:8px}.tk-att-img{position:relative;width:88px;height:70px;border-radius:8px;overflow:hidden;border:1px solid rgba(0,0,0,.15);background:#fff9}.tk-att-img-btn{width:100%;height:100%;padding:0;border:none;background:none;cursor:zoom-in;display:flex;align-items:center;justify-content:center}.tk-att-img-btn img{width:100%;height:100%;object-fit:cover;display:block}.tk-att-ph{font-size:22px;opacity:.5}.tk-att-x{position:absolute;top:3px;right:3px;width:20px;height:20px;border-radius:50%;border:none;background:#0009;color:#fff;font-size:13px;line-height:1;cursor:pointer;opacity:0;transition:opacity .15s}.tk-att-img:hover .tk-att-x{opacity:1}.tk-att-file{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:8px;background:#ffffff8c;border:1px solid rgba(0,0,0,.1);font-size:12.5px;color:#1f2937}.tk-att-ic{font-size:15px;flex:0 0 auto}.tk-att-name{flex:1 1 auto;min-width:0;text-align:left;border:none;background:none;padding:0;font:inherit;color:#1d4ed8;font-weight:600;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tk-att-name:hover{text-decoration:underline}.tk-att-size{font-size:11px;color:#1f293799;flex:0 0 auto;font-variant-numeric:tabular-nums}.tk-att-act{border:none;background:#0000000f;width:22px;height:22px;border-radius:5px;cursor:pointer;color:#1f2937;font-size:12px;flex:0 0 auto}.tk-att-act:hover{background:#00000024}.tk-att-status{margin-top:6px;font-size:12px;font-weight:600;color:#1d4ed8}.tk-att-status.err{color:#b91c1c}.tk-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;background:#0f172ae0;display:flex;align-items:center;justify-content:center;padding:56px 60px 24px}.tk-lightbox img{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px;box-shadow:0 20px 50px #00000080}.tk-lightbox-bar{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;color:#e5e7eb;font-size:13px}.tk-lightbox-bar button{border:none;background:#ffffff24;color:#fff;padding:6px 10px;border-radius:6px;cursor:pointer;font:inherit;font-size:12.5px}.tk-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:none;background:#ffffff29;color:#fff;font-size:26px;cursor:pointer}.tk-lightbox-nav.l{left:12px}.tk-lightbox-nav.r{right:12px}.tk-lightbox-loading{color:#cbd5e1}.tk-sticky-body .tk-mention,.tk-sticky-preview .tk-mention{display:inline-block;padding:0 6px;border-radius:999px;background:#2563eb24;color:#1d4ed8;font-weight:600;font-size:.95em;white-space:nowrap}.tk-mention-pop{position:absolute;z-index:95;width:250px;max-height:260px;overflow-y:auto;background:#fff;color:#1f2937;border:1px solid rgba(0,0,0,.14);border-radius:10px;box-shadow:0 12px 28px #00000038;padding:6px}.tk-mention-opt{display:flex;align-items:center;gap:8px;width:100%;border:none;background:none;padding:6px 7px;border-radius:7px;cursor:pointer;font:inherit;font-size:13px;color:#1f2937;text-align:left}.tk-mention-opt.on{background:#eff6ff}.tk-mention-av{width:24px;height:24px;border-radius:50%;background:#6366f1;color:#fff;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.tk-mention-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tk-mention-empty{font-size:12px;color:#6b7280;padding:6px 7px;line-height:1.4}.tk-sticky-body ul.tk-note-check,.tk-sticky-preview ul.tk-note-check{list-style:none;padding-left:0;margin:3px 0}.tk-sticky-body ul.tk-note-check>li,.tk-sticky-preview ul.tk-note-check>li{position:relative;padding-left:24px;margin:3px 0;min-height:18px}.tk-sticky-body ul.tk-note-check>li:before,.tk-sticky-preview ul.tk-note-check>li:before{content:"";position:absolute;left:1px;top:.2em;width:14px;height:14px;border:1.6px solid rgba(31,41,55,.55);border-radius:4px;background:#ffffff8c;cursor:pointer;box-sizing:border-box}.tk-sticky-body ul.tk-note-check>li[data-checked=true]:before,.tk-sticky-preview ul.tk-note-check>li[data-checked=true]:before{background:#16a34a no-repeat center / 10px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3.5 3.5L11 1.5' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");border-color:#16a34a}.tk-sticky-body ul.tk-note-check>li[data-checked=true],.tk-sticky-preview ul.tk-note-check>li[data-checked=true]{text-decoration:line-through;color:#1f29378c}.tk-sticky-body a[data-task-link],.tk-sticky-preview a[data-task-link]{text-decoration:none;font-size:.88em;font-weight:600;background:#fff9;border:1px solid rgba(37,99,235,.35);border-radius:999px;padding:0 7px;white-space:nowrap}.tk-sticky-rt{position:relative}.tk-li-task{position:absolute;right:6px;z-index:5;border:1px solid rgba(37,99,235,.45);background:#fff;color:#1d4ed8;font:inherit;font-size:11.5px;font-weight:700;padding:2px 9px;border-radius:999px;cursor:pointer;box-shadow:0 2px 6px #0000001f}.tk-li-task:hover{background:#2563eb;color:#fff}.tk-check-progress{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#1f2937bf;margin-bottom:6px}.tk-check-bar{flex:0 0 140px;height:6px;border-radius:3px;background:#0000001f;overflow:hidden}.tk-check-bar>span{display:block;height:100%;background:#16a34a;transition:width .2s}.tk-sticky-badge{font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:999px;background:#ffffff8c;color:#1f2937cc;white-space:nowrap}.tk-sticky-badge.done{background:#dcfce7;color:#15803d}.tk-sticky-badge.remind{background:#fff7ed;color:#c2410c}.tk-remind-wrap{position:relative;display:inline-flex}.tk-remind-when{font-size:11px;font-weight:600}.tk-remind-pop{position:absolute;top:calc(100% + 6px);right:0;z-index:90;width:270px;background:#fff;color:#1f2937;border:1px solid rgba(0,0,0,.14);border-radius:10px;box-shadow:0 12px 30px #00000038;padding:8px;display:grid;gap:4px}.tk-remind-opt{display:flex;justify-content:space-between;gap:8px;border:none;background:none;text-align:left;font:inherit;font-size:12.5px;padding:7px 8px;border-radius:6px;cursor:pointer;color:#1f2937}.tk-remind-opt:hover{background:#f3f4f6}.tk-remind-opt .muted{font-size:11px;color:#6b7280}.tk-remind-custom{display:flex;gap:6px;padding:4px 0}.tk-remind-custom input{flex:1;min-width:0;font:inherit;font-size:12px;padding:4px 6px;border:1px solid rgba(0,0,0,.18);border-radius:6px;color:#1f2937;background:#fff}.tk-sticky-body hr,.tk-sticky-preview hr{border:none;border-top:1.5px solid rgba(31,41,55,.35);margin:8px 0}.tk-sticky-body a,.tk-sticky-preview a{color:#1d4ed8;text-decoration:underline;text-underline-offset:2px;word-break:break-all}.tk-sticky-body a.tk-drive-link,.tk-sticky-preview a.tk-drive-link{padding-left:18px;background:no-repeat left center / 14px 12px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 87.3 78'%3E%3Cpath fill='%230066da' d='M6.6 66.85l3.85 6.65c.8 1.4 1.95 2.5 3.3 3.3L27.5 53H0c0 1.55.4 3.1 1.2 4.5z'/%3E%3Cpath fill='%2300ac47' d='M43.65 25L29.9 1.2c-1.35.8-2.5 1.9-3.3 3.3L1.2 48.5A9 9 0 000 53h27.5z'/%3E%3Cpath fill='%23ea4335' d='M73.55 76.8c1.35-.8 2.5-1.9 3.3-3.3l1.6-2.75 7.65-13.25c.8-1.4 1.2-2.95 1.2-4.5H59.8l5.85 11.5z'/%3E%3Cpath fill='%2300832d' d='M43.65 25L57.4 1.2C56.05.4 54.5 0 52.9 0H34.4c-1.6 0-3.15.45-4.5 1.2z'/%3E%3Cpath fill='%232684fc' d='M59.8 53H27.5L13.75 76.8c1.35.8 2.9 1.2 4.5 1.2h50.8c1.6 0 3.15-.45 4.5-1.2z'/%3E%3Cpath fill='%23ffba00' d='M73.4 26.5L60.7 4.5c-.8-1.4-1.95-2.5-3.3-3.3L43.65 25 59.8 53h27.45c0-1.55-.4-3.1-1.2-4.5z'/%3E%3C/svg%3E")}.tk-rt-sel{height:24px;font:inherit;font-size:11.5px;padding:0 4px;border:none;border-radius:4px;background:#0000000f;color:#1f2937;cursor:pointer;max-width:104px}.tk-rt-sel:hover{background:#00000024}.tk-rt-btn.on{background:#0000002e}.tk-rt-colorA{font-weight:800;text-decoration:underline;text-decoration-color:#dc2626;text-decoration-thickness:3px;text-underline-offset:1px}.tk-rt-popwrap{position:relative;display:inline-flex}.tk-rt-pop{position:absolute;top:calc(100% + 4px);left:0;z-index:90;background:#fff;color:#1f2937;border:1px solid rgba(0,0,0,.14);border-radius:10px;box-shadow:0 10px 28px #0003;padding:8px}.tk-rt-colorpop{width:200px}.tk-rt-pop-lbl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#6b7280;margin:2px 0 5px}.tk-rt-swatches{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.tk-rt-sw{width:20px;height:20px;border-radius:50%;border:1px solid rgba(0,0,0,.2);cursor:pointer;padding:0}.tk-rt-sw:hover{transform:scale(1.15)}.tk-rt-clear{width:100%;border:1px solid rgba(0,0,0,.12);background:#f9fafb;border-radius:6px;padding:5px;font:inherit;font-size:12px;cursor:pointer;color:#374151}.tk-rt-emojipop{width:280px;max-height:220px;overflow-y:auto;display:grid;grid-template-columns:repeat(8,1fr);gap:2px}.tk-rt-emoji{border:none;background:none;font-size:19px;line-height:1;padding:5px 0;border-radius:6px;cursor:pointer}.tk-rt-emoji:hover{background:#f3f4f6}.tk-link-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:7px;margin-bottom:6px;border-radius:8px;background:#fff9;border:1px solid rgba(0,0,0,.12)}.tk-link-bar input{flex:1 1 200px;min-width:0;font:inherit;font-size:12.5px;padding:5px 8px;border:1px solid rgba(0,0,0,.18);border-radius:6px;background:#fff;color:#1f2937}.tk-link-text{flex:1 1 140px!important}.tk-link-go{border:none;background:#2563eb;color:#fff;font:inherit;font-size:12px;font-weight:600;padding:6px 12px;border-radius:6px;cursor:pointer;white-space:nowrap}.tk-link-x{border:none;background:#00000014;width:26px;height:26px;border-radius:6px;cursor:pointer;font-size:16px;color:#1f2937}.tk-link-err{width:100%;font-size:11.5px;color:#b91c1c}.tk-link-hint{width:100%;font-size:11px;color:#1f293799}.tk-note-links{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.tk-note-link{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:3px 8px;border-radius:999px;background:#fff9;border:1px solid rgba(0,0,0,.12);color:#1e3a8a;font-size:12px;font-weight:600;text-decoration:none}.tk-note-link:hover{background:#fff}.tk-note-link-t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px}.tk-note-links.compact .tk-note-link{font-size:11px;padding:2px 7px}.tk-note-links.compact .tk-note-link-t{max-width:130px}.tk-note-link-more{font-size:11px;color:#1f293799;align-self:center}.tk-link-ic{font-size:11px}.tk-drive-ic{width:14px;height:12px;flex:0 0 auto;background:no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 87.3 78'%3E%3Cpath fill='%230066da' d='M6.6 66.85l3.85 6.65c.8 1.4 1.95 2.5 3.3 3.3L27.5 53H0c0 1.55.4 3.1 1.2 4.5z'/%3E%3Cpath fill='%2300ac47' d='M43.65 25L29.9 1.2c-1.35.8-2.5 1.9-3.3 3.3L1.2 48.5A9 9 0 000 53h27.5z'/%3E%3Cpath fill='%23ea4335' d='M73.55 76.8c1.35-.8 2.5-1.9 3.3-3.3l1.6-2.75 7.65-13.25c.8-1.4 1.2-2.95 1.2-4.5H59.8l5.85 11.5z'/%3E%3Cpath fill='%2300832d' d='M43.65 25L57.4 1.2C56.05.4 54.5 0 52.9 0H34.4c-1.6 0-3.15.45-4.5 1.2z'/%3E%3Cpath fill='%232684fc' d='M59.8 53H27.5L13.75 76.8c1.35.8 2.9 1.2 4.5 1.2h50.8c1.6 0 3.15-.45 4.5-1.2z'/%3E%3Cpath fill='%23ffba00' d='M73.4 26.5L60.7 4.5c-.8-1.4-1.95-2.5-3.3-3.3L43.65 25 59.8 53h27.45c0-1.55-.4-3.1-1.2-4.5z'/%3E%3C/svg%3E")}.tk-dialog{width:min(1040px,calc(96vw / var(--ui-zoom-vu, 1)));max-width:none;max-height:calc(92vh / var(--ui-zoom-vu, 1));display:flex;flex-direction:column;overflow:hidden}.tk-page{max-width:1120px;margin:0 auto}.tk-back{margin-bottom:12px}.tk-page .tk-dialog{width:100%;max-height:none;overflow:visible;border:1px solid var(--border);border-radius:var(--radius-lg, 12px);background:var(--bg-surface);box-shadow:var(--shadow)}.tk-page .tk-dialog-body{overflow:visible;align-items:start}.tk-page .tk-main,.tk-page .tk-side{overflow:visible}.tk-row-icon{font-size:15px;line-height:1;flex:0 0 auto}.tk-icon-btn{border:none;background:none;cursor:pointer;font-size:20px;line-height:1;padding:2px;border-radius:6px}.tk-icon-btn:hover:not(:disabled){background:var(--bg-hover)}.tk-icon-btn:disabled{cursor:default}.tk-icon-pop{position:absolute;top:100%;left:0;z-index:40;margin-top:4px;width:230px;display:flex;flex-wrap:wrap;gap:2px;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 28px #0000002e;padding:8px}.tk-icon-pop button{border:none;background:none;cursor:pointer;font-size:19px;line-height:1;padding:4px;border-radius:6px}.tk-icon-pop button:hover{background:var(--bg-hover)}.tk-icon-pop .tk-icon-clear{font-size:11px;color:var(--text-muted);width:100%;text-align:left;padding:4px 6px}.tk-cover{height:40px;border-radius:14px 14px 0 0;margin:-1px -1px 0;background:linear-gradient(120deg,var(--bg-hover),var(--bg-active));position:relative}.tk-cover.has{height:150px;background-size:cover;background-position:center}.tk-cover-actions{position:absolute;right:10px;bottom:8px;display:flex;gap:6px}.tk-cover.has .tk-cover-actions .chip-btn{background:#0000008c;color:#fff;border-color:transparent}.tk-group-hd td{background:var(--bg-base);font-weight:700}.tk-group-dot{display:inline-block;width:9px;height:9px;border-radius:50%;vertical-align:middle;margin-right:6px}.tk-dialog-head{display:flex;align-items:center;gap:10px;padding:14px 18px 8px}.tk-title-inp{flex:1;min-width:0;font-size:19px;font-weight:800;border:1px solid transparent;border-radius:8px;padding:4px 8px;background:none;color:inherit}.tk-title-ro{min-width:0;overflow-wrap:anywhere}.tk-title-inp:hover,.tk-title-inp:focus{border-color:var(--border);outline:none;background:var(--bg-base)}.tk-title-ro{flex:1;margin:0}.tk-done-banner{margin:0 18px;padding:7px 12px;border-radius:9px;background:#10b9811a;color:#10b981;font-size:12.5px;font-weight:600}.tk-dialog-body{display:grid;grid-template-columns:1fr 285px;gap:0;overflow:hidden;flex:1}.tk-main{padding:10px 18px 18px;overflow-y:auto}.tk-side{border-left:1px solid var(--border);padding:12px 14px;overflow-y:auto;background:var(--bg-base)}.tk-side-row{display:grid;grid-template-columns:92px 1fr;gap:8px;align-items:center;margin-bottom:9px;font-size:12.5px}.tk-side-label{color:var(--text-muted)}.tk-side-val select,.tk-side-val input{width:100%;box-sizing:border-box}.tk-side-sep{border-top:1px solid var(--border);margin:12px 0}.tk-member-list{display:flex;flex-direction:column;gap:5px}.tk-member{display:inline-flex;align-items:center;gap:6px;font-size:12.5px}.tk-member button{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:0 3px}.tk-member button:hover{color:#ef4444}.tk-section{margin-top:16px}.tk-sub-list{list-style:none;margin:6px 0;padding:0;display:flex;flex-direction:column;gap:4px}.tk-sub-open{display:flex;align-items:center;gap:7px;width:100%;background:none;border:1px solid var(--border);border-radius:8px;padding:6px 9px;cursor:pointer;font:inherit;font-size:12.5px;color:inherit;text-align:left}.tk-sub-open:hover{border-color:var(--brand)}.tk-sub-add{margin-top:6px}.tk-atts{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.tk-att{display:inline-flex;gap:3px;align-items:center}.tk-comments{display:flex;flex-direction:column;gap:9px;margin:8px 0}.tk-comment{display:flex;gap:8px;align-items:flex-start}.tk-comment-body{font-size:13px;white-space:pre-wrap;word-break:break-word;background:var(--bg-base);border-radius:0 10px 10px;padding:7px 10px;margin-top:3px}.tk-comment-sys{font-size:11.5px;color:var(--text-muted);text-align:center}.tk-comment-add{display:flex;flex-direction:column;gap:6px}.tk-comment-thread{margin-bottom:10px}.tk-comment.reply{margin-top:6px}.tk-replies{margin-left:34px;padding-left:10px;border-left:2px solid var(--border);margin-top:4px}.tk-comment-rt{margin-top:2px;background:var(--bg-base);border-radius:0 10px 10px;padding:2px 8px}.tk-comment-rt .tt-wrap{border:none}.tk-comment-rt .tt-content{padding:4px 0;min-height:0}.tk-react-bar{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin-top:5px}.tk-react{border:1px solid var(--border);background:var(--bg-base);border-radius:12px;padding:1px 8px;font-size:12px;cursor:pointer;line-height:1.5}.tk-react:hover{border-color:var(--accent)}.tk-react.mine{background:var(--accent-bg);border-color:var(--accent);color:var(--accent-col);font-weight:600}.tk-react-add{border:1px dashed var(--border);background:none;border-radius:12px;padding:1px 7px;font-size:12px;cursor:pointer;color:var(--text-muted)}.tk-react-add sup{font-size:9px}.tk-react-pop{position:absolute;bottom:100%;left:0;z-index:40;margin-bottom:4px;display:flex;gap:2px;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #0000002e;padding:5px}.tk-react-pop button{border:none;background:none;cursor:pointer;font-size:17px;padding:3px;border-radius:6px;line-height:1}.tk-react-pop button:hover{background:var(--bg-hover)}.tk-reply-btn{border:none;background:none;cursor:pointer;font-size:11.5px;color:var(--text-muted);padding:1px 4px}.tk-reply-btn:hover{color:var(--accent-col)}.tk-comment-composer{display:flex;flex-direction:column;gap:4px;margin-top:8px}.tk-pick{display:flex;flex-wrap:wrap;gap:6px}@media(max-width:760px){.tk-dialog-body{grid-template-columns:1fr}.tk-side{order:-1;border-left:none;border-top:none;border-bottom:1px solid var(--border)}}.tt-wrap{border:1px solid var(--border);border-radius:10px;overflow:visible}.tt-wrap.tt-readonly{border-color:transparent}.tt-toolbar{display:flex;flex-wrap:wrap;gap:2px;align-items:center;border-bottom:1px solid var(--border);padding:5px 7px;position:sticky;top:0;background:var(--bg-surface);z-index:5;border-radius:10px 10px 0 0}.tt-btn{min-width:26px;height:26px;padding:0 5px;border:1px solid transparent;background:none;border-radius:6px;cursor:pointer;font-size:12.5px;color:inherit}.tt-btn:hover{background:var(--bg-base)}.tt-btn.on{background:var(--bg-base);border-color:var(--brand);color:var(--brand)}.tt-sep{width:1px;height:18px;background:var(--border);margin:0 4px}.tt-emoji-pop{position:absolute;top:30px;left:-60px;z-index:30;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #00000029;padding:6px;display:grid;grid-template-columns:repeat(6,1fr);gap:2px}.tt-emoji-pop button{background:none;border:none;font-size:17px;cursor:pointer;padding:3px;border-radius:6px}.tt-emoji-pop button:hover{background:var(--bg-base)}.tt-content .ProseMirror{padding:12px 14px;min-height:130px;outline:none;font-size:13.5px;line-height:1.55}.tt-readonly .tt-content .ProseMirror{padding:4px 0;min-height:auto}.tt-content h1{font-size:20px;margin:12px 0 6px}.tt-content h2{font-size:17px;margin:10px 0 5px}.tt-content h3{font-size:14.5px;margin:8px 0 4px}.tt-content p{margin:4px 0}.tt-content blockquote{border-left:3px solid var(--brand);margin:6px 0;padding:2px 12px;color:var(--text-muted)}.tt-content ul,.tt-content ol{padding-left:22px;margin:4px 0}.tt-content ul[data-type=taskList]{list-style:none;padding-left:2px}.tt-content ul[data-type=taskList] li{display:flex;gap:7px;align-items:flex-start}.tt-content ul[data-type=taskList] li>label{margin-top:2px}.tt-content ul[data-type=taskList] li[data-checked=true]>div{text-decoration:line-through;color:var(--text-muted)}.tt-content img{max-width:100%;border-radius:8px}.tt-content a{color:var(--brand)}.tt-content table{border-collapse:collapse;margin:8px 0;width:100%}.tt-content th,.tt-content td{border:1px solid var(--border);padding:5px 9px;font-size:12.5px}.tt-content th{background:var(--bg-base);font-weight:700}.tt-callout{border-radius:10px;padding:9px 12px;margin:7px 0;border:1px solid transparent}.tt-callout-info{background:#3b82f617;border-color:#3b82f64d}.tt-callout-warn{background:#f59e0b1a;border-color:#f59e0b59}.tt-callout-danger{background:#ef444417;border-color:#ef44444d}.tt-callout-success{background:#10b98117;border-color:#10b9814d}.tt-toggle{border:1px solid var(--border);border-radius:10px;padding:6px 10px;margin:7px 0}.tt-toggle>summary{cursor:pointer;font-weight:700;font-size:13px}.tt-toggle-body{padding:4px 0 2px 14px}.tt-mention{background:#6366f121;color:#6366f1;border-radius:6px;padding:1px 4px;font-weight:600}.tt-mention-pop{position:fixed;z-index:200;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #0000002e;padding:4px;display:flex;flex-direction:column;min-width:170px}.tt-mention-opt{text-align:left;background:none;border:none;padding:6px 10px;border-radius:7px;cursor:pointer;font:inherit;font-size:12.5px;color:inherit}.tt-mention-opt:hover,.tt-mention-opt.active{background:var(--bg-base);color:var(--brand)}.tt-mention-empty{padding:6px 10px;color:var(--text-muted);font-size:12px}.tt-content p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--text-muted);float:left;height:0;pointer-events:none}.tk-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:60;display:flex;justify-content:flex-end}.tk-drawer{width:min(500px,calc(96vw / var(--ui-zoom-vu, 1)));height:100%;background:var(--bg-surface);display:flex;flex-direction:column;box-shadow:-8px 0 30px #00000038;animation:tk-slide-in .22s ease}@keyframes tk-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}@media(prefers-reduced-motion:reduce){.tk-drawer{animation:none}}.tk-drawer-body{padding:14px 18px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:10px}.tk-drawer-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--border)}.tk-tag{display:inline-flex;align-items:center;gap:3px;background:#6366f11f;color:#6366f1;border-radius:7px;padding:2px 7px;font-size:11.5px;font-weight:600}.tk-tag.sm{font-size:10.5px;padding:1px 6px;cursor:pointer}.tk-tag button{background:none;border:none;color:inherit;cursor:pointer;padding:0 1px;font-size:13px;line-height:1}.tk-tag button:hover{color:#ef4444}.tk-tag-edit{display:flex;flex-wrap:wrap;gap:5px;align-items:center;border:1px solid var(--border);border-radius:8px;padding:6px;background:var(--bg-surface)}.tk-tag-edit input{flex:1;min-width:90px;border:none;outline:none;background:none;font:inherit;font-size:12.5px;color:inherit}.tk-board-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.tk-board-card{position:relative;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:12px;background:var(--bg-surface);cursor:pointer;overflow:hidden;text-align:left;font:inherit;color:inherit;min-height:150px}.tk-board-card:hover{border-color:var(--brand);box-shadow:0 3px 12px #00000014}.tk-board-thumb{height:76px;display:flex;align-items:center;justify-content:center;font-size:34px;background:linear-gradient(135deg,#6366f11f,#0ea5e91f)}.tk-board-body{padding:9px 11px;display:flex;flex-direction:column;gap:3px}.tk-board-title{font-size:13.5px}.tk-board-del{position:absolute;top:6px;right:6px;opacity:0}.tk-board-card:hover .tk-board-del{opacity:1}.tk-board-actions{position:absolute;top:6px;right:6px;display:flex;gap:4px;opacity:0}.tk-board-card:hover .tk-board-actions{opacity:1}.tk-board-card.shared{box-shadow:0 0 0 2px #3b82f673}.tk-tpl-section{margin:6px 0 4px}.tk-tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}.tk-tpl-card{display:flex;flex-direction:column;gap:3px;align-items:flex-start;text-align:left;border:1px solid var(--border);border-radius:10px;background:var(--bg-surface);padding:12px;cursor:pointer;font:inherit;color:inherit;transition:border-color .15s,box-shadow .15s}.tk-tpl-card:hover:not(:disabled){border-color:var(--brand);box-shadow:0 3px 12px #00000014}.tk-tpl-card:disabled{opacity:.6;cursor:default}.tk-tpl-icon{font-size:22px;line-height:1}.tk-tpl-name{font-size:13px}.tk-tpl-desc{font-size:11px;color:var(--text-muted);line-height:1.4}.cv-stale{display:flex;align-items:center;gap:8px;background:var(--accent-bg, rgba(123,102,255,.1));border:1px solid var(--accent, #7b66ff);border-radius:8px;padding:6px 12px;margin-bottom:8px;font-size:12.5px}.tk-board-add{align-items:center;justify-content:center;gap:6px;border-style:dashed;color:var(--text-muted)}.tk-board-add:hover{color:var(--brand)}.cv-page{display:flex;flex-direction:column;gap:10px}.cv-topbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cv-title{font-size:15px;font-weight:700;border:1px solid transparent;border-radius:8px;padding:5px 9px;background:none;color:inherit;min-width:180px}.cv-title:hover,.cv-title:focus{border-color:var(--border);background:var(--bg-base);outline:none}.cv-save-state{font-size:11.5px;color:var(--text-muted);min-width:90px}.cv-tools{display:flex;align-items:center;gap:8px;margin-left:auto;flex-wrap:wrap}.cv-shapes,.cv-colors{display:inline-flex;gap:3px;align-items:center}.cv-swatch{width:20px;height:20px;border-radius:6px;border:1px solid rgba(0,0,0,.2);cursor:pointer;padding:0}.cv-swatch.on{outline:2px solid var(--brand);outline-offset:1px}.cv-flow{position:relative;height:calc(calc(100vh / var(--ui-zoom-vu, 1)) - 250px);min-height:460px;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--bg-base)}.cv-empty{position:absolute;top:16px;left:50%;transform:translate(-50%);z-index:4;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:10px 16px;font-size:12.5px;color:var(--text-muted);max-width:80%;text-align:center;pointer-events:none}.cv-node{min-width:110px;max-width:240px;min-height:46px;padding:10px 12px;color:#1f2937;font-size:12.5px;display:flex;align-items:center;justify-content:center;text-align:center;background:transparent}.cv-shape{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;filter:drop-shadow(1px 0 0 rgba(0,0,0,.32)) drop-shadow(-1px 0 0 rgba(0,0,0,.32)) drop-shadow(0 1px 0 rgba(0,0,0,.32)) drop-shadow(0 -1px 0 rgba(0,0,0,.32)) drop-shadow(0 3px 4px rgba(0,0,0,.14))}.cv-node.sel .cv-shape{filter:drop-shadow(2px 0 0 #111) drop-shadow(-2px 0 0 #111) drop-shadow(0 2px 0 #111) drop-shadow(0 -2px 0 #111) drop-shadow(0 4px 6px rgba(0,0,0,.18))}.cv-node.collapsed .cv-shape{filter:drop-shadow(1px 0 0 rgba(0,0,0,.32)) drop-shadow(-1px 0 0 rgba(0,0,0,.32)) drop-shadow(0 1px 0 rgba(0,0,0,.32)) drop-shadow(0 -1px 0 rgba(0,0,0,.32)) drop-shadow(5px 5px 0 rgba(0,0,0,.16))}.cv-shape-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--c, #fef08a);border-radius:9px}.cv-node.cv-ol .cv-shape,.cv-node.cv-ol.sel .cv-shape{filter:none}.cv-shape-ol{position:absolute;left:0;top:0;overflow:visible;pointer-events:none}.cv-node.cv-ol.sel{outline:1.5px dashed #6366f1;outline-offset:4px;border-radius:6px}.cv-node.cv-nofill{color:var(--text-primary)}.cv-node.cv-nofill .cv-cylinder .cv-shape-bg:after,.cv-node.cv-nofill .cv-shape-bg:after{display:none}.cv-node-content{position:relative;z-index:1;width:100%}.cv-round .cv-shape-bg{border-radius:26px}.cv-pill{padding:10px 22px}.cv-pill .cv-shape-bg{border-radius:999px}.cv-circle{width:130px;min-width:130px;min-height:130px;padding:24px}.cv-circle .cv-shape-bg{border-radius:50%}.cv-diamond{min-width:150px;min-height:100px;padding:24px 34px}.cv-diamond .cv-shape-bg{border-radius:0;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.cv-hexagon{padding:12px 30px;min-height:60px}.cv-hexagon .cv-shape-bg{border-radius:0;clip-path:polygon(16% 0,84% 0,100% 50%,84% 100%,16% 100%,0 50%)}.cv-parallelogram{padding:10px 30px}.cv-parallelogram .cv-shape-bg{border-radius:0;clip-path:polygon(16% 0,100% 0,84% 100%,0 100%)}.cv-triangle{min-width:160px;min-height:110px;padding:44px 34px 12px;align-items:flex-end}.cv-triangle .cv-shape-bg{border-radius:0;clip-path:polygon(50% 0,100% 100%,0 100%)}.cv-cloud{min-width:150px;min-height:84px;padding:20px 28px}.cv-cloud .cv-shape-bg{border-radius:0;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 60' preserveAspectRatio='none'%3E%3Cpath d='M34 7A22 22 0 0 1 66 7A15 15 0 0 1 91 21A9 9 0 0 1 91 39A14 14 0 0 1 66 54A24 24 0 0 1 34 54A14 14 0 0 1 9 39A9 9 0 0 1 9 21A15 15 0 0 1 34 7Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 60' preserveAspectRatio='none'%3E%3Cpath d='M34 7A22 22 0 0 1 66 7A15 15 0 0 1 91 21A9 9 0 0 1 91 39A14 14 0 0 1 66 54A24 24 0 0 1 34 54A14 14 0 0 1 9 39A9 9 0 0 1 9 21A15 15 0 0 1 34 7Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat}.cv-sticky{min-width:130px;min-height:100px;padding:14px 14px 20px;align-items:flex-start}.cv-sticky .cv-shape-bg{border-radius:2px;clip-path:polygon(0 0,100% 0,100% 84%,86% 100%,0 100%)}.cv-sticky .cv-shape-bg:after{content:"";position:absolute;right:0;bottom:0;width:14%;height:16%;background:#00000024;clip-path:polygon(0 0,100% 0,0 100%)}.cv-callout{padding:10px 14px 28px}.cv-callout .cv-shape-bg{border-radius:0;clip-path:polygon(0 0,100% 0,100% 76%,42% 76%,22% 100%,26% 76%,0 76%)}.cv-cylinder{min-height:80px;padding:30px 14px 16px}.cv-cylinder .cv-shape-bg{border-radius:50%/16px}.cv-cylinder .cv-shape-bg:after{content:"";position:absolute;left:0;right:0;top:0;height:32px;border-radius:50%;border-bottom:1.5px solid rgba(0,0,0,.28)}.cv-node-label{white-space:pre-wrap;word-break:break-word;width:100%}.cv-node-label ul{text-align:left;margin:2px 0;padding-left:18px;list-style:disc}.cv-node-label ol{text-align:left;margin:2px 0;padding-left:20px}.cv-node-edit{width:100%}.cv-node-tb{display:flex;gap:2px;justify-content:center;margin-bottom:4px}.cv-node-tb button{width:20px;height:20px;border:none;background:#00000014;border-radius:4px;cursor:pointer;font-size:11px;line-height:1;color:#1f2937;padding:0}.cv-node-tb button:hover{background:#00000029}.cv-node-input-legacy{width:100%}.cv-sep{width:1px;height:20px;background:var(--border);margin:0 2px;display:inline-block}.cv-align{display:inline-flex;gap:2px;align-items:center}.cv-node-ph{color:#1f293773;font-style:italic}.cv-node-input{width:100%;min-height:38px;border:none;background:#fff9;resize:none;font:inherit;font-size:12.5px;color:#1f2937;text-align:center;outline:none;border-radius:5px}.cv-handle{width:8px;height:8px;background:#6366f1;border:1px solid #fff}.cv-node{position:relative}.cv-handle{opacity:.35;transition:opacity .12s,transform .12s}.cv-node:hover .cv-handle,.cv-node.sel .cv-handle,.react-flow__handle.connectingfrom,.react-flow__handle.valid{opacity:1}.cv-node:hover .cv-handle{transform:scale(1.35)}.cv-add-child{position:absolute;right:-28px;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:50%;border:none;background:#6366f1;color:#fff;font-size:13px;line-height:1;cursor:pointer;padding:0;opacity:0;transition:opacity .12s;box-shadow:0 1px 4px #00000040}.cv-node:hover .cv-add-child,.cv-node.sel .cv-add-child{opacity:1}.cv-add-child:hover{background:#4f46e5;transform:translateY(-50%) scale(1.12)}.cv-branch{position:absolute;right:-10px;bottom:-11px;min-width:22px;height:20px;padding:0 6px;border-radius:999px;border:1px solid rgba(0,0,0,.18);background:#fff;color:#1f2937;font-size:11px;font-weight:700;line-height:18px;cursor:pointer;box-shadow:0 1px 3px #0000002e}.cv-branch:hover{background:#eef2ff}.cv-cmt-badge{position:absolute;left:-8px;top:-11px;z-index:2;height:20px;padding:0 6px;border-radius:999px;border:1px solid rgba(0,0,0,.18);background:#fff;color:#1f2937;font-size:10.5px;font-weight:700;line-height:18px;cursor:pointer;box-shadow:0 1px 3px #0000002e}.cv-cmt-badge:hover{background:#eef2ff}.cv-add-child,.cv-branch{z-index:2}.cv-ftb{display:flex;align-items:center;gap:3px;padding:4px 6px;background:var(--bg-surface, #fff);color:var(--text-primary, #1f2937);border:1px solid var(--border);border-radius:10px;box-shadow:0 6px 18px #00000029;white-space:nowrap;font-size:12px;pointer-events:all}.cv-ftb-edge{position:absolute;z-index:1000}.cv-ftb-btn{min-width:26px;height:26px;padding:0 6px;border:1px solid transparent;border-radius:6px;background:transparent;color:inherit;font:inherit;font-size:12.5px;cursor:pointer;line-height:1}.cv-ftb-btn:hover{background:var(--bg-base, #f1f5f9)}.cv-ftb-btn.on{background:#eef2ff;border-color:#a5b4fc;color:#3730a3}.cv-ftb-btn.danger:hover{background:#fee2e2;color:#b91c1c}.cv-ftb-sw{width:16px;height:16px;padding:0;border-radius:4px;border:1px solid rgba(0,0,0,.22);cursor:pointer}.cv-ftb-sw.round{border-radius:50%}.cv-ftb-sw.on{outline:2px solid var(--brand, #6366f1);outline-offset:1px}.cv-ftb-sep{width:1px;height:18px;background:var(--border);margin:0 3px}.cv-ftb-sel{font:inherit;font-size:12px;height:26px;padding:0 4px;border-radius:6px;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-primary)}.cv-ftb-input{width:110px;height:26px;font:inherit;font-size:12px;padding:0 7px;border-radius:6px;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-primary)}.cv-ftb-wrap{position:relative;display:inline-flex}.cv-ftb-pop{position:absolute;top:32px;left:0;z-index:5;background:var(--bg-surface, #fff);border:1px solid var(--border);border-radius:10px;padding:6px;box-shadow:0 8px 20px #0000002e}.cv-shape-grid{display:grid;grid-template-columns:repeat(6,30px);gap:3px}.cv-shape-grid button{width:30px;height:30px;border:1px solid var(--border);border-radius:6px;background:var(--bg-surface, #fff);color:var(--text-primary);font-size:15px;cursor:pointer;padding:0;line-height:1}.cv-shape-grid button:hover{background:var(--bg-base)}.cv-shape-grid button.on{background:#eef2ff;border-color:#6366f1}.cv-menu{position:absolute;z-index:1100;min-width:220px;background:var(--bg-surface, #fff);color:var(--text-primary);border:1px solid var(--border);border-radius:10px;padding:6px;box-shadow:0 10px 28px #00000038;display:flex;flex-direction:column;gap:2px;font-size:12.5px}.cv-menu-lbl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:4px 6px 2px}.cv-menu-row{display:flex;flex-wrap:wrap;gap:4px;padding:2px 6px 4px}.cv-menu .cv-shape-grid{padding:0 6px 4px}.cv-menu-sep{height:1px;background:var(--border);margin:4px 0}.cv-menu-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:6px 8px;border:none;background:transparent;color:inherit;font:inherit;border-radius:6px;cursor:pointer}.cv-menu-item:hover{background:var(--bg-base, #f1f5f9)}.cv-menu-item.danger{color:#dc2626}.cv-menu-item.danger:hover{background:#fee2e2}.cv-menu-item kbd{margin-left:auto;font:10.5px ui-monospace,monospace;color:var(--text-muted);border:1px solid var(--border);border-radius:4px;padding:0 4px}.cv-cmt{width:280px;background:var(--bg-surface, #fff);color:var(--text-primary);border:1px solid var(--border);border-radius:12px;box-shadow:0 10px 28px #0003;font-size:12.5px;text-align:left;cursor:default}.cv-cmt-hd{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid var(--border)}.cv-cmt-hd button{border:none;background:transparent;color:var(--text-muted);font-size:17px;cursor:pointer;line-height:1}.cv-cmt-list{max-height:240px;overflow-y:auto;padding:6px 10px;display:flex;flex-direction:column;gap:8px}.cv-cmt-empty{color:var(--text-muted);font-style:italic;padding:4px 0}.cv-cmt-item{display:flex;gap:8px}.cv-cmt-av{flex:none;width:24px;height:24px;border-radius:50%;background:#6366f1;color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center}.cv-cmt-body{min-width:0;flex:1}.cv-cmt-meta{font-size:11px;color:var(--text-muted);display:flex;align-items:center;gap:4px}.cv-cmt-meta b{color:var(--text-primary)}.cv-cmt-meta button{margin-left:auto;border:none;background:transparent;cursor:pointer;font-size:11px;opacity:.6}.cv-cmt-meta button:hover{opacity:1}.cv-cmt-text{white-space:pre-wrap;word-break:break-word;margin-top:2px}.cv-cmt-add{display:flex;gap:6px;align-items:flex-end;padding:8px 10px;border-top:1px solid var(--border)}.cv-cmt-add textarea{flex:1;resize:vertical;font:inherit;font-size:12px;padding:6px 8px;border-radius:7px;border:1px solid var(--border);background:var(--bg-base);color:var(--text-primary)}.cv-cmt-btn{border:none;background:#6366f1;color:#fff;border-radius:7px;padding:6px 12px;font:inherit;font-size:12px;font-weight:600;cursor:pointer}.cv-cmt-btn:disabled{opacity:.45;cursor:default}.cv-shape-grid{grid-template-columns:repeat(7,30px)}.cv-flow .react-flow__controls{display:flex}.react-flow__node .react-flow__handle.cv-strip{background:transparent!important;border:none;border-radius:4px;opacity:1!important;min-width:0;min-height:0;transform:none!important}.react-flow__node .react-flow__handle.cv-strip.react-flow__handle-top{top:-4px;left:8px;width:calc(100% - 16px);height:7px}.react-flow__node .react-flow__handle.cv-strip.react-flow__handle-bottom{bottom:-4px;top:auto;left:8px;width:calc(100% - 16px);height:7px}.react-flow__node .react-flow__handle.cv-strip.react-flow__handle-left{left:-4px;top:8px;width:7px;height:calc(100% - 16px)}.react-flow__node .react-flow__handle.cv-strip.react-flow__handle-right{right:-4px;left:auto;top:8px;width:7px;height:calc(100% - 16px)}.react-flow__node .react-flow__handle.cv-attach{opacity:0!important;pointer-events:none!important}.react-flow__node:hover .react-flow__handle.cv-strip{background:#6366f11a!important}.react-flow__node .react-flow__handle.cv-strip:hover,.react-flow__node .react-flow__handle.cv-strip.connectingto,.react-flow__node .react-flow__handle.cv-strip.valid{background:#6366f161!important;cursor:crosshair}.react-flow__node .react-flow__handle.cv-anchor{width:4px;height:4px;min-width:0;min-height:0;background:#6366f1;border:none;opacity:0;pointer-events:none}.react-flow__node .react-flow__handle.cv-anchor.react-flow__handle-top{top:0}.react-flow__node .react-flow__handle.cv-anchor.react-flow__handle-bottom{bottom:0;top:auto}.react-flow__node .react-flow__handle.cv-anchor.react-flow__handle-left{left:0}.react-flow__node .react-flow__handle.cv-anchor.react-flow__handle-right{right:0;left:auto}.react-flow__node:hover .react-flow__handle.cv-anchor,.react-flow__node.selected .react-flow__handle.cv-anchor{opacity:.9}.react-flow__node .cv-sym.jn .react-flow__handle{left:calc(50% - .5px)!important;top:calc(50% - .5px)!important;right:auto!important;bottom:auto!important;width:1px!important;height:1px!important;min-width:0!important;min-height:0!important;border:none!important;transform:none!important;pointer-events:none}.cv-sym.jn-hidden .cv-sym-svg,.cv-sym.jn-hidden .react-flow__handle{opacity:0!important}.react-flow__node:hover .cv-sym.jn-hidden .cv-sym-svg,.react-flow__node.selected .cv-sym.jn-hidden .cv-sym-svg{opacity:.35!important}.react-flow__edge.cv-splice .react-flow__edge-path{stroke:#22c55e!important;stroke-width:4px!important;filter:drop-shadow(0 0 3px rgba(34,197,94,.7))}.cv-seg{position:absolute;background:#3b82f6;border:1.5px solid #fff;border-radius:999px;box-shadow:0 1px 3px #0000004d;pointer-events:all;z-index:1001}.cv-seg.h{width:26px;height:9px;cursor:ns-resize}.cv-seg.v{width:9px;height:26px;cursor:ew-resize}.cv-seg:hover{background:#1d4ed8;box-shadow:0 0 0 3px #3b82f64d,0 1px 3px #0000004d}.cv-wp{position:absolute;width:11px;height:11px;border-radius:50%;background:#6366f1;border:2px solid #fff;box-shadow:0 1px 3px #0000004d;cursor:move;pointer-events:all;z-index:1001}.cv-wp:hover{background:#4f46e5;box-shadow:0 0 0 3px #6366f14d,0 1px 3px #0000004d}.cv-wp.add{width:9px;height:9px;background:#fff;border:2px solid #6366f1;opacity:.55}.cv-wp.add:hover{opacity:1;background:#eef2ff}.react-flow__edgeupdater{cursor:move}.react-flow__edge.selected .react-flow__edgeupdater{fill:#fff;fill-opacity:1;stroke:#6366f1;stroke-width:1.5px;vector-effect:non-scaling-stroke}.cv-node .cv-node-ph{opacity:0;transition:opacity .12s}.cv-node:hover .cv-node-ph,.cv-node.sel .cv-node-ph,.cv-text .cv-node-ph{opacity:1}.cv-node-input{font-size:inherit}.cv-ftb-lbl{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:0 4px}.cv-text{min-width:30px;min-height:0;max-width:560px;padding:2px 6px;color:var(--text-primary);font-weight:600;font-size:16px}.cv-text .cv-shape{display:none}.cv-text.sel{outline:1.5px dashed #6366f1;outline-offset:3px;border-radius:4px}.cv-text .cv-add-child{display:none}.cv-text .cv-node-ph{color:var(--text-muted)}.cv-text .cv-node-input{background:transparent;color:inherit}.cv-text .cv-node-label{white-space:pre-wrap;text-align:inherit}.cv-flow.pid-page .cv-text .react-flow__handle{pointer-events:none!important;opacity:0!important}.cv-text .cv-node-content{position:static}.cv-text .cv-node-input{text-align:inherit;box-shadow:none;min-height:1.3em}.cv-text.editing{outline:1.5px solid #6366f1;outline-offset:3px;border-radius:4px}.cv-text .cv-node-tb{position:absolute;bottom:calc(100% + 10px);left:-6px;z-index:6;margin:0;padding:3px;gap:3px;background:var(--bg-surface, #fff);border:1px solid var(--border, #cbd5e1);border-radius:7px;box-shadow:0 2px 8px #0000002e}.cv-text .cv-node-tb button{color:var(--text-primary);background:transparent}.cv-text .cv-node-tb button:hover{background:#6366f126}.cv-text .cv-node-label ul,.cv-text .cv-node-input ul{text-align:left}.cv-ftb-sw.none{background:repeating-linear-gradient(135deg,transparent 0 4px,rgba(239,68,68,.75) 4px 5.5px)!important}.react-flow__node-frame{pointer-events:none!important}.react-flow__node-frame .cv-frame-hd,.react-flow__node-frame .react-flow__resize-control{pointer-events:all}.cv-frame{width:100%;height:100%;border-radius:10px;border:2px solid color-mix(in srgb,var(--c) 70%,#475569);background:color-mix(in srgb,var(--c) 26%,transparent);box-sizing:border-box}.cv-frame.sel{border-color:#6366f1;box-shadow:0 0 0 2px #6366f159}.cv-frame-hd{display:flex;align-items:center;gap:8px;height:34px;padding:0 12px;background:var(--c);border-radius:8px 8px 0 0;cursor:grab;color:#1f2937;font-weight:700;font-size:13.5px}.cv-frame-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cv-frame-count{margin-left:auto;font-size:10.5px;font-weight:700;background:#ffffffb3;border-radius:999px;padding:1px 7px}.cv-frame-input{flex:1;font:inherit;padding:3px 6px;border-radius:5px;border:1px solid #6366f1;background:#fff;color:#1f2937}.cv-rail{position:absolute;left:10px;top:10px;z-index:6;display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px;background:var(--bg-surface, #fff);border:1px solid var(--border);border-radius:12px;box-shadow:0 6px 18px #0000001f}.cv-rail-wrap{position:relative;display:flex}.cv-rail-btn{width:34px;height:34px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--text-primary);font-size:16px;font-weight:700;cursor:pointer;line-height:1;padding:0}.cv-rail-btn:hover{background:var(--bg-base)}.cv-rail-btn.on{background:#eef2ff;border-color:#a5b4fc;color:#3730a3}.cv-rail-sep{width:22px;height:1px;background:var(--border);margin:3px 0}.cv-rail-colors{display:grid;grid-template-columns:repeat(2,14px);gap:4px}.cv-rail-sw{width:14px;height:14px;border-radius:4px;border:1px solid rgba(0,0,0,.25);padding:0;cursor:pointer}.cv-rail-sw.on{outline:2px solid var(--brand, #6366f1);outline-offset:1px}.cv-rail-fly{position:absolute;left:44px;top:-4px;background:var(--bg-surface, #fff);border:1px solid var(--border);border-radius:10px;padding:6px;box-shadow:0 8px 20px #0000002e;grid-template-columns:repeat(4,30px)}.cv-flow.placing .react-flow__pane,.cv-flow.placing .react-flow__node-frame{cursor:crosshair}.cv-place-hint{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:6;background:#4f46e5;color:#fff;font-size:12px;padding:5px 12px;border-radius:999px;pointer-events:none}.cv-guide{position:absolute;right:10px;top:10px;z-index:6;width:290px;max-height:calc(100% - 180px);display:flex;flex-direction:column;background:var(--bg-surface, #fff);color:var(--text-primary);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 22px #00000024;font-size:12.5px}.cv-guide-hd{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border)}.cv-guide-hd button{border:none;background:transparent;color:var(--text-muted);font-size:18px;cursor:pointer;line-height:1}.cv-guide-body{overflow-y:auto;padding:10px 14px;line-height:1.5}.cv-guide-body h4{margin:0 0 4px;font-size:14.5px}.cv-guide-body p{margin:0 0 10px;color:var(--text-muted)}.cv-guide-sub{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.cv-guide-body ol{margin:4px 0 10px;padding-left:18px;display:flex;flex-direction:column;gap:4px}.cv-guide-tip{background:#eef2ff;color:#312e81;border-radius:8px;padding:8px 10px;font-size:12px}.cv-guide-ft{padding:8px 12px;border-top:1px solid var(--border)}.cv-tpl-modal{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;background:#0f172a73;display:grid;place-items:center;padding:16px}.cv-tpl-box{width:min(980px,100%);max-height:100%;overflow:hidden;display:flex;flex-direction:column;background:var(--bg-surface, #fff);color:var(--text-primary);border-radius:14px;box-shadow:0 20px 50px #0000004d}.cv-tpl-hd{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border)}.cv-tpl-hd button{margin-left:auto;border:none;background:transparent;font-size:20px;color:var(--text-muted);cursor:pointer}.cv-tpl-box .bs-gallery{overflow-y:auto;padding:12px 16px 16px}.cv-page.full{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;background:var(--bg-base);padding:10px 12px;display:flex;flex-direction:column;gap:8px}.cv-page.full .cv-flow{flex:1;height:auto}.bs-gallery-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}.bs-gallery-q{flex:1 1 220px;min-width:0;font:inherit;font-size:13px;padding:7px 10px;border-radius:8px;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-primary)}.bs-gallery-cats{display:flex;flex-wrap:wrap;gap:4px}.bs-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.bs-tpl{display:flex;flex-direction:column;gap:4px;text-align:left;padding:10px;border-radius:12px;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-primary);cursor:pointer;font:inherit;transition:border-color .12s,box-shadow .12s,transform .12s}.bs-tpl:hover{border-color:#6366f1;box-shadow:0 6px 16px #6366f12e;transform:translateY(-1px)}.bs-tpl:disabled{opacity:.55;cursor:wait}.bs-thumb{width:100%;height:110px;border-radius:8px;background:var(--bg-base);display:block}.bs-thumb-blank{display:grid;place-items:center;font-size:30px;color:var(--text-muted)}.bs-tpl-name{font-weight:700;font-size:13px;margin-top:4px}.bs-tpl-desc{font-size:11.5px;color:var(--text-muted);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bs-tpl-cat{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#6366f1}.react-flow__node-page{pointer-events:none!important}.cv-paper{width:100%;height:100%;background:#fff;border:1px solid rgba(100,116,139,.45);box-shadow:0 4px 18px #0f172a2e;position:relative}.cv-paper-lbl{position:absolute;left:0;top:-20px;font-size:11px;color:var(--text-muted);white-space:nowrap}.cv-pages{position:relative;display:flex;align-items:stretch;gap:2px;margin-top:6px;padding:0 4px;border-top:1px solid var(--border);min-height:34px;overflow-x:auto}.cv-page-tab{display:inline-flex;align-items:center;gap:4px;padding:6px 6px 6px 12px;font-size:12.5px;color:var(--text-muted);cursor:pointer;border-radius:0 0 8px 8px;border:1px solid transparent;border-top:none;white-space:nowrap;-webkit-user-select:none;user-select:none}.cv-page-tab:hover{background:var(--bg-surface);color:var(--text-primary)}.cv-page-tab.on{background:var(--bg-surface);color:var(--text-primary);font-weight:700;border-color:var(--border);box-shadow:inset 0 2px #6366f1}.cv-page-more{border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:13px;padding:0 3px;opacity:.5}.cv-page-tab:hover .cv-page-more,.cv-page-tab.on .cv-page-more{opacity:1}.cv-page-input{width:130px;font:inherit;font-size:12.5px;padding:2px 6px;border-radius:5px;border:1px solid #6366f1;background:var(--bg-surface);color:var(--text-primary)}.cv-page-add{border:none;background:transparent;color:var(--text-muted);font-size:16px;cursor:pointer;padding:0 10px}.cv-page-add:hover{color:#6366f1}.cv-page-menu{position:fixed!important;z-index:2000}.ds-dialog{width:min(680px,calc(96vw / var(--ui-zoom-vu, 1)));max-width:none}.ds-body{display:grid;grid-template-columns:190px 1fr;min-height:340px}.ds-nav{display:flex;flex-direction:column;border-right:1px solid var(--border);padding:6px 0}.ds-nav button{text-align:left;border:none;background:transparent;color:var(--text-primary);font:inherit;font-size:13px;padding:8px 14px;cursor:pointer;border-left:3px solid transparent}.ds-nav button.on{background:var(--bg-base);font-weight:700;border-left-color:#6366f1}.ds-pane{padding:10px 16px;display:flex;flex-direction:column;gap:2px}.ds-row{display:grid;grid-template-columns:1fr 220px;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--border);font-size:13px}.ds-row .field-inp{width:100%}.ds-hint{font-style:normal;color:var(--text-muted);cursor:help}.ds-swatches{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.ds-toggle{width:38px;height:22px;border-radius:999px;border:none;background:#cbd5e1;position:relative;cursor:pointer;padding:0}.ds-toggle span{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .15s}.ds-toggle.on{background:#4f46e5}.ds-toggle.on span{left:19px}@media(max-width:640px){.ds-body{grid-template-columns:1fr}.ds-nav{flex-direction:row;overflow-x:auto;border-right:none;border-bottom:1px solid var(--border)}.ds-row{grid-template-columns:1fr}}.cv-props{width:300px}.cv-props .cv-guide-hd .muted{margin-left:6px;margin-right:auto}.pp-body{display:flex;flex-direction:column;gap:6px}.pp-sec{margin-top:6px;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#6366f1;border-top:1px solid var(--border);padding-top:8px}.pp-sec:first-child{border-top:none;margin-top:0;padding-top:0}.pp-f{display:flex;flex-direction:column;gap:3px;font-size:11.5px;color:var(--text-muted)}.pp-f .field-inp{font-size:12.5px;padding:5px 8px}.pp-row2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.pp-row2>*,.pp-row2 .field-inp{min-width:0;max-width:100%;box-sizing:border-box}.pp-row2 .field-inp{width:100%}.pp-check{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-primary)}.pp-item{display:flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid #a5b4fc;background:#eef2ff;border-radius:8px;color:#1e1b4b}.pp-item>div{flex:1;min-width:0;display:flex;flex-direction:column;font-size:12px}.pp-item span{color:#4338ca;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-cat{position:relative}.pp-cat-list{margin-top:4px;max-height:220px;overflow-y:auto;border:1px solid var(--border);border-radius:8px;padding:4px;background:var(--bg-surface);display:flex;flex-direction:column}.pp-cat-row{display:flex;flex-direction:column;text-align:left;border:none;background:transparent;color:var(--text-primary);font:inherit;font-size:12px;padding:5px 6px;border-radius:6px;cursor:pointer}.pp-cat-row:hover{background:var(--bg-base)}.pp-cat-row span{color:var(--text-muted);font-size:11.5px}.cv-lock{position:absolute;right:-6px;top:-12px;font-size:11px;z-index:3;pointer-events:none}.cv-parts-bar{display:flex;align-items:center;gap:6px;padding:6px 10px;border-bottom:1px solid var(--border);flex-wrap:wrap}.cv-parts-row b.pn{color:#4f46e5}.bom-preview{max-height:260px;overflow-y:auto;border:1px solid var(--border);border-radius:8px;padding:0 8px}.cv-sym-lbl.above{bottom:calc(100% + 3px);left:50%;transform:translate(-50%) rotate(var(--tr, 0deg));text-align:center;white-space:pre}.cv-sym-lbl.left{right:calc(100% + 6px);top:50%;transform:translateY(-50%) rotate(var(--tr, 0deg));text-align:right;white-space:pre}.cv-sym-lbl.below{transform:translate(-50%) rotate(var(--tr, 0deg))}.cv-sym-lbl.right{transform:translateY(-50%) rotate(var(--tr, 0deg))}.cv-sym-lbl.inside{transform:rotate(var(--tr, 0deg))}.cv-paper-svg{position:absolute;left:0;top:0;pointer-events:none;overflow:visible}.cv-rulers{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:5}.cv-ruler{position:absolute;background:var(--bg-surface, #fff)}.cv-ruler.top{left:0;top:0;border-bottom:1px solid var(--border)}.cv-ruler.left{left:0;top:0;border-right:1px solid var(--border)}.cv-ruler line{stroke:var(--text-muted);stroke-width:1}.cv-ruler text{fill:var(--text-muted);font-size:9.5px;font-family:ui-monospace,monospace}.cv-ruler text.u{font-weight:700;fill:#6366f1}.cv-ruler-corner{position:absolute;left:0;top:0;width:20px;height:20px;background:var(--bg-surface, #fff);border-right:1px solid var(--border);border-bottom:1px solid var(--border);font-size:8.5px;font-weight:700;color:#6366f1;display:grid;place-items:center}.cv-flow.rulers .cv-rail{top:30px;left:30px}.cv-flow.rulers .cv-lib{top:30px;left:78px}.cv-flow.rulers .cv-guide{top:30px}.ds-group{display:flex;flex-direction:column}.ds-group.off{opacity:.45}.ds-inline{display:flex;align-items:center;gap:6px}.ds-inline .field-inp{width:auto;min-width:0}.ds-num{width:90px!important}.ds-pane{max-height:calc(62vh / var(--ui-zoom-vu, 1));overflow-y:auto}.pp-checks{display:flex;gap:14px;flex-wrap:wrap}.pp-seg{display:flex;gap:4px}.pp-seg .chip-btn{flex:1;justify-content:center}.pp-apply{display:flex;flex-direction:column;gap:5px;background:var(--bg-base);border-radius:8px;padding:7px 8px}.pp-apply .chip-btn{font-size:11.5px;white-space:normal;text-align:center;justify-content:center}.cv-sym-tag{font-weight:700}.cv-sym-lbl.free{transform:translate(-50%,-50%);text-align:center;white-space:pre}.cv-sym-lbl.movable{pointer-events:all;cursor:move;outline:1px dashed #6366f1;outline-offset:3px;border-radius:3px}.cv-sym-lbl.dragging{outline-style:solid;background:#6366f114}.pp-free{display:flex;flex-direction:column;gap:6px;background:var(--bg-base);border-radius:8px;padding:7px 8px;font-size:12px;color:var(--text-muted)}.cv-drag{cursor:grab;-webkit-user-select:none;user-select:none}.cv-drag:active{cursor:grabbing}.cv-rail-grip{display:flex;align-items:center;justify-content:center;height:16px;color:var(--text-muted);font-size:13px;line-height:1;letter-spacing:1px;margin-bottom:2px;border-radius:5px}.cv-rail-grip:hover{background:var(--bg-base);color:var(--text-primary)}.pp-real{font-size:12px;background:#eef2ff;color:#312e81;border-radius:7px;padding:5px 8px}.cv-flow.paper .react-flow__nodes{--text-primary: #1f2937;--text-muted: #64748b}.ds-new{margin-bottom:14px}.ds-origin{display:inline-block;margin-top:3px;font-size:10.5px;font-weight:700;color:#6366f1;background:#eef2ff;border-radius:999px;padding:1px 8px}.ds-page .cv-flow{height:calc(calc(100vh / var(--ui-zoom-vu, 1)) - 230px)}.react-flow__node-shape>.cv-node{width:100%;height:100%;box-sizing:border-box}.react-flow__node-shape[style*=width]>.cv-node{max-width:none;min-width:0;min-height:0}.cv-sym{position:relative;width:100%;height:100%;color:var(--text-primary);font-size:12px}.cv-sym-svg{position:absolute;left:50%;top:50%;overflow:visible;pointer-events:none}.cv-sym-svg *{vector-effect:non-scaling-stroke}.cv-sym-svg .f,.cv-sym-ico .f{fill:var(--sf, transparent)}.cv-sym.sel .cv-sym-svg{filter:drop-shadow(0 0 2px rgba(99,102,241,.9))}.cv-sym-missing{display:grid;place-items:center;width:100%;height:100%;border:1px dashed var(--border)}.cv-sym-lbl{position:absolute;white-space:pre-line;line-height:1.25;pointer-events:none;color:var(--text-primary)}.cv-sym-lbl b{font-weight:800}.cv-sym-lbl.inside{top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:700;padding:4px}.cv-sym-lbl.inside.onfill{color:#1f2937}.cv-sym-lbl.below{top:calc(100% + 3px);left:50%;transform:translate(-50%);text-align:center;white-space:pre}.cv-sym-lbl.right{left:calc(100% + 6px);top:50%;transform:translateY(-50%);text-align:left;white-space:pre}.cv-sym-edit{pointer-events:all;z-index:3;width:160px;font:inherit;font-size:12px;padding:4px 6px;border-radius:6px;border:1px solid #6366f1;background:var(--bg-surface, #fff);color:var(--text-primary);resize:none}.cv-sym-edit.inside{inset:auto;left:50%;top:50%;transform:translate(-50%,-50%)}.cv-ftb-input.tag{width:64px;font-weight:700}.cv-ftb-sw.none{background:linear-gradient(135deg,#fff 45%,#dc2626 45%,#dc2626 55%,#fff 55%)}.cv-ftb-sw.auto{background:linear-gradient(135deg,#1f2937 50%,#f8fafc 50%)}.cv-table{width:100%;height:100%;background:#fff;color:#1f2937;border:1.5px solid #475569;font-size:12.5px;box-sizing:border-box}.cv-table.sel{outline:2px solid #6366f1;outline-offset:2px}.cv-table-grid{display:grid;width:100%;height:100%}.cv-td{border-right:1px solid #64748b;border-bottom:1px solid #64748b;padding:2px 6px;overflow:hidden;display:flex;align-items:center;white-space:pre-wrap;word-break:break-word;line-height:1.2;min-width:0}.cv-td.hd{background:var(--c, #bfdbfe);font-weight:700}.cv-td-sel{outline:2px solid #6366f1;outline-offset:-2px;background-color:#6366f114}.cv-td-sr{justify-content:center;color:#334155}.cv-td-sec{font-weight:700;background:#f8fafc;letter-spacing:.03em}.pp-hdr-inp{margin:2px 0;width:100%}.ps-secs{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:4px 14px;padding:6px 2px}.ps-sec em{display:block;font-style:normal}.vp-list{display:grid;gap:4px;padding:6px 2px}.vp-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(200px,1.4fr);gap:10px;align-items:center}.vp-pg{font-size:13px;overflow-wrap:anywhere}.dq-brand{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:6px 0 10px}.dq-party{display:flex;align-items:center;gap:10px;border:1px solid var(--border, #e5e7eb);border-radius:8px;padding:8px 10px;min-width:0}.dq-party img{max-width:80px;max-height:36px;object-fit:contain}.dq-party>span{display:flex;flex-direction:column;min-width:0}.dq-nologo{font-size:11px;color:#9ca3af;border:1px dashed #d1d5db;border-radius:6px;padding:6px 8px}.dq-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;margin:10px 0}.dq-person{display:grid;gap:4px;font-size:12px}.dq-rev{display:grid;grid-template-columns:60px 110px 1fr 1fr 28px;gap:6px;margin:4px 0}.dq-sheet>summary{cursor:pointer;list-style:none}.dq-grp{margin:6px 0 2px}.dq-grp-hd{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#4b5563;margin:8px 0 2px}@media(max-width:640px){.vp-row,.dq-brand{grid-template-columns:1fr}.dq-rev{grid-template-columns:50px 1fr 28px}}.cv-td-tot{font-weight:700;background:#f1f5f9}.cv-tcols{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.cv-tcol-h{position:absolute;top:0;bottom:0;width:8px;margin-left:-4px;cursor:col-resize;pointer-events:auto;z-index:5}.cv-tcol-h:hover{background:#6366f159}.pp-tbl-grp{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin:4px 0}.pp-tbl-grp>.muted{width:100%}.pp-tbl-paste{width:100%;font-family:Consolas,Courier New,monospace;font-size:12px}.cv-td-edit{font:inherit;resize:none;border:2px solid #6366f1;outline:none;background:#fff;color:#1f2937;display:block}.cv-lib{position:absolute;left:58px;top:10px;bottom:46px;width:236px;z-index:6;display:flex;flex-direction:column;background:var(--bg-surface, #fff);color:var(--text-primary);border:1px solid var(--border);border-radius:12px;box-shadow:0 6px 18px #0000001f;overflow:hidden}.cv-lib-hd{display:flex;align-items:center;justify-content:space-between;padding:8px 10px 4px}.cv-lib-hd button{border:none;background:transparent;color:var(--text-muted);font-size:16px;cursor:pointer}.cv-lib-q{margin:2px 8px 6px;font:inherit;font-size:12px;padding:6px 8px;border-radius:7px;border:1px solid var(--border);background:var(--bg-base);color:var(--text-primary)}.cv-lib-body{overflow-y:auto;padding:0 6px 8px}.cv-lib-sec-hd{display:flex;align-items:center;gap:4px;width:100%;border:none;background:transparent;color:var(--text-primary);font:inherit;font-size:12px;font-weight:700;padding:6px 4px;cursor:pointer;text-align:left}.cv-lib-sec-hd span{margin-left:auto;font-size:10.5px;font-weight:600;color:var(--text-muted)}.cv-lib-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:0 2px 4px}.cv-lib-tile{aspect-ratio:1;display:grid;place-items:center;padding:5px;border-radius:7px;border:1px solid transparent;background:transparent;color:var(--text-primary);cursor:grab}.cv-lib-tile:hover{background:var(--bg-base);border-color:var(--border)}.cv-lib-ico{font-size:18px;line-height:1}.cv-sym-ico{width:100%;height:100%;max-width:40px;max-height:40px}.cv-parts{width:340px}.cv-parts-list{display:flex;flex-direction:column;font-size:12px}.cv-parts-row{display:grid;grid-template-columns:70px 1fr 34px;gap:6px;padding:5px 2px;border-bottom:1px solid var(--border);align-items:start}.cv-parts-row.hd{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.cv-parts-row em{color:var(--text-muted);font-style:normal}.cv-parts-row span:last-child{text-align:right;font-variant-numeric:tabular-nums}.cv-parts-ft{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.bs-gallery.compact .bs-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.cv-group{display:inline-flex;gap:3px;align-items:center}.cv-group-lbl{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-right:2px}.cv-line-tools .chip-btn{min-width:30px}.cv-arrow-sel{font:inherit;font-size:12px;padding:4px 6px;border-radius:7px;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-primary)}.cv-line-sw{width:16px;height:16px;border-radius:50%}.cv-line-label{width:130px;font:inherit;font-size:12px;padding:5px 8px;border-radius:7px;border:1px solid var(--brand);background:var(--bg-surface);color:var(--text-primary)}.cv-hint{position:absolute;left:50%;bottom:8px;transform:translate(-50%);z-index:4;font-size:11px;color:var(--text-muted);background:var(--bg-surface);border:1px solid var(--border);border-radius:999px;padding:3px 12px;pointer-events:none;white-space:nowrap;max-width:90%;overflow:hidden;text-overflow:ellipsis}.react-flow__edge.selected .react-flow__edge-path{filter:drop-shadow(0 0 2px rgba(99,102,241,.8))}.react-flow__attribution{display:none}.react-flow__minimap{border:1px solid var(--border);border-radius:8px}.cn-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end;margin-bottom:12px}.cn-toolbar .fld{margin:0}.cn-search{flex:1 1 260px;min-width:0}.cn-home-bar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;margin:12px 0}.cn-home-bar>.field-inp{height:40px;box-sizing:border-box;margin:0;width:100%;min-width:0}.cn-home-bar .cn-fy,.cn-home-bar .cn-scope{width:auto;min-width:150px}.cn-subbar{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.cn-chips{display:flex;gap:6px;flex-wrap:wrap}.cn-back{display:inline-block;margin-bottom:6px;padding:0}.cn-event-actions{display:flex;gap:6px;flex-wrap:wrap}.cn-events{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:10px}.cn-event{position:relative;text-align:left;display:flex;flex-direction:column;gap:6px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--bg-base);cursor:pointer;color:var(--text-primary);font:inherit;transition:var(--trans)}.cn-event:hover{border-color:var(--accent);box-shadow:0 2px 10px color-mix(in srgb,var(--accent) 12%,transparent)}.cn-event.archived{opacity:.7}.cn-event-name{font-weight:700;font-size:15px;padding-right:64px}.cn-event-meta{font-size:12px;color:var(--text-muted)}.cn-event-foot{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:auto;flex-wrap:wrap}.cn-count{font-size:13px;font-weight:600}.cn-archived-tag{position:absolute;top:10px;right:10px;font-size:10px;text-transform:uppercase;letter-spacing:.05em;padding:2px 6px;border-radius:6px;background:color-mix(in srgb,var(--text-muted) 18%,transparent);color:var(--text-muted)}.cn-archived-tag.inline{position:static;vertical-align:middle;margin-left:6px}.cn-capture{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.cn-phone-only{display:none!important}.cn-archived-toggle{cursor:pointer;white-space:nowrap}.cn-capture .cn-capture-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center;min-width:0}.cn-cap-ic{font-size:22px;line-height:1}.cn-cap-l{line-height:1.2}.cn-capture-btn small{display:block;font-size:11px;font-weight:500;opacity:.8}.cn-capture-btn.upload{border-color:var(--accent);color:var(--accent)}.cn-capture-btn{padding:16px 12px;border-radius:12px;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-primary);font:inherit;font-weight:700;font-size:15px;cursor:pointer}.cn-capture-btn.scan{background:var(--accent);border-color:var(--accent);color:#fff}.cn-capture-btn:disabled{opacity:.7;cursor:progress}.cn-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:10px}.cn-card{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--bg-base);cursor:pointer;min-width:0}.cn-card:hover{border-color:var(--accent)}.cn-card.archived{opacity:.7}.cn-card-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.cn-card-who{min-width:0;flex:1}.cn-card-name{font-weight:700;font-size:15px;overflow-wrap:anywhere}.cn-card-org{font-size:12px;color:var(--text-muted);overflow-wrap:anywhere}.cn-card-links{display:flex;flex-direction:column;gap:2px;font-size:13px}.cn-card-links a{color:var(--accent);text-decoration:none;overflow-wrap:anywhere}.cn-card-foot{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:11px;color:var(--text-muted)}.cn-interest{flex:0 0 auto;font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;white-space:nowrap}.cn-interest.hot{background:color-mix(in srgb,#dc2626 14%,transparent);color:#dc2626}.cn-interest.warm{background:color-mix(in srgb,#d97706 16%,transparent);color:#b45309}.cn-interest.cold{background:color-mix(in srgb,#2563eb 14%,transparent);color:#2563eb}.cn-tags{display:flex;gap:4px;flex-wrap:wrap}.cn-tag{font-size:11px;padding:2px 7px;border-radius:999px;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent)}.cn-pushed{font-weight:700;color:#0f9d6e}.cn-filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:12px}.cn-country{min-width:220px}.cn-country .ss-btn{min-height:36px}.cn-chip-sep{width:1px;align-self:stretch;background:var(--border);margin:0 2px}.cn-event-badges{display:flex;gap:6px;flex-wrap:wrap;padding-right:64px}.cn-cat,.cn-country-tag{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;white-space:nowrap}.cn-cat{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.cn-country-tag{background:color-mix(in srgb,var(--text-muted) 14%,transparent);color:var(--text-secondary)}.cn-card-badges{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:0 0 auto}.cn-type{font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;white-space:nowrap}.cn-type.client{background:color-mix(in srgb,#0f9d6e 14%,transparent);color:#0f8a61}.cn-type.vendor{background:color-mix(in srgb,#7c3aed 14%,transparent);color:#7c3aed}.cn-card-products{font-size:12px;color:var(--text-secondary);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cn-type-toggle{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0 6px}.cn-type-toggle button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 8px;border:1.5px solid var(--border);border-radius:10px;background:var(--bg-base);color:var(--text-primary);font:inherit;font-weight:700;font-size:14px;cursor:pointer}.cn-type-toggle button small{font-weight:500;font-size:11px;color:var(--text-muted)}.cn-type-toggle button.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.cn-type-toggle button:disabled{cursor:default;opacity:.85}.cn-type-toggle button:disabled:not(.on){opacity:.4;text-decoration:line-through;text-decoration-thickness:1px}.cn-type-note{font-size:12px;color:var(--text-muted);margin:-2px 0 8px}.cn-strip{margin-bottom:12px}.cn-strip-row{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x proximity}.cn-up,.cn-plan-card{flex:1 0 240px;max-width:none;scroll-snap-align:start;display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--bg-base);text-align:left;color:var(--text-primary);font:inherit}.cn-up{cursor:pointer}.cn-up:hover{border-color:var(--accent)}.cn-up-when{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--accent)}.cn-up-name{font-weight:700;font-size:14px;overflow-wrap:anywhere}.cn-up-meta{font-size:12px;color:var(--text-muted)}.cn-plan{border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.cn-plan-card{flex-basis:280px}.cn-plan-actions{display:flex;flex-direction:column;gap:6px;margin-top:6px}.cn-plan-add{width:100%;padding:8px 10px;font-size:13px}.cn-editions{display:flex;gap:14px;flex-wrap:wrap;margin-top:4px;font-size:13px}.cn-editions .hr-link{padding:0}.cn-modal{width:min(900px,100%);max-width:none;max-height:calc(92vh / var(--ui-zoom-vu, 1));display:flex;flex-direction:column;overflow:hidden}.cn-section{margin-top:14px}.cn-ok{background:#10b98114;border-color:#10b9814d}.cn-cardimg{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.cn-card-actions-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cn-reading{background:color-mix(in srgb,var(--accent) 8%,transparent);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.cn-cardimg img{max-height:140px;max-width:100%;border-radius:8px;border:1px solid var(--border);cursor:zoom-in;object-fit:contain;background:#fff}.cn-foot{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.cn-foot-left,.cn-foot-right{display:flex;gap:8px;flex-wrap:wrap;align-items:center}@media(max-width:620px){.cn-capture{gap:8px}.cn-capture .cn-capture-btn{padding:12px 4px;font-size:13px;min-height:76px}.cn-capture-btn small{display:none}.cn-event-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.cn-event-actions .chip-btn{text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:4px;padding-right:4px}.cn-desk-only{display:none!important}.cn-phone-only{display:revert!important}.cn-phone-filters.cn-phone-only{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:8px;width:100%}.cn-phone-filters .field-inp,.cn-filters select.field-inp{height:40px;margin:0;width:100%;min-width:0}.cn-toolbar .cn-search{flex-basis:100%}.cn-sub-fy{display:none}.cn-home-bar{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.cn-home-bar .cn-search{grid-column:1 / -1}.cn-home-bar .cn-fy,.cn-home-bar .cn-scope{min-width:0;width:100%}.cn-subbar{align-items:center;flex-wrap:nowrap}.cn-subbar>:first-child{flex:1 1 auto;min-width:0}.cn-subbar>:last-child{flex:0 0 auto;justify-content:flex-end}.cn-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:center}.cn-country{width:100%;min-width:0}.cn-country .ss-btn{min-height:40px}.cn-modal .form-grid-2,.cn-modal .form-grid-3{grid-template-columns:minmax(0,1fr)}.cn-foot,.cn-foot-left,.cn-foot-right{width:100%}.cn-foot-right{justify-content:flex-end}}.drp{width:100%}.drp-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:40px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-surface);color:var(--text-primary);font:inherit;font-size:14px;text-align:left;cursor:pointer}.drp-btn.drp-ph{color:var(--text-muted)}.drp-btn:disabled{opacity:.6;cursor:default}.drp-span{flex:0 0 auto;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.drp-cal{margin-top:6px;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--bg-surface);max-width:360px}.drp-nav{display:flex;align-items:center;gap:4px}.drp-nav button{width:32px;height:32px;border:1px solid var(--border);border-radius:8px;background:var(--bg-base);color:var(--text-primary);font-size:15px;cursor:pointer}.drp-month{flex:1;text-align:center;font-weight:700;font-size:14px}.drp-hint{font-size:11px;color:var(--text-muted);margin:6px 0;text-align:center}.drp-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px 0}.drp-wd{text-align:center;font-size:11px;font-weight:600;color:var(--text-muted);padding:4px 0}.drp-day{height:38px;border:0;background:none;color:var(--text-primary);font:inherit;font-size:13px;cursor:pointer;border-radius:0}.drp-day:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.drp-day.is-today{font-weight:800;text-decoration:underline;text-underline-offset:3px}.drp-day.in-range{background:color-mix(in srgb,var(--accent) 16%,transparent)}.drp-day.is-start,.drp-day.is-end{background:var(--accent);color:#fff;font-weight:700}.drp-day.is-start{border-radius:8px 0 0 8px}.drp-day.is-end{border-radius:0 8px 8px 0}.drp-day.is-start.is-end{border-radius:8px}.drp-day:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.drp-foot{display:flex;justify-content:space-between;margin-top:8px}@media(max-width:620px){.drp-cal{max-width:none}}.cv-panel{display:flex;flex-direction:column;gap:8px}.cv-setup{font-size:12px;padding:8px 10px;border-radius:8px;background:color-mix(in srgb,#d97706 10%,transparent);color:var(--text-secondary);border:1px solid color-mix(in srgb,#d97706 30%,transparent)}.cv-consent{display:flex;align-items:flex-start;gap:8px;font-size:13px;cursor:pointer}.cv-consent input{margin-top:2px}.cv-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cv-rec{padding:10px 16px;border-radius:999px;border:1.5px solid #dc2626;background:var(--bg-surface);color:#dc2626;font:inherit;font-weight:700;font-size:14px;cursor:pointer}.cv-rec:disabled{opacity:.45;cursor:not-allowed}.cv-rec.on{background:#dc2626;color:#fff;animation:cv-pulse 1.4s ease-in-out infinite}@keyframes cv-pulse{0%,to{box-shadow:0 0 #dc262673}50%{box-shadow:0 0 0 8px #dc262600}}@media(prefers-reduced-motion:reduce){.cv-rec.on{animation:none}}.cv-live{font-size:12px;color:#dc2626;font-weight:600}.cv-list{display:flex;flex-direction:column;gap:8px}.cv-item{border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:var(--bg-base);display:flex;flex-direction:column;gap:8px;min-width:0}.cv-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;font-weight:600}.cv-chip{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--text-muted) 15%,transparent);color:var(--text-secondary)}.cv-chip.busy{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}.cv-chip.warn{background:color-mix(in srgb,#d97706 15%,transparent);color:#b45309}.cv-summary{border-left:3px solid var(--accent);padding:4px 0 4px 10px;font-size:13px}.cv-summary ul{margin:2px 0 6px;padding-left:18px}.cv-summary li{margin:1px 0}.cv-sum-text{margin:0 0 6px}.cv-h{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:700;margin-top:4px}.cv-next{margin:4px 0}.cv-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.cv-audio{width:100%;max-width:360px;height:36px}.cv-transcript summary{cursor:pointer;font-size:12px;color:var(--accent);font-weight:600}.cv-transcript p{font-size:13px;white-space:pre-wrap;margin:6px 0 0;color:var(--text-secondary)}.cn-selbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 10px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--bg-base)}.cn-selall{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;cursor:pointer;margin-right:auto}.cn-selall input,.cn-card-check input{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.cn-sendbtn{width:auto;padding:7px 14px;font-size:13px}.cn-card-check{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:28px;height:28px;margin:-4px 2px 0 -6px;cursor:pointer}.cn-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset;background:color-mix(in srgb,var(--accent) 5%,var(--bg-base))}.pd-modal{width:min(620px,100%);max-width:none;max-height:calc(90vh / var(--ui-zoom-vu, 1));display:flex;flex-direction:column;overflow:hidden}.pd-warn{padding:8px 10px;margin:0 0 10px;border-radius:8px;font-size:13px;background:color-mix(in srgb,#d97706 12%,transparent);border:1px solid color-mix(in srgb,#d97706 35%,transparent)}.pd-list{display:flex;flex-direction:column;gap:6px}.pd-row{display:flex;gap:10px;align-items:flex-start;padding:10px;border:1px solid var(--border);border-radius:10px;cursor:pointer}.pd-row input{width:18px;height:18px;margin-top:1px;accent-color:var(--accent);flex:0 0 auto}.pd-row.disabled{cursor:default;opacity:.8}.pd-row.dup{border-color:color-mix(in srgb,#d97706 45%,transparent);background:color-mix(in srgb,#d97706 5%,transparent)}.pd-main{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:13px}.pd-name{font-weight:700;overflow-wrap:anywhere}.pd-dest{font-size:12px;color:var(--text-muted)}.pd-dup{font-size:12px;color:#b45309;overflow-wrap:anywhere}.pd-status{font-size:12px;font-weight:600}.pd-status.ok{color:#0f9d6e}.pd-status.bad{color:#dc2626}.pd-status.muted{color:var(--text-muted)}.pd-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin:0;padding:12px 20px 16px;border-top:1px solid var(--border)}.pd-btns{display:flex;gap:8px;margin-left:auto}@media(max-width:620px){.cn-selbar{gap:6px}.cn-selall{flex-basis:100%;margin-right:0}.cn-selbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center}.cn-selall{grid-column:1;grid-row:1}.cn-selbar>button{width:100%;min-width:0;padding:8px 6px;font-size:13px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cn-selbar>button:last-of-type{grid-column:2;grid-row:1;justify-self:end;width:auto;padding:6px 12px}.cn-selbar>button:only-of-type{grid-column:1 / -1;grid-row:2;justify-self:stretch;width:100%}.pd-foot>.muted{flex-basis:100%}.pd-btns{width:100%}.pd-btns>*{flex:1}}.ie-modal{width:min(760px,100%);max-width:none;max-height:calc(94vh / var(--ui-zoom-vu, 1));display:flex;flex-direction:column;overflow:hidden}.ie-stage{flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;padding:12px;background:#1c1c22;overflow:hidden}.ie-box{position:relative;display:inline-block;max-width:100%;max-height:calc(62vh / var(--ui-zoom-vu, 1));touch-action:none;-webkit-user-select:none;user-select:none;line-height:0}.ie-box img{max-width:100%;max-height:calc(62vh / var(--ui-zoom-vu, 1));display:block;pointer-events:none}.ie-shade{position:absolute;background:#0000008c;pointer-events:none}.ie-frame{position:absolute;box-sizing:border-box;border:2px solid #fff;box-shadow:0 0 0 1px #0006;cursor:move}.ie-grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(to right,transparent 33.3%,rgba(255,255,255,.35) 33.3%,rgba(255,255,255,.35) calc(33.3% + 1px),transparent calc(33.3% + 1px),transparent 66.6%,rgba(255,255,255,.35) 66.6%,rgba(255,255,255,.35) calc(66.6% + 1px),transparent calc(66.6% + 1px)),linear-gradient(to bottom,transparent 33.3%,rgba(255,255,255,.35) 33.3%,rgba(255,255,255,.35) calc(33.3% + 1px),transparent calc(33.3% + 1px),transparent 66.6%,rgba(255,255,255,.35) 66.6%,rgba(255,255,255,.35) calc(66.6% + 1px),transparent calc(66.6% + 1px))}.ie-h{position:absolute;width:22px;height:22px;background:#fff;border:2px solid var(--accent);border-radius:50%;transform:translate(-50%,-50%);touch-action:none}.ie-h.nw{left:0;top:0;cursor:nwse-resize}.ie-h.se{left:100%;top:100%;cursor:nwse-resize}.ie-h.ne{left:100%;top:0;cursor:nesw-resize}.ie-h.sw{left:0;top:100%;cursor:nesw-resize}.ie-edge{position:absolute;touch-action:none}.ie-edge.n{left:12px;right:12px;top:-8px;height:16px;cursor:ns-resize}.ie-edge.s{left:12px;right:12px;bottom:-8px;height:16px;cursor:ns-resize}.ie-edge.w{top:12px;bottom:12px;left:-8px;width:16px;cursor:ew-resize}.ie-edge.e{top:12px;bottom:12px;right:-8px;width:16px;cursor:ew-resize}.ie-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 20px 0}.ie-straighten{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted);flex:1 1 200px}.ie-straighten input{flex:1;min-width:120px;accent-color:var(--accent)}.ph-panel{display:flex;flex-direction:column;gap:10px}.ph-actions{display:flex;gap:8px;flex-wrap:wrap}.ph-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.ph-item{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--bg-base);display:flex;flex-direction:column}.ph-img{display:block;width:100%;aspect-ratio:4 / 3;padding:0;border:0;background:#eceef3;cursor:zoom-in;overflow:hidden}.ph-img img{width:100%;height:100%;object-fit:cover;display:block}.ph-meta{display:flex;flex-direction:column;gap:4px;padding:6px 8px 8px;font-size:12px}.ph-meta select,.ph-meta input{font-size:12px;padding:4px 6px;border:1px solid var(--border);border-radius:6px;background:var(--bg-surface);color:inherit;width:100%;box-sizing:border-box}.ph-btns{display:flex;gap:10px;flex-wrap:wrap}.ph-btns .hr-link{font-size:12px;padding:0}.ph-kind{font-weight:600}@media(max-width:620px){.ph-grid{grid-template-columns:repeat(2,1fr);gap:8px}.ie-tools{padding:8px 12px 0}.ie-box,.ie-box img{max-height:calc(52vh / var(--ui-zoom-vu, 1))}}.sh-modal{width:min(520px,100%);max-width:none;max-height:calc(90vh / var(--ui-zoom-vu, 1));display:flex;flex-direction:column;overflow:hidden}.sh-body{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:10px}.sh-count{display:flex;justify-content:space-between;align-items:center}.sh-count .hr-link{font-size:12px;padding:0}.sh-list{flex:1 1 320px;min-height:0;max-height:420px;overflow-y:auto;border:1px solid var(--border);border-radius:10px;padding:4px;display:flex;flex-direction:column;gap:2px}.sh-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;font-size:14px}.sh-row:hover{background:color-mix(in srgb,var(--brand) 8%,transparent)}.sh-row.on{background:color-mix(in srgb,var(--accent) 10%,transparent)}.sh-row input{width:18px;height:18px;margin:0;flex:0 0 auto;accent-color:var(--accent)}.sh-name{min-width:0;overflow-wrap:anywhere}@media(max-width:620px){.sh-modal{max-height:calc(calc(100vh / var(--ui-zoom-vu, 1)) - 40px);max-height:calc(calc(100dvh / var(--ui-zoom-vu, 1)) - 40px)}.sh-list{max-height:none}}.oml-table tr[draggable=true]{cursor:grab}.oml-handle{cursor:grab;color:var(--text-muted);-webkit-user-select:none;user-select:none;margin-right:4px}.oml-dragging{opacity:.45}.oml-over td{border-top:2px solid var(--accent)}.oml-table td:first-child{white-space:nowrap}.ss-pop-portal{z-index:1300}.ss-pop-portal.up{top:auto}@media(max-width:760px){.ap-add .stk-filter{flex:1 1 100%!important;min-width:0!important;max-width:none!important}.ap-add .btn-primary{width:100%!important}.ap-table,.ap-table tbody,.ap-table tr,.ap-table td{display:block;width:100%;box-sizing:border-box}.ap-table thead{display:none}.ap-table tr{padding:10px 14px;border-bottom:1px solid var(--border)}.ap-table td{padding:4px 0!important;border:0!important;min-width:0!important}.ap-table td[data-label]:not([data-label=""]):before{content:attr(data-label);display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:2px}.ap-table td.ap-actions{display:flex;gap:12px;padding-top:8px!important;white-space:normal!important}.ap-table td.ap-actions .chip-btn{flex:1}}.ap-log-modal{width:min(680px,100%);max-width:none;max-height:calc(90vh / var(--ui-zoom-vu, 1));display:flex;flex-direction:column;overflow:hidden}.ap-log-sum{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.ap-log-day{display:flex;flex-direction:column;gap:4px}.ap-log-date{font-size:12px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:6px 0 2px}.ap-log-row{display:grid;grid-template-columns:64px 64px 1fr;gap:8px;align-items:start;padding:6px 8px;border-radius:8px;border:1px solid var(--border);font-size:13px}.ap-log-time{color:var(--text-muted);font-variant-numeric:tabular-nums}.ap-log-kind{justify-self:start}.ap-log-row.k-bom .ap-log-kind{background:#0ea5e924;color:#0369a1}.ap-log-row.k-project .ap-log-kind{background:#6366f124;color:#4338ca}.ap-log-row.k-team .ap-log-kind{background:#10b98124;color:#047857}.ap-log-text{overflow-wrap:anywhere}@media(max-width:620px){.ap-log-row{grid-template-columns:60px 1fr}.ap-log-kind{display:none}}.ap-icons{white-space:nowrap;text-align:right}.ap-ic{display:inline-grid;vertical-align:middle;width:32px;height:32px;font-size:15px;margin-left:4px}.ap-ic.ok{color:#0f9d6e;border-color:#0f9d6e66}.ap-ic.danger{color:#dc2626}.ap-ic.danger:hover{background:#dc26261a;border-color:#dc262666}@media(max-width:760px){.ap-table td.ap-actions.ap-icons{justify-content:flex-end}.ap-table td.ap-actions .ap-ic{flex:0 0 auto;width:40px;height:40px}}a.ap-ic{text-decoration:none}@media(max-width:760px){.pj-table,.pj-table tbody,.pj-table tr,.pj-table td{display:block;width:100%;box-sizing:border-box}.pj-table thead{display:none}.pj-table tr{padding:10px 14px;border-bottom:1px solid var(--border);display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}.pj-table td{padding:2px 0!important;border:0!important;text-align:left!important}.pj-table td[data-label=Project],.pj-table td[data-label=Client],.pj-table td.ap-actions,.pj-table td[data-label=Code]{grid-column:1 / -1}.pj-table td[data-label]:not([data-label=""]):not([data-label=Code]):not([data-label=Project]):before{content:attr(data-label);display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.pj-table td.hr-name{font-size:15px}.pj-table td.ap-actions{display:flex;justify-content:flex-end;gap:6px;padding-top:8px!important}.ic-stats{grid-template-columns:repeat(2,1fr)}}.ic-row-actions{width:104px}.ic-row-actions>div{display:grid;grid-template-columns:repeat(3,28px);gap:4px;justify-content:end}.ic-row-actions .ap-ic{width:28px;height:28px;font-size:14px;margin:0}@media(max-width:760px){.ic-row-actions{width:auto}.ic-row-actions>div{grid-template-columns:repeat(6,40px);justify-content:start}.ic-row-actions .ap-ic{width:40px;height:40px}}.ic-stock{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:999px;font-size:11.5px;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}.ic-stock.ok{background:#10b98124;color:#047857}.ic-stock.low{background:#f59e0b2e;color:#b45309}.ic-stock.out{background:#ef444429;color:#dc2626}.ic-drawer{width:min(600px,calc(100vw / var(--ui-zoom-vu, 1)))}.ic-drawer .drawer-body{padding:16px 18px 24px}.ic-drawer .drawer-body{display:flex;flex-direction:column;gap:14px}.ic-drawer .drawer-body>*{flex:0 0 auto}.ic-drawer .emp-subhead{margin-top:0}.ic-vchip{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 10px;border:1px solid var(--border);border-radius:999px;background:var(--bg-base);font-size:12px;font-weight:600;color:var(--text-secondary);line-height:1.6}.ic-vchip-x{display:inline-grid;place-items:center;width:18px;height:18px;border:none;border-radius:50%;background:transparent;color:var(--text-muted);font-size:15px;line-height:1;cursor:pointer}.ic-vchip-x:hover{background:color-mix(in srgb,var(--red) 15%,transparent);color:var(--red)}.ic-drawer .form-grid{align-items:start;row-gap:12px}.ic-drawer .form-grid .fld{justify-content:flex-start}.ic-drawer .fld>span:first-child{min-height:32px;display:flex;align-items:flex-end;line-height:1.25}.ic-drawer>.drawer-body>.fld>span:first-child,.ic-drawer .drawer-body>label.fld>span:first-child{min-height:0}.ic-drawer .fld input,.ic-drawer .fld select,.ic-drawer .ss-btn{height:40px}.ic-drawer .ic-hsn-field{display:flex;gap:8px}.ic-drawer .ic-hsn-field input{flex:1;min-width:0}.ic-drawer .ic-hsn-field .chip-btn{flex:0 0 auto;white-space:nowrap}.ic-chk-row{display:flex;align-items:center;gap:10px;padding:10px 12px;margin:4px 0;border:1px solid var(--border);border-radius:10px;background:var(--bg-base);font-size:13px;font-weight:600;color:var(--text-secondary);cursor:pointer}.ic-chk-row input{width:16px;height:16px;flex:0 0 auto;accent-color:var(--accent)}@media(max-width:560px){.ic-drawer{width:calc(100vw / var(--ui-zoom-vu, 1))}.ic-drawer .form-grid-2,.ic-drawer .form-grid-3{grid-template-columns:1fr}.ic-drawer .fld>span:first-child{min-height:0}.drawer-foot{flex-wrap:wrap}}.store-lines td input:not([type=checkbox]):not([type=radio]),.store-lines td textarea,.store-lines td select{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background-color:var(--bg-elevated);color:var(--text-primary);font-size:13px;font-weight:400;outline:none;font-family:inherit}.store-lines td textarea{min-height:46px;resize:vertical;line-height:1.4}.store-lines td input:focus,.store-lines td textarea:focus,.store-lines td select:focus{border-color:var(--brand)}.store-lines td{vertical-align:top}.perm-matrix-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:10px;margin-top:12px;max-height:calc(70vh / var(--ui-zoom-vu, 1))}.perm-matrix{border-collapse:separate;border-spacing:0;font-size:13px;width:max-content;min-width:100%}.perm-matrix th,.perm-matrix td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);padding:7px 9px;text-align:center;vertical-align:middle}.perm-matrix thead th{position:sticky;top:0;background:var(--bg-elevated);z-index:2;font-weight:600;white-space:nowrap}.perm-matrix .sticky-col{position:sticky;left:0;background:var(--bg-surface);text-align:left;z-index:1;min-width:240px;max-width:360px;white-space:normal;line-height:1.3}.perm-matrix thead .sticky-col{z-index:3;background:var(--bg-elevated)}.perm-matrix tbody .matrix-page td{background:var(--panel);font-weight:600;font-size:12px}.perm-matrix tbody .matrix-page .sticky-col{background:var(--panel)}.perm-matrix .pk{display:block;font-size:11px;color:var(--text-muted);font-family:ui-monospace,Menlo,Consolas,monospace;margin-top:1px}.perm-matrix input[type=checkbox]{width:16px;height:16px;cursor:pointer}.perm-matrix .colhead{min-width:78px;max-width:120px;white-space:normal;line-height:1.25}.perm-matrix .mini{font:inherit;font-size:11px;padding:1px 7px;border:1px solid var(--border);border-radius:12px;background:var(--bg-surface);color:var(--text-muted);cursor:pointer}.perm-matrix .mini:hover{border-color:var(--brand);color:var(--brand)}.va{--va-gap: 14px}.va .va-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:var(--va-gap)}.va .va-head h2{margin:0 0 4px}.va .va-head p{margin:0}.va-picker{display:grid;gap:4px;min-width:260px;flex:0 1 340px}.va-period{display:flex;align-items:center;gap:14px 18px;flex-wrap:wrap;padding:10px 14px;margin-bottom:var(--va-gap)}.va-seg{display:inline-flex;max-width:100%;gap:2px;padding:3px;border-radius:10px;background:var(--bg-base);border:1px solid var(--border)}.va-seg button{border:0;background:transparent;color:var(--text-secondary);padding:7px 14px;border-radius:8px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:var(--trans)}.va-seg button:hover:not(.on){color:var(--text-primary);background:var(--bg-hover)}.va-seg button.on{background:var(--brand);color:#fff;box-shadow:0 2px 8px color-mix(in srgb,var(--brand) 35%,transparent)}.va-nav{display:flex;align-items:center;gap:8px}.va-navbtn{width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-primary);font-size:18px;line-height:1;cursor:pointer;transition:var(--trans)}.va-navbtn:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}.va-navbtn:disabled{opacity:.35;cursor:not-allowed}.va-navlabel{display:grid;min-width:170px;text-align:center;line-height:1.25}.va-navlabel b{font-size:15px}.va-custom{display:flex;gap:10px;flex-wrap:wrap}.va-custom .fld{flex:0 0 auto;min-width:150px}.va-vs{margin-left:auto;display:inline-flex;align-items:center;gap:8px}.va-spin{width:12px;height:12px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--brand);animation:va-spin .7s linear infinite}@keyframes va-spin{to{transform:rotate(360deg)}}.va-hero{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 18px;margin-bottom:var(--va-gap);background:linear-gradient(120deg,color-mix(in srgb,var(--brand) 9%,var(--bg-surface)),var(--bg-surface) 60%)}.va-avatar{width:54px;height:54px;border-radius:14px;flex:none;display:grid;place-items:center;color:#fff;font-weight:700;font-size:19px;letter-spacing:.5px;background:linear-gradient(135deg,var(--brand),var(--accent));box-shadow:0 6px 18px color-mix(in srgb,var(--brand) 30%,transparent)}.va-avatar-all{font-size:24px}.va-hero-main{flex:1 1 240px;min-width:0}.va-hero-name{font-size:19px;font-weight:700;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.va-hero-meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:4px}.va-back{width:auto;padding:8px 14px}.va-gradebox{display:flex;align-items:center;gap:10px}.va-gradebox.big .va-grade{width:44px;height:44px;font-size:22px;border-radius:12px}.va-grade{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:8px;font-weight:800;font-size:13px;color:#fff}.va-grade-a{background:var(--green)}.va-grade-b{background:#14b8a6}.va-grade-c{background:var(--amber)}.va-grade-d{background:var(--red)}.va-grade-none{background:var(--bg-hover);color:var(--text-secondary)}.va-gradekey{margin-top:12px;display:flex;align-items:center;gap:4px;flex-wrap:wrap}.va-gradekey .va-grade{width:18px;height:18px;font-size:10px;border-radius:5px}.va-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-bottom:var(--va-gap)}.va-kpi{--tone: var(--brand);position:relative;overflow:hidden;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px;display:grid;gap:6px;transition:var(--trans)}.va-kpi:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--tone);opacity:.9}.va-kpi:hover{border-color:color-mix(in srgb,var(--tone) 45%,var(--border));transform:translateY(-1px);box-shadow:0 6px 18px color-mix(in srgb,var(--tone) 12%,transparent)}.va-kpi-top{display:flex;align-items:center;gap:8px}.va-kpi-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-size:15px;background:color-mix(in srgb,var(--tone) 14%,transparent);flex:none}.va-kpi-label{font-size:12.5px;font-weight:600;color:var(--text-secondary)}.va-kpi-mid{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.va-kpi-value{font-size:25px;font-weight:750;line-height:1.1;letter-spacing:-.3px;font-variant-numeric:tabular-nums}.va-kpi-sub{font-size:11.5px;color:var(--text-secondary)}.va-tone-brand{--tone: var(--brand)}.va-tone-purple{--tone: var(--purple)}.va-tone-blue{--tone: var(--blue)}.va-tone-teal{--tone: #14b8a6}.va-tone-green{--tone: var(--green)}.va-tone-amber{--tone: var(--amber)}.va-tone-red{--tone: var(--red)}.va-tone-slate{--tone: var(--text-secondary)}.va-delta{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;white-space:nowrap;font-variant-numeric:tabular-nums}.va-good{color:var(--green);background:color-mix(in srgb,var(--green) 14%,transparent)}.va-bad{color:var(--red);background:color-mix(in srgb,var(--red) 14%,transparent)}.va-neutral{color:var(--brand-fg, var(--brand));background:color-mix(in srgb,var(--brand) 13%,transparent)}.va-flat{color:var(--text-secondary);background:var(--bg-hover)}.va-new{color:var(--purple);background:color-mix(in srgb,var(--purple) 14%,transparent)}.va-up-bad{color:var(--red);font-size:10px}.va-down-good{color:var(--green);font-size:10px}.va-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:var(--va-gap)}.va-span2{grid-column:span 2}@media(max-width:1100px){.va-grid{grid-template-columns:minmax(0,1fr)}.va-span2{grid-column:auto}}.va-card{padding:16px 18px;margin-bottom:0}.va>.dash-card.va-card{margin-bottom:var(--va-gap)}.va-card-hd{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:14px}.va-card-hd h3{margin:0 0 2px;font-size:15px}.va-fytot{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.va-fytot>div{display:grid;text-align:right;line-height:1.2}.va-fytot b{font-size:15px;font-variant-numeric:tabular-nums}.gcc-bar{transition:opacity .15s,filter .15s;cursor:default}.gcc-bar:hover{filter:brightness(1.15);outline:2px solid color-mix(in srgb,var(--text-primary) 18%,transparent)}.va-table tbody tr.va-click{cursor:pointer;transition:background .12s}.va-table tbody tr.va-click:hover{background:color-mix(in srgb,var(--brand) 7%,transparent)}.va-mini-av{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:7px;margin-right:8px;font-size:10px;font-weight:700;color:#fff;vertical-align:middle;background:linear-gradient(135deg,var(--brand),var(--accent))}.va-inbar{height:6px;border-radius:4px;background:var(--border);overflow:hidden;margin-bottom:4px;max-width:160px}.va-inbar>div{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--brand),var(--accent))}.va-tabs{display:flex;gap:4px;padding:10px 12px 0;border-bottom:1px solid var(--border);overflow-x:auto}.va-tabs button{border:0;background:transparent;color:var(--text-secondary);font:inherit;font-size:13.5px;font-weight:600;padding:10px 14px;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:7px;transition:var(--trans)}.va-tabs button:hover{color:var(--text-primary)}.va-tabs button.on{color:var(--brand-fg, var(--brand));border-bottom-color:var(--brand)}.va-count{font-size:11px;font-weight:700;padding:0 7px;border-radius:999px;background:var(--bg-hover);color:var(--text-secondary);line-height:18px}.va-tabs button.on .va-count{background:color-mix(in srgb,var(--brand) 16%,transparent);color:var(--brand-fg, var(--brand))}.va-tab-empty{display:grid;justify-items:center;gap:6px;padding:34px 16px;color:var(--text-secondary);font-size:13px;text-align:center}.va-tab-empty>span{font-size:26px;opacity:.55}.va-status{font-size:11px;font-weight:700;padding:2px 9px;border-radius:999px;white-space:nowrap}.va-st-approved,.va-qc-pass{color:var(--green);background:color-mix(in srgb,var(--green) 13%,transparent)}.va-st-pending_approval,.va-qc-partial{color:var(--amber);background:color-mix(in srgb,var(--amber) 15%,transparent)}.va-st-cancelled,.va-qc-fail{color:var(--red);background:color-mix(in srgb,var(--red) 13%,transparent)}.va-empty{display:grid;justify-items:center;gap:8px;text-align:center;padding:30px 18px;margin-bottom:var(--va-gap);background:linear-gradient(180deg,color-mix(in srgb,var(--brand) 5%,var(--bg-surface)),var(--bg-surface))}.va-empty-icon{font-size:36px}.va-empty-cta{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:6px}.va-empty-cta .btn-ghost{width:auto;padding:8px 14px}.va-skel{border-radius:var(--radius-lg);background:linear-gradient(90deg,var(--bg-surface) 25%,var(--bg-hover) 37%,var(--bg-surface) 63%);background-size:400% 100%;animation:va-shimmer 1.3s ease infinite;border:1px solid var(--border)}@keyframes va-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}@media(prefers-reduced-motion:reduce){.va-skel,.va-spin{animation:none}.va-kpi:hover{transform:none}}@media(max-width:640px){.va-vs{margin-left:0}.va-navlabel{min-width:0;flex:1}.va-kpi-value{font-size:22px}.va-seg{display:flex;width:100%}.va-seg button{flex:1;padding:7px 4px;font-size:12.5px}.va-nav{width:100%}.va-picker{min-width:0;flex:1 1 100%}}.cc-spec-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:6px;flex-wrap:wrap}.cc-spec-ifbtn{border:1px dashed color-mix(in srgb,var(--purple) 55%,var(--border));background:color-mix(in srgb,var(--purple) 8%,transparent);color:var(--purple);font:inherit;font-size:12px;font-weight:700;padding:5px 12px;border-radius:8px;cursor:pointer}.cc-spec-ifbtn:hover{background:color-mix(in srgb,var(--purple) 15%,transparent)}.cc-spec-status{margin-top:8px;font-size:12px;font-weight:600;padding:7px 10px;border-radius:8px}.cc-spec-status.ok{color:var(--green);background:color-mix(in srgb,var(--green) 10%,transparent)}.cc-spec-status.bad{color:var(--red);background:color-mix(in srgb,var(--red) 10%,transparent)}.cc-spec-help{margin-top:8px;border:1px solid var(--border);border-radius:8px;background:var(--bg-base)}.cc-spec-help>summary{cursor:pointer;padding:8px 12px;font-size:12px;font-weight:600;color:var(--text-secondary)}.cc-spec-help-body{padding:0 12px 10px;font-size:12px;color:var(--text-secondary)}.cc-spec-help-body pre{margin:0 0 8px;padding:8px 10px;border-radius:6px;background:var(--bg-elevated);color:var(--purple);font-size:11.5px;line-height:1.5;overflow-x:auto}.cc-spec-help-body ul{margin:0;padding-left:18px;display:grid;gap:4px}.cc-spec-help-body code{font-size:11px;padding:0 4px;border-radius:4px;background:var(--bg-elevated);color:var(--text-primary)}.cc-spec-preview{margin-top:10px;border:1px solid color-mix(in srgb,var(--brand) 35%,var(--border));border-radius:10px;padding:12px;background:color-mix(in srgb,var(--brand) 5%,var(--bg-surface))}.cc-spec-preview-hd{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--brand-fg, var(--brand));margin-bottom:10px}.cc-spec-preview-picks{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-bottom:10px}.cc-spec-pick{display:grid;gap:4px;font-size:11.5px;font-weight:600;color:var(--text-secondary)}.cc-spec-preview-lines{margin:0;padding:8px 10px 8px 30px;border-radius:8px;background:var(--bg-elevated);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.7;color:var(--text-primary)}.cc-spec-tok{color:var(--purple);font-weight:600}.cc-refresh-chk{display:inline-flex;align-items:center;gap:7px;margin-right:auto;font-size:12px;color:var(--text-secondary);cursor:pointer}.cc-refresh-chk input{width:15px;height:15px}.cc-ed-split{display:contents}.cc-ed-split.open{display:flex;gap:14px;width:min(1800px,calc(calc(100vw / var(--ui-zoom-vu, 1)) - 40px));height:calc(94vh / var(--ui-zoom-vu, 1));align-items:stretch}.cc-ed-split.open>.cc-ed-modal{flex:0 0 min(800px,calc(46vw / var(--ui-zoom-vu, 1)));height:100%;max-height:none!important;margin:0}.cc-code-panel{flex:1 1 auto;min-width:380px;display:flex;flex-direction:column;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden;animation:cc-code-in .2s ease}@keyframes cc-code-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}.cc-code-panel-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px;border-bottom:1px solid var(--border)}.cc-code-panel-title{font-weight:700;font-size:15px}.cc-code-panel-title span{font-weight:500;font-size:12.5px;color:var(--text-secondary)}.cc-code-panel-body{flex:1 1 auto;min-height:0;padding:12px 16px 14px;display:flex;flex-direction:column}@media(max-width:1199px){.cc-ed-split.open{display:contents}.cc-code-panel{position:fixed;top:12px;right:12px;bottom:12px;left:12px;z-index:1001}}@media(prefers-reduced-motion:reduce){.cc-code-panel{animation:none}}.cc-wb{display:flex;flex-direction:column;gap:8px}.cc-wb-panel{flex:1 1 auto;min-height:0;gap:0}.cc-wb-panel>.cc-wb-tools{margin-bottom:8px}.cc-wb-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.cc-wb-btn{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-primary);font:inherit;font-size:12px;font-weight:600;padding:5px 11px;border-radius:8px;cursor:pointer;white-space:nowrap;transition:var(--trans)}.cc-wb-btn:hover{border-color:var(--brand);color:var(--brand-fg, var(--brand))}.cc-wb-btn.primary{background:color-mix(in srgb,var(--green) 14%,transparent);border-color:color-mix(in srgb,var(--green) 45%,var(--border));color:var(--green)}.cc-wb-btn.primary:hover{background:color-mix(in srgb,var(--green) 22%,transparent);color:var(--green)}.cc-wb-open{margin-left:auto}.cc-wb-sep{width:1px;height:18px;background:var(--border);margin:0 2px}.cc-code-host{position:relative}.cc-code-host .cm-editor{min-height:var(--cc-code-min, 200px);max-height:var(--cc-code-max, 380px)}.cc-code-host .cm-scroller{overflow:auto}.cc-wb-panel .cc-code-host{flex:1 1 0;min-height:90px;overflow:hidden}.cc-wb-panel .cc-code-host .cm-editor{height:100%;max-height:none}.cc-wb-below{display:flex;flex-direction:column;gap:8px}.cc-wb-panel .cc-wb-below{flex:0 0 var(--cc-below, 42%);min-height:60px;overflow-y:auto;padding-right:2px}.cc-wb-split{flex:0 0 auto;position:relative;height:14px;margin:2px 0;cursor:row-resize;display:flex;align-items:center;justify-content:center;touch-action:none}.cc-wb-split>span:first-child{width:56px;height:4px;border-radius:4px;background:var(--border);transition:var(--trans)}.cc-wb-split:hover>span:first-child{background:var(--brand);width:90px}.cc-wb-split-btns{position:absolute;right:0;top:50%;transform:translateY(-50%);display:flex;gap:4px}.cc-wb-split-btns button{font:inherit;font-size:10.5px;font-weight:600;padding:1px 7px;border-radius:6px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer}.cc-wb-split-btns button:hover{border-color:var(--brand);color:var(--brand-fg, var(--brand))}.cc-wb-below>*{margin-top:0!important}.cc-spec-status.warnish{color:var(--amber);background:color-mix(in srgb,var(--amber) 12%,transparent)}.cc-spec-warnnote{color:var(--amber);font-weight:600}.cc-wb-report{border-radius:10px;padding:10px 12px;display:grid;gap:6px;border:1px solid var(--border)}.cc-wb-report.ok{border-color:color-mix(in srgb,var(--green) 45%,var(--border));background:color-mix(in srgb,var(--green) 8%,transparent)}.cc-wb-report.warn{border-color:color-mix(in srgb,var(--amber) 50%,var(--border));background:color-mix(in srgb,var(--amber) 8%,transparent)}.cc-wb-report.bad{border-color:color-mix(in srgb,var(--red) 50%,var(--border));background:color-mix(in srgb,var(--red) 8%,transparent)}.cc-wb-report-hd{font-size:12.5px;font-weight:700}.cc-wb-report.ok .cc-wb-report-hd{color:var(--green)}.cc-wb-report.warn .cc-wb-report-hd{color:var(--amber)}.cc-wb-report.bad .cc-wb-report-hd{color:var(--red)}.cc-wb-report-sum{font-weight:500;color:var(--text-secondary)}.cc-wb-issue{display:flex;gap:8px;align-items:baseline;text-align:left;width:100%;border:0;background:var(--bg-surface);border-radius:6px;padding:6px 9px;font:inherit;font-size:12px;color:var(--text-primary);cursor:pointer;box-shadow:inset 3px 0 0 var(--amber)}.cc-wb-issue.error{box-shadow:inset 3px 0 0 var(--red)}.cc-wb-issue b{white-space:nowrap;color:var(--text-secondary);font-size:11px}.cc-wb-issue:hover{background:var(--bg-hover)}.cc-code-docked{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;border:1px dashed color-mix(in srgb,var(--purple) 50%,var(--border));border-radius:10px;background:color-mix(in srgb,var(--purple) 6%,transparent);font-size:13px;font-weight:600}.cc-code-docked .ok{color:var(--green)}.cc-code-docked .bad{color:var(--red)}.cc-code-docked .cc-wb-btn,.cc-code-panel-hd .cc-code-tabs{margin-left:auto}.cc-code-tabs .cc-view-tab.has-err{color:var(--red)}.wf-panel{display:grid;gap:10px}.wf-hd{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.wf-by{margin-left:auto}.wf-kind{font-weight:600;font-size:13px}.wf-status,.wf-task-st{font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;letter-spacing:.02em;background:color-mix(in srgb,var(--text-muted) 15%,transparent);color:var(--text-secondary)}.wf-status.s-IN_PROGRESS,.wf-task-st.s-PENDING{background:color-mix(in srgb,var(--amber) 16%,transparent);color:#b45309}.wf-status.s-APPROVED,.wf-task-st.s-APPROVED{background:color-mix(in srgb,var(--green) 16%,transparent);color:var(--green)}.wf-status.s-SENT_BACK,.wf-task-st.s-SENT_BACK{background:color-mix(in srgb,var(--purple) 15%,transparent);color:var(--purple)}.wf-status.s-REJECTED,.wf-task-st.s-REJECTED{background:color-mix(in srgb,var(--red) 14%,transparent);color:var(--red)}.wf-stepper{list-style:none;margin:0;padding:0;display:grid;gap:0}.wf-step{display:flex;gap:10px;align-items:flex-start;position:relative;padding:0 0 12px}.wf-step:not(:last-child):before{content:"";position:absolute;left:12px;top:26px;bottom:0;width:2px;background:var(--border)}.wf-step.done:not(:last-child):before{background:color-mix(in srgb,var(--green) 55%,var(--border))}.wf-dot{flex:0 0 26px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;background:var(--bg-elevated);border:2px solid var(--border);color:var(--text-muted);z-index:1}.wf-step.done .wf-dot{background:var(--green);border-color:var(--green);color:#fff}.wf-step.current .wf-dot{background:color-mix(in srgb,var(--amber) 18%,var(--bg-elevated));border-color:var(--amber);color:#b45309}.wf-step.current.overdue .wf-dot{border-color:var(--red);color:var(--red);background:color-mix(in srgb,var(--red) 12%,var(--bg-elevated))}.wf-step.back .wf-dot{border-color:var(--purple);color:var(--purple)}.wf-step.rejected .wf-dot{background:var(--red);border-color:var(--red);color:#fff}.wf-step b{font-size:13px}.wf-ok{color:var(--green);font-weight:600}.wf-late{color:var(--red);font-weight:600}.wf-comment{font-size:12px;color:var(--text-secondary);font-style:italic;margin-top:2px}.wf-act{border:1px solid color-mix(in srgb,var(--brand) 35%,var(--border));border-radius:10px;padding:12px;background:color-mix(in srgb,var(--brand) 5%,var(--bg-surface))}.wf-act-hd{font-weight:700;font-size:13px;margin-bottom:8px}.wf-act textarea{width:100%;resize:vertical;margin-bottom:8px}.wf-act-btns{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.wf-history summary{cursor:pointer;font-size:12px;color:var(--text-secondary)}.wf-tasks{display:grid;gap:4px;margin-top:6px}.wf-task{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12px;padding:5px 8px;border:1px solid var(--border);border-radius:7px;background:var(--bg-base)}.wf-task-stage{font-weight:600}.wf-old{margin-top:8px;padding-top:8px;border-top:1px dashed var(--border)}.apv-inbox-card.wf-overdue{box-shadow:inset 3px 0 0 var(--red)}.ic-apv{border:0;cursor:pointer;font:inherit;font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;white-space:nowrap}.ic-apv.pending{background:color-mix(in srgb,var(--amber) 18%,transparent);color:#b45309}.ic-apv.change{background:color-mix(in srgb,var(--brand) 14%,transparent);color:var(--brand)}.ic-apv.back{background:color-mix(in srgb,var(--purple) 15%,transparent);color:var(--purple)}.ic-apv.rejected{background:color-mix(in srgb,var(--red) 14%,transparent);color:var(--red)}.ic-apv:hover{filter:brightness(.95);text-decoration:underline}.ic-apv-banner{border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:var(--bg-base);display:grid;gap:10px}.ic-apv-banner-hd{display:flex;align-items:center;gap:8px;border:0;background:none;padding:0;cursor:pointer;font:inherit;text-align:left;width:100%}.ic-apv-banner-hd .ic-apv{pointer-events:none}.ic-apv-caret{margin-left:auto;color:var(--text-muted)}.ic-apv-hint{font-size:12px;color:var(--text-secondary);padding:8px 12px;border-radius:8px;background:color-mix(in srgb,var(--brand) 6%,transparent);border:1px solid color-mix(in srgb,var(--brand) 18%,transparent)}.ic-apv-hint.ic-apv-drift{background:color-mix(in srgb,#f59e0b 12%,var(--bg-surface, #fff));border-color:color-mix(in srgb,#f59e0b 45%,transparent);color:var(--text-primary)}.ic-fieldset{border:0;padding:0;margin:0;min-width:0}.ic-fieldset:disabled{opacity:.6}.ic-review{width:min(1100px,calc(96vw / var(--ui-zoom-vu, 1)));max-width:none;max-height:calc(92vh / var(--ui-zoom-vu, 1));display:flex;flex-direction:column;overflow:hidden}.ic-review-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:18px;overflow-y:auto}.ic-review-name{font-size:16px;font-weight:700;line-height:1.4}.ic-review-tbl td,.ic-review-tbl th{padding:6px 10px;font-size:13px}.ic-review-tbl tr.chg td{background:color-mix(in srgb,var(--amber) 9%,transparent)}.ic-review-wf{border-left:1px solid var(--border);padding-left:18px}@media(max-width:860px){.ic-review-body{grid-template-columns:minmax(0,1fr)}.ic-review-wf{border-left:0;padding-left:0}}.wfs{display:grid;grid-template-columns:280px minmax(0,1fr);gap:14px;align-items:start}@media(max-width:980px){.wfs{grid-template-columns:minmax(0,1fr)}}.wfs-group{margin-top:10px}.wfs-group-hd{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:0 0 6px}.wfs-item{display:grid;gap:3px;width:100%;text-align:left;border:1px solid var(--border);border-radius:9px;padding:9px 11px;background:var(--bg-surface);cursor:pointer;font:inherit;margin-bottom:6px}.wfs-item.active{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 14%,transparent)}.wfs-item-name{font-weight:600;font-size:13px}.wfs-item-meta{display:flex;gap:8px;align-items:center}.wfs-onoff{font-size:10px;font-weight:700;padding:2px 7px;border-radius:999px;background:color-mix(in srgb,var(--text-muted) 16%,transparent);color:var(--text-secondary)}.wfs-onoff.on{background:color-mix(in srgb,var(--green) 16%,transparent);color:var(--green)}.wfs-editor{display:grid;gap:14px}.wfs-ed-hd{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap}.wfs-name{font-size:18px;font-weight:700;border:1px solid transparent;background:transparent;padding:2px 6px;margin-left:-6px;border-radius:6px;width:100%}.wfs-name:hover,.wfs-name:focus{border-color:var(--border);background:var(--bg-base)}.wfs-ed-side{display:grid;gap:4px;justify-items:end}.wfs-switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.wfs-switch input{display:none}.wfs-switch-track{width:42px;height:24px;border-radius:999px;background:var(--border);position:relative;transition:background .15s}.wfs-switch-knob{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:left .15s;box-shadow:0 1px 3px #00000040}.wfs-switch.on .wfs-switch-track{background:var(--green)}.wfs-switch.on .wfs-switch-knob{left:21px}.wfs-flow{display:grid;gap:0}.wfs-node{display:flex;gap:10px;align-items:center;padding:10px 14px;border-radius:10px;border:1px dashed var(--border);background:var(--bg-base)}.wfs-node.start{border-color:color-mix(in srgb,var(--brand) 40%,var(--border))}.wfs-node.end{border-color:color-mix(in srgb,var(--green) 45%,var(--border))}.wfs-node-ic{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--bg-elevated);border:1px solid var(--border);font-size:14px}.wfs-arrow{display:flex;justify-content:center;position:relative;height:34px}.wfs-arrow:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;background:var(--border)}.wfs-add{position:relative;z-index:1;align-self:center;width:24px;height:24px;border-radius:50%;border:1px solid var(--border);background:var(--bg-surface);cursor:pointer;font-size:13px;color:var(--brand);line-height:1}.wfs-add:hover{background:color-mix(in srgb,var(--brand) 12%,var(--bg-surface));border-color:var(--brand)}.wfs-stage{border:1px solid var(--border);border-radius:12px;padding:12px 14px;background:var(--bg-surface);box-shadow:0 1px 3px #0000000d;display:grid;gap:10px}.wfs-stage-hd{display:flex;align-items:center;gap:8px}.wfs-stage-no{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:12px;background:color-mix(in srgb,var(--brand) 14%,transparent);color:var(--brand);flex:0 0 auto}.wfs-stage-name{flex:1;font-weight:700;font-size:14px}.wfs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.wfs-grid .fld{display:grid;gap:4px}.wfs-grid .fld>span{font-size:11.5px;color:var(--text-secondary);font-weight:600}.wfs-span2{grid-column:1 / -1}@media(max-width:640px){.wfs-grid{grid-template-columns:minmax(0,1fr)}}.wfs-checks{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px}.wfs-checks label,.wfs-opts label{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.wfs-opts{display:grid;gap:6px;font-size:13px;padding:10px 12px;border-radius:10px;background:var(--bg-base);border:1px solid var(--border)}.wfs-hint{font-size:11.5px}.wfs-errors{font-size:12.5px;color:var(--red);background:color-mix(in srgb,var(--red) 8%,transparent);border-radius:8px;padding:8px 12px}.wfs-msg{font-size:12.5px;color:var(--green)}.wfs-foot{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.wfs-foot .muted{margin-right:auto}.wfs-list .dash-ch{flex-direction:column;align-items:flex-start;gap:2px}.wfs-list .dash-ch h3{margin:0}.wfs-stage-name{border:1px solid transparent;background:transparent;color:var(--text-primary);padding:4px 8px;border-radius:6px;font:inherit;font-weight:700;font-size:14px;min-width:0}.wfs-stage-name:hover,.wfs-stage-name:focus{border-color:var(--border);background:var(--bg-base);outline:none}.wfs-name{color:var(--text-primary);font-family:inherit}.wfs-name:focus{outline:none}.wfs-stage-hd input.wfs-stage-name,.wfs-ed-hd input.wfs-name{border:1px solid transparent!important;background:transparent!important;box-shadow:none!important;color:var(--text-primary);border-radius:6px;height:auto;min-height:0}.wfs-stage-hd input.wfs-stage-name{flex:1;min-width:0;padding:4px 8px;font-size:14px;font-weight:700}.wfs-stage-hd input.wfs-stage-name:hover,.wfs-ed-hd input.wfs-name:hover{border-color:var(--border)!important}.wfs-stage-hd input.wfs-stage-name:focus,.wfs-ed-hd input.wfs-name:focus{border-color:var(--brand)!important;background:var(--bg-base)!important;outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 14%,transparent)!important}.wfs-flow-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.wfs-flow-bar .muted{margin-right:auto}.wfs-caret{flex:0 0 auto;width:24px;height:24px;border:0;background:none;cursor:pointer;color:var(--text-secondary);font-size:13px;border-radius:6px;display:grid;place-items:center}.wfs-caret:hover{background:var(--bg-elevated);color:var(--text-primary)}.wfs-stage.collapsed{padding-top:10px;padding-bottom:10px;gap:6px}.wfs-stage-sum{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border:0;background:none;padding:0 0 0 64px;font:inherit;font-size:12.5px;color:var(--text-secondary);cursor:pointer;text-align:left}.wfs-stage-sum:hover{color:var(--text-primary)}.wfs-pill{font-size:11px;font-weight:700;padding:2px 9px;border-radius:999px;background:color-mix(in srgb,var(--amber) 16%,transparent);color:#b45309}.ms-opt-txt{display:grid;gap:1px;min-width:0;line-height:1.3}.ms-hint{font-size:11.5px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hr-table tr.wf-draft td,.ic-card.wf-draft{background:color-mix(in srgb,#3B82F6 7%,transparent)}.hr-table tr.wf-stg0 td,.ic-card.wf-stg0{background:color-mix(in srgb,#F59E0B 9%,transparent)}.hr-table tr.wf-stg1 td,.ic-card.wf-stg1{background:color-mix(in srgb,#8B5CF6 8%,transparent)}.hr-table tr.wf-stg2 td,.ic-card.wf-stg2{background:color-mix(in srgb,#14B8A6 8%,transparent)}.hr-table tr.wf-stg3 td,.ic-card.wf-stg3{background:color-mix(in srgb,#EC4899 7%,transparent)}.hr-table tr.wf-stg4 td,.ic-card.wf-stg4{background:color-mix(in srgb,#06B6D4 8%,transparent)}.hr-table tr.wf-back td,.ic-card.wf-back{background:color-mix(in srgb,#F97316 9%,transparent)}.hr-table tr.wf-rejected td,.ic-card.wf-rejected{background:color-mix(in srgb,#EF4444 8%,transparent)}.hr-table tr.wf-draft td:first-child{box-shadow:inset 4px 0 #3b82f6}.hr-table tr.wf-stg0 td:first-child{box-shadow:inset 4px 0 #f59e0b}.hr-table tr.wf-stg1 td:first-child{box-shadow:inset 4px 0 #8b5cf6}.hr-table tr.wf-stg2 td:first-child{box-shadow:inset 4px 0 #14b8a6}.hr-table tr.wf-stg3 td:first-child{box-shadow:inset 4px 0 #ec4899}.hr-table tr.wf-stg4 td:first-child{box-shadow:inset 4px 0 #06b6d4}.hr-table tr.wf-back td:first-child{box-shadow:inset 4px 0 #f97316}.hr-table tr.wf-rejected td:first-child{box-shadow:inset 4px 0 #ef4444}.ic-card.wf-draft{box-shadow:inset 4px 0 #3b82f6}.ic-card.wf-stg0{box-shadow:inset 4px 0 #f59e0b}.ic-card.wf-stg1{box-shadow:inset 4px 0 #8b5cf6}.ic-card.wf-stg2{box-shadow:inset 4px 0 #14b8a6}.ic-card.wf-back{box-shadow:inset 4px 0 #f97316}.ic-card.wf-rejected{box-shadow:inset 4px 0 #ef4444}.hr-table tr.selected td{background:color-mix(in srgb,var(--brand) 13%,transparent)!important}.ic-card.selected{outline:2px solid var(--brand);outline-offset:-2px}.ic-chk-col{width:34px;text-align:center}.ic-chk-col input,.ic-card-chk input{width:16px;height:16px;cursor:pointer;margin:0}.ic-card{position:relative}.ic-card-chk{position:absolute;top:8px;left:8px;z-index:2;background:var(--bg-surface);border-radius:5px;padding:3px;line-height:0;box-shadow:0 1px 3px #00000026}.ic-wf-legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 2px 10px}.ic-wf-key{font-size:11.5px;font-weight:600;padding:3px 10px 3px 8px;border-radius:999px;border-left:4px solid transparent}.ic-wf-key.wf-draft{background:color-mix(in srgb,#3B82F6 12%,transparent);border-left-color:#3b82f6;color:#1d4ed8}.ic-wf-key.wf-stg0{background:color-mix(in srgb,#F59E0B 15%,transparent);border-left-color:#f59e0b;color:#b45309}.ic-wf-key.wf-stg1{background:color-mix(in srgb,#8B5CF6 14%,transparent);border-left-color:#8b5cf6;color:#6d28d9}.ic-wf-key.wf-stg2{background:color-mix(in srgb,#14B8A6 14%,transparent);border-left-color:#14b8a6;color:#0f766e}.ic-wf-key.wf-stg3{background:color-mix(in srgb,#EC4899 13%,transparent);border-left-color:#ec4899;color:#be185d}.ic-wf-key.wf-stg4{background:color-mix(in srgb,#06B6D4 14%,transparent);border-left-color:#06b6d4;color:#0e7490}.ic-wf-key.wf-back{background:color-mix(in srgb,#F97316 14%,transparent);border-left-color:#f97316;color:#c2410c}.ic-wf-key.wf-rejected{background:color-mix(in srgb,#EF4444 13%,transparent);border-left-color:#ef4444;color:#b91c1c}.ic-wf-legend .muted{margin-left:4px}.ic-bulkbar{position:sticky;top:8px;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px;padding:10px 14px;border-radius:12px;background:var(--bg-surface);border:1px solid color-mix(in srgb,var(--brand) 45%,var(--border));box-shadow:0 6px 20px #0000001f}.ic-bulkbar .btn-primary.sm{width:auto;padding:7px 14px}.ic-bulkmsg{position:relative;display:grid;gap:4px;margin:0 0 10px;padding:10px 40px 10px 14px;border-radius:10px;font-size:13px;background:color-mix(in srgb,var(--green) 10%,transparent);border:1px solid color-mix(in srgb,var(--green) 35%,var(--border))}.ic-bulkmsg.warn{background:color-mix(in srgb,var(--amber) 10%,transparent);border-color:color-mix(in srgb,var(--amber) 40%,var(--border))}.ic-bulkmsg .modal-x{position:absolute;top:6px;right:8px}.ic-apv.draft{background:color-mix(in srgb,#3B82F6 14%,transparent);color:#1d4ed8}.apv-inbox-card.wf-batch{box-shadow:inset 3px 0 0 var(--brand)}.apv-inbox-card.wf-batch.wf-overdue{box-shadow:inset 3px 0 0 var(--red)}.wf-batch-list{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.wf-stepin{margin:0 0 8px;padding:8px 10px;border-radius:8px;background:color-mix(in srgb,var(--amber) 10%,transparent);border:1px solid color-mix(in srgb,var(--amber) 35%,var(--border))}.wf-stepin input{width:100%}.apv-backup-chip{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:600;vertical-align:middle;background:color-mix(in srgb,var(--amber) 16%,transparent);color:#b45309;border:1px solid color-mix(in srgb,var(--amber) 40%,var(--border))}.ic-wf-who{margin:0 2px 12px;padding:8px 12px;border-radius:10px;background:var(--bg-surface);border:1px solid var(--border)}.ic-wf-who>summary{cursor:pointer;font-weight:600;font-size:13px}.ic-wf-who-steps{list-style:none;margin:10px 0 6px;padding:0;display:flex;flex-wrap:wrap;gap:10px}.ic-wf-who-steps li{display:flex;gap:8px;align-items:flex-start;min-width:220px;flex:1 1 240px;padding:8px 10px;border-radius:8px;background:color-mix(in srgb,var(--brand) 5%,transparent);border:1px solid color-mix(in srgb,var(--brand) 20%,var(--border))}.ic-wf-who-no{flex:none;width:22px;height:22px;border-radius:999px;background:var(--brand);color:#fff;font-size:12px;font-weight:700;display:grid;place-items:center}.ic-wf-who-names{margin-top:2px;font-size:13px}.wfs-gate-warn{margin-top:6px;font-size:12.5px;padding:6px 10px;border-radius:8px;background:color-mix(in srgb,var(--red) 10%,transparent);border:1px solid color-mix(in srgb,var(--red) 35%,var(--border));color:#b91c1c}.ic-desc-click{cursor:pointer}.ic-desc-click:hover{text-decoration:underline}.ic-view-body{display:block;flex:1 1 auto;min-height:0;overflow-y:auto}.ic-view-head{display:flex;gap:14px;align-items:flex-start}.ic-view-head .ic-thumb{flex:none;width:96px;height:96px}.wfs-viewtabs{display:flex;gap:6px;margin-bottom:12px}.wfs-viewtab{padding:7px 14px;border-radius:9px;border:1px solid var(--border);background:var(--bg-surface);font-weight:600;font-size:13px;cursor:pointer}.wfs-viewtab.active{background:var(--brand);color:#fff;border-color:var(--brand)}.wf-kpi-filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:14px}.wf-kpi-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:16px}.wf-kpi-card{padding:12px 14px;border-radius:12px;background:var(--bg-elevated);border:1px solid var(--border)}.wf-kpi-card.good{border-color:color-mix(in srgb,var(--green) 45%,var(--border));background:color-mix(in srgb,var(--green) 8%,transparent)}.wf-kpi-card.ok{border-color:color-mix(in srgb,var(--amber) 45%,var(--border));background:color-mix(in srgb,var(--amber) 8%,transparent)}.wf-kpi-card.bad{border-color:color-mix(in srgb,var(--red) 45%,var(--border));background:color-mix(in srgb,var(--red) 8%,transparent)}.wf-kpi-card-v{font-size:24px;font-weight:700;line-height:1.1}.wf-kpi-card-l{font-size:12px;font-weight:600;color:var(--text-secondary);margin-top:2px}.wf-kpi-sec{font-weight:700;font-size:14px;margin:16px 0 8px}.wf-kpi-tbl td,.wf-kpi-tbl th{font-variant-numeric:tabular-nums}.wf-kpi-over{color:#dc2626;font-weight:700}.wf-kpi-score{display:inline-block;min-width:34px;text-align:center;padding:2px 8px;border-radius:999px;font-weight:700;font-size:12px}.wf-kpi-score.good{background:color-mix(in srgb,var(--green) 18%,transparent);color:#15803d}.wf-kpi-score.ok{background:color-mix(in srgb,var(--amber) 20%,transparent);color:#b45309}.wf-kpi-score.bad{background:color-mix(in srgb,var(--red) 18%,transparent);color:#b91c1c}.pw-card{display:block}.pw-hd h3{margin:0 0 10px}.pw-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.pw-stat{text-align:center;padding:10px 8px;border-radius:10px;background:var(--bg-elevated);border:1px solid var(--border)}.pw-stat.bad{border-color:color-mix(in srgb,var(--red) 45%,var(--border));background:color-mix(in srgb,var(--red) 8%,transparent)}.pw-stat-v{font-size:22px;font-weight:700;line-height:1.1}.pw-stat-l{font-size:11.5px;font-weight:600;color:var(--text-secondary);margin-top:2px}.pw-sources{display:flex;flex-direction:column;gap:6px}.pw-src{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border-radius:9px;background:var(--bg-surface);border:1px solid var(--border);text-decoration:none;color:inherit}a.pw-src:hover{border-color:color-mix(in srgb,var(--brand) 45%,var(--border));background:color-mix(in srgb,var(--brand) 5%,transparent)}.pw-src-label{font-weight:600;font-size:13px}.pw-src-nums{display:flex;gap:6px;flex-wrap:wrap}.pw-chip{font-size:11.5px;font-weight:600;padding:2px 9px;border-radius:999px;background:color-mix(in srgb,var(--brand) 12%,transparent);color:var(--brand)}.pw-chip.bad{background:color-mix(in srgb,var(--red) 14%,transparent);color:#b91c1c}.pw-chip.done{background:color-mix(in srgb,var(--green) 14%,transparent);color:#15803d}.pw-team{margin-top:12px;border-top:1px solid var(--border);padding-top:10px}.pw-team-tgl{background:none;border:none;cursor:pointer;font-weight:600;font-size:13px;color:inherit;padding:2px 0}.pw-team-list{display:flex;flex-direction:column;gap:5px;margin-top:8px;max-height:360px;overflow-y:auto}.pw-team-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;border-radius:8px;background:var(--bg-elevated)}.pw-team-name{font-size:13px;font-weight:600}.cadv{position:relative;width:100%;height:100%;min-height:320px;display:flex;flex-direction:column;background:var(--bg-elevated);border-radius:8px;overflow:hidden}.cadv-canvas{flex:1;min-height:280px;width:100%}.cadv-canvas canvas{display:block;width:100%!important;height:100%!important}.cadv-msg{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:16px;color:var(--text-secondary);font-size:13px}.cadv-msg.cadv-err{color:#b91c1c}.cadv-bar{display:flex;align-items:center;gap:10px;padding:6px 10px;border-top:1px solid var(--border);background:var(--bg-surface)}.cadv-dxf{overflow:auto;padding:10px}.cadv-dxf-inner svg{max-width:100%;height:auto;background:#fff;border-radius:6px}.ic-docview-cad{min-height:calc(60vh / var(--ui-zoom-vu, 1))}.cadv-stage{position:relative;flex:1;min-height:280px}.cadv-stage .cadv-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.cadv-measure{position:absolute;top:10px;right:10px;max-width:60%;background:color-mix(in srgb,var(--bg-surface) 92%,transparent);border:1px solid var(--border);border-radius:10px;padding:8px 11px;font-size:12.5px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;gap:3px}.cadv-measure-row{display:flex;gap:8px;align-items:baseline}.cadv-measure-row b{min-width:58px}.cadv-measure-v{font-weight:700;font-size:14px;color:var(--brand);font-variant-numeric:tabular-nums}.cadv-measure-note{margin-top:2px;opacity:.8}.cadv-labels{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.cadv-tag{background:#f59e0b;color:#1a1205;font-size:11.5px;font-weight:700;padding:1px 7px;border-radius:6px;white-space:nowrap;box-shadow:0 1px 4px #00000059;transform:translate(-50%,-140%);font-variant-numeric:tabular-nums}.cadv-tools{display:inline-flex;gap:4px;align-items:center}.cadv-tools .chip-btn{padding:3px 9px}.cadv-bar-views{flex-wrap:wrap}.cadv-mat select{padding:2px 6px;font-size:12px;max-width:150px}.cadv-measure .cadv-mat{align-items:center}.cadv-bar-views input[type=range]{width:120px;vertical-align:middle}.cadv-dxf .cadv-stage{position:relative;background:#0f1115}.cadv-dxf-wrap{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;touch-action:none}.cadv-dxf-wrap svg{width:100%;height:100%;display:block}.cadv-layers{position:absolute;top:10px;left:10px;width:190px;max-height:calc(100% - 20px);display:flex;flex-direction:column;background:color-mix(in srgb,var(--bg-surface) 94%,transparent);border:1px solid var(--border);border-radius:10px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);overflow:hidden}.cadv-layers-hd{font-size:12px;font-weight:700;padding:7px 10px;border-bottom:1px solid var(--border)}.cadv-layers-list{overflow-y:auto;padding:4px;display:flex;flex-direction:column;gap:1px}.cadv-layer-row{display:flex;align-items:center;gap:7px;padding:4px 6px;border-radius:6px;cursor:pointer;font-size:12px}.cadv-layer-row:hover{background:color-mix(in srgb,var(--brand) 8%,transparent)}.cadv-layer-sw{width:11px;height:11px;border-radius:3px;flex:none;border:1px solid rgba(255,255,255,.25)}.cadv-layer-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cadv-layers-foot{display:flex;gap:10px;padding:6px 10px;border-top:1px solid var(--border);font-size:12px}.cadv.cadv-light .cadv-stage,.cadv-dxf.cadv-light .cadv-stage{background:#fff}.cadv.cadv-light .cadv-canvas{background:#f6f7f9}.cadv.cadv-fs{width:calc(100vw / var(--ui-zoom-vu, 1));height:calc(100vh / var(--ui-zoom-vu, 1));max-height:none;border-radius:0;background:var(--bg-surface)}.cadv.cadv-fs .cadv-stage{flex:1;min-height:0}.cadv-find{display:inline-flex;align-items:center;gap:4px}.cadv-find input{width:170px;padding:4px 8px;font-size:12px;border-radius:7px}.cadv-tag-cog{background:#ef4444;color:#fff}.cadv-find input{color:var(--text-primary, #e5e7eb);background:var(--bg-surface);border:1px solid var(--border)}.cadv.cadv-max{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5000;border-radius:0}.cadv-spin{width:22px;height:22px;border-radius:50%;border:3px solid color-mix(in srgb,var(--brand) 25%,transparent);border-top-color:var(--brand);animation:cadv-spin .8s linear infinite;margin-bottom:4px}@keyframes cadv-spin{to{transform:rotate(360deg)}}.cadv-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.cadv-dims{position:absolute;top:10px;right:10px;width:230px;max-height:calc(60% - 20px);display:flex;flex-direction:column;background:color-mix(in srgb,var(--bg-surface) 94%,transparent);border:1px solid var(--border);border-radius:10px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);overflow:hidden}.cadv-dim-row{display:flex;align-items:center;gap:6px;padding:3px 6px;font-size:12px;border-radius:6px}.cadv-dim-row:hover{background:var(--bg-hover, rgba(127,127,127,.12))}.cadv-dim-row>.muted{flex:0 0 auto;min-width:70px}.cadv-dim-val{flex:1;font-variant-numeric:tabular-nums;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cadv-calib{flex:1;min-width:0;padding:2px 6px;font-size:12px;color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border);border-radius:6px}.cadv-dimbar{gap:12px}.cadv-dimbar select{padding:3px 6px;font-size:12px;color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border);border-radius:6px}.cadv-snapopt{display:inline-flex;align-items:center;gap:3px;font-size:12px;cursor:pointer}.cadv-snapopt input{margin:0}.cadv-dim-msg{color:#f59e0b;font-weight:600}@media(max-width:640px){.cadv-dims{width:180px}}.cadv-dims-hd{display:flex;justify-content:space-between;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.cadv-dims-min{width:auto;border-bottom:0}.cadv-dims-min .cadv-dims-hd{border-bottom:0}.cadv-side{position:absolute;top:10px;right:10px;width:260px;max-height:calc(100% - 20px);display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none}.cadv-side>*{pointer-events:auto}.cadv-side .cadv-dims{position:static;width:100%;max-height:none;min-height:0;flex:0 1 auto}.cadv-side .cadv-dims.cadv-dims-min{width:auto}.cadv-side .cadv-mk{flex:1 1 auto}.cadv-mk-row{display:flex;flex-direction:column;gap:3px;padding:6px 8px;border-radius:8px;cursor:pointer;border:1px solid transparent}.cadv-mk-row:hover{background:var(--bg-hover, rgba(127,127,127,.12))}.cadv-mk-row.sel{border-color:var(--border);background:var(--bg-hover, rgba(127,127,127,.12))}.cadv-mk-row.done{opacity:.6}.cadv-mk-top{display:flex;align-items:center;gap:6px;min-width:0}.cadv-mk-num{flex:0 0 auto;min-width:18px;height:18px;padding:0 4px;border-radius:9px;color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.cadv-mk-by{margin-left:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cadv-mk-note{font-size:12.5px;color:var(--text-primary);white-space:pre-wrap;overflow-wrap:anywhere}.cadv-mk-act{display:flex;gap:10px;font-size:12px}.cadv-pop{position:absolute;z-index:5;width:270px;display:flex;flex-direction:column;gap:6px;padding:10px;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #00000059}.cadv-pop textarea{width:100%;resize:vertical;font:inherit;font-size:13px;padding:6px 8px;color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;box-sizing:border-box}.cadv-pop-act{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.cadv-swatch{width:20px;height:20px;border-radius:50%;border:2px solid transparent;padding:0;cursor:pointer;box-shadow:inset 0 0 0 1px #00000040}.cadv-swatch.on{border-color:var(--text-primary)}.cadv-toast{position:absolute;left:50%;bottom:12px;transform:translate(-50%);max-width:min(90%,520px);z-index:6;padding:8px 14px;border-radius:8px;background:#7c2d12;color:#fff;font-size:13px;box-shadow:0 6px 18px #00000059;cursor:pointer}@media(max-width:640px){.cadv-side{width:200px}.cadv-pop{width:230px}}.cadv-parts{width:240px;max-height:calc(100% - 20px)}.cadv-part-row{display:flex;align-items:center;gap:4px;padding:2px 4px;border-radius:6px;font-size:12px;min-width:0}.cadv-part-row:hover{background:var(--bg-hover, rgba(127,127,127,.12))}.cadv-part-row.sel{background:color-mix(in srgb,#2563eb 22%,transparent)}.cadv-part-row.off .cadv-part-name{opacity:.45}.cadv-part-row input{margin:0;flex:0 0 auto}.cadv-part-caret{flex:0 0 14px;width:14px;padding:0;border:0;background:none;color:var(--text-muted, #8b93a1);cursor:pointer;font-size:11px;line-height:1}.cadv-part-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.cadv-part-sel .cadv-measure-v{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cadv-layers-foot .hr-link:disabled{opacity:.4;cursor:default}@media(max-width:640px){.cadv-parts{width:180px}}.cadv-part-mat{flex:0 0 auto;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;padding:0 5px;border-radius:6px;background:color-mix(in srgb,#f59e0b 22%,transparent);color:var(--text-primary)}.cadv-mat-break{max-width:340px;flex-wrap:wrap}.cadv-mat select{max-width:230px}.mention-wrap{position:relative}.mention-wrap textarea{width:100%;box-sizing:border-box}.mention-pop{position:absolute;left:0;right:0;top:100%;z-index:20;margin-top:2px;max-height:220px;overflow-y:auto;display:flex;flex-direction:column;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 22px #0000004d;padding:3px}.mention-pop button{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:5px 8px;border:0;border-radius:6px;background:none;color:var(--text-primary);text-align:left;cursor:pointer;font-size:13px}.mention-pop button.on,.mention-pop button:hover{background:color-mix(in srgb,#2563eb 18%,transparent)}.mention-none{padding:6px 8px}.mention{color:#2563eb;font-weight:600;background:color-mix(in srgb,#2563eb 12%,transparent);border-radius:4px;padding:0 2px}.cadv-light .mention,:root[data-theme=light] .mention{color:#1d4ed8}.cadv-mk-you{flex:0 0 auto;font-size:10.5px;font-weight:700;color:#fff;background:#2563eb;border-radius:6px;padding:0 5px}.cadv-thread{display:flex;flex-direction:column;gap:6px;margin-top:4px;padding:6px 0 2px 10px;border-left:2px solid var(--border);cursor:default}.cadv-reply{display:flex;flex-direction:column;gap:1px}.cadv-reply-hd{display:flex;align-items:baseline;gap:6px}.cadv-reply-hd .hr-link{margin-left:auto}.cadv-side .mention-pop{position:static;margin-top:3px;box-shadow:none}.cadv-pack{top:auto;bottom:10px;right:10px;max-width:300px}.cadv-pack select{max-width:190px}@media(max-width:640px){.cadv-pack{max-width:62%}}.q-lines .q-head-row td{background:color-mix(in srgb,#2563eb 10%,var(--bg-surface))}.q-lines .q-div-row td{padding-top:6px;padding-bottom:6px}.q-rowtag{font-size:11px;font-weight:700;color:var(--text-muted, #8b93a1);white-space:nowrap}.q-divider{display:flex;align-items:center;gap:10px}.q-divider:before,.q-divider:after{content:"";flex:1;border-top:1px dashed var(--border)}.q-opt-row td{background:color-mix(in srgb,#f59e0b 7%,transparent)}.q-opt-amt{color:#b45309}.q-actions{white-space:nowrap}.q-actions .q-ord{display:inline-flex;flex-direction:column;gap:2px;vertical-align:middle}.q-actions .q-ord .chip-btn{padding:0 6px;line-height:1.4}.q-ins{width:auto;display:inline-block;margin:0 4px;vertical-align:middle;font-size:12px;padding:2px 4px}.q-tot.q-opt-tot{color:#b45309;border-top:1px dashed var(--border);margin-top:2px;padding-top:4px}.q-chip{font-size:10.5px;padding:0 6px;border-radius:6px;background:var(--bg-hover, rgba(127,127,127,.14));color:var(--text-primary);white-space:nowrap}.q-chip-custom{background:color-mix(in srgb,#4338ca 20%,transparent);color:#4338ca;font-weight:700}.cadv-light .q-chip-custom,:root[data-theme=light] .q-chip-custom{color:#4338ca}.q-hsn-pop{position:absolute;left:0;right:0;top:100%;z-index:30;margin-top:2px;max-height:220px;overflow-y:auto;display:flex;flex-direction:column;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 22px #0000004d}.q-hsn-pop button{text-align:left;border:0;background:none;color:var(--text-primary);padding:6px 9px;cursor:pointer;font-size:13px}.q-hsn-pop button:hover{background:color-mix(in srgb,#2563eb 16%,transparent)}.q-pf{display:flex;gap:6px;align-items:stretch}.q-pf select{flex:0 0 auto;width:auto;min-width:58px}.q-pf input{flex:1;min-width:0}.q-pf-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}@media(max-width:560px){.q-pf-grid{grid-template-columns:1fr}}.q-actions{display:flex;align-items:center;gap:6px;white-space:nowrap}.q-drag{cursor:grab;-webkit-user-select:none;user-select:none;font-size:16px;line-height:1;color:var(--text-muted, #8b93a1);padding:2px 4px;border-radius:6px}.q-drag:hover{background:var(--bg-hover, rgba(127,127,127,.14));color:var(--text-primary)}.q-drag:active{cursor:grabbing}.q-lines tbody tr.q-drag-over>td{box-shadow:inset 0 2px #2563eb}.q-bar-err{flex:1 1 100%;order:-1;margin:0 0 6px}.q-bar-msg{margin-right:auto;align-self:center;background:#10b98124;color:#0f9d6e;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600}@media(max-width:620px){.q-bar-msg{flex:1 1 100%;order:-1;margin:0 0 6px;text-align:center}}.q-lines tbody tr.q-note-row td{background:color-mix(in srgb,#64748b 7%,var(--bg-surface))}.q-note-row textarea{resize:vertical}.tp-ask-sym{display:flex;gap:12px;align-items:center;margin-bottom:10px}.tp-ask-sym .cv-sym-ico{width:48px;height:48px;flex:none;color:var(--text-primary)}.tp-list{max-height:min(calc(56vh / var(--ui-zoom-vu, 1)),520px);overflow-y:auto;border:1px solid var(--border, #e5e7eb);border-radius:10px;padding:4px 8px}.tp-cat{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted, #64748b);padding:10px 2px 4px}.tp-row{display:grid;grid-template-columns:32px 1fr 92px 56px 58px;gap:8px;align-items:center;padding:5px 2px;border-top:1px solid var(--border, #eef0f3)}.tp-row:first-of-type{border-top:none}.tp-ico .cv-sym-ico{width:28px;height:28px;color:var(--text-primary)}.tp-name{font-size:13px;line-height:1.25;min-width:0}.tp-name em{display:block;font-style:normal;font-size:11px;color:var(--text-muted, #64748b)}.tp-in,.tp-dg{padding:5px 8px!important;font-size:13px}.tp-in{text-transform:uppercase;font-weight:600}.tp-save{padding:5px 8px!important;font-size:12px}.tp-err{grid-column:2 / -1;color:#dc2626;font-size:11px}@media(max-width:520px){.tp-row{grid-template-columns:28px 1fr 70px 50px}.tp-save{grid-column:2 / -1}}.tc-row{display:grid;grid-template-columns:64px 1fr 34px 62px 62px;gap:6px;align-items:center;padding:4px 2px;border-top:1px solid var(--border, #eef0f3)}.tc-row.unit{grid-template-columns:110px 1fr 62px}.tc-row.sym{grid-template-columns:32px 1fr 220px}.tc-row .field-inp{padding:5px 8px!important;font-size:13px}.tc-code{font-family:ui-monospace,Consolas,monospace;font-size:13px}.tc-code-in{text-transform:uppercase;font-weight:600;font-family:ui-monospace,Consolas,monospace}.tc-color{width:30px;height:26px;padding:0;border:1px solid var(--border, #e5e7eb);border-radius:6px;background:none;cursor:pointer}.tc-row.add{border-top-style:dashed}.tp-save.danger{color:#dc2626}.tc-issue{display:grid;grid-template-columns:110px 1fr 62px;gap:6px;align-items:center;padding:4px 2px;font-size:13px;border-top:1px solid var(--border, #eef0f3)}.tc-issue em{font-style:normal;color:var(--text-muted, #64748b);font-size:11px}.tc-issue.dup>span:first-child{color:#dc2626;font-weight:600}.tc-issue.nosvc>span:first-child,.tc-issue.nocode>span:first-child{color:#d97706;font-weight:600}.cv-frame-unit{margin-left:6px;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:700;background:#4f46e5;color:#fff;letter-spacing:.03em}.pp-tagrule{border:1px dashed var(--border, #d1d5db);border-radius:8px;padding:6px 8px;margin:4px 0 8px;display:grid;gap:4px}.pp-tagauto{margin:-2px 0 8px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.cv-ftb-sel.svc{max-width:150px}@media(max-width:520px){.tc-row{grid-template-columns:54px 1fr 30px 56px}.tc-row.sym{grid-template-columns:28px 1fr}.tc-row.sym select{grid-column:1 / -1}}.cv-lineno{position:absolute;pointer-events:none;padding:1px 8px;border:1.2px solid #475569;border-radius:999px;background:#fff;color:#1f2937;font:600 10px/1.35 ui-monospace,Consolas,monospace;white-space:nowrap;letter-spacing:.02em}.tc-tpls{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px 10px;margin:6px 0}.tc-tpl{display:grid;gap:2px;font-size:12px;color:var(--text-muted, #64748b)}.tc-tpl .field-inp{padding:5px 8px!important;font:600 12px ui-monospace,Consolas,monospace;color:var(--text-primary)}.tc-isa{display:flex;gap:6px;align-items:center}.tc-isa .field-inp{width:90px;padding:5px 8px!important}.tc-listtbl{padding:0}.tc-lrow{display:grid;gap:6px;padding:4px 8px;font-size:12px;border-top:1px solid var(--border, #eef0f3);cursor:default}.tc-lrow.lines{grid-template-columns:1.7fr .5fr .9fr .6fr 1fr 1fr .7fr}.tc-lrow.tags{grid-template-columns:1.2fr 1.4fr .7fr .7fr .7fr}.tc-lrow.hd{position:sticky;top:0;background:var(--bg-surface, #fff);font-weight:700;color:var(--text-muted, #64748b);border-top:none}.tc-lrow span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tc-lrow:not(.hd):hover{background:#6366f10f}.pp-funcs{display:flex;flex-wrap:wrap;gap:4px;margin:2px 0 6px}.pp-funcs .chip-btn{padding:2px 7px;font-size:11px}@media(max-width:560px){.tc-lrow.lines{grid-template-columns:1.6fr .6fr .6fr}.tc-lrow.lines span:nth-child(n+4){display:none}}.tc-tpl .tc-ex{font-style:normal;font-size:11px;color:var(--text-muted, #64748b)}.tc-tpl .tc-ex b{font-family:ui-monospace,Consolas,monospace;color:#4f46e5}.tc-help{display:block;font-size:11px;line-height:1.35;color:var(--text-muted, #64748b)}.tc-help.ind{margin:-2px 0 6px 24px}.tc-tpls{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px 12px}.tc-guide{max-height:min(calc(62vh / var(--ui-zoom-vu, 1)),620px);overflow-y:auto;padding-right:4px}.tc-guide code{font:600 12px ui-monospace,Consolas,monospace;color:#4f46e5}.tc-ex-grid{display:grid;gap:4px;margin:4px 0 6px}.tc-ex-grid>div{display:flex;gap:10px;flex-wrap:wrap;align-items:baseline;font-size:12.5px}.tc-ex-grid code{min-width:250px}.tc-tok{border:1px solid var(--border, #e5e7eb);border-radius:8px;overflow:hidden;font-size:12px}.tc-tok>div{display:grid;grid-template-columns:90px 1.1fr 1.6fr 1fr;gap:8px;padding:5px 8px;border-top:1px solid var(--border, #eef0f3)}.tc-tok>div.hd{border-top:none;font-weight:700;color:var(--text-muted, #64748b);background:#6366f10d}.tc-steps{margin:4px 0 8px 18px;padding:0;font-size:12.5px;line-height:1.5;display:grid;gap:3px}@media(max-width:600px){.tc-tok>div{grid-template-columns:80px 1fr}.tc-tok>div span:nth-child(n+3){grid-column:2}}.cv-dock{position:absolute;top:8px;left:50%;transform:translate(-50%);z-index:30;display:flex;justify-content:center;max-width:calc(100% - 140px);pointer-events:none}.cv-dock:empty{display:none}.cv-dock>*{pointer-events:auto;max-width:100%;overflow-x:auto;flex-wrap:nowrap}.cv-dock .cv-ftb-edge{position:static}.cv-flow.rulers .cv-dock{top:30px}.cv-dock-wrap{position:absolute;top:8px;left:50%;transform:translate(-50%);z-index:30;display:flex;align-items:flex-start;gap:6px;max-width:calc(100% - 140px);pointer-events:none}.cv-flow.rulers .cv-dock-wrap{top:30px}.cv-dock-wrap.bottom,.cv-flow.rulers .cv-dock-wrap.bottom{top:auto;bottom:8px;align-items:flex-end}.cv-dock-wrap>.cv-dock{position:static;transform:none;min-width:0;max-width:100%}.cv-dock-pin{display:none;flex-shrink:0;pointer-events:auto;border:1px solid var(--border);background:var(--bg-surface, #fff);color:var(--text-secondary, #475569);border-radius:999px;padding:3px 9px;font-size:11px;white-space:nowrap;cursor:pointer;box-shadow:0 2px 8px #0f172a1f}.cv-dock-pin:hover{color:var(--text-primary);border-color:#93c5fd}.cv-dock:not(:empty)+.cv-dock-pin{display:block}.cv-flow.dock-bottom .cv-area-bar{bottom:90px}.cv-check-btn~.cv-check-btn{margin-left:0}.cv-check-btn~.cv-zoom-slot{margin-left:0}.cv-edgebar-pos{position:absolute;z-index:1000;pointer-events:all}.cv-edgebar-pos>.cv-ftb-edge{position:static}.cv-ftb-input.tag{width:128px;font-weight:600}.tc-row.unit .tc-link{grid-column:1 / -1;font-size:11px;color:#059669;margin:-2px 2px 2px}.tc-row.unit .tc-link.none{color:#d97706}.tc-howto{font-size:12.5px;line-height:1.5;border:1px dashed var(--border, #d1d5db);border-radius:10px;padding:8px 12px;margin:8px 0}.tc-howto ol{margin:4px 0 4px 18px;padding:0;display:grid;gap:2px}.cv-hint-x{margin-left:8px;border:none;background:none;color:inherit;cursor:pointer;font-size:13px;line-height:1;opacity:.6;pointer-events:auto}.cv-hint-x:hover{opacity:1}.cv-lib-import{margin:0 10px 8px;padding:6px 10px;border:1px dashed var(--border, #cbd5e1);border-radius:8px;background:none;color:var(--text-primary);font-size:12.5px;cursor:pointer;text-align:left}.cv-lib-import:hover{border-color:#6366f1;background:#6366f10f}.dx-file{display:flex;align-items:center;gap:8px;border:1px dashed var(--border, #cbd5e1);border-radius:10px;padding:10px 12px;cursor:pointer;margin:6px 0 10px;font-size:13px}.dx-file input{display:none}.dx-bar{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:6px 0}.dx-sm{width:auto!important;padding:4px 8px!important;font-size:12px}.dx-list{max-height:min(calc(46vh / var(--ui-zoom-vu, 1)),440px);overflow-y:auto;border:1px solid var(--border, #e5e7eb);border-radius:10px}.dx-row{display:grid;grid-template-columns:22px 54px 1.3fr 1fr 1fr auto;gap:8px;align-items:center;padding:5px 8px;border-top:1px solid var(--border, #eef0f3)}.dx-row:first-child{border-top:none}.dx-row.off{opacity:.55}.dx-row .field-inp{padding:5px 8px!important;font-size:12.5px}.dx-prev{width:48px;height:40px;display:grid;place-items:center;border-radius:6px;background:#94a3b81f;color:var(--text-primary)}.dx-prev .cv-sym-ico{width:44px;height:36px;max-width:none;max-height:none}.dx-row .tp-name{grid-column:3 / 6}.dx-warn{font-size:11px;color:#d97706;white-space:nowrap}.dx-dest{display:grid;gap:4px;margin:10px 0 4px;font-size:13px}.dx-del{display:inline-flex;gap:6px;align-items:center}@media(max-width:640px){.dx-row{grid-template-columns:22px 50px 1fr}.dx-row select{grid-column:3}}.cv-ftb-btn.sm{font-size:10.5px;font-weight:700;letter-spacing:.02em}.cv-group-box{position:absolute;left:0;top:0;border:1.5px dashed #6366f1;border-radius:6px;pointer-events:none;background:#6366f108}.cv-selbox{position:absolute;left:0;top:0;border:1px dashed rgba(99,102,241,.7);pointer-events:none}.cv-selbox-h{position:absolute;width:11px;height:11px;background:#fff;border:1.5px solid #6366f1;border-radius:2px;pointer-events:all}.cv-selbox-h.nw{left:0;top:0;cursor:nwse-resize}.cv-selbox-h.ne{left:100%;top:0;cursor:nesw-resize}.cv-selbox-h.sw{left:0;top:100%;cursor:nesw-resize}.cv-selbox-h.se{left:100%;top:100%;cursor:nwse-resize}.cv-noz{position:absolute;left:0;top:0;overflow:visible;pointer-events:none}.cv-noz-no{font-size:9px;font-weight:600;font-family:inherit}.cv-noz-lbls{z-index:8}.cv-noz text.cv-noz-no.on{pointer-events:all;cursor:move}.cv-noz text.cv-noz-no.on:hover{fill:#6366f1}.cv-noz .cv-noz-hid{opacity:.28;stroke-dasharray:3 2}.react-flow__node .react-flow__handle.cv-anchor.cv-noz-h{width:9px;height:9px;border-radius:50%;pointer-events:all;cursor:crosshair}.react-flow__node:hover .react-flow__handle.cv-anchor.cv-noz-h{opacity:.55}.pp-noz{display:grid;grid-template-columns:64px 1fr 58px 46px;gap:4px;padding:6px 0;border-bottom:1px dashed var(--border, #e5e7eb)}.pp-noz .pp-noz-use{grid-column:1 / span 2}.pp-noz .pp-noz-conn{grid-column:1 / -1}.pp-noz .field-inp{min-width:0;padding:4px 6px}.cv-noz-move{position:absolute;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:#fff;border:2px solid #6366f1;cursor:move;z-index:6}.cv-noz-move.side{border-radius:2px;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-color:#0ea5e9;cursor:grab}.pp-noz .pp-noz-rot{grid-column:1 / -1;display:flex;gap:4px;align-items:center;flex-wrap:wrap}.pp-noz-dip{gap:8px!important}.pp-noz-dip label{display:flex;align-items:center;gap:4px}.pp-noz-dip .field-inp{width:84px}.cv-noz .cv-dip path{fill:none}.pp-subpart{border-left:2px solid var(--border, #e5e7eb);padding-left:8px;margin:4px 0 6px;display:flex;flex-direction:column;gap:6px}.pp-search{position:sticky;top:-1px;z-index:2;display:flex;gap:4px;padding:2px 0 8px;background:var(--bg-surface, #fff)}.pp-search .field-inp{flex:1;min-width:0}.pp-x{display:none!important}.pp-sec.pp-sec-t{cursor:pointer;-webkit-user-select:none;user-select:none}.pp-sec.pp-sec-t:before{content:"▾ "}.pp-sec.pp-sec-t[data-closed="1"]:before{content:"▸ "}.pp-search+.pp-sec{border-top:none;margin-top:0;padding-top:0}.cv-v2tag{position:absolute;white-space:nowrap;font-weight:700;line-height:1.1;pointer-events:none;z-index:3;transform-origin:center}.cv-v2tag.on{pointer-events:all;cursor:move}.cv-v2tag.on:hover{color:#6366f1}.cv-level-t,.cv-imp-t{font-size:10px;font-weight:700;font-family:inherit}.pp-imph{display:flex;gap:4px;flex-wrap:wrap;align-items:center}.pp-imph label{display:flex;align-items:center;gap:3px}.pp-imph .field-inp{width:54px;padding:3px 5px}.cv-levels text.cv-lbl-move{stroke:var(--bg-surface, #fff)!important;stroke-width:3px;paint-order:stroke;stroke-linejoin:round}.cv-levels text.cv-lbl-move.on{pointer-events:all;cursor:move}.cv-levels text.cv-lbl-move.on:hover{fill:#6366f1}.cv-levels .cv-lift{pointer-events:all;cursor:ns-resize}.cv-levels .cv-lift circle{fill:#6366f11f;stroke:#6366f1;stroke-width:1.2;stroke-dasharray:2 2}.cv-levels .cv-lift text{font-size:12px;stroke:none;fill:#6366f1}.pp-hx-sides{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:11px;color:var(--text-secondary, #64748b);margin-top:4px}.pp-combo{position:relative;display:flex;min-width:0}.pp-combo .field-inp{flex:1;min-width:0;padding-right:22px}.pp-combo-btn{position:absolute;right:2px;top:50%;transform:translateY(-50%);border:none;background:transparent;color:var(--text-secondary, #64748b);cursor:pointer;padding:2px 5px;font-size:11px}.pp-combo-list{position:absolute;left:0;right:0;top:calc(100% + 2px);z-index:30;max-height:220px;overflow-y:auto;background:var(--bg-surface, #fff);color:var(--text-primary, #0f172a);border:1px solid var(--border, #e5e7eb);border-radius:8px;box-shadow:0 8px 24px #0f172a24;padding:3px}.pp-combo-list button{display:block;width:100%;text-align:left;border:none;background:transparent;color:inherit;padding:5px 8px;border-radius:5px;font-size:12.5px;cursor:pointer}.pp-combo-list button:hover{background:#6366f11a}.pp-combo-list button.on{background:#6366f129;font-weight:600}.pp-calc{display:flex;flex-direction:column;gap:3px;background:#6366f10f;border-radius:8px;padding:8px 10px;margin:4px 0}.pp-calc>div{display:flex;justify-content:space-between;gap:8px;font-size:12px}.pp-calc>div>span{color:var(--text-secondary, #64748b)}.cv-master-row{display:flex;gap:2px}.cv-master-row .cv-menu-item:first-child{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cv-master-row .cv-menu-item:not(:first-child){flex:0 0 auto;width:auto;padding:4px 8px}.cv-menu-tpl{padding:4px 8px 6px}.cv-menu-tpl .field-inp{width:100%}.cv-menu-note{padding:2px 10px 6px;font-size:11.5px;color:var(--text-secondary, #64748b);max-width:240px}.cv-img{position:relative;width:100%;height:100%}.cv-img img{width:100%;height:100%;object-fit:fill;display:block;pointer-events:none;-webkit-user-select:none;user-select:none}.cv-img.sel img{outline:1.5px solid #6366f1;outline-offset:1px}.react-flow__node.cv-tplbg,.react-flow__edge.cv-tplbg,.react-flow__node.cv-tplbg *{pointer-events:none!important}.cv-tab-tpl{margin-right:3px;font-size:11px}.cv-menu-assign{padding:2px 6px 6px;max-height:220px;overflow-y:auto}.cv-menu-chk{display:flex;align-items:center;gap:6px;padding:4px 6px;font-size:13px;cursor:pointer;border-radius:6px}.cv-menu-chk:hover{background:#6366f114}.cv-status{border:1px solid var(--border, #e5e7eb);border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:700;letter-spacing:.03em;cursor:pointer;background:var(--bg-surface, #fff)}.cv-status-draft{color:#92400e;background:#fef3c7;border-color:#fcd34d}.cv-status-approved{color:#1e40af;background:#dbeafe;border-color:#93c5fd}.cv-status-production{color:#166534;background:#dcfce7;border-color:#86efac}.pj-status{display:flex;gap:8px}.pj-status .cv-status{opacity:.55;padding:6px 16px;font-size:13px}.pj-status .cv-status.on{opacity:1;box-shadow:0 0 0 2px #6366f159}.pj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px 12px}.pj-erp{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px 14px;background:#6366f10d;border-radius:8px;padding:10px;margin:6px 0;font-size:12.5px}.pj-erp>div{display:flex;flex-direction:column}.pj-erp>div>span{color:var(--text-secondary, #64748b);font-size:11px}.pj-issue{display:grid;grid-template-columns:80px 160px 1fr auto;gap:8px;align-items:end}.pj-revs{margin-top:8px;border:1px solid var(--border, #e5e7eb);border-radius:8px;overflow:hidden}.pj-rev{display:grid;grid-template-columns:56px 96px 96px 140px 1fr;gap:8px;padding:6px 10px;font-size:12.5px;border-top:1px solid var(--border, #e5e7eb)}.pj-rev.hd{border-top:none;background:#6366f10f;font-weight:700;font-size:11.5px}@media(max-width:1600px),(max-height:900px){.cv-flow{height:calc(calc(100vh / var(--ui-zoom-vu, 1)) - 200px);min-height:400px}.cv-lib{width:212px}.cv-lib-grid{grid-template-columns:repeat(4,1fr);gap:2px}.cv-lib-ico{font-size:16px}.cv-lib-import{margin:0 8px 6px;padding:5px 8px;font-size:12px}.cv-guide{width:268px;font-size:12px}.cv-props{width:280px}.cv-guide .pp-f input,.cv-guide .pp-f select,.cv-guide .field-inp{padding-top:4px;padding-bottom:4px}.cv-rail{padding:4px;gap:2px}}.cv-rail.top{position:relative;left:auto;top:auto;z-index:20;flex-direction:row;gap:2px;padding:3px 6px;border-radius:10px;box-shadow:none}.cv-rail.top .cv-rail-btn{width:30px;height:30px;font-size:15px}.cv-rail.top .cv-rail-sep{width:1px;height:22px;margin:0 4px}.cv-rail.top .cv-rail-colors{grid-template-columns:none;grid-auto-flow:column;grid-template-rows:repeat(2,11px);gap:3px}.cv-rail.top .cv-rail-sw{width:11px;height:11px;border-radius:3px}.cv-rail.top .cv-rail-fly{left:-4px;top:36px}.cv-rail-dock{font-size:14px!important;color:var(--text-muted)!important}.cv-flow.rail-top .cv-lib{left:10px}.cv-flow.rulers.rail-top .cv-lib{left:30px}.cv-topbar{flex-wrap:nowrap;gap:8px;min-height:40px}.cv-topbar .cv-title{min-width:120px;flex:0 1 auto}.cv-head-right{margin-left:auto;display:flex;align-items:center;gap:6px;flex-shrink:0}.cv-ribbon{display:flex;align-items:center;flex-wrap:wrap;row-gap:4px;gap:2px;margin:6px 0 8px;padding:4px 6px;background:var(--bg-surface, #fff);border:1px solid var(--border);border-radius:10px;box-shadow:0 1px 2px #0f172a0d}.tb-grp{display:inline-flex;align-items:center;gap:2px}.tb-vsep{width:1px;height:22px;background:var(--border);margin:0 6px;flex-shrink:0}.tb-fill{flex:1 1 12px}.tb-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;min-width:32px;padding:0 9px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text-primary);font:inherit;font-size:13px;font-weight:500;line-height:1;cursor:pointer;white-space:nowrap}.tb-btn:hover:not(:disabled){background:var(--bg-base);border-color:var(--border)}.tb-btn.on{background:#eef2ff;border-color:#c7d2fe;color:#3730a3}.tb-btn:disabled{opacity:.38;cursor:default}.tb-btn.tb-icon{padding:0;width:32px}.tb-topbar-gap{display:none}.cv-topbar .tb-btn{border-color:var(--border);background:var(--bg-surface, #fff)}.cv-topbar .tb-btn.tb-ghost{border-color:transparent;background:transparent;color:var(--text-muted)}.cv-topbar .tb-btn.tb-ghost:hover{color:var(--text-primary)}.tb-btn.tb-primary{background:#4f46e5!important;border-color:#4f46e5!important;color:#fff}.tb-btn.tb-primary:hover{background:#4338ca!important}.tb-ic{flex-shrink:0;display:block}.tb-glyph{font-size:17px;line-height:1;font-weight:400}.cv-ribbon .cv-rail.top{padding:0;border:none;background:transparent;gap:2px}.cv-ribbon .cv-rail.top .cv-rail-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-primary)}.cv-ribbon .cv-rail.top .cv-rail-btn.on{background:#eef2ff;border-color:#c7d2fe;color:#3730a3}.cv-ribbon .cv-rail.top .cv-rail-sep{margin:0 6px;height:22px}.cv-ribbon .cv-rail.top .cv-rail-colors{margin:0 2px}.cv-rail-btn{display:inline-flex;align-items:center;justify-content:center}.cv-rail-dock{color:var(--text-muted)!important}@media(max-width:1500px){.cv-ribbon .tb-lbl{display:none}.cv-ribbon .tb-btn:has(.tb-lbl){padding:0;width:32px}}.cv-ribbon.compact .tb-lbl{display:none}.cv-ribbon.compact .tb-btn:has(.tb-lbl){padding:0;width:32px}@media(max-width:1500px){.cv-ribbon{padding:3px 4px;gap:1px}.cv-ribbon .tb-btn,.cv-ribbon .tb-btn.tb-icon,.cv-ribbon .tb-btn:has(.tb-lbl),.cv-ribbon .cv-rail.top .cv-rail-btn{width:29px;min-width:29px;height:30px}.cv-ribbon .tb-vsep,.cv-ribbon .cv-rail.top .cv-rail-sep{margin:0 3px}.cv-ribbon .tb-ic{width:16px;height:16px}}.topbar-slot{display:inline-flex;align-items:center;gap:6px;min-width:0;font-size:13px}.topbar-slot:empty{display:none}.cv-crumb-title{display:inline-flex;align-items:center;gap:8px;min-width:0}.cv-crumb-title .cv-title{min-width:0;padding:3px 7px;font-size:14px}.cv-crumb-title .cv-save-state{min-width:0;white-space:nowrap}.cv-ribbon .cv-crumb-title{margin-left:4px}.content:has(>.ds-page.board),.content:has(.ds-page.board){padding:8px 12px 4px;display:flex;flex-direction:column;overflow:hidden}.ds-page.board{flex:1;min-height:0;display:flex;flex-direction:column}.ds-page.board>.cv-page:not(.full){flex:1;min-height:0;gap:6px}.ds-page.board .cv-page:not(.full) .cv-ribbon{margin:0}.ds-page.board .cv-page:not(.full) .cv-flow{flex:1;height:auto;min-height:280px}.ds-page.board .cv-pages{margin-top:0}.tb-btn.tb-save{padding:0 12px}@media(max-width:1500px){.cv-ribbon .tb-btn.tb-save{width:auto;min-width:0;padding:0 9px}.topbar-slot .cv-save-state{display:none}}.cv-zoombar{display:flex;align-items:center;gap:1px;padding:2px;background:var(--bg-surface, #fff);border:1px solid var(--border);border-radius:8px;box-shadow:0 2px 6px #0f172a14}.cv-zoombar button{height:26px;min-width:26px;padding:0 6px;border:none;border-radius:6px;background:transparent;color:var(--text-primary);font:inherit;font-size:14px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.cv-zoombar button:hover{background:var(--bg-base)}.cv-zoombar .cv-zoom-pct{min-width:52px;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.cv-zoom-sep{width:1px;height:16px;background:var(--border);margin:0 2px}.cv-zoom-wrap{position:relative}.cv-zoom-menu{position:absolute;bottom:32px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;min-width:110px;padding:4px;background:var(--bg-surface, #fff);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 20px #0f172a29}.cv-zoom-menu button{justify-content:flex-start;font-size:12.5px;padding:0 10px;height:28px}.cv-zoom-menu button.on{background:#eef2ff;color:#3730a3;font-weight:600}.cv-zoombar button.on{background:#eef2ff;color:#3730a3}.vh-new{display:flex;gap:8px;margin:8px 0 10px}.vh-new .field-inp{flex:1}.vh-msg{font-size:12.5px;padding:6px 10px;border-radius:8px;background:#eef2ff;color:#3730a3;margin-bottom:8px}.vh-list{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:10px;overflow:hidden}.vh-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-top:1px solid var(--border)}.vh-row:first-child{border-top:none}.vh-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.vh-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;font-variant-numeric:tabular-nums}.vh-kind{font-size:11px;font-weight:600;padding:1px 8px;border-radius:999px;background:var(--bg-base);color:var(--text-muted);border:1px solid var(--border)}.vh-kind.vh-manual{background:#eef2ff;color:#3730a3;border-color:#c7d2fe}.vh-kind.vh-restore{background:#fff7ed;color:#9a3412;border-color:#fed7aa}.vh-ask{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.cb-modal{width:min(1280px,calc(97vw / var(--ui-zoom-vu, 1)));max-width:none;height:min(calc(86vh / var(--ui-zoom-vu, 1)),900px);display:flex;flex-direction:column}.cb-tools{display:flex;flex-wrap:wrap;gap:6px;padding:10px 16px;border-bottom:1px solid var(--border)}.cb-tools .field-inp{width:auto;min-width:130px;padding:6px 8px;font-size:12.5px}.cb-tools .cb-q{flex:1 1 280px}.cb-grid{display:grid;grid-template-columns:minmax(150px,1.3fr) minmax(160px,1.6fr) minmax(200px,2.6fr) minmax(150px,1.4fr) minmax(70px,.7fr) 54px;gap:10px;padding:7px 16px;align-items:start;font-size:12.5px}.cb-head{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:var(--bg-base);border-bottom:1px solid var(--border)}.cb-body{flex:1;min-height:0;overflow-y:auto}.cb-row{border-bottom:1px solid var(--border);cursor:pointer}.cb-row:hover{background:var(--bg-base)}.cb-row.sel{background:#eef2ff;box-shadow:inset 3px 0 #4f46e5}.cb-row.cur .cb-sku:after{content:" · linked";color:#16a34a;font-weight:500}.cb-row>span{min-width:0;overflow-wrap:anywhere}.cb-sku{font-family:Consolas,Courier New,monospace;font-weight:600;font-size:12px}.cb-spec{color:var(--text-secondary, var(--text-muted));display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.cb-empty{padding:30px 16px;text-align:center;color:var(--text-muted)}.cb-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 16px;border-top:1px solid var(--border)}.cb-pager{display:inline-flex;align-items:center;gap:6px}.cb-sel{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px}.pp-cat-open{text-align:left;cursor:pointer;color:var(--text-muted)}.pp-cat-open:hover{border-color:#6366f1;color:var(--text-primary)}.cv-zoom-slot{margin-left:auto;display:flex;align-items:center;padding:3px 4px 3px 12px;position:sticky;right:0;background:var(--bg-base);flex-shrink:0}.cv-zoom-slot .cv-zoombar{box-shadow:none}.cv-zoom-slot .cv-zoom-menu{top:auto;bottom:32px;left:auto;right:0;transform:none}.cv-pages{overflow:visible;flex-wrap:nowrap}.cv-page-strip{flex:0 1 auto;min-width:0;display:flex;align-items:stretch;gap:2px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--text-muted) 45%,transparent) transparent}.cv-page-tab{flex:none}.cv-pnav{flex:none;display:flex;align-items:center;gap:1px;margin:3px 6px 3px 0;padding:2px;border:1px solid var(--border);border-radius:8px;background:var(--bg-surface, #fff)}.cv-pnav button{height:24px;min-width:24px;padding:0 6px;border:none;border-radius:6px;background:transparent;color:var(--text-primary);font:inherit;font-size:15px;line-height:1;cursor:pointer}.cv-pnav button:hover:not(:disabled){background:var(--bg-base);color:#4f46e5}.cv-pnav button:disabled{opacity:.3;cursor:default}.cv-pnav .cv-pnav-all{font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.cv-pnav .cv-pnav-all b{color:var(--text-primary)}.cv-pnav .cv-pnav-all.on,.cv-pnav .cv-pnav-all.on b{background:color-mix(in srgb,#6366f1 18%,transparent);color:#6366f1}.cv-pnav .cv-pnav-all.on b{background:none}.cv-pnav-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1999}.cv-pnav-list{position:fixed;z-index:2000;width:290px;max-height:min(calc(60vh / var(--ui-zoom-vu, 1)),460px);display:flex;flex-direction:column;gap:6px;padding:8px;background:var(--bg-surface, #fff);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 32px #0f172a2e}.cv-pnav-hd{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding:2px 4px}.cv-pnav-rows{overflow-y:auto;display:flex;flex-direction:column;gap:1px;min-height:0}.cv-pnav-row{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border:none;border-radius:6px;background:transparent;color:var(--text-primary);font:inherit;font-size:13px;text-align:left;cursor:pointer}.cv-pnav-row:hover{background:var(--bg-base)}.cv-pnav-row.on{background:color-mix(in srgb,#6366f1 16%,transparent);color:#6366f1;font-weight:600}.cv-pnav-row .n{flex:none;min-width:22px;font-size:11.5px;color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:right}.cv-pnav-row .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cv-pnav-row .k{flex:none;font-size:12px}.sc-modal{width:min(1100px,calc(97vw / var(--ui-zoom-vu, 1)));max-width:none;height:min(calc(86vh / var(--ui-zoom-vu, 1)),900px);display:flex;flex-direction:column}.sc-sum{display:flex;flex-direction:column;gap:6px;padding:10px 16px;border-bottom:1px solid var(--border);font-size:13px}.sc-opts{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.sc-bad{color:#b91c1c;font-weight:600}.sc-good{color:#15803d;font-weight:600}.sc-body{flex:1;min-height:0;overflow-y:auto;padding:10px 16px;display:flex;flex-direction:column;gap:10px}.sc-comp{border:1px solid var(--border);border-radius:10px;overflow:hidden}.sc-comp.bad{border-color:#fca5a5}.sc-comp-hd{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 12px;background:var(--bg-base);font-size:13px}.sc-sku{font-family:Consolas,Courier New,monospace;font-size:11.5px;color:var(--text-muted)}.sc-badge{font-size:11px;font-weight:600;padding:1px 8px;border-radius:999px}.sc-badge.bad{background:#fee2e2;color:#b91c1c}.sc-badge.good{background:#dcfce7;color:#15803d}.sc-comp-hd .btn-ghost{margin-left:auto;padding:3px 10px}.sc-grid{display:grid;grid-template-columns:minmax(140px,1.2fr) 1.4fr 1.4fr 110px;font-size:12.5px}.sc-grid>span{padding:5px 12px;border-top:1px solid var(--border);min-width:0;overflow-wrap:anywhere}.sc-grid>.sc-h{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.sc-grid>.dev{background:#fef2f2;color:#991b1b;font-weight:600}.sc-st{font-weight:600;font-size:11.5px}.sc-st.ok{color:#15803d}.sc-st.dev{color:#b91c1c;background:#fef2f2}.sc-st.missing{color:#a16207}.sc-st.info{color:var(--text-muted);font-weight:500}.sc-gate{margin:8px 0;padding:8px 12px;border-radius:8px;background:var(--bg-base);font-size:12.5px}.sc-gate.bad{background:#fef2f2;border:1px solid #fca5a5;color:#7f1d1d}.sc-gate ul{margin:6px 0;padding-left:18px}.sc-gate-act{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:4px 0}.urs-opts{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:6px 0 10px}.urs-tabs{display:flex;gap:4px;margin-bottom:8px}.urs-tabs .tb-btn{border-color:var(--border)}.urs-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px;max-height:190px;overflow-y:auto;padding:4px;border:1px solid var(--border);border-radius:8px}.urs-person{display:flex;align-items:center;gap:6px;font-size:12.5px;padding:3px 6px;border-radius:6px;cursor:pointer;min-width:0}.urs-person.on{background:#eef2ff}.urs-person em{color:var(--text-muted);font-size:11px;font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cv-toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);z-index:2000;background:#111827;color:#fff;font-size:13px;padding:8px 16px;border-radius:999px;box-shadow:0 8px 20px #00000040}.dsf{display:grid;grid-template-columns:240px 1fr;gap:14px;margin-top:12px;align-items:start}.dsf-side{position:sticky;top:0;display:flex;flex-direction:column;gap:1px;padding:8px;border:1px solid var(--border);border-radius:12px;background:var(--bg-surface, #fff);max-height:calc(calc(100vh / var(--ui-zoom-vu, 1)) - 220px);overflow-y:auto}.dsf-tree-row{display:flex;align-items:center;gap:4px;padding:5px 8px;border-radius:7px;cursor:pointer;font-size:13px;color:var(--text-primary);-webkit-user-select:none;user-select:none;border:1px solid transparent}.dsf-tree-row:hover{background:var(--bg-base)}.dsf-tree-row.on{background:#eef2ff;color:#3730a3;font-weight:600}.dsf-tree-row.drop,.dsf-crumb.drop,.dsf-folder.drop{border-color:#4f46e5;background:#e0e7ff}.dsf-tree-row em{margin-left:auto;font-style:normal;font-size:11px;color:var(--text-muted)}.dsf-tw{width:14px;border:none;background:none;padding:0;font-size:10px;color:var(--text-muted);cursor:pointer;flex-shrink:0}.dsf-ico{width:18px;text-align:center;flex-shrink:0}.dsf-nm{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dsf-newf{margin:4px 0 0;border:1px dashed var(--border);background:none;border-radius:7px;padding:5px 8px;font:inherit;font-size:12.5px;color:var(--text-muted);cursor:pointer;text-align:left}.dsf-newf:hover{border-color:#6366f1;color:var(--text-primary)}.dsf-sep{height:1px;background:var(--border);margin:6px 0}.dsf-main{min-width:0;min-height:300px}.dsf-crumbs{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-bottom:10px;font-size:13px;min-height:30px}.dsf-crumb-w{display:inline-flex;align-items:center;gap:4px;color:var(--text-muted)}.dsf-crumb{border:1px solid transparent;background:none;font:inherit;font-size:13px;padding:3px 8px;border-radius:6px;cursor:pointer;color:var(--text-primary)}.dsf-crumb:hover{background:var(--bg-base)}.dsf-grow{flex:1}.dsf-msg{font-size:12.5px;color:#3730a3;background:#eef2ff;padding:3px 10px;border-radius:999px}.dsf-grid{min-height:200px;align-content:start}.dsf-folder{display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--bg-surface, #fff);cursor:pointer;-webkit-user-select:none;user-select:none;min-height:96px}.dsf-folder:hover{border-color:var(--brand, #6366f1)}.dsf-folder.sel,.tk-board-card.dsf-sel{border-color:#4f46e5;box-shadow:0 0 0 2px #4f46e559}.dsf-folder.cut,.tk-board-card.dsf-cut{opacity:.5}.dsf-fico{font-size:30px;line-height:1}.dsf-fname{font-weight:700;font-size:14px;overflow-wrap:anywhere}.dsf-folder em{font-style:normal;font-size:12px;color:var(--text-muted)}.dsf-open{position:absolute;right:8px;top:8px;border:1px solid var(--border);background:var(--bg-surface, #fff);border-radius:6px;padding:2px 9px;font:inherit;font-size:12px;cursor:pointer;opacity:0}.tk-board-card:hover .dsf-open{opacity:1}.dsf-empty{padding:16px;grid-column:1 / -1}.dsf-list{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--bg-surface, #fff)}.dsf-trow{display:flex;align-items:center;gap:10px;padding:9px 12px;border-top:1px solid var(--border);font-size:13px;flex-wrap:wrap}.dsf-trow:first-child{border-top:none}.dsf-menu{position:fixed;z-index:3000;min-width:220px}.dsf-pick{display:flex;flex-direction:column;max-height:calc(50vh / var(--ui-zoom-vu, 1));overflow-y:auto;border:1px solid var(--border);border-radius:8px;padding:4px}.dsf-pick button{text-align:left;border:none;background:none;padding:6px 10px;border-radius:6px;font:inherit;font-size:13px;cursor:pointer;color:var(--text-primary)}.dsf-pick button:hover:not(:disabled){background:var(--bg-base)}.dsf-pick button.on{background:#eef2ff;color:#3730a3;font-weight:600}.dsf-pick button:disabled{opacity:.4;cursor:not-allowed}@media(max-width:900px){.dsf{grid-template-columns:1fr}.dsf-side{position:static;max-height:none}}.cv-viewonly{padding:7px 12px;border-radius:8px;background:#fef9c3;color:#854d0e;border:1px solid #fde68a;font-size:13px}.dsf-sec{margin:10px 0 2px;padding:0 8px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.dsf-badge{font-style:normal;font-size:11.5px;color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:1px 8px;align-self:flex-start}.fsd-add{display:flex;gap:8px;align-items:flex-start}.fsd-search{position:relative;flex:1}.fsd-cands{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:10;background:var(--bg-surface, #fff);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 20px #00000024;padding:4px;max-height:260px;overflow-y:auto}.fsd-cands button{display:flex;flex-direction:column;align-items:flex-start;width:100%;border:none;background:none;text-align:left;padding:6px 10px;border-radius:6px;font:inherit;font-size:13px;cursor:pointer;color:var(--text-primary)}.fsd-cands button:hover{background:var(--bg-base)}.fsd-cands em,.fsd-row em{font-style:normal;font-size:11.5px;color:var(--text-muted);display:block}.fsd-warn{font-size:11px;color:#b45309}.fsd-list{margin-top:10px;border:1px solid var(--border);border-radius:10px;max-height:300px;overflow-y:auto}.fsd-row{display:grid;grid-template-columns:32px 1fr 110px 32px;gap:8px;align-items:center;padding:7px 10px;border-top:1px solid var(--border);font-size:13px}.fsd-row:first-child{border-top:none}.fsd-row.owner{grid-template-columns:32px 1fr 110px}.fsd-row .field-inp{padding:4px 6px;font-size:12.5px}.fsd-av{width:28px;height:28px;border-radius:50%;background:#e0e7ff;color:#3730a3;display:grid;place-items:center;font-weight:700;font-size:12px}.fsd-note{margin-top:8px;padding:7px 10px;border-radius:8px;background:#fff7ed;color:#9a3412;font-size:12.5px}.dsf-nowrite{margin-top:4px;padding:6px 8px;border-radius:7px;background:#fef9c3;color:#854d0e;font-size:11.5px}.ds-page .dsf{min-height:calc(calc(100vh / var(--ui-zoom-vu, 1)) - 290px);align-items:stretch}.dsf-main{display:flex;flex-direction:column;padding:10px 12px 14px;border:1px solid var(--border);border-radius:12px;background:radial-gradient(circle,rgba(99,102,241,.1) 1px,transparent 1.2px) 0 0 / 18px 18px,var(--bg-surface, #fff)}.dsf-main .dsf-grid{flex:1;min-height:240px;padding:4px;border-radius:10px}.dsf-side{align-self:stretch}.dsf-title-inp{width:100%;font-weight:700;font-size:14px;padding:3px 6px}.dsf .tk-board-title{cursor:text}.dsf .tk-board-thumb{display:grid;place-items:center;overflow:hidden}.dsf-thumb{width:100%;height:100%;object-fit:contain;padding:6px;background:#fff}.dsf-star{position:absolute;left:8px;top:8px;border:none;background:#ffffffd9;border-radius:6px;width:24px;height:24px;font-size:15px;line-height:1;cursor:pointer;color:#94a3b8;opacity:0}.tk-board-card:hover .dsf-star,.dsf-star.on{opacity:1}.dsf-star.on{color:#f59e0b}.dsf-lv-row .dsf-star{position:static;opacity:1;background:none;width:20px;height:20px}.dsf-ctrls{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}.dsf-ctrls .field-inp{width:auto;padding:4px 8px;font-size:12.5px}.dsf-seg{display:inline-flex;border:1px solid var(--border);border-radius:7px;overflow:hidden}.dsf-seg button{border:none;background:var(--bg-surface, #fff);padding:4px 9px;cursor:pointer;font-size:14px;color:var(--text-muted)}.dsf-seg button.on{background:#eef2ff;color:#3730a3}.dsf-body{flex:1;display:flex;gap:12px;min-height:0}.dsf-body>.dsf-grid,.dsf-body>.dsf-lv{flex:1;min-width:0}.dsf-lv{display:flex;flex-direction:column;align-self:flex-start;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--bg-surface, #fff)}.dsf-lv-row{display:grid;grid-template-columns:minmax(220px,2.4fr) 1.2fr 1fr 1fr .8fr;gap:10px;align-items:center;padding:6px 12px;border-top:1px solid var(--border);font-size:13px;cursor:pointer;-webkit-user-select:none;user-select:none}.dsf-lv-row:first-child{border-top:none}.dsf-lv-row.hd{cursor:default;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:var(--bg-base)}.dsf-lv-row:not(.hd):hover{background:var(--bg-base)}.dsf-lv-row.sel{background:#eef2ff}.dsf-lv-row.drop{background:#e0e7ff}.dsf-lv-row.cut{opacity:.5}.dsf-lv-row .nm{display:flex;align-items:center;gap:8px;min-width:0}.dsf-lv-row .nm b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dsf-lv-row em{font-style:normal}.dsf-lv-th{width:40px;height:26px;object-fit:contain;border:1px solid var(--border);border-radius:4px;background:#fff;display:inline-grid;place-items:center;font-size:13px;flex-shrink:0}.dsf-proj{font-style:normal;font-size:11px;color:#0f766e;background:#f0fdfa;border:1px solid #99f6e4;border-radius:999px;padding:1px 7px;align-self:flex-start;white-space:nowrap}.dsf-swatches{display:flex;gap:4px;padding:6px 12px;flex-wrap:wrap}.dsf-swatches button{width:16px;height:16px;border-radius:4px;border:1px solid rgba(0,0,0,.15);cursor:pointer;padding:0}.dsf-swatches button.on{outline:2px solid #4f46e5;outline-offset:1px}.dsf-swatches button.none{background:var(--bg-base);font-size:10px;line-height:1;color:var(--text-muted)}.dsf-trash-note{padding:8px 12px;font-size:12.5px;color:#92400e;background:#fffbeb;border-bottom:1px solid var(--border)}.dsf-details{width:290px;flex-shrink:0;align-self:flex-start;position:sticky;top:0;border:1px solid var(--border);border-radius:10px;background:var(--bg-surface, #fff);padding:12px;font-size:12.5px;max-height:calc(calc(100vh / var(--ui-zoom-vu, 1)) - 260px);overflow-y:auto}.dsf-dt-hd{display:flex;flex-direction:column;gap:6px;align-items:flex-start;margin-bottom:8px}.dsf-dt-hd img{width:100%;max-height:140px;object-fit:contain;border:1px solid var(--border);border-radius:8px;background:#fff}.dsf-dt-hd b{font-size:14px;overflow-wrap:anywhere}.dsf-dt-row{display:grid;grid-template-columns:90px 1fr;gap:6px;padding:4px 0;border-top:1px solid var(--border)}.dsf-dt-row span{color:var(--text-muted)}.dsf-dt-row b{font-weight:500;overflow-wrap:anywhere}.dsf-dt-sec{margin:12px 0 6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.dsf-act{display:flex;flex-direction:column;gap:6px}.dsf-act>div{line-height:1.35}.dsf-act em{display:block;font-style:normal;font-size:11px;color:var(--text-muted)}@media(max-width:1200px){.dsf-details{display:none}}.cv-export-w{position:relative;display:inline-flex}.cv-export-menu{position:absolute;right:0;top:36px;z-index:50;display:flex;flex-direction:column;min-width:220px;padding:4px;background:var(--bg-surface, #fff);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 20px #0f172a29}.cv-export-menu button{text-align:left;border:none;background:none;padding:7px 10px;border-radius:6px;font:inherit;font-size:13px;cursor:pointer;color:var(--text-primary)}.cv-export-menu button:hover{background:var(--bg-base)}.cv-rot-knob{position:absolute;left:50%;top:-34px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;cursor:grab;z-index:6}.cv-rot-knob:active{cursor:grabbing}.cv-rot-dot{order:0;width:18px;height:18px;border-radius:50%;background:#fff;border:1.5px solid #6366f1;color:#4f46e5;font-size:11px;line-height:15px;text-align:center;box-shadow:0 1px 3px #0003}.cv-rot-stem{order:1;width:1.5px;height:14px;background:#6366f1}.cv-rot-deg{position:absolute;left:22px;top:0;background:#4f46e5;color:#fff;font-size:11px;padding:1px 6px;border-radius:999px;white-space:nowrap}.pp-rot{display:flex;gap:4px;align-items:center;flex-wrap:wrap}.pp-rot .pp-f{width:74px;margin:0}.pp-rot .pp-f>span:first-child{display:none}.pp-rot .chip-btn{padding:3px 7px;font-size:11.5px}.cv-conn-ov{position:absolute;left:0;top:0;overflow:visible;pointer-events:none;z-index:2}.pp-port{border:1px solid var(--border);border-radius:8px;padding:6px 8px;margin-bottom:6px}.pp-port-hd{display:flex;gap:8px;align-items:baseline;justify-content:space-between;margin-bottom:2px}.pp-port-dup{margin:2px 0 4px;padding:4px 7px;border-radius:5px;font-size:11.5px;line-height:1.35;color:#b45309;background:#f59e0b1f;border:1px solid rgba(245,158,11,.35)}.pp-warn{color:#b91c1c;font-size:12px;margin:2px 0 4px}.cv-port-grip{position:absolute;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:3px;background:#fff;border:2px solid #6366f1;z-index:7;box-shadow:0 1px 3px #00000040}.cv-port-grip.h{cursor:ew-resize}.cv-port-grip.v{cursor:ns-resize}.cv-port-grip:hover{background:#6366f1}.pp-slide{display:flex;align-items:center;gap:6px;margin:4px 0}.pp-slide input[type=range]{flex:1;min-width:0;accent-color:#6366f1}.pp-slide b{min-width:44px;text-align:right}.cv-port-txt{pointer-events:all;cursor:move}.cv-port-txt:hover{fill:#4f46e5}.pp-port{display:flex;flex-direction:column;gap:8px;padding:8px 10px}.pp-port>*,.pp-port .pp-row2>*{margin:0}.pp-port-hd{margin-bottom:0}.pp-port .pp-rot{flex-wrap:wrap;row-gap:4px}.pp-port .pp-rot .pp-f{width:64px;flex:0 0 64px}.pp-port .pp-slide{margin:0;height:32px}.cv-menu-pats{display:flex;flex-wrap:wrap;gap:3px;padding:4px 8px 6px}.cv-menu-pats .chip-btn{padding:2px 6px;font-size:11px;letter-spacing:-1px}.cv-ftb-pat{max-width:128px}.ly-dialog{width:min(860px,calc(96vw / var(--ui-zoom-vu, 1)));max-height:calc(86vh / var(--ui-zoom-vu, 1));display:flex;flex-direction:column}.ly-help{margin:0 18px 6px}.ly-only{margin:0 18px 8px}.ly-list{overflow:auto;padding:0 18px 16px;display:flex;flex-direction:column;gap:6px}.ly-row{display:grid;grid-template-columns:34px minmax(140px,1.4fr) 170px 150px 170px auto;gap:8px;align-items:center;padding:6px 8px;border:1px solid var(--border);border-radius:8px}.ly-row.off{opacity:.55}.ly-eye{border:none;background:none;font-size:16px;cursor:pointer}.ly-name{display:flex;flex-direction:column;min-width:0}.ly-name b{font-size:13px}.ly-col{display:flex;gap:6px;align-items:center}.ly-row .field-inp{min-width:0}@media(max-width:760px){.ly-row{grid-template-columns:34px 1fr}.ly-row>:nth-child(n+3){grid-column:2}}.cv-frame.scoped{border:2px dashed var(--sc);background:color-mix(in srgb,var(--sc) 5%,transparent)}.cv-frame-scope{margin-left:auto;padding:1px 8px;border-radius:999px;background:var(--sc);color:#fff;font-size:11px;font-weight:700;letter-spacing:.04em;white-space:nowrap}.pp-supply{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.modal.ly-dialog{width:min(1040px,calc(96vw / var(--ui-zoom-vu, 1)));max-width:calc(96vw / var(--ui-zoom-vu, 1))}.ly-row{grid-template-columns:34px minmax(150px,1fr) 190px 170px 190px 70px}@media(max-width:900px){.ly-row{grid-template-columns:34px 1fr}.ly-row>:nth-child(n+3){grid-column:2}}.cv-parts-out{margin:0 12px 6px}.cv-border{width:100%;height:100%;position:relative;pointer-events:none}.cv-border-svg{position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible;pointer-events:none}.cv-border-svg rect,.cv-border-svg line,.cv-border-svg path{pointer-events:stroke;cursor:move}.cv-border.sel .cv-border-frame{stroke:#6366f1}.cv-border-lbl text{font-size:12px;fill:#475569;text-anchor:middle;dominant-baseline:central;font-family:var(--font-mono, monospace)}.react-flow__node-border{pointer-events:none!important}.react-flow__node-border .react-flow__resize-control{pointer-events:all}.cv-border-hit{pointer-events:stroke;cursor:move}.tb-pc{position:relative}.tb-pc i{position:absolute;right:2px;bottom:1px;font-size:8px;font-style:normal;font-weight:700;color:#6366f1}.cv-plc{position:relative;width:100%;height:100%;background:#fff;border:1.6px solid #1f2937;border-radius:3px;font-family:var(--font-mono, ui-monospace, monospace);color:#111827;box-sizing:border-box}.cv-plc.sel{outline:2px solid #6366f1;outline-offset:2px}.cv-plc-hd{position:absolute;left:0;right:0;top:0;padding:4px 8px;background:#0f766e;color:#fff;display:flex;flex-direction:column;gap:1px}.cv-plc-t{display:flex;justify-content:space-between;align-items:baseline;font-size:13px}.cv-plc-slot{font-size:10px;opacity:.85}.cv-plc-m{font-size:10.5px}.cv-plc-o{font-size:10px;opacity:.85}.cv-plc-mid{position:absolute;left:50%;top:58px;bottom:4px;border-left:1px dashed #cbd5e1}.cv-plc-pin{position:absolute;display:flex;align-items:center;gap:6px;font-size:10.5px;white-space:nowrap;overflow:visible}.cv-plc-pin.left{left:0;right:50%;padding-left:6px}.cv-plc-pin.right{right:0;left:50%;padding-right:6px;flex-direction:row-reverse}.cv-plc-pin .a{font-weight:700}.cv-plc-pin .t{color:#2563eb;overflow:hidden;text-overflow:ellipsis;max-width:62px;font-size:9.5px}.cv-plc-pin.k-pwr .a{color:#b91c1c}.cv-plc-pin.k-com .a{color:#6b7280}.cv-plc-pin.io-ai .a,.cv-plc-pin.io-aq .a{color:#7c3aed}.cv-plc-h{width:7px!important;height:7px!important;min-width:0;min-height:0;background:#fff!important;border:1.5px solid #1f2937!important;border-radius:1px!important}.cv-plc-pin.left .cv-plc-h{left:-4px!important}.cv-plc-pin.right .cv-plc-h{right:-4px!important;left:auto!important}.cv-plc-h:hover{background:#6366f1!important}.pp-specs{display:flex;flex-direction:column;gap:2px;font-size:11.5px;border:1px solid var(--border);border-radius:8px;padding:6px 8px}.pp-specs>div{display:grid;grid-template-columns:112px 1fr;gap:6px}.pp-specs span{color:var(--text-muted)}.pp-ch{display:flex;flex-direction:column;gap:4px;max-height:320px;overflow:auto}.pp-ch-row{display:grid;grid-template-columns:58px 1fr 1fr;gap:4px;align-items:center}.pp-ch-row b{font-family:var(--font-mono, monospace);font-size:11.5px}.pp-ch-row .field-inp{min-width:0;padding:4px 6px;font-size:12px}.pp-ch-row b.io-ai,.pp-ch-row b.io-aq{color:#7c3aed}.cv-lib-sec.nested{margin-left:10px;border-left:1px solid var(--border);padding-left:4px}.cv-lib-sec.group>.cv-lib-sec-hd{font-weight:700}.cv-lib-kids{display:flex;flex-direction:column}.cv-lib-list{display:flex;flex-direction:column;gap:2px;padding:2px 4px 6px}.cv-lib-row{display:grid;grid-template-columns:18px 1fr;grid-template-rows:auto auto;column-gap:6px;text-align:left;border:1px solid transparent;background:none;border-radius:6px;padding:4px 6px;cursor:grab;font:inherit;color:var(--text-primary)}.cv-lib-row:hover{background:var(--bg-base);border-color:var(--border)}.cv-lib-row .cv-lib-ico{grid-row:span 2;font-size:14px;line-height:18px}.cv-lib-rl{font-size:12px;line-height:1.25}.cv-lib-row small{grid-column:2;font-size:10.5px;color:var(--text-muted);font-family:var(--font-mono, monospace)}.cv-plcs{position:relative;width:100%;height:100%;border:1.4px dashed #d946ef;box-sizing:border-box;background:#fff9;font-family:var(--font-sans, Arial, sans-serif)}.cv-plcs.sel{outline:2px solid #6366f1;outline-offset:3px}.cv-plcs-tag{position:absolute;right:calc(100% + 6px);top:4px;color:#1d4ed8;font-size:12px;white-space:nowrap}.cv-plcs-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 12px;border-bottom:1.4px dashed #d946ef;color:#1d4ed8;font-size:11.5px}.cv-plcs-hd span:first-child{margin-left:18%}.cv-plcs-mk{color:#0f766e;font-weight:600;letter-spacing:.02em}.cv-plcs-t{position:absolute;top:26px;bottom:0;width:0}.cv-plcs-o{position:absolute;left:-4px;bottom:16px;width:7px;height:7px;border:1.3px solid #d946ef;border-radius:50%;background:#fff}.cv-plcs-t:after{content:"";position:absolute;left:0;bottom:0;height:16px;border-left:1.3px solid #ef4444}.cv-plcs-l{position:absolute;left:6px;bottom:3px;font-size:9px;color:#111827;white-space:nowrap}.cv-plcs-t.k-pwr .cv-plcs-l,.cv-plcs-t.k-com .cv-plcs-l{color:#374151}.cv-plcs-txt{position:absolute;bottom:30px;left:0;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;text-align:center;font-size:8.5px;line-height:1.2;color:#4b5563}.cv-plcs-txt b{color:#111827;font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cv-plcs-txt span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cv-plcs-txt i{font-style:normal;color:#6b7280}.cv-plcs-t.io-ai .cv-plcs-txt,.cv-plcs-t.io-aq .cv-plcs-txt{left:22px}.cv-plcs-h{width:7px!important;height:7px!important;min-width:0;min-height:0;background:transparent!important;border:none!important}.cv-plcs-h:hover{background:#6366f1!important;border-radius:50%!important}.cv-ts{position:relative;width:100%;height:100%;border:1.3px dashed #0f766e;box-sizing:border-box;background:#ffffffb3;font-family:var(--font-sans, Arial, sans-serif)}.cv-ts.sel{outline:2px solid #6366f1;outline-offset:2px}.cv-ts-name{position:absolute;left:6px;top:50%;transform:translateY(-50%);color:#1d4ed8;font-size:12px}.cv-ts-t{position:absolute;top:0;bottom:0;width:0}.cv-ts-t:before{content:"";position:absolute;left:0;top:0;bottom:0;border-left:1.2px solid #ef4444}.cv-ts-o{position:absolute;left:-4px;top:50%;margin-top:-4px;width:7px;height:7px;border:1.3px solid #1d4ed8;border-radius:50%;background:#fff;z-index:1}.cv-ts-n{position:absolute;left:6px;top:50%;transform:translateY(-50%);font-size:9px;color:#111827}.cv-ts-h{width:7px!important;height:7px!important;min-width:0;min-height:0;background:transparent!important;border:none!important}.cv-ts-h:hover{background:#6366f1!important;border-radius:50%!important}.cv-prail{position:relative;width:100%;height:100%}.cv-prail.sel .cv-prail-svg{outline:1px dashed #6366f1}.cv-prail-svg{position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible}.cv-prail-t{font-size:11px;fill:#1d4ed8;font-family:var(--font-sans, Arial, sans-serif)}.cv-wl{position:absolute;pointer-events:none;font-size:10px;color:#c026d3;white-space:nowrap;font-family:var(--font-sans, Arial, sans-serif)}.cv-xs{position:absolute;pointer-events:none;width:0;height:0}.cv-xs-tick{position:absolute;left:-5px;top:0;width:10px;border-top:1.2px solid #ef4444}.cv-xs-t{position:absolute;top:-12px;font-size:8.5px;color:#dc2626;white-space:nowrap;display:flex;flex-direction:column;line-height:1.15}.cv-xs-t i{font-style:normal;color:#b91c1c}.cv-plcs-h,.cv-ts-h{width:11px!important;height:11px!important}.cv-plcs:hover .cv-plcs-h,.cv-plcs.sel .cv-plcs-h,.cv-ts:hover .cv-ts-h,.cv-ts.sel .cv-ts-h{background:#6366f140!important;border:1.5px solid #6366f1!important;border-radius:50%!important;cursor:crosshair}.cv-plcs-h:hover,.cv-ts-h:hover{background:#6366f1!important}.react-flow__edge.cv-erc path.react-flow__edge-path{stroke:#dc2626!important;stroke-width:3!important;stroke-dasharray:6 4;animation:cv-erc-dash .8s linear infinite}@keyframes cv-erc-dash{to{stroke-dashoffset:-20}}.cv-erc-toast{position:fixed;left:50%;bottom:64px;transform:translate(-50%);z-index:2001;display:flex;align-items:center;gap:10px;max-width:min(760px,calc(92vw / var(--ui-zoom-vu, 1)));background:#fef2f2;color:#7f1d1d;border:1.5px solid #fca5a5;border-radius:12px;padding:10px 12px;box-shadow:0 10px 28px #7f1d1d2e;font-size:13px}.cv-erc-toast b{white-space:nowrap;color:#b91c1c}.cv-tagkey{width:100%;height:100%;display:block;color:#111827;background:#fff}.cv-tagkey-empty{padding:10px;font-size:12px;color:#64748b}.cv-joint-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:#16a34a;border:2px solid #fff;box-shadow:0 0 0 1px #16a34a;z-index:6;pointer-events:auto}.cv-joint-top{top:0;transform:translate(-50%,-50%)}.cv-joint-bottom{bottom:0;transform:translate(-50%,50%)}.cv-joint-left{left:0;transform:translate(-50%,-50%)}.cv-joint-right{right:0;transform:translate(50%,-50%)}.cv-join-toast{position:fixed;left:50%;bottom:64px;transform:translate(-50%);z-index:2001;display:flex;align-items:center;gap:10px;max-width:min(760px,calc(92vw / var(--ui-zoom-vu, 1)));background:#f0fdf4;color:#14532d;border:1.5px solid #86efac;border-radius:12px;padding:8px 10px 8px 12px;box-shadow:0 10px 28px #14532d29;font-size:13px}.cv-join-toast b{white-space:nowrap;color:#15803d}.cv-join-toast.warn{background:#fffbeb;color:#78350f;border-color:#fcd34d}.cv-join-toast.warn b{color:#b45309}.cv-erc-acts{display:flex;gap:4px;flex-shrink:0}.cv-erc-badge{position:fixed;right:18px;bottom:64px;z-index:2000;border:1.5px solid #fca5a5;background:#fef2f2;color:#b91c1c;border-radius:999px;padding:5px 12px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}.cv-xref{position:absolute;left:0;top:calc(100% + 2px);font-size:8.5px;line-height:1.25;color:#15803d;white-space:pre;pointer-events:none;font-family:var(--font-sans, Arial, sans-serif)}.cv-ncx{position:absolute;left:0;top:0;overflow:visible;pointer-events:none;z-index:2;fill:none;stroke:#111827;stroke-width:1.3;stroke-linecap:round}.cv-check-btn{margin-left:auto;margin-right:8px;border:1px solid var(--border);background:var(--bg-surface, #fff);border-radius:999px;padding:3px 12px;font:inherit;font-size:12px;cursor:pointer;color:var(--text-primary);white-space:nowrap}.cv-check-btn:hover{border-color:#a5b4fc;background:#eef2ff}.cv-check-btn.bad{border-color:#fca5a5;background:#fef2f2;color:#b91c1c;font-weight:600}.cv-check{position:fixed;right:18px;bottom:56px;z-index:1500;width:min(460px,calc(92vw / var(--ui-zoom-vu, 1)));max-height:calc(60vh / var(--ui-zoom-vu, 1));display:flex;flex-direction:column;background:var(--bg-surface, #fff);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 32px #0f172a2e}.cv-check-hd{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 6px}.cv-check-sum{display:flex;gap:8px;padding:0 12px 8px;font-size:12px}.cv-check-sum span{padding:2px 8px;border-radius:999px}.cv-check-sum .e{background:#fef2f2;color:#b91c1c}.cv-check-sum .w{background:#fffbeb;color:#b45309}.cv-check-sum .n{background:#f1f5f9;color:#475569}.cv-check-list{overflow:auto;padding:0 8px 8px;display:flex;flex-direction:column;gap:3px}.cv-check-row{display:flex;gap:8px;align-items:flex-start;text-align:left;border:1px solid transparent;background:none;border-radius:8px;padding:6px 8px;font:inherit;font-size:12.5px;cursor:pointer;color:var(--text-primary)}.cv-check-row:hover{background:var(--bg-base);border-color:var(--border)}.cv-check-row.error i{color:#dc2626}.cv-check-row.warn i{color:#d97706}.cv-check-row.note i{color:#64748b}.cv-check-row i{font-style:normal;flex-shrink:0}.cv-check-ok{color:#15803d;font-size:13px;padding:8px}.cv-check-ft{padding:0 12px 10px;margin:0}.react-flow__node.cv-focus{animation:cv-focus-pulse 1.1s ease-in-out infinite;border-radius:6px}@keyframes cv-focus-pulse{0%,to{box-shadow:0 0 0 3px #f59e0bd9,0 0 0 10px #f59e0b26}50%{box-shadow:0 0 0 5px #f59e0b80,0 0 0 18px #f59e0b0d}}.react-flow__edge.cv-focus-e path.react-flow__edge-path{stroke-width:4!important;filter:drop-shadow(0 0 4px rgba(245,158,11,.9))}.cv-check.walk{width:min(520px,calc(94vw / var(--ui-zoom-vu, 1)))}.cv-walk-item{margin:0 12px;padding:10px 12px;border-radius:10px;border:1px solid var(--border)}.cv-walk-item i{font-style:normal;font-weight:700;font-size:12px}.cv-walk-item p{margin:4px 0 0;font-size:13.5px}.cv-walk-item.error{background:#fef2f2;border-color:#fca5a5}.cv-walk-item.error i{color:#b91c1c}.cv-walk-item.warn{background:#fffbeb;border-color:#fcd34d}.cv-walk-item.warn i{color:#b45309}.cv-walk-item.note{background:#f8fafc}.cv-walk-item.note i{color:#475569}.cv-walk-dots{display:flex;flex-wrap:wrap;gap:4px;padding:8px 12px}.cv-walk-dots button{width:12px;height:12px;border-radius:50%;border:1.5px solid #cbd5e1;background:#fff;padding:0;cursor:pointer}.cv-walk-dots button.error{border-color:#ef4444}.cv-walk-dots button.warn{border-color:#f59e0b}.cv-walk-dots button.ok{background:#22c55e;border-color:#16a34a}.cv-walk-dots button.on{transform:scale(1.35);box-shadow:0 0 0 2px #6366f1}.cv-walk-acts{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:0 12px 8px}.cv-walk-fix{color:#b91c1c;font-size:12.5px;font-weight:600}.cv-walk-ft{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px 10px;border-top:1px solid var(--border)}.cv-tab-disc{font-size:11px;margin-right:3px;opacity:.75}.cv-lib-disc{display:flex;align-items:center;gap:4px;margin:0 8px 6px;padding:4px 8px;border-radius:8px;background:var(--bg-base);font-size:11.5px;color:var(--text-muted)}.cv-lib-disc span{flex:1;min-width:0}.cv-lbl-drag{pointer-events:all!important;cursor:move;outline:1px dashed rgba(99,102,241,.6);outline-offset:2px;border-radius:2px}.modal.iocfg{width:min(1320px,calc(97vw / var(--ui-zoom-vu, 1)));max-width:calc(97vw / var(--ui-zoom-vu, 1));height:min(calc(88vh / var(--ui-zoom-vu, 1)),900px);display:flex;flex-direction:column}.iocfg-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:0 16px 10px}.iocfg-q{width:240px}.iocfg-grid{display:grid;grid-template-columns:92px 1.1fr 1fr 1.5fr 1.4fr 150px 1fr 70px;gap:6px;align-items:center}.iocfg-hd{padding:6px 22px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-bottom:1px solid var(--border)}.iocfg-body{flex:1;overflow:auto;padding:4px 16px 10px}.iocfg-row{padding:4px 6px;border-bottom:1px solid var(--border)}.iocfg-row.spare{opacity:.7}.iocfg-row .field-inp{width:100%;min-width:0;padding:4px 6px;font-size:12.5px}.iocfg-addr{font-family:var(--font-mono, monospace);font-weight:700;font-size:12.5px;display:flex;flex-direction:column}.iocfg-addr small{font-weight:400;font-size:10px;color:var(--text-muted);font-family:var(--font-sans, Arial, sans-serif)}.iocfg-addr.io-ai,.iocfg-addr.io-aq{color:#7c3aed}.iocfg-addr.io-dq{color:#b45309}.iocfg-addr.io-di{color:#1d4ed8}.iocfg-wired{font-size:12px;color:#c026d3;word-break:break-word}.iocfg-wired i{color:var(--text-muted);font-style:normal}.iocfg-dup .field-inp{border-color:#f59e0b;background:#fffbeb}.iocfg-acts{display:flex;gap:3px;justify-content:flex-end}.iocfg-acts .chip-btn{padding:2px 7px}.iocfg-more{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;padding:8px 4px 4px 98px}.iocfg-more label{display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--text-muted)}.iocfg-more .iocfg-chk{flex-direction:row;align-items:center;gap:4px}.iocfg-more .iocfg-note{flex:1;min-width:220px}.iocfg-ft{padding:8px 16px 12px;margin:0;border-top:1px solid var(--border)}@media(max-width:900px){.iocfg-grid{grid-template-columns:80px 1fr 1fr}.iocfg-hd{display:none}}.cv-mini{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:2px;font-family:var(--font-sans, Arial, sans-serif)}.cv-mini.sel{outline:2px solid #6366f1;outline-offset:3px;border-radius:4px}.cv-mini.lost{opacity:.45}.cv-mini-name{font-size:11px;font-weight:700;white-space:nowrap;color:#111827;height:14px}.cv-mini-mod{display:block}.cv-mini-body{fill:#e5e7eb;stroke:#111827;stroke-width:1}.cv-mini-term{fill:#374151}.cv-mini-scr{fill:#94a3b8;stroke:#475569;stroke-width:.6}.cv-mini-led{fill:#22c55e}.cv-mini-sym{width:100%;display:flex;align-items:center;justify-content:center}.cv-mini-sym svg{width:100%;height:100%}.cv-mini-tag{font-size:10px;color:#1d4ed8;white-space:nowrap;height:12px}.cv-mini-tag small{color:#6b7280}.cv-arch-toast{display:flex;align-items:center;gap:8px}.cv-toast{bottom:76px!important}.cv-erc-toast{bottom:76px}.modal.cpu-ask{width:min(560px,calc(94vw / var(--ui-zoom-vu, 1)))}.cpu-ask-list{display:flex;flex-direction:column;gap:6px;padding:0 18px 18px}.cpu-ask-row{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-surface, #fff);font:inherit;cursor:pointer}.cpu-ask-row:hover:not(:disabled){border-color:#a5b4fc;background:#eef2ff}.cpu-ask-row span{font-size:12px;color:#15803d}.cpu-ask-row.off{opacity:.6;cursor:not-allowed}.cpu-ask-row.off span{color:#b91c1c}.cv-plcs .cv-plcs-txt{font-size:calc(8.5px*max(var(--k, 1),.7))}.cv-plcs .cv-plcs-l{font-size:calc(9px*max(var(--k, 1),.7))}.cv-plcs .cv-plcs-hd{font-size:calc(11.5px*max(var(--k, 1),.75))}.ds-pagenote{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 10px;margin-bottom:10px;border-radius:8px;background:#eef2ff;color:#3730a3;font-size:12.5px}.react-flow__node .cv-sym.elec .react-flow__handle.cv-handle{width:6px;height:6px;opacity:0}.react-flow__node:hover .cv-sym.elec .react-flow__handle.cv-handle,.react-flow__node.selected .cv-sym.elec .react-flow__handle.cv-handle{opacity:.7}.cv-plcs-h,.cv-ts-h{width:7px!important;height:7px!important}.cv-plcs:hover .cv-plcs-h,.cv-plcs.sel .cv-plcs-h,.cv-ts:hover .cv-ts-h,.cv-ts.sel .cv-ts-h{background:#6366f126!important;border:1px solid rgba(99,102,241,.7)!important}.cv-nsw{position:relative;width:100%;height:100%;border:1.4px solid #1d4ed8;box-sizing:border-box;background:#ffffffbf;font-family:var(--font-sans, Arial, sans-serif)}.cv-nsw.sel{outline:2px solid #6366f1;outline-offset:3px}.cv-nsw-port{position:absolute;top:0;width:0;height:74px}.cv-nsw-port:before{content:"";position:absolute;left:0;top:0;height:22px;border-left:1.3px solid #ef4444}.cv-nsw-jack{position:absolute;left:-21px;top:20px;width:42px;height:34px;border:1px solid #b91c1c;background:#fff;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.cv-nsw-jack span{width:30px;height:24px;background:#e11d48;border-radius:2px;position:relative}.cv-nsw-jack span:after{content:"";position:absolute;left:7px;top:6px;width:16px;height:12px;background:#fff;clip-path:polygon(0 0,100% 0,100% 70%,75% 70%,75% 100%,25% 100%,25% 70%,0 70%)}.cv-nsw-port.sfp .cv-nsw-jack span{background:#64748b}.cv-nsw-lbl{position:absolute;left:0;top:58px;transform:translate(-50%);font-size:10px;color:#111827}.cv-nsw-model{position:absolute;left:24px;top:78px;font-size:15px;color:#dc2626;white-space:nowrap}.cv-nsw-model small{font-size:10px;color:#6b7280}.cv-nsw-sup{position:absolute;bottom:-1px;height:26px;border:1.2px solid #1d4ed8;border-bottom:none;background:#fff}.cv-nsw-term{position:absolute;bottom:0;width:0;height:26px}.cv-nsw-term:after{content:"";position:absolute;left:0;bottom:0;height:12px;border-left:1.3px solid #ef4444}.cv-nsw-term .cv-ts-o{top:auto;bottom:10px;margin-top:0}.cv-nsw-tn{position:absolute;left:-3px;top:1px;font-size:8.5px;color:#111827}.cv-nsw-tl{position:absolute;left:6px;bottom:9px;font-size:7.5px;color:#dc2626}.cv-pid-banner{position:fixed;left:50%;top:118px;transform:translate(-50%);z-index:1400;display:flex;align-items:center;gap:8px;max-width:min(860px,calc(94vw / var(--ui-zoom-vu, 1)));padding:8px 12px;border-radius:10px;background:#fffbeb;border:1.5px solid #fcd34d;color:#92400e;font-size:13px;box-shadow:0 8px 20px #92400e26}.tb-btn.tb-alert{color:#b45309;background:#fffbeb;border-color:#fcd34d}.modal.pidl{width:min(980px,calc(96vw / var(--ui-zoom-vu, 1)));max-width:calc(96vw / var(--ui-zoom-vu, 1));height:min(calc(86vh / var(--ui-zoom-vu, 1)),860px);display:flex;flex-direction:column}.pidl-src{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:0 18px 10px}.pidl-src .field-inp{width:320px}.pidl-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;padding:0 18px 8px}.pidl-n{background:#f59e0b;color:#fff;border-radius:999px;padding:0 6px;margin-left:4px;font-size:11px}.pidl-body{flex:1;overflow:auto;padding:0 18px 10px;display:flex;flex-direction:column;gap:8px}.pidl-pad{padding:0 18px 12px;margin:0}.pidl-card{border:1px solid #fcd34d;background:#fffdf5;border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.pidl-hd{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}.pidl-rev{margin-left:auto;font-size:12px;font-weight:600;color:#b45309}.pidl-diff{display:flex;flex-direction:column;gap:2px;font-size:12.5px}.pidl-diff>div{display:grid;grid-template-columns:170px 1fr 1fr;gap:8px}.pidl-diff span{color:var(--text-muted)}.pidl-diff s{color:#9ca3af}.pidl-diff b{color:#b45309}.pidl-acts{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.pidl-gone{color:#b91c1c;font-size:12.5px;margin:0}.pidl-row{display:grid;grid-template-columns:140px 170px 1fr 120px 36px;gap:8px;align-items:center;padding:6px 4px;border-bottom:1px solid var(--border);font-size:12.5px}.pidl-ok{color:#15803d}.pidl-bad{color:#b45309;font-weight:600}.cv-nsw-sub{font-size:9.5px;color:#475569;margin-top:1px}.cv-ip-lbl{position:absolute;white-space:nowrap;font-size:10px;color:#1d4ed8;font-family:var(--font-mono, monospace);pointer-events:none;z-index:3}.cv-ip-lbl.cv-lbl-drag{pointer-events:all}.cv-ribbon.one-row{flex-wrap:wrap;overflow:visible;min-width:0}.cv-ribbon.one-row .cv-crumb-title{min-width:0;overflow:hidden}.tb-menu-w{position:relative;display:inline-flex}.tb-menu-btn{gap:3px}.tb-caret{font-size:9px;opacity:.6}.tb-menu{position:absolute;left:0;top:calc(100% + 4px);z-index:2500;min-width:250px;max-height:calc(70vh / var(--ui-zoom-vu, 1));overflow:auto;padding:4px;background:var(--bg-surface, #fff);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 28px #0f172a2e;display:flex;flex-direction:column}.tb-menu-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:none;background:none;padding:6px 8px;border-radius:6px;font:inherit;font-size:13px;color:var(--text-primary);cursor:pointer;white-space:nowrap}.tb-menu-item:hover:not(:disabled){background:var(--bg-base)}.tb-menu-item.on{color:#4338ca}.tb-menu-item.alert{color:#b45309;font-weight:600}.tb-menu-item:disabled{opacity:.45;cursor:default}.tb-menu-ico{width:18px;display:inline-flex;justify-content:center;color:var(--text-muted)}.tb-menu-ico svg{width:16px;height:16px}.tb-menu-lbl{flex:1}.tb-menu-chk{color:#4338ca;font-weight:700}.tb-menu-item kbd{font-size:10.5px;color:var(--text-muted);border:1px solid var(--border);border-radius:4px;padding:0 4px;font-family:inherit}.tb-menu-sep{height:1px;background:var(--border);margin:4px 2px}.tb-menu-head{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:6px 8px 2px}.cv-ribbon .tb-btn.tb-menu-btn,.cv-ribbon .tb-btn.tb-menu-btn:has(.tb-lbl){width:auto!important;min-width:0!important;padding:0 8px!important;gap:4px;white-space:nowrap;font-size:13px}.cv-ribbon .tb-menu-w+.tb-menu-w{margin-left:2px}.cv-guides{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:6;overflow:visible}.cv-guides line{stroke:#db2777;stroke-width:1;stroke-dasharray:4 3}.cv-sym.sel .cv-sym-svg .cv-mtxt{pointer-events:all;cursor:move}.cv-sym.sel .cv-sym-svg .cv-mtxt:hover text{fill:#4f46e5}.cc-techbox{flex-direction:column;align-items:stretch;gap:8px}.cc-tech-depts{display:flex;flex-wrap:wrap;gap:6px;padding-left:23px}.cc-tech-dept{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:4px 10px;border:1px solid var(--border);border-radius:999px;cursor:pointer;background:var(--bg-surface, #fff)}.cc-tech-dept.on{border-color:#6366f1;background:#6366f114;color:#4338ca;font-weight:600}.cc-tech-dept input{margin:0}.wfs-depts{margin:10px 0 4px;padding:8px 10px;border:1px dashed var(--border);border-radius:8px;display:flex;flex-direction:column;gap:8px}.wfs-depts-hd{display:flex;align-items:center;gap:8px}.wfs-dept-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(200px,1.6fr) minmax(180px,1.4fr) auto;gap:8px;align-items:end;padding:8px;background:var(--bg-elevated);border-radius:7px}.wfs-dept-cell{display:flex;flex-direction:column;gap:3px;min-width:0}.wfs-apick{display:flex;flex-direction:column;gap:4px;min-width:0}.wfs-span-all{grid-column:1 / -1}@media(max-width:900px){.wfs-dept-row{grid-template-columns:1fr}}.wf-depts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:6px;margin-top:6px}.wf-dept{padding:6px 8px;border:1px solid var(--border);border-radius:7px;background:var(--bg-elevated);min-width:0}.wf-dept.s-APPROVED{border-color:#86efac;background:#22c55e12}.wf-dept.s-PENDING{border-color:#fcd34d;background:#f59e0b12}.wf-dept.s-SENT_BACK,.wf-dept.s-REJECTED{border-color:#fca5a5;background:#ef44440f}.wf-dept.s-CANCELLED{opacity:.6}.ic-wf-who-depts{margin-top:4px;padding-left:10px;border-left:2px solid var(--border);font-size:12px;display:grid;gap:2px}td.ur-roles{min-width:230px}.ur-role-chips{display:flex;flex-wrap:wrap;gap:4px 6px}.ur-role-chips .mini-chip{white-space:nowrap}td.ur-acts .hr-doc-actions{display:flex;flex-wrap:wrap;gap:4px 14px}td.ur-acts .hr-link{white-space:nowrap}.ic-thumb-photo{border:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font:inherit;color:var(--text-secondary);width:100%}.ic-thumb-photo span{font-size:11px;font-weight:600}.ic-thumb-photo:hover{color:#4f46e5;background:#6366f114}.ic-rowthumb.has-photo{cursor:pointer}.ss-tabs{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}.ss-tabs button{border:1px solid var(--border);background:var(--bg-surface);border-radius:999px;padding:7px 14px;font:inherit;font-size:13px;cursor:pointer;color:var(--text-secondary)}.ss-tabs button.on{background:#4f46e5;border-color:#4f46e5;color:#fff;font-weight:600}.ss-live-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.ss-live-bar .chip-btn{margin-left:auto}.ss-dot{width:9px;height:9px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px #22c55e33;display:inline-block;animation:ssPulse 2s infinite}@keyframes ssPulse{50%{box-shadow:0 0 0 6px #22c55e0d}}.ss-services{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.ss-svc{font-size:12px;padding:4px 10px;border-radius:999px;border:1px solid var(--border);background:var(--bg-surface)}.ss-svc.ok{color:#15803d;border-color:#86efac}.ss-svc.bad{color:#b91c1c;border-color:#fca5a5}.ss-svc small{color:var(--text-muted);margin-left:3px}.ss-gauges{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:12px}.ss-gauge{display:flex;flex-direction:column;gap:6px}.ss-g-hd{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;color:var(--text-secondary)}.ss-pct{font-size:20px}.ss-pct.ok{color:#15803d}.ss-pct.warn{color:#b45309}.ss-pct.bad{color:#b91c1c}.ss-bar{height:8px;border-radius:999px;background:var(--bg-elevated);overflow:hidden}.ss-bar span{display:block;height:100%;border-radius:999px;background:#22c55e;transition:width .4s}.ss-bar span.warn{background:#f59e0b}.ss-bar span.bad{background:#ef4444}.ss-spark{width:100%;height:38px;display:block}.ss-grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px;margin-bottom:12px}.ss-kv{display:grid;gap:6px}.ss-kv>div{display:flex;justify-content:space-between;gap:10px;font-size:13px;border-bottom:1px dashed var(--border);padding-bottom:5px}.ss-kv span{color:var(--text-secondary)}.ss-red{color:#b91c1c}.ss-list{display:grid;gap:4px}.ss-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;font-size:12.5px;padding:5px 0;border-bottom:1px solid var(--border)}.ss-row code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.ss-phone{margin-bottom:12px}.ss-phone-hd{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:10px}.ss-big{font-size:26px}.ss-phone-free{display:flex;flex-direction:column;margin-left:auto;text-align:right}.ss-stack{display:flex;height:18px;border-radius:9px;overflow:hidden;background:var(--bg-elevated);margin:6px 0 12px}.ss-stack span{display:block;height:100%;min-width:2px}.ss-legend{display:grid;gap:6px}.ss-leg{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:10px;align-items:center;font-size:13px}.ss-leg i,.ss-mod summary i{width:12px;height:12px;border-radius:3px;display:inline-block}.ss-leg div{display:flex;flex-direction:column;min-width:0}.ss-mods{display:grid;gap:4px}.ss-mod summary{display:grid;grid-template-columns:12px minmax(0,1fr) auto auto 44px auto;gap:10px;align-items:center;cursor:pointer;padding:7px 4px;border-bottom:1px solid var(--border);font-size:13px;list-style:none}.ss-mod summary::-webkit-details-marker{display:none}.ss-mod-b{text-align:right}.ss-area{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;padding:5px 4px 5px 26px;font-size:12.5px}.ss-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.ss-filters .field-inp{width:auto;min-width:160px;flex:1;max-width:300px}.ss-files{display:grid;max-height:520px;overflow:auto}.ss-frow{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1.4fr) 80px 170px;gap:10px;align-items:center;padding:6px 4px;border-bottom:1px solid var(--border);font-size:12.5px}.ss-fhead{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);position:sticky;top:0;background:var(--bg-surface)}.ss-fname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ss-pager{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin-top:8px}.ss-junk{display:grid;gap:8px}.ss-jcat{border:1px solid var(--border);border-radius:9px;padding:0 10px}.ss-jcat.on{border-color:#ef4444;background:#ef44440a}.ss-jcat summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;cursor:pointer;list-style:none}.ss-jcat summary::-webkit-details-marker{display:none}.ss-jsize{font-size:15px}.ss-otp{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ss-otp .field-inp{width:130px;letter-spacing:3px;font-weight:600}.btn-primary.danger{background:#dc2626;border-color:#dc2626}@media(max-width:720px){.ss-frow{grid-template-columns:minmax(0,1fr) 70px}.ss-frow>:nth-child(2),.ss-frow>:nth-child(4){display:none}}.pm-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;pointer-events:none}.pm-stage{position:absolute;top:0;right:0;bottom:0;left:0}.pm-stage canvas{display:block;width:100%!important;height:100%!important}.pm-title{position:absolute;top:14px;left:50%;transform:translate(-50%);pointer-events:none;font-size:clamp(16px,calc(3.2vw / var(--ui-zoom-vu, 1)),30px);font-weight:800;color:#fff;text-align:center;padding:8px 20px;border-radius:999px;background:linear-gradient(90deg,#f97316,#db2777,#7c3aed);box-shadow:0 8px 24px #00000040;max-width:calc(calc(100vw / var(--ui-zoom-vu, 1)) - 24px);animation:pmPop .6s ease-out}@keyframes pmPop{0%{transform:translate(-50%) scale(.3);opacity:0}to{transform:translate(-50%) scale(1);opacity:1}}.pm-bubble{position:absolute;top:0;left:0;max-width:min(320px,calc(calc(100vw / var(--ui-zoom-vu, 1)) - 20px));padding:10px 14px;background:#fff;color:#111827;border:3px solid #111827;border-radius:18px;font-size:15px;font-weight:600;line-height:1.35;box-shadow:0 6px 18px #0003;pointer-events:none;transition:transform .08s linear}.pm-bubble:after{content:"";position:absolute;bottom:-14px;left:40%;border:12px solid transparent;border-top-color:#111827;border-bottom:0}.pm-karaoke{position:absolute;left:50%;top:92px;transform:translate(-50%);width:min(760px,calc(calc(100vw / var(--ui-zoom-vu, 1)) - 24px));text-align:center;font-size:clamp(18px,calc(3vw / var(--ui-zoom-vu, 1)),30px);font-weight:800;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.6);pointer-events:none}.pm-karaoke span{opacity:.55;transition:all .15s}.pm-karaoke span.done{opacity:.85}.pm-karaoke span.on{opacity:1;color:#facc15;display:inline-block;transform:scale(1.18)}.pm-ctrl{position:absolute;left:50%;bottom:16px;transform:translate(-50%);display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:center;pointer-events:auto;width:max-content;max-width:calc(calc(100vw / var(--ui-zoom-vu, 1)) - 16px)}.pm-btn{border:none;border-radius:999px;padding:9px 14px;font:inherit;font-size:13px;font-weight:700;cursor:pointer;background:#111827d9;color:#fff;box-shadow:0 4px 12px #00000040}.pm-mic{background:linear-gradient(90deg,#f97316,#db2777)}.pm-mic.on{animation:pmPulse 1s infinite}@keyframes pmPulse{50%{box-shadow:0 0 0 8px #db277740}}.pm-type{display:flex;gap:6px}.pm-type input{border-radius:999px;border:2px solid #111827;padding:8px 12px;font:inherit;font-size:13px;width:min(260px,calc(52vw / var(--ui-zoom-vu, 1)));background:#fff;color:#111827}.pm-tap{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:auto;background:#0f172a59}.pm-tap button{font-size:22px;font-weight:800;padding:18px 28px;border-radius:999px;border:none;cursor:pointer;color:#fff;background:linear-gradient(90deg,#f97316,#db2777,#7c3aed);box-shadow:0 10px 30px #00000059;animation:pmPulse 1.2s infinite}@media(max-width:640px){.pm-karaoke{top:110px}.pm-bubble{font-size:13px}.pm-btn{padding:8px 11px;font-size:12px}}.cel-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;margin-bottom:12px;border-radius:12px;background:linear-gradient(90deg,#f973161f,#db27771f,#7c3aed1f);border:1px solid rgba(219,39,119,.3)}.cel-banner-ic{font-size:22px}.cel-banner-list{display:flex;gap:6px 12px;flex-wrap:wrap;align-items:center;flex:1;min-width:0;font-size:13px}.cel-chip{background:var(--bg-surface);border-radius:999px;padding:3px 10px;border:1px solid var(--border)}.pm-k-line{display:inline-block;padding:8px 18px;border-radius:16px;background:#111827b8}.pm-karaoke span span{white-space:pre}.cv-sym-lbl.inside{overflow-wrap:anywhere;white-space:pre-wrap}.cv-sym-editwrap{position:absolute;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:all}.cv-sym-editwrap.inside{top:6%;right:6%;bottom:6%;left:6%}.cv-sym-editwrap.below{top:calc(100% + 3px);left:50%;transform:translate(-50%)}.cv-sym-editwrap.right{left:calc(100% + 6px);top:50%;transform:translateY(-50%)}.cv-sym-editwrap.above{bottom:calc(100% + 3px);left:50%;transform:translate(-50%)}.cv-sym-editwrap.left{right:calc(100% + 6px);top:50%;transform:translateY(-50%)}.cv-sym-editwrap.free{left:50%;top:50%;transform:translate(-50%,-50%)}.cv-sym-editwrap .cv-sym-edit{position:static;transform:none;inset:auto;width:100%;min-width:120px;max-width:360px;min-height:1.6em;overflow:hidden;text-align:center;line-height:1.25;font-size:inherit;padding:3px 6px;border:1.5px dashed #6366f1;border-radius:6px;background:#ffffffeb;color:#1f2937;resize:none;box-shadow:0 2px 10px #6366f12e}.cv-sym-editwrap.inside .cv-sym-edit{min-width:0;max-width:none;background:#ffffffbf}.cv-sym-editwrap:not(.inside) .cv-sym-edit{width:220px}.cv-sym-edit-hint{margin-top:3px;font-size:10px;color:#6366f1;white-space:nowrap;background:var(--bg-surface, #fff);border-radius:4px;padding:0 4px}.cv-ftb-font{max-width:92px}.cv-ftb-txtc{display:inline-flex;gap:2px;align-items:center}.cv-ftb-sw.sm{width:13px;height:13px}.cv-sym-editwrap.inside .cv-sym-edit{background:transparent;border:none;box-shadow:none;outline:none;padding:0;color:inherit;font-weight:700;caret-color:#4f46e5}.cv-sym-editwrap.inside{outline:1px dashed rgba(99,102,241,.45);outline-offset:2px;border-radius:4px}.cv-sym-editwrap.inside .cv-sym-edit-hint{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);margin:0;box-shadow:0 1px 4px #0000001f}.cv-sym-editwrap .cv-sym-edit::placeholder{color:#94a3b8;font-weight:400}.cv-sym-editwrap.inside{color:var(--text-primary)}.cv-add-child.left{right:auto;left:-28px}.cv-add-child.top{right:auto;top:-28px;left:50%;transform:translate(-50%)}.cv-add-child.bottom{right:auto;top:auto;bottom:-28px;left:50%;transform:translate(-50%)}.cv-add-child.top:hover,.cv-add-child.bottom:hover{transform:translate(-50%) scale(1.12)}.cv-dock>*{overflow:visible!important;flex-wrap:wrap!important;row-gap:4px}.cv-dock .cv-ftb-pop{z-index:40}.cv-node-input{white-space:pre-wrap;word-break:break-word;line-height:inherit;background:transparent;padding:0;min-height:1.4em;box-shadow:inset 0 0 0 1px #6366f159;border-radius:4px}.cv-node-input ul{text-align:left;margin:2px 0;padding-left:18px;list-style:disc}.cv-node-input ol{text-align:left;margin:2px 0;padding-left:20px;list-style:decimal}.cv-node-input li{text-align:left}.cv-menu-subbtn{display:flex;align-items:center}.cv-menu-subbtn .cv-menu-caret{margin-left:auto;color:var(--text-muted);font-size:11px}.cv-menu-subbtn.on{background:var(--bg-base)}.cv-menu-sub{z-index:3000;min-width:230px}.cv-peers{position:relative;display:inline-flex;align-items:center;gap:0;margin-right:8px}.cv-live-dot{width:8px;height:8px;border-radius:50%;background:#94a3b8;margin-right:8px}.cv-live-dot.on{background:#22c55e;box-shadow:0 0 0 3px #22c55e2e}.cv-peer{width:28px;height:28px;border-radius:50%;border:2px solid var(--bg-surface, #fff);color:#fff;font-size:11px;font-weight:800;cursor:pointer;margin-left:-6px;padding:0;box-shadow:0 1px 3px #0003}.cv-peer:first-of-type{margin-left:0}.cv-peer.more{background:var(--bg-elevated);color:var(--text-secondary);font-size:10px}.cv-peer-list{position:absolute;top:calc(100% + 6px);right:0;z-index:2600;min-width:280px;background:var(--bg-surface, #fff);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 28px #0f172a2e;padding:6px;display:flex;flex-direction:column}.cv-peer-list-hd{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:4px 6px}.cv-peer-row{display:grid;grid-template-columns:12px auto 1fr;gap:8px;align-items:center;text-align:left;border:none;background:none;padding:6px;border-radius:6px;font:inherit;font-size:13px;color:var(--text-primary);cursor:pointer}.cv-peer-row:hover{background:var(--bg-base)}.cv-peer-row i{width:10px;height:10px;border-radius:50%}.cv-peer-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:7;overflow:hidden}.cv-peer-cur{position:absolute;left:0;top:0;transition:transform .09s linear}.cv-peer-cur span{position:absolute;left:14px;top:16px;color:#fff;font-size:11px;font-weight:700;padding:2px 7px;border-radius:999px;white-space:nowrap;box-shadow:0 1px 4px #00000040}.cv-peer-sel{position:absolute;border:2px solid;border-radius:6px}.cv-peer-sel span{position:absolute;left:-2px;top:-18px;color:#fff;font-size:10px;font-weight:700;padding:1px 6px;border-radius:4px 4px 4px 0;white-space:nowrap}.cv-scale-modal{width:min(460px,calc(94vw / var(--ui-zoom-vu, 1)))}.cv-scale-body{display:flex;flex-direction:column;gap:10px;padding:4px 2px 8px}.cv-scale-row{display:flex;flex-direction:column;gap:4px;font-size:13px}.cv-scale-row>span{font-weight:600}.cv-scale-presets{display:flex;flex-wrap:wrap;gap:6px}.cv-scale-presets .chip-btn.on{background:#eef2ff;border-color:#a5b4fc;color:#3730a3}.cv-scale-chk{display:flex;align-items:center;gap:8px;font-size:13px}.cv-menu-sub:has(.cv-scale-fly){min-width:268px}.cv-scale-fly{display:flex;flex-direction:column;gap:8px;padding:6px 6px 4px}.cv-scale-fly-hd{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.cv-scale-fly-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.cv-scale-chip{border:1px solid var(--border);background:var(--bg-surface, #fff);border-radius:6px;padding:5px 0;font:inherit;font-size:12px;font-weight:600;cursor:pointer;color:var(--text-primary);font-variant-numeric:tabular-nums}.cv-scale-chip.dn{color:#b45309}.cv-scale-chip.up{color:#1d4ed8}.cv-scale-chip:hover{background:#eef2ff;border-color:#a5b4fc}.cv-scale-fly-row{display:flex;align-items:center;gap:6px;font-size:13px}.cv-scale-fly-row .field-inp{width:90px;padding:4px 6px}.cv-scale-fly-row .btn-primary{padding:4px 12px;min-height:0;height:auto;font-size:12.5px}.cv-scale-fly .cv-scale-chip{background:var(--bg-surface, #fff)}.cv-scale-seg{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden;margin-left:auto}.cv-scale-fly .cv-scale-seg button{border:none;background:transparent;padding:3px 7px;font:inherit;font-size:11.5px;cursor:pointer;color:var(--text-secondary);box-shadow:none}.cv-scale-fly .cv-scale-seg button+button{border-left:1px solid var(--border)}.cv-scale-fly .cv-scale-seg button.on{background:#6366f1;color:#fff;font-weight:600}.cv-scale-fly-chk{display:flex;align-items:center;gap:6px;font-size:12.5px}.cv-scale-fly-ft{border-top:1px solid var(--border);padding-top:6px;font-size:11px}.pp-opts{display:flex;flex-direction:column;gap:6px;padding:6px 0;border-top:1px dashed var(--border);border-bottom:1px dashed var(--border)}.pp-opts .pp-chk{display:flex;align-items:center;gap:6px;font-size:13px}.cv-plotting .cv-paper{border:none!important;box-shadow:none!important}.cv-plotting .cv-paper-lbl,.cv-plotting .cv-paper-svg{display:none!important}.plot-modal{width:min(1080px,calc(96vw / var(--ui-zoom-vu, 1)));max-width:none}.plot-body{display:grid;grid-template-columns:minmax(300px,380px) 1fr;gap:16px;padding:6px 2px 10px}@media(max-width:760px){.plot-body{grid-template-columns:1fr}}.plot-opts{display:flex;flex-direction:column;gap:10px}.plot-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:13px}.plot-row>span:first-child{width:96px;font-weight:600;color:var(--text-secondary)}.plot-row select.field-inp{width:auto;min-width:150px}.plot-seg{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.plot-seg button{border:none;background:transparent;padding:4px 9px;font:inherit;font-size:12.5px;cursor:pointer;color:var(--text-secondary)}.plot-seg button+button{border-left:1px solid var(--border)}.plot-seg button.on{background:#6366f1;color:#fff;font-weight:600}.plot-pick{display:flex;flex-wrap:wrap;gap:6px 14px;padding-left:104px;font-size:13px}.plot-pick label{display:inline-flex;align-items:center;gap:5px}.plot-margin{display:inline-flex;align-items:center;gap:4px;font-size:12.5px}.plot-margin .field-inp{width:64px}.plot-modal .modal-foot{display:flex;align-items:center;gap:8px;justify-content:flex-end}.plot-err{color:#dc2626;font-size:12.5px}.plot-prev{display:flex;flex-direction:column;gap:8px;min-width:0}.plot-prev-box{flex:1;min-height:340px;background:#64748b;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:14px}.plot-prev-box img{max-width:100%;max-height:calc(60vh / var(--ui-zoom-vu, 1));background:#fff;box-shadow:0 4px 16px #00000059}.plot-prev-box .muted{color:#e2e8f0}.plot-prev-nav{display:flex;align-items:center;justify-content:center;gap:10px}.plot-busy{margin-right:auto}.plot-modal .plot-body{padding:14px 22px 8px;gap:22px;grid-template-columns:minmax(320px,400px) 1fr}.plot-modal .plot-opts{gap:12px}.plot-modal .plot-row{display:grid;grid-template-columns:104px auto;align-items:center;justify-content:start;column-gap:10px;row-gap:6px}.plot-modal .plot-row>span:first-child{width:auto;font-size:13px}.plot-modal .plot-row>:nth-child(n+3){grid-column:2}.plot-modal .plot-row .field-inp{width:auto;min-width:0;height:32px;padding:4px 10px;font-size:13px}.plot-modal .plot-row select.field-inp{width:210px}.plot-modal .plot-margin{grid-column:2;font-size:13px;color:var(--text-secondary)}.plot-modal .plot-margin .field-inp{width:70px}.plot-modal .plot-seg button{padding:5px 11px;font-size:13px}.plot-modal .plot-pick{padding-left:114px}.plot-modal .plot-opts>p.muted{margin:4px 0 0;line-height:1.45}.plot-modal .modal-foot{padding:12px 22px 16px;border-top:1px solid var(--border)}.plot-modal .plot-prev-box{border-radius:10px}.ds-dialog{width:min(760px,calc(96vw / var(--ui-zoom-vu, 1)));display:flex;flex-direction:column;max-height:calc(calc(100vh / var(--ui-zoom-vu, 1)) - 40px);overflow:hidden}.ds-dialog .ds-body{flex:1;min-height:0}.ds-dialog .ds-pane{max-height:none;overflow-y:auto;padding:10px 18px 16px}.ds-dialog .ds-row{grid-template-columns:minmax(0,1fr) 260px;min-height:46px;padding:6px 0}.ds-dialog .ds-row>.field-inp,.ds-dialog .ds-row>select{width:100%}.ds-dialog .ds-row>.ds-inline{width:100%}.ds-dialog .ds-inline>.field-inp,.ds-dialog .ds-inline>input,.ds-dialog .ds-inline>select,.ds-dialog .ds-inline .ds-num{flex:1 1 0;width:auto!important;min-width:0}.ds-dialog .ds-inline>span{flex:0 0 auto;min-width:26px;color:var(--text-muted)}.plot-modal .plot-chk{grid-column:2;display:inline-flex;align-items:center;gap:6px;font-size:13px}.pp-vts{display:flex;flex-direction:column;gap:6px;margin-top:8px;padding-top:8px;border-top:1px dashed var(--border)}.pp-vts-hd{font-size:12px;font-weight:700;color:var(--text-secondary)}.plot-modal .plot-note{margin:-4px 0 0 114px;line-height:1.45}@media(max-width:760px){.plot-modal .plot-note{margin-left:0}}.pl-modal{width:min(1120px,calc(96vw / var(--ui-zoom-vu, 1)));height:min(720px,calc(calc(100vh / var(--ui-zoom-vu, 1)) - 32px));display:flex;flex-direction:column;background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-modal);overflow:hidden;font-size:12.5px;color:var(--text-primary)}.pl-head{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border)}.pl-title{font-weight:700;font-size:14px}.pl-sub{color:var(--text-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pl-x{margin-left:auto;border:none;background:transparent;color:var(--text-muted);font-size:20px;line-height:1;cursor:pointer;padding:0 4px}.pl-x:hover{color:var(--text-primary)}.pl-body{flex:1;min-height:0;display:grid;grid-template-columns:330px 1fr}.pl-side{overflow-y:auto;border-right:1px solid var(--border);padding:4px 0}.pl-sec{padding:8px 14px 10px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:6px}.pl-sec:last-of-type{border-bottom:none}.pl-sec h4{margin:0 0 2px;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.pl-line{display:grid;grid-template-columns:84px 1fr;align-items:center;gap:8px;min-height:28px}.pl-line>label{color:var(--text-secondary)}.pl-sel{height:28px;width:100%;padding:0 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg-elevated);color:var(--text-primary);font:inherit;font-size:12.5px}.pl-seg{display:inline-flex;width:100%;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:var(--bg-elevated)}.pl-seg button{flex:1;height:26px;border:none;background:transparent;color:var(--text-secondary);font:inherit;font-size:12px;cursor:pointer;padding:0 6px;white-space:nowrap}.pl-seg button+button{border-left:1px solid var(--border)}.pl-seg button.on{background:#6366f124;color:#6366f1;font-weight:600;box-shadow:inset 0 0 0 1px #6366f18c}.pl-num{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted)}.pl-num input{width:64px;height:28px;padding:0 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg-elevated);color:var(--text-primary);font:inherit;font-size:12.5px}.pl-inline{display:flex;align-items:center;gap:8px;min-width:0}.pl-inline .pl-sel{flex:1}.pl-pick{display:flex;flex-wrap:wrap;gap:4px 12px;padding-left:92px}.pl-pick label{display:inline-flex;align-items:center;gap:5px}.pl-note{margin:0;padding:6px 8px;border-radius:6px;background:#6366f114;color:var(--text-secondary);font-size:11.5px;line-height:1.4}.pl-muted{color:var(--text-muted);font-size:12px}.pl-err{margin:8px 14px;color:#dc2626;font-size:12px}.pl-prev{display:flex;flex-direction:column;min-width:0;min-height:0;padding:10px 14px;gap:8px;background:var(--bg-base)}.pl-prev-cap{display:flex;align-items:baseline;gap:10px;color:var(--text-muted);font-size:12px}.pl-prev-cap b{color:var(--text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.pl-prev-box{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#d4d8de;padding:16px;overflow:hidden}.pl-prev-box img{max-width:100%;max-height:100%;background:#fff;box-shadow:0 2px 10px #00000040}.pl-prev-nav{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--text-muted);font-size:12px}.pl-prev-nav button{width:28px;height:26px;border:1px solid var(--border);border-radius:6px;background:var(--bg-surface);color:var(--text-primary);cursor:pointer;font-size:15px;line-height:1}.pl-prev-nav button:disabled{opacity:.4;cursor:default}.pl-foot{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid var(--border);background:var(--bg-surface)}.pl-foot>.pl-muted{margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pl-btn{height:32px;padding:0 14px;border-radius:6px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-primary);font:inherit;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.pl-btn:hover:not(:disabled){border-color:#6366f1}.pl-btn.primary{background:#4f46e5;border-color:#4f46e5;color:#fff}.pl-btn.primary:hover:not(:disabled){background:#4338ca}.pl-btn:disabled{opacity:.5;cursor:default}@media(max-width:780px){.pl-body{grid-template-columns:1fr}.pl-side{border-right:none;border-bottom:1px solid var(--border);max-height:calc(45vh / var(--ui-zoom-vu, 1))}}.cn-subbar-ctl{display:flex;gap:8px;align-items:center;flex-wrap:wrap}@media(max-width:620px){.cn-subbar.cn-subbar-2{flex-wrap:wrap}.cn-subbar.cn-subbar-2>:first-child{flex:1 1 100%}.cn-subbar.cn-subbar-2>.cn-subbar-ctl{flex:1 1 100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.cn-subbar-ctl>*{justify-content:center;text-align:center;white-space:nowrap;min-height:38px}.dash-hd h2{font-size:20px;line-height:1.25}}.topbar{height:calc(var(--topbar-h) + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px)}.sidebar{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}.content{padding-bottom:calc(26px + env(safe-area-inset-bottom,0px))}@media(max-width:768px){.content{padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))}}.cn-scan-banner{display:flex;align-items:center;gap:12px;padding:10px 12px;margin-bottom:10px;border-radius:10px;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);background:color-mix(in srgb,var(--accent) 9%,transparent)}.cn-scan-banner>div{display:flex;flex-direction:column;gap:1px;min-width:0}.cn-scan-banner b{font-size:13.5px}.cn-scan-banner span:not(.cn-scan-spin){font-size:12px;color:var(--text-secondary)}.cn-scan-spin{flex:none;width:22px;height:22px;border-radius:50%;border:3px solid color-mix(in srgb,var(--accent) 25%,transparent);border-top-color:var(--accent);animation:cn-spin .8s linear infinite}@keyframes cn-spin{to{transform:rotate(360deg)}}.cn-scanwrap{position:relative;display:inline-block;max-width:100%;line-height:0;border-radius:8px;overflow:hidden}.cn-scanwrap.on img{filter:saturate(.7) brightness(.97)}.cn-scan-line{position:absolute;left:0;right:0;top:0;height:26%;pointer-events:none;background:linear-gradient(to bottom,transparent,color-mix(in srgb,var(--accent) 35%,transparent) 70%,var(--accent) 96%,transparent);animation:cn-scan 1.6s ease-in-out infinite alternate}@keyframes cn-scan{0%{transform:translateY(-30%)}to{transform:translateY(330%)}}.cn-modal.reading .fld input:placeholder-shown:not(:disabled){background:linear-gradient(90deg,var(--bg-surface) 25%,color-mix(in srgb,var(--accent) 10%,var(--bg-surface)) 50%,var(--bg-surface) 75%);background-size:300% 100%;animation:cn-shimmer 1.3s linear infinite}@keyframes cn-shimmer{0%{background-position:100% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.cn-scan-line,.cn-modal.reading .fld input{animation:none}.cn-scan-spin{animation-duration:2s}}.cn-dup{display:flex;flex-direction:column;gap:6px;padding:10px 12px;margin-bottom:10px;border-radius:10px;border:1px solid color-mix(in srgb,#d97706 45%,transparent);background:color-mix(in srgb,#d97706 9%,transparent);font-size:13px}.cn-dup>b{color:#b45309}.cn-dup-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.cn-dup-row>span{min-width:0;overflow-wrap:anywhere}.cn-dup-row .chip-btn{flex:none}.cn-dup-why{color:var(--text-muted);font-size:12px}.cn-head-btns{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.cn-log-link{text-decoration:none;display:inline-flex;align-items:center;padding:8px 12px}.cn-foot{align-items:center}.cn-foot-acts{display:flex;gap:6px;flex-wrap:wrap}.cn-act{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-surface);color:var(--text-primary);font:inherit;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.cn-act:hover:not(:disabled){border-color:var(--accent)}.cn-act.send{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.cn-act.danger{color:#dc2626}.cn-act.danger:hover{border-color:#dc2626;background:color-mix(in srgb,#dc2626 6%,transparent)}.cn-act:disabled{opacity:.6;cursor:default}.cn-foot-main{display:flex;gap:8px;margin-left:auto}.cn-foot-main .btn-primary{width:auto;padding:9px 18px}.cn-del{display:flex;flex-direction:column;gap:8px;border-top:2px solid #dc2626;background:color-mix(in srgb,#dc2626 5%,var(--bg-surface))}.cn-del-t{display:flex;flex-direction:column;gap:2px;font-size:13px}.cn-del-t b{color:#b91c1c}.cn-del-t span{color:var(--text-secondary);font-size:12px}.cn-del .field-inp{margin:0}.cn-del-btns{display:flex;justify-content:flex-end;gap:8px}.cn-del-btns .btn-danger{width:auto;padding:9px 16px}@media(max-width:620px){.cn-foot{flex-direction:column;align-items:stretch;gap:10px}.cn-foot-acts{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px}.cn-act{flex-direction:column;gap:2px;padding:7px 4px;font-size:11px;font-weight:600;white-space:normal;text-align:center;line-height:1.15}.cn-act span{font-size:17px;line-height:1}.cn-foot-main{display:grid;grid-template-columns:1fr 2fr;margin-left:0}.cn-foot-main>*{width:100%;min-height:44px}.cn-foot-main .btn-primary{width:100%}.cn-del-btns{display:grid;grid-template-columns:1fr 2fr}.cn-del-btns>*{width:100%;min-height:44px}.cn-head-btns{width:100%}.cn-head-btns>*{flex:1;justify-content:center}}.modal-foot-fixed.cn-del{align-items:stretch;justify-content:flex-start}.cn-del>*{width:100%}.cn-del .field-inp{box-sizing:border-box}.ds-phone{max-width:420px;margin:calc(8vh / var(--ui-zoom-vu, 1)) auto 0;padding:24px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;background:var(--bg-surface);border:1px solid var(--border);border-radius:14px}.ds-phone-ic{font-size:40px;line-height:1}.ds-phone h2{font-size:18px;margin:0;text-wrap:balance}.ds-phone p{font-size:13.5px;line-height:1.5;margin:0}.ds-phone-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;margin-top:6px}.ds-phone-btns>*{width:100%;min-height:42px}.ac{--ac-r: 12px;display:flex;flex-direction:column;gap:12px;color:var(--text-primary)}.ac-tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.ac-tabs::-webkit-scrollbar{display:none}.ac-tabs button{display:inline-flex;align-items:center;gap:7px;padding:10px 14px;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;background:none;color:var(--text-secondary);font:inherit;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.ac-tabs button:hover{color:var(--text-primary)}.ac-tabs button.on{color:var(--brand);border-bottom-color:var(--brand)}.ac-count{font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px;background:var(--bg-elevated);color:var(--text-muted);font-variant-numeric:tabular-nums}.ac-tabs button.on .ac-count{background:color-mix(in srgb,var(--brand) 14%,transparent);color:var(--brand)}.ac-how{margin:0;font-size:12.5px;color:var(--text-muted);line-height:1.5}.ac-how b{color:var(--text-secondary);font-weight:600}.ac-split{display:grid;grid-template-columns:270px minmax(0,1fr);gap:14px;align-items:start}.ac-side,.ac-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--ac-r)}.ac-side{position:sticky;top:8px;display:flex;flex-direction:column;max-height:calc(calc(100vh / var(--ui-zoom-vu, 1)) - 140px);overflow:hidden}.ac-side-hd{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 8px;font-size:13px}.ac-side-acts{display:flex;gap:6px;padding:0 12px 8px}.ac-sm{flex:1;padding:6px 8px;font-size:12.5px}.ac-side-pick{display:none}.ac-side-q{margin:0 12px 8px;width:auto;height:34px;font-size:13px}.ac-side-list{overflow-y:auto;padding:0 6px 8px;display:flex;flex-direction:column;gap:1px}.ac-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:0;border-radius:8px;background:none;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer}.ac-item:hover{background:var(--bg-hover)}.ac-item.on{background:color-mix(in srgb,var(--brand) 11%,transparent);box-shadow:inset 3px 0 0 var(--brand)}.ac-item-main{flex:1;min-width:0;display:flex;flex-direction:column}.ac-item-name{font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ac-item.on .ac-item-name{color:var(--brand)}.ac-item-sub{font-size:11.5px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ac-tag{flex:none;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;border-radius:5px;background:var(--bg-elevated);color:var(--text-muted);margin-left:6px;vertical-align:middle}.ac-num{flex:none;min-width:26px;text-align:center;font-size:11px;font-weight:700;padding:1px 6px;border-radius:999px;background:var(--bg-elevated);color:var(--text-secondary);font-variant-numeric:tabular-nums}.ac-panel{padding:14px 16px;min-width:0;display:flex;flex-direction:column;gap:12px}.ac-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.ac-head h3{margin:0;font-size:17px;font-weight:700;letter-spacing:-.2px}.ac-head p{margin:3px 0 0;font-size:12.5px;color:var(--text-muted);line-height:1.45}.ac-code{font-size:12px;font-weight:600;color:var(--text-muted);font-family:ui-monospace,Menlo,Consolas,monospace;margin-left:4px}.ac-chips{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.ac-chip-l{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-right:1px}.ac-chip-l:not(:first-child){margin-left:8px}.ac-chip{font-size:12px;padding:2px 8px;border-radius:999px;background:var(--bg-elevated);color:var(--text-secondary)}.ac-chip.team{background:#3b82f61f;color:#1d4ed8}.ac-chip.muted{color:var(--text-muted)}.ac-toolbar{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr) auto;gap:10px;align-items:end;padding:10px;border-radius:10px;background:var(--bg-base);border:1px solid var(--border)}.ac-lbl{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:4px}.ac-mod select,.ac-search-box{width:100%;height:36px;border:1px solid var(--border);border-radius:8px;background:var(--bg-surface);color:var(--text-primary);font:inherit;font-size:13.5px}.ac-mod select{padding:0 10px}.ac-mod select:disabled{opacity:.55}.ac-search-box{display:flex;align-items:center;gap:6px;padding:0 8px 0 10px}.ac-search-box:focus-within{border-color:var(--brand)}.ac-search-box>span{color:var(--text-muted)}.ac-search-box input{flex:1;min-width:0;height:100%;border:0;background:none;color:inherit;font:inherit;outline:none;padding:0}.ac-search-box button{border:0;background:none;color:var(--text-muted);font-size:17px;cursor:pointer;line-height:1}.ac-switch{display:inline-flex;padding:3px;gap:2px;border-radius:8px;background:var(--bg-elevated);border:1px solid var(--border);height:36px;box-sizing:border-box}.ac-switch button{border:0;border-radius:6px;padding:0 12px;background:none;color:var(--text-secondary);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap}.ac-switch button[aria-selected=true]{background:var(--bg-surface);color:var(--brand);box-shadow:0 1px 2px #00000014}.ac-rows{border:1px solid var(--border);border-radius:10px;overflow:hidden}.ac-rows-hd{display:flex;justify-content:space-between;padding:7px 14px;background:var(--bg-elevated);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.ac-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:9px 14px;border-top:1px solid var(--border)}.ac-row:hover{background:var(--bg-hover)}.ac-row-name{font-size:13.5px;font-weight:600;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ac-row:not(.on) .ac-row-name{color:var(--text-secondary);font-weight:500}.ac-row-sub{font-size:11.5px;color:var(--text-muted);margin-top:1px}.ac-custom{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;border-radius:5px;background:#d9770624;color:#b45309}.ac-seg{display:inline-grid;grid-auto-flow:column;grid-auto-columns:minmax(64px,auto);border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--bg-surface)}.ac-seg button{height:30px;padding:0 12px;border:0;background:none;color:var(--text-secondary);font:inherit;font-size:12.5px;font-weight:500;cursor:pointer;white-space:nowrap}.ac-seg button+button{border-left:1px solid var(--border)}.ac-seg button:hover:not(:disabled):not([aria-pressed=true]){background:var(--bg-hover);color:var(--text-primary)}.ac-seg button:disabled{color:var(--text-muted);opacity:.4;cursor:not-allowed}.ac-seg button[aria-pressed=true]{background:var(--brand);color:#fff;font-weight:600}.ac-seg button.lv-none[aria-pressed=true]{background:var(--bg-elevated);color:var(--text-secondary)}.ac-actgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:10px}.ac-act{border:1px solid var(--border);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}.ac-act-hd{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding-bottom:6px;margin-bottom:2px;border-bottom:1px solid var(--border)}.ac-act-hd>span{display:flex;flex-direction:column;min-width:0}.ac-act-hd b{font-size:13px}.ac-act-hd small{font-size:11px;color:var(--text-muted)}.ac-link{border:0;background:none;color:var(--brand);font:inherit;font-size:12px;font-weight:600;cursor:pointer;padding:0;white-space:nowrap}.ac-check{display:flex;align-items:flex-start;gap:8px;padding:5px 0;font-size:13px;cursor:pointer;line-height:1.35}.ac-check input{margin-top:2px;width:15px;height:15px;accent-color:var(--brand);flex:none}.ac-src{display:inline-block;font-size:10px;font-weight:700;padding:1px 6px;border-radius:6px;margin-left:6px;white-space:nowrap;vertical-align:1px}.ac-src.role{background:#6b728026;color:#4b5563}.ac-src.team{background:#3b82f624;color:#1d4ed8}.ac-src.add{background:#10b98126;color:#047857}.ac-src.rm{background:#ef444424;color:#b91c1c}.ac-legend{margin:0;font-size:12px;color:var(--text-muted);line-height:1.8}.ac-folder{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 0;font-size:13px}.ac-folder>span{min-width:0;overflow-wrap:anywhere}.ac-folder select{width:112px;height:30px;margin:0;padding:0 6px;font-size:12.5px;flex:none}.ac-docs{border-top:1px solid var(--border);padding-top:12px;display:flex;flex-direction:column;gap:10px}.ac-docs-hd{display:flex;flex-direction:column;gap:1px;font-size:13.5px}.ac-docs-hd span{font-size:12px;color:var(--text-muted)}.ac-note{padding:10px 12px;border-radius:10px;background:var(--bg-elevated);font-size:13px;color:var(--text-secondary)}.ac-note.ok{background:#10b9811a;color:#047857}.ac-empty{padding:28px 12px;text-align:center;color:var(--text-muted);font-size:13px;border:1px dashed var(--border);border-radius:10px}.ac-empty.sm{padding:12px;border:0}.ac-err{color:#dc2626;font-size:12.5px}.ac-foot-note{font-size:12px;color:var(--text-muted)}.ac-savebar{position:sticky;bottom:8px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 12px;border-radius:10px;background:var(--bg-surface);border:1px solid var(--border);box-shadow:0 6px 24px #0000001f;font-size:13px}.ac-savebar.dirty{border-color:color-mix(in srgb,var(--brand) 45%,var(--border))}.ac-savebar-btns{display:flex;gap:8px;margin-left:auto}.ac-savebar-btns .btn-primary,.ac-savebar-btns .btn-ghost{width:auto;padding:8px 16px}.ac-matrix{margin-top:0}.perm-matrix .mini.all{background:var(--brand);border-color:var(--brand);color:#fff}.perm-matrix .mini.some{border-color:var(--brand);color:var(--brand)}@media(max-width:1100px){.ac-split{grid-template-columns:230px minmax(0,1fr)}.ac-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ac-view{grid-column:1 / -1}}@media(max-width:820px){.ac-split{grid-template-columns:minmax(0,1fr)}.ac-side{position:static;max-height:none;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px}.ac-side-hd{padding:0;width:100%}.ac-side-list,.ac-side-q{display:none}.ac-side-pick{display:block;flex:1 1 100%;height:40px;margin:0;font-size:14px}.ac-side-acts{padding:0;width:100%}}@media(max-width:620px){.ac-tabs button{padding:9px 10px;font-size:13px}.ac-panel{padding:12px}.ac-toolbar{grid-template-columns:minmax(0,1fr);padding:8px}.ac-view{grid-column:auto}.ac-switch{width:100%}.ac-switch button{flex:1}.ac-row{grid-template-columns:minmax(0,1fr);gap:8px;padding:10px 12px}.ac-seg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}.ac-seg button{padding:0 4px;height:34px}.ac-rows-hd span:last-child{display:none}.ac-savebar{bottom:calc(6px + env(safe-area-inset-bottom,0px))}.ac-savebar-btns{width:100%;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}.ac-savebar-btns .btn-primary,.ac-savebar-btns .btn-ghost{width:100%;padding:9px 6px}}.ur{display:flex;flex-direction:column;gap:10px;color:var(--text-primary)}.ur-bar{display:grid;grid-template-columns:minmax(0,1fr) 200px auto;gap:8px;align-items:center}.ur-search{display:flex;align-items:center;gap:6px;height:38px;padding:0 8px 0 11px;border:1px solid var(--border);border-radius:9px;background:var(--bg-surface)}.ur-search:focus-within{border-color:var(--brand)}.ur-search>span{color:var(--text-muted)}.ur-search input{flex:1;min-width:0;height:100%;border:0;background:none;color:inherit;font:inherit;font-size:13.5px;outline:none;padding:0}.ur-search button{border:0;background:none;color:var(--text-muted);font-size:18px;cursor:pointer;line-height:1}.ur-rolef{height:38px;padding:0 10px;border:1px solid var(--border);border-radius:9px;background:var(--bg-surface);color:var(--text-primary);font:inherit;font-size:13.5px}.ur-new{width:auto;height:38px;padding:0 16px;white-space:nowrap}.ur-filters{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.ur-f{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;border:1px solid var(--border);border-radius:999px;background:var(--bg-surface);color:var(--text-secondary);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}.ur-f span{font-size:11px;font-weight:700;color:var(--text-muted);font-variant-numeric:tabular-nums}.ur-f.on{background:var(--brand);border-color:var(--brand);color:#fff}.ur-f.on span{color:#ffffffd9}.ur-f.warn:not(.on) span{color:#b45309}.ur-shown{margin-left:auto;font-size:12px;color:var(--text-muted)}.ur-msg{display:flex;align-items:flex-start;gap:8px;padding:9px 12px;border-radius:9px;font-size:13px;word-break:break-word}.ur-msg button{margin-left:auto;border:0;background:none;color:inherit;opacity:.7;font-size:16px;cursor:pointer;line-height:1}.ur-msg.ok{background:#10b9811a;color:#047857}.ur-msg.err{background:#ef44441a;color:#b91c1c}.ur-list{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;overflow:visible}.ur-row{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(160px,1.2fr) 118px minmax(170px,1fr) 100px 112px;gap:12px;align-items:center;padding:10px 14px;border-top:1px solid var(--border)}.ur-row:first-child{border-top:0}.ur-row:not(.ur-hd):hover{background:var(--bg-hover)}.ur-hd{padding-top:8px;padding-bottom:8px;background:var(--bg-elevated);border-radius:12px 12px 0 0;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.ur-who{display:flex;align-items:center;gap:10px;min-width:0}.ur-av{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:12px;font-weight:700}.ur-who-t{display:flex;flex-direction:column;min-width:0}.ur-name{font-size:13.5px;font-weight:600;display:flex;align-items:baseline;gap:6px;min-width:0}.ur-code{font-size:11px;font-weight:600;color:var(--text-muted);font-family:ui-monospace,Menlo,Consolas,monospace;white-space:nowrap}.ur-login{font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ur-st-m{display:none}.ur-chips{display:flex;flex-wrap:wrap;gap:4px}.ur-chip{font-size:11.5px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--bg-elevated);color:var(--text-secondary);white-space:nowrap}.ur-chip.sa{background:#7c3aed1f;color:#6d28d9}.ur-chip.more{background:none;border:1px dashed var(--border);color:var(--text-muted)}.ur-none{font-size:12px;color:var(--text-muted);font-style:italic}.ur-status{display:inline-flex;flex-wrap:wrap;gap:4px}.ur-badge{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:999px;white-space:nowrap}.ur-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.ur-badge.active{background:#10b9811f;color:#047857}.ur-badge.invited{background:#d9770621;color:#b45309}.ur-badge.suspended{background:#6b728026;color:#4b5563}.ur-badge.locked{background:#ef44441f;color:#b91c1c}.ur-badge.locked:before{display:none}.ur-sec{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.ur-flag{font-size:11.5px;font-weight:600;color:var(--text-secondary);white-space:nowrap}.ur-flag.ok{color:#047857}.ur-flag.off{color:var(--text-muted);font-weight:500}.ur-switch{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-size:11.5px;color:var(--text-secondary);position:relative}.ur-switch input{position:absolute;opacity:0;width:1px;height:1px}.ur-track{width:28px;height:16px;border-radius:999px;background:var(--border);position:relative;transition:background .15s;flex:none}.ur-track:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform .15s}.ur-switch input:checked+.ur-track{background:var(--brand)}.ur-switch input:checked+.ur-track:after{transform:translate(12px)}.ur-switch input:focus-visible+.ur-track{outline:2px solid var(--brand);outline-offset:2px}.ur-switch input:disabled+.ur-track{opacity:.6}.ur-last{font-size:12.5px;color:var(--text-secondary);white-space:nowrap;font-variant-numeric:tabular-nums}.ur-last-l{display:none}.ur-acts{display:flex;align-items:center;justify-content:flex-end;gap:6px}.ur-btn{height:30px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-surface);color:var(--text-primary);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}.ur-btn:hover{border-color:var(--brand);color:var(--brand)}.ur-menu{position:relative}.ur-more{width:32px;height:30px;border:1px solid var(--border);border-radius:8px;background:var(--bg-surface);color:var(--text-secondary);font-size:16px;line-height:1;cursor:pointer}.ur-more:hover,.ur-more[aria-expanded=true]{border-color:var(--brand);color:var(--brand)}.ur-menu-pop{position:absolute;right:0;top:calc(100% + 4px);z-index:30;min-width:200px;padding:4px;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-modal, 0 10px 30px rgba(0, 0, 0, .18));display:flex;flex-direction:column}.ur-menu-pop button{text-align:left;padding:8px 10px;border:0;border-radius:7px;background:none;color:var(--text-primary);font:inherit;font-size:13px;cursor:pointer;white-space:nowrap}.ur-menu-pop button:hover:not(:disabled){background:var(--bg-hover)}.ur-menu-pop button.danger{color:#b91c1c}.ur-empty{padding:28px 12px;text-align:center;color:var(--text-muted);font-size:13px}.ur-confirm{width:min(420px,calc(94vw / var(--ui-zoom-vu, 1)))}.ur-confirm p{margin:0 0 6px;font-size:14px}@media(max-width:1180px){.ur-row{grid-template-columns:minmax(200px,1.6fr) minmax(140px,1.2fr) minmax(150px,1fr) 90px 104px}.ur-row>.ur-st,.ur-hd>:nth-child(3){display:none}.ur-st-m{display:inline-flex;margin-left:auto}}@media(max-width:860px){.ur-bar{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ur-search{grid-column:1 / -1}.ur-new{width:100%}.ur-filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.ur-filters::-webkit-scrollbar{display:none}.ur-f{flex:none}.ur-shown{flex:none;padding-left:4px}.ur-list{background:none;border:0;display:flex;flex-direction:column;gap:8px}.ur-hd{display:none}.ur-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"who who" "roles roles" "sec sec" "last acts";gap:8px 10px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--bg-surface)}.ur-row:first-child{border-top:1px solid var(--border)}.ur-who{grid-area:who}.ur-roles{grid-area:roles}.ur-sec{grid-area:sec;flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px 14px}.ur-last{grid-area:last;align-self:center;color:var(--text-muted);font-size:12px}.ur-last-l{display:inline}.ur-acts{grid-area:acts}.ur-btn,.ur-more{height:36px}.ur-btn{padding:0 16px}.ur-more{width:40px}.ur-st-m{display:inline-flex;margin-left:auto;align-self:flex-start}.ur-av{width:38px;height:38px}.ur-name{flex-wrap:wrap}}.ur-menu-pop.up{top:auto;bottom:calc(100% + 4px)}.ac-lvsel{display:none}@media(max-width:620px){.ac{gap:10px}.ac-how{font-size:12px}.ac-panel{padding:10px;gap:10px}.ac-head h3{font-size:16px}.ac-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;padding:6px}.ac-toolbar .ac-lbl{display:none}.ac-mod select,.ac-search-box{height:36px;font-size:13px}.ac-view{grid-column:1 / -1}.ac-switch{height:32px}.ac-switch button{font-size:12px}.ac-rows-hd{display:none}.ac-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:8px 10px}.ac-row:first-of-type{border-top:0}.ac-row-name{font-size:13.5px}.ac-row-sub{font-size:11px}.ac-seg{display:none}.ac-lvsel{display:block;height:32px;min-width:104px;padding:0 26px 0 10px;border-radius:999px;border:1px solid var(--border);font:inherit;font-size:12.5px;font-weight:700;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background:var(--bg-elevated) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2364748b' stroke-width='1.6' fill='none'/%3E%3C/svg%3E") no-repeat right 10px center;color:var(--text-secondary)}.ac-lvsel.lv-view{background-color:#3b82f61f;border-color:#3b82f659;color:#1d4ed8}.ac-lvsel.lv-write{background-color:#d977061f;border-color:#d9770659;color:#b45309}.ac-lvsel.lv-both{background-color:#10b98121;border-color:#10b98166;color:#047857}.ac-lvsel.lv-custom{background-color:#7c3aed1a;color:#6d28d9}.ac-act,.ac-side{padding:8px 10px}.ac-side-hd{display:none}.ac-side-pick{height:38px}}@media(max-width:620px){.ac-rows-hd+.ac-row{border-top:0}}.ar{display:flex;flex-direction:column;gap:12px;color:var(--text-primary)}.ar .dash-hd{margin-bottom:0}.ar-tabs{display:flex;gap:2px;border-bottom:1px solid var(--border)}.ar-tabs button{display:inline-flex;align-items:center;gap:7px;padding:10px 14px;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;background:none;color:var(--text-secondary);font:inherit;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.ar-tabs button.on{color:var(--brand);border-bottom-color:var(--brand)}.ar-tabs span{font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px;background:var(--bg-elevated);color:var(--text-muted)}.ar-tabs span.hot{background:#d9770626;color:#b45309}.ar-msg{display:flex;gap:8px;padding:9px 12px;border-radius:9px;font-size:13px}.ar-msg.err{background:#ef44441a;color:#b91c1c}.ar-msg button,.ar-x{margin-left:auto;border:0;background:none;color:inherit;opacity:.7;font-size:17px;cursor:pointer;line-height:1}.ar-done{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 40px 12px 14px;border-radius:12px;background:#10b98117;border:1px solid rgba(16,185,129,.35)}.ar-done .ar-x{position:absolute;top:8px;right:10px;color:#047857}.ar-done-t{display:flex;flex-direction:column;gap:2px;flex:1 1 320px;min-width:0;font-size:13px;color:var(--text-secondary)}.ar-done-t>b{color:#047857;font-size:14px}.ar-pass{display:flex;align-items:center;gap:8px}.ar-pass code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:17px;font-weight:700;letter-spacing:.06em;padding:6px 12px;border-radius:8px;background:var(--bg-surface);border:1px dashed rgba(16,185,129,.6);color:var(--text-primary);-webkit-user-select:all;user-select:all}.ar-pass .btn-ghost{width:auto;padding:7px 14px}.ar-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,430px),1fr));gap:12px}.ar-card{display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--bg-surface)}.ar-who{display:flex;align-items:center;gap:10px;min-width:0}.ar-av{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:13px;font-weight:700}.ar-who-t{display:flex;flex-direction:column;min-width:0;flex:1}.ar-who-t b{font-size:14.5px}.ar-who-t>span{font-size:12.5px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ar-code{font-size:11.5px;font-weight:600;color:var(--text-muted);font-family:ui-monospace,Menlo,Consolas,monospace}.ar-age{flex:none;align-self:flex-start;font-size:11.5px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--bg-elevated);color:var(--text-secondary);white-space:nowrap}.ar-age.late{background:#d9770624;color:#b45309}.ar-how{display:flex;flex-direction:column;gap:5px}.ar-lbl{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.ar-seg{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:3px;border-radius:9px;background:var(--bg-elevated);border:1px solid var(--border)}.ar-seg button{height:34px;border:0;border-radius:7px;background:none;color:var(--text-secondary);font:inherit;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.ar-seg button.on{background:var(--bg-surface);color:var(--brand);box-shadow:0 1px 2px #0000001a}.ar-field{display:flex;flex-direction:column;gap:5px}.ar-field input{height:40px;padding:0 12px;border:1px solid var(--border);border-radius:9px;background:var(--bg-surface);color:var(--text-primary);font:inherit;font-size:14px}.ar-field input:focus{outline:none;border-color:var(--brand)}.ar-hint{font-size:12px;color:var(--text-muted);line-height:1.4}.ar-mobile{min-height:40px;display:flex;align-items:center;gap:4px;padding:0 12px;border-radius:9px;background:var(--bg-elevated);font-size:14px}.ar-mobile.missing{background:#ef444414;color:#b91c1c;font-size:13px;padding:8px 12px}.ar-acts{display:flex;justify-content:flex-end;gap:8px;margin-top:auto}.ar-acts .btn-primary,.ar-acts .btn-ghost{width:auto;padding:9px 16px}.ar-reject{color:#b91c1c}.ar-change{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;padding:10px 12px;border-radius:9px;background:var(--bg-elevated);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;word-break:break-all}.ar-old{color:var(--text-muted);text-decoration:line-through}.ar-arrow{color:var(--text-muted)}.ar-new{font-weight:700;color:var(--text-primary)}.ar-reason{margin:0;font-size:13px;color:var(--text-secondary);font-style:italic}.ar-empty{padding:36px 16px;text-align:center;color:var(--text-secondary);font-size:14px;border:1px dashed var(--border);border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:4px;background:var(--bg-surface)}.ar-empty-ic{font-size:30px}.ar-empty span{font-size:12.5px;color:var(--text-muted)}.ar-foot{margin:0;font-size:12px;color:var(--text-muted)}.ar-modal{width:min(480px,calc(94vw / var(--ui-zoom-vu, 1)))}@media(max-width:620px){.ar-tabs button{flex:1;justify-content:center;padding:10px 6px;font-size:13.5px}.ar-card{padding:12px}.ar-who{flex-wrap:wrap}.ar-age{order:3;margin-left:50px}.ar-acts{display:grid;grid-template-columns:1fr 2fr}.ar-acts .btn-primary,.ar-acts .btn-ghost{width:100%;padding:10px 8px;min-height:42px}.ar-done{padding-right:36px}.ar-pass{width:100%}.ar-pass code{flex:1;text-align:center}}.ar-code{white-space:nowrap}@media(max-width:620px){.ar-who-t{flex:1 1 calc(100% - 52px)}.ar-who-t>span{white-space:normal}.ar-age{order:3;margin-left:50px}}.sidebar{--nav-accent: var(--brand, #3b82f6)}.brand{height:60px;padding:0 12px 0 14px;gap:10px}.brand-logo,.brand-mark{width:34px;height:34px;border-radius:9px}.brand-name{font-size:15px}.brand-sub{font-size:10px;letter-spacing:.08em;margin-top:2px}.brand-collapse{display:grid;place-items:center;width:30px;height:30px;border-radius:8px}.brand-close{display:none;margin-left:auto;width:36px;height:36px;border:0;border-radius:9px;background:none;color:var(--text-muted);cursor:pointer;place-items:center}.brand-close:hover{background:var(--bg-hover);color:var(--text-primary)}.side-search{padding:12px 12px 6px}.side-search-ic{left:23px;display:grid;place-items:center}.side-search input{height:36px;padding:0 10px 0 32px;border-radius:9px;font-size:13px}.nav{gap:1px;padding:6px 10px 12px;scrollbar-width:thin}.nav-item{position:relative;height:38px;padding:0 10px;gap:11px;border-radius:9px;font-size:13.5px;font-weight:500;color:var(--text-secondary);text-align:left}.nav-parent{text-align:left;justify-content:flex-start}.nav-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;text-align:left}.nav-icon{width:20px;height:20px;display:grid;place-items:center;font-size:16px;color:var(--text-muted)}.nav-icon svg{display:block}.nav-icon-txt{font-size:15px;line-height:1;filter:grayscale(1);opacity:.85}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item:hover .nav-icon{color:var(--text-secondary)}.nav-item.active,[data-theme=light] .nav-item.active{background:color-mix(in srgb,var(--nav-accent) 11%,transparent);color:var(--nav-accent);font-weight:600}.nav-item.active:before{content:"";position:absolute;left:-10px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--nav-accent)}.nav-item.active .nav-icon{color:var(--nav-accent)}.nav-parent.open{color:var(--text-primary);font-weight:600}.nav-parent.open .nav-icon{color:var(--text-primary)}.nav-chev{display:grid;place-items:center;width:18px;height:18px;color:var(--text-muted);transition:transform .18s ease}.nav-chev.open{transform:rotate(90deg)}.nav-children{margin:2px 0 6px;padding-left:31px;gap:1px}.nav-children:before{left:19px;top:4px;bottom:4px;width:1.5px;border-radius:1px;background:var(--border)}.nav-child{position:relative;height:32px;padding:0 10px;border-radius:8px;font-size:13px;color:var(--text-secondary)}.nav-child.active,[data-theme=light] .nav-child.active{background:color-mix(in srgb,var(--nav-accent) 10%,transparent);color:var(--nav-accent);font-weight:600}.nav-child.active:before{content:"";position:absolute;left:-15px;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:var(--nav-accent);box-shadow:0 0 0 2px var(--sidebar-bg)}.nav-section{margin-top:4px}.nav-section-title{padding:10px 10px 4px;font-size:10.5px;font-weight:700;letter-spacing:.08em;color:var(--text-muted)}.nav-badge.count{min-width:20px;height:20px}.nav-noresults{padding:14px 10px;text-align:center}.side-user{gap:10px;padding:12px 12px 12px 14px}.side-user .avatar.sm{width:36px;height:36px;font-size:13px}.side-user .icon-btn.xs{display:grid;place-items:center;width:32px;height:32px;border-radius:8px}.side-user .icon-btn.xs:hover{background:var(--bg-hover);color:var(--text-primary)}.hamburger svg{display:block}.collapsed .nav{padding:6px 8px}.collapsed .nav-item{justify-content:center;padding:0;height:40px}.collapsed .nav-item.active:before{left:-8px}.collapsed .nav-chev{display:none}@media(max-width:768px){.sidebar{width:min(calc(86vw / var(--ui-zoom-vu, 1)),320px)}.brand-close{display:grid}.brand{height:64px}.side-search input{height:42px;font-size:15px}.nav{padding:6px 12px 16px}.nav-item{height:46px;font-size:15px;gap:13px}.nav-item.active:before{left:-12px}.nav-icon svg{width:20px;height:20px}.nav-children{padding-left:33px}.nav-children:before{left:21px}.nav-child{height:42px;font-size:14.5px}.nav-child.active:before{left:-15px}.nav-section-title{font-size:11px;padding-top:12px}.side-user{padding:14px 16px calc(14px + env(safe-area-inset-bottom,0px))}.side-user .icon-btn.xs{width:40px;height:40px}.sidebar-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}}@media(max-width:768px){.brand-collapse{display:none}}.nav>*{flex-shrink:0}.ps{display:flex;flex-direction:column;gap:12px}.ps-hd h3{margin:0 0 2px}.ps-list{display:flex;flex-direction:column;gap:6px}.ps-group{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-top:6px}.ps-row{display:grid;grid-template-columns:30px 30px minmax(0,1fr) 34px;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--bg-surface)}.ps-row.closing{background:var(--bg-base)}.ps-move{display:flex;flex-direction:column;gap:2px;align-items:center}.ps-move button{width:26px;height:18px;border:1px solid var(--border);border-radius:5px;background:var(--bg-surface);color:var(--text-muted);font-size:9px;line-height:1;cursor:pointer;padding:0}.ps-move button:hover:not(:disabled){color:var(--brand);border-color:var(--brand)}.ps-move button:disabled{opacity:.35;cursor:default}.ps-lock{font-size:14px;opacity:.7}.ps-color{position:relative;width:26px;height:26px;border-radius:50%;cursor:pointer;box-shadow:inset 0 0 0 2px #fff9,0 0 0 1px var(--border);overflow:hidden}.ps-color input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%;height:100%}.ps-main{display:flex;flex-direction:column;gap:3px;min-width:0}.ps-name{height:34px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-surface);color:var(--text-primary);font:inherit;font-size:14px;font-weight:600;width:100%}.ps-name:focus{outline:none;border-color:var(--brand)}.ps-sub{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:11.5px;color:var(--text-muted)}.ps-count{font-variant-numeric:tabular-nums}.ps-del{width:32px;height:32px;border:1px solid var(--border);border-radius:8px;background:none;color:var(--text-muted);cursor:pointer}.ps-del:hover:not(:disabled){color:#dc2626;border-color:#dc2626}.ps-del:disabled{opacity:.3;cursor:not-allowed}.ps-add{align-self:flex-start;height:34px;padding:0 14px;border:1px dashed var(--border);border-radius:8px;background:none;color:var(--brand);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.ps-add:hover{border-color:var(--brand)}.ps-foot{display:flex;justify-content:flex-end;gap:8px}.ps-foot .btn-primary,.ps-foot .btn-ghost{width:auto;padding:9px 18px}@media(max-width:620px){.ps-row{grid-template-columns:26px 26px minmax(0,1fr) 32px;gap:8px;padding:8px}.ps-foot{display:grid;grid-template-columns:1fr 2fr}.ps-foot>*{width:100%!important}}.pp-chips{display:flex;flex-wrap:wrap;gap:4px}.pp-chips .pp-chk{display:inline-flex;align-items:center;gap:4px;font-size:12px;margin-right:8px}.react-flow__node[data-id] .cv-sym-lbl.inside.arrow{white-space:pre;overflow:hidden;justify-content:safe center;align-items:safe center}.react-flow__node[data-id] .cv-sym-lbl.inside.arrow-w{white-space:pre-wrap;overflow-wrap:anywhere;overflow:hidden;text-align:center;justify-content:safe center;align-items:safe center}.sed-ov{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:16px}.sed-dlg{width:min(1200px,100%);height:min(820px,100%);display:flex;flex-direction:column;background:var(--bg-surface, #fff);color:var(--text-primary);border:1px solid var(--border);border-radius:14px;box-shadow:0 24px 60px #0000004d;overflow:hidden}.sed-hd{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border)}.sed-hd b{font-size:14px}.sed-title{color:var(--text-muted);font-size:13px;margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sed-x{border:0;background:none;font-size:16px;cursor:pointer;color:var(--text-muted);padding:4px 8px;border-radius:6px}.sed-x:hover{background:var(--bg-muted, rgba(0,0,0,.06))}.sed-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 360px}.sed-prev{position:relative;background:#fff;border-right:1px solid var(--border);min-height:0}.sed-prev .react-flow__nodes{--text-primary: #1f2937;--text-muted: #64748b}.sed-prev .react-flow__node{pointer-events:none!important}.sed-prev .react-flow__handle,.sed-prev .react-flow__resize-control{display:none!important}.sed-hint{position:absolute;left:10px;bottom:8px;font-size:11px;color:#64748b;background:#ffffffd9;padding:2px 6px;border-radius:6px;pointer-events:none}.sed-props{min-height:0;overflow:hidden;display:flex}.sed-props .cv-guide.cv-props{position:static;width:100%;max-height:none;height:100%;border:0;border-radius:0;box-shadow:none;transform:none!important;inset:auto!important}@media(max-width:760px){.sed-body{grid-template-columns:1fr;grid-template-rows:40% 1fr}.sed-prev{border-right:0;border-bottom:1px solid var(--border)}}.cv-sym-svg.lc-odd{color:#dc2626}.tb-paste-style .tb-glyph small{font-size:10px;margin-left:-1px}.tb-paste-style.on:not(:disabled){background:color-mix(in srgb,#6366f1 12%,transparent)}.prb-badge{display:inline-block;font-size:11.5px;font-weight:600;padding:2px 8px;border-radius:999px;white-space:nowrap}.prb-ok{color:#047857;background:color-mix(in srgb,#10b981 14%,transparent)}.prb-on{color:#b45309;background:color-mix(in srgb,#f59e0b 16%,transparent)}.prb-late{color:#b91c1c;background:color-mix(in srgb,#ef4444 14%,transparent)}.prb-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.prb-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px}.prb-acts{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.prb-hist{margin-top:12px;border-top:1px solid var(--border);padding-top:8px;display:grid;gap:6px}.prb-hrow{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:8px;align-items:baseline;font-size:13px}.prb-dot{width:8px;height:8px;border-radius:50%;padding:0}.prb-dot.prb-ok{background:#10b981}.prb-dot.prb-on{background:#f59e0b}.prb-dot.prb-late{background:#ef4444}.prb-tokens{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px}@media(max-width:560px){.prb-hrow{grid-template-columns:10px minmax(0,1fr)}.prb-hrow>.muted{grid-column:2}}.prb-code{display:grid;gap:6px;margin:4px 0 10px;padding:10px;border:1px solid var(--border);border-radius:10px}.ql-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.ql-kpi{background:var(--bg-surface, #fff);border:1px solid var(--border);border-radius:12px;padding:10px 14px;display:grid;gap:2px;min-width:0}.ql-kpi span{font-size:11.5px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.ql-kpi b{font-size:18px;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ql-kpi em{font-style:normal;font-size:12px;color:var(--text-muted)}.ql-split{display:flex;flex-wrap:wrap;gap:2px 14px;margin-top:4px;padding-top:6px;border-top:1px dashed var(--border);font-size:12px;font-variant-numeric:tabular-nums;color:var(--text-primary)}.ql-kpi .ql-split>span{display:inline-flex;align-items:baseline;gap:5px;min-width:0;font-size:12.5px;font-weight:600;text-transform:none;letter-spacing:0;color:var(--text-primary)}.ql-split i{font-style:normal;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.ql-split small{color:var(--text-muted);font-size:11px;font-weight:500}.ql-kpi .ql-split>.ql-norate{color:#d97706;font-size:11.5px;font-weight:500}.ql-total .ql-inr{display:block;font-size:11px;font-weight:500;color:var(--text-muted)}.q-fx{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;font-size:13px;font-weight:500}.q-fx input{width:110px}.q-fx b{font-variant-numeric:tabular-nums}.ql-green{color:#059669}.ql-amber{color:#d97706}.ql-card{margin-top:12px;padding:0;overflow:hidden;container-type:inline-size;container-name:qlist}.ql-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 14px;border-bottom:1px solid var(--border)}.ql-search{flex:1 1 220px;max-width:320px;margin:0}.ql-chips{display:flex;gap:6px;flex-wrap:wrap}.ql-chip{--c: #6366f1;border:1px solid var(--border);background:transparent;color:var(--text-secondary, var(--text-muted));border-radius:999px;padding:4px 10px;font-size:12.5px;cursor:pointer;display:inline-flex;gap:6px;align-items:center}.ql-chip span{font-size:11px;background:color-mix(in srgb,var(--c) 12%,transparent);color:var(--c);border-radius:999px;padding:0 6px;font-variant-numeric:tabular-nums}.ql-chip.on{border-color:var(--c);color:var(--c);background:color-mix(in srgb,var(--c) 8%,transparent);font-weight:600}.ql-list{display:grid}.ql-row{--ql-acts: 144px;display:grid;grid-template-columns:minmax(150px,1fr) minmax(170px,2.4fr) minmax(128px,1fr) 44px minmax(100px,.9fr) 108px var(--ql-acts);gap:12px;align-items:center;padding:9px 14px;border-bottom:1px solid var(--border);min-height:52px}.ql-row:last-child{border-bottom:0}.ql-row:not(.ql-head):hover{background:color-mix(in srgb,#6366f1 4%,transparent)}.ql-head{min-height:0;padding-block:8px;font-size:11.5px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;background:color-mix(in srgb,var(--text-muted) 5%,transparent)}.ql-r{text-align:right}.ql-no{display:flex;align-items:center;gap:6px;min-width:0}.ql-num{all:unset;cursor:pointer;font-weight:700;font-size:13.5px;font-variant-numeric:tabular-nums;white-space:nowrap}.ql-num:hover{color:#4f46e5;text-decoration:underline}.ql-ver{all:unset;cursor:pointer;font-size:11px;font-weight:600;padding:1px 6px;border-radius:999px;border:1px solid var(--border);color:var(--text-muted)}.ql-ver.up{color:#d97706;border-color:color-mix(in srgb,#f59e0b 50%,transparent)}.ql-tag{font-size:10.5px;font-weight:600;padding:1px 6px;border-radius:6px;background:color-mix(in srgb,#0ea5e9 14%,transparent);color:#0369a1}.ql-acc{display:grid;min-width:0}.ql-accname{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.ql-sub{font-size:11.5px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ql-dates{display:grid;font-size:12.5px;font-variant-numeric:tabular-nums;line-height:1.35}.ql-valid{color:var(--text-muted)}.ql-valid.late{color:#dc2626;font-weight:600}.ql-items{color:var(--text-muted);font-variant-numeric:tabular-nums}.ql-total{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.ql-pill{--c: #64748b;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:1px solid color-mix(in srgb,var(--c) 35%,transparent);background:color-mix(in srgb,var(--c) 10%,transparent);color:var(--c);font-weight:700;font-size:11.5px;letter-spacing:.03em;border-radius:999px;padding:4px 22px 4px 10px;cursor:pointer;max-width:112px;background-image:linear-gradient(45deg,transparent 50%,var(--c) 50%),linear-gradient(135deg,var(--c) 50%,transparent 50%);background-position:calc(100% - 11px) 50%,calc(100% - 7px) 50%;background-size:4px 4px;background-repeat:no-repeat}span.ql-pill{padding-right:10px;background-image:none;cursor:default;display:inline-block}.ql-acts{display:flex;gap:4px;justify-content:flex-end}.ql-ib{all:unset;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;box-sizing:border-box;font-size:14px;padding:0;border-radius:8px;border:1px solid var(--border);color:var(--text-primary);white-space:nowrap}.ql-ib:hover{background:color-mix(in srgb,#6366f1 8%,transparent);border-color:color-mix(in srgb,#6366f1 35%,transparent)}.ql-ib.danger{color:#dc2626}.ql-ib.danger:hover{background:color-mix(in srgb,#ef4444 8%,transparent);border-color:color-mix(in srgb,#ef4444 40%,transparent)}@media(max-width:900px){.ql-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ql-search{max-width:none}}@container qlist (max-width: 900px){.ql-head{display:none}.ql-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"no total" "acc status" "dates acts";gap:6px 10px;padding:12px 14px}.ql-no{grid-area:no}.ql-acc{grid-area:acc}.ql-dates{grid-area:dates}.ql-total{grid-area:total}.ql-status{grid-area:status;justify-self:end}.ql-acts{grid-area:acts;align-self:end}.ql-items{display:none}.ql-dates{display:flex;gap:6px;flex-wrap:wrap}}.pdfv-ov{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2500;background:#0f172a8c;display:flex;align-items:center;justify-content:center;padding:16px}.pdfv{width:min(1100px,100%);height:min(calc(94vh / var(--ui-zoom-vu, 1)),100%);display:flex;flex-direction:column;background:var(--bg-surface, #fff);color:var(--text-primary);border-radius:14px;overflow:hidden;box-shadow:0 24px 60px #00000059;border:1px solid var(--border)}.pdfv-hd{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border)}.pdfv-t{font-weight:700;margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdfv-b{border:1px solid var(--border);background:transparent;color:var(--text-primary);border-radius:8px;padding:6px 10px;font-size:13px;cursor:pointer;white-space:nowrap}.pdfv-b:hover:not(:disabled){background:color-mix(in srgb,#6366f1 8%,transparent)}.pdfv-b:disabled{opacity:.5;cursor:default}.pdfv-x{border:0;background:none;color:var(--text-muted);font-size:18px;cursor:pointer;padding:4px 8px;border-radius:8px}.pdfv-x:hover{background:color-mix(in srgb,var(--text-muted) 12%,transparent)}.pdfv-body{flex:1;min-height:0;background:#525659}.pdfv-frame{width:100%;height:100%;border:0;display:block}.pdfv-msg{height:100%;display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;color:#e5e7eb;padding:20px;text-align:center}@media(max-width:560px){.pdfv-ov{padding:0}.pdfv{height:100%;border-radius:0}.pdfv-b span{display:none}}.al-card{container-type:inline-size;container-name:alist}.al-tools{display:flex;gap:6px;align-items:center;margin-left:auto}.al-group{width:auto;padding:5px 8px;font-size:12.5px}.al-adv{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--text-muted) 4%,transparent)}.al-adv .fld{font-size:11.5px;margin:0}.al-list{display:grid}.al-row{display:grid;grid-template-columns:minmax(220px,2.6fr) minmax(110px,1.2fr) minmax(100px,1fr) 76px 82px minmax(130px,1.2fr) 140px;gap:12px;align-items:center;padding:8px 14px;border-bottom:1px solid var(--border);min-height:52px;cursor:pointer;outline:none}.al-row:last-child{border-bottom:0}.al-row:not(.al-head):hover,.al-row:focus-visible{background:color-mix(in srgb,#6366f1 4%,transparent)}.al-row.on{background:color-mix(in srgb,#6366f1 9%,transparent);box-shadow:inset 3px 0 #6366f1}.al-head{min-height:0;padding-block:8px;cursor:default;font-size:11.5px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;background:color-mix(in srgb,var(--text-muted) 5%,transparent)}.al-name{display:flex;align-items:center;gap:10px;min-width:0}.al-av{--h: 230;flex:0 0 32px;width:32px;height:32px;border-radius:9px;display:grid;place-items:center;font-size:12px;font-weight:700;color:hsl(var(--h) 55% 38%);background:hsl(var(--h) 70% 92%)}.al-nm{display:grid;min-width:0}.al-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.al-sub{display:flex;gap:4px;align-items:center;min-width:0;overflow:hidden;white-space:nowrap}.al-role{font-size:10.5px;font-weight:600;padding:1px 6px;border-radius:6px;background:color-mix(in srgb,#6366f1 12%,transparent);color:#4f46e5;white-space:nowrap}.al-gst{font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis}.al-ind,.al-place{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.al-mute{color:var(--text-muted)}.al-meta{display:none;font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.al-n{font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}.al-zero{color:var(--text-muted);opacity:.7}.al-owner{display:grid;font-size:13px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.al-date{font-size:11.5px;color:var(--text-muted)}.al-acts{display:flex;gap:4px;justify-content:flex-end}.al-grp{all:unset;box-sizing:border-box;cursor:pointer;display:flex;gap:6px;align-items:center;padding:8px 14px;font-weight:700;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--text-muted) 6%,transparent)}.al-caret{width:12px;color:var(--text-muted)}@container alist (max-width: 980px){.al-head{display:none}.al-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name acts";gap:4px 10px;padding:10px 14px}.al-name{grid-area:name}.al-acts{grid-area:acts}.al-ind,.al-place,.al-n,.al-owner{display:none}.al-meta{display:block}}.drawer.ad{width:min(620px,calc(100vw / var(--ui-zoom-vu, 1)))}.ad-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ad-roles{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:4px}.ad-acts{display:flex;gap:6px;flex-wrap:wrap;padding:8px 18px;border-bottom:1px solid var(--border)}.ad-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin-bottom:14px}.ad-facts div{display:grid;min-width:0}.ad-facts span{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.ad-facts b{font-weight:500;font-size:13.5px;overflow-wrap:anywhere}.ad-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:12px}.ad-tab{border:0;background:none;color:var(--text-muted);padding:8px 12px;font-size:13.5px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.ad-tab.on{color:#4f46e5;border-bottom-color:#4f46e5;font-weight:600}.ad-tabbody>.dash-card{border:0;box-shadow:none;padding:0;background:transparent;margin:0}.ad-enqlink{all:unset;cursor:pointer;color:#4f46e5}.ad-enqlink:hover{text-decoration:underline}.ad-enq-row{display:flex;align-items:center;gap:12px;cursor:pointer;border-radius:8px;padding-left:8px;padding-right:8px}.ad-enq-row:hover,.ad-enq-row:focus-visible{background:color-mix(in srgb,#4f46e5 7%,transparent);outline:none}.ad-enq-t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ad-enq-r{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:3px}.ad-stage{font-size:11.5px;font-weight:600;padding:2px 8px;border-radius:999px;white-space:nowrap}.ad-enq-v{font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}.ad-enq-go{flex:none;font-size:18px;color:var(--text-muted)}.ad-enq-row:hover .ad-enq-go{color:#4f46e5}@media(max-width:560px){.ad-facts{grid-template-columns:1fr}}.react-flow__handle.cv-port-grab{border-radius:50%;background:#6366f1;border:2px solid #fff;opacity:0;transition:opacity .12s;min-width:0;min-height:0}.react-flow__node:hover .react-flow__handle.cv-port-grab,.react-flow__node.selected .react-flow__handle.cv-port-grab{opacity:.85}.pp-noz-thru{grid-column:1 / -1;display:flex;align-items:center;gap:8px}.pp-noz-thru select{flex:1}.sed-prev .react-flow__node .cv-noz-move{pointer-events:all!important;cursor:move}.qb-xterms{margin-top:14px;padding-top:12px;border-top:1px dashed var(--border, #d1d5db);display:grid;gap:10px}.qb-xterms-hd{display:grid;gap:2px}.qb-xterm{display:grid;grid-template-columns:1fr auto;gap:6px;padding:8px;border:1px solid var(--border, #e5e7eb);border-radius:10px;background:var(--bg-surface, #fff)}.qb-xterm input,.qb-xterm textarea{grid-column:1;width:100%;min-width:0;padding:8px 10px;border:1px solid var(--border, #d1d5db);border-radius:8px;font:inherit;background:var(--bg-input, #f8fafc);color:inherit}.qb-xterm .qb-xterm-lbl{font-weight:600}.qb-xterm textarea{resize:vertical}.qb-xterm-act{grid-column:2;grid-row:1 / span 2;display:flex;flex-direction:column;gap:4px}.qb-xterm-act .chip-btn{min-width:30px;padding:3px 6px}.qb-sigpos{margin-top:14px;padding-top:12px;border-top:1px dashed var(--border, #d1d5db);display:grid;gap:10px}.qb-sigpos-hd{display:grid;gap:2px}.qb-sigpos-row{display:grid;grid-template-columns:96px 1fr 36px;align-items:center;gap:8px;font-size:13px}.qb-sigpos-row em{font-style:normal;text-align:right;font-variant-numeric:tabular-nums;color:var(--text-muted, #64748b)}.qb-sigpos-row input[type=range]{width:100%;min-width:0}.qb-seg{display:inline-flex;border:1px solid var(--border, #d1d5db);border-radius:8px;overflow:hidden;grid-column:2 / span 2;width:max-content}.qb-seg button{border:0;background:transparent;padding:5px 12px;font:inherit;font-size:12.5px;color:inherit;cursor:pointer}.qb-seg button+button{border-left:1px solid var(--border, #d1d5db)}.qb-seg button.on{background:color-mix(in srgb,#2563eb 14%,transparent);color:#1d4ed8;font-weight:600}.qb-pv-terms.qb-tjust .qb-pv-term span{text-align:justify}.qb-pv-terms.qb-tst-lined .qb-pv-term{padding:4px 0;border-bottom:1px solid #e2e8f0}.qb-pv-terms.qb-tst-striped .qb-pv-term{padding:4px}.qb-pv-terms.qb-tst-striped .qb-pv-term:nth-of-type(odd){background:color-mix(in srgb,var(--qb-acc, #1f6feb) 7%,#fff)}.qb-pv-terms.qb-tst-boxed{--qb-line: #cbd5e1}.qb-pv-terms.qb-tst-boxed .qb-pv-term{gap:0;padding:0;border:1px solid var(--qb-line);border-top:0;grid-template-columns:132px 1fr}.qb-pv-terms.qb-tst-boxed .qb-pv-lbl+.qb-pv-term{border-top:1px solid var(--qb-line)}.qb-pv-terms.qb-tst-boxed .qb-pv-term b{padding:5px 6px;background:color-mix(in srgb,var(--qb-acc, #1f6feb) 8%,#fff);border-right:1px solid var(--qb-line)}.qb-pv-terms.qb-tst-boxed .qb-pv-term span{padding:5px 6px}.urm-ck{border:1px solid var(--border);border-radius:10px;background:var(--bg-surface, var(--bg-elevated));overflow:hidden}.urm-ck-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;border-bottom:1px solid var(--border);background:var(--bg-subtle)}.urm-ck-q{flex:1 1 160px;min-width:0;padding:7px 10px;border:1px solid var(--border);border-radius:8px;font:inherit;background:var(--bg-base, #fff);color:inherit}.urm-ck-n{font-size:12px;color:var(--text-muted);margin-left:auto;font-variant-numeric:tabular-nums}.urm-ck-clear{border:0;background:none;color:#2563eb;font:inherit;font-size:12px;cursor:pointer;padding:2px 4px}.urm-ck-list{max-height:min(calc(46vh / var(--ui-zoom-vu, 1)),340px);overflow-y:auto;overscroll-behavior:contain;padding:4px}.urm-ck-row{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer}.urm-ck-row:hover{background:var(--bg-subtle)}.urm-ck-row.on{background:color-mix(in srgb,#2563eb 9%,transparent)}.urm-ck-row input{margin-top:3px;flex:none}.urm-ck-lbl{display:flex;flex-direction:column;min-width:0}.urm-ck-lbl small{color:var(--text-muted);font-size:11.5px}.urm-ck-empty{padding:14px 10px;color:var(--text-muted);font-size:13px}.ss-opt2{display:flex;flex-direction:column;min-width:0;line-height:1.25}.ss-opt2 small{color:var(--text-muted);font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sp-page{display:flex;flex-direction:column;gap:14px}.sp-top{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end}.sp-proj{flex:1 1 320px;max-width:560px;display:grid;gap:4px}.sp-overall{display:grid;grid-template-columns:auto auto 160px auto;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--border);border-radius:12px;background:var(--bg-elevated)}.sp-overall b{font-size:18px;font-variant-numeric:tabular-nums}.sp-bar{height:6px;border-radius:4px;background:var(--bg-subtle);overflow:hidden;min-width:40px}.sp-bar i{display:block;height:100%;border-radius:4px;background:#2563eb;transition:width .3s}.sp-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.sp-tile{text-align:left;display:grid;gap:4px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--bg-elevated);color:inherit;font:inherit;cursor:pointer}.sp-tile:hover{border-color:#93c5fd}.sp-tile b{font-size:20px;font-variant-numeric:tabular-nums}.sp-tile-n{font-size:11px;font-weight:700;color:#2563eb;letter-spacing:.04em}.sp-tile-name{font-size:12.5px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sp-tile-st{font-size:11.5px;color:var(--text-muted)}.sp-tile.st-completed .sp-bar i{background:#16a34a}.sp-tile.late{border-color:color-mix(in srgb,#dc2626 45%,var(--border))}.sp-tile.late .sp-tile-st{color:#dc2626;font-weight:600}.sp-stage{border:1px solid var(--border);border-radius:14px;background:var(--bg-elevated);padding:14px 16px;display:grid;gap:10px;scroll-margin-top:80px}.sp-stage.st-completed{border-color:color-mix(in srgb,#16a34a 35%,var(--border))}.sp-stage-hd{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}.sp-stage-title{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.sp-stage-title h3{margin:0;font-size:16px}.sp-badge{font-size:11.5px;font-weight:700;color:#fff;background:#2563eb;border-radius:6px;padding:2px 7px}.sp-chip{font-size:11.5px;padding:2px 8px;border-radius:999px;background:var(--bg-subtle);color:var(--text-secondary)}.sp-chip.st-in_progress{background:color-mix(in srgb,#2563eb 12%,transparent);color:#1d4ed8}.sp-chip.st-ready{background:color-mix(in srgb,#f59e0b 16%,transparent);color:#b45309}.sp-chip.st-completed{background:color-mix(in srgb,#16a34a 14%,transparent);color:#15803d}.sp-chip.late{background:color-mix(in srgb,#dc2626 12%,transparent);color:#b91c1c}.sp-pct{font-weight:700;font-variant-numeric:tabular-nums}.sp-dates{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.sp-dates label,.sp-dates>div{display:grid;gap:3px;font-size:12.5px}.sp-dates span{color:var(--text-muted);font-size:11.5px}.sp-dates input{padding:6px 8px;border:1px solid var(--border);border-radius:8px;font:inherit;background:var(--bg-base, #fff);color:inherit;min-width:0}.sp-dates b{font-weight:600;padding:6px 0}.sp-note{font-size:12.5px;padding:8px 10px;border-radius:8px;background:var(--bg-subtle);color:var(--text-secondary)}.sp-note.warn{background:color-mix(in srgb,#f59e0b 12%,transparent);color:var(--text-primary)}.sp-note ul{margin:6px 0;padding-left:18px}.sp-steps{display:grid;gap:6px}.sp-empty{padding:8px 2px}.sp-step{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--bg-base, transparent)}.sp-step.s-done{background:color-mix(in srgb,#16a34a 6%,transparent)}.sp-step.s-skipped{opacity:.6}.sp-step.late{border-color:color-mix(in srgb,#dc2626 40%,var(--border))}.sp-step-main{display:flex;gap:10px;align-items:center;min-width:0}.sp-status{flex:none;padding:5px 6px;border:1px solid var(--border);border-radius:8px;font:inherit;font-size:12.5px;background:var(--bg-elevated);color:inherit}.sp-step.s-done .sp-status{border-color:#86efac;color:#15803d}.sp-step.s-in_progress .sp-status{border-color:#93c5fd;color:#1d4ed8}.sp-step-name{display:grid;gap:3px;min-width:0}.sp-step-name b{font-weight:600;font-size:13.5px;overflow-wrap:anywhere}.sp-req{color:#d97706}.sp-tags{display:flex;flex-wrap:wrap;gap:5px}.sp-kind,.sp-tag{font-size:11px;padding:1px 7px;border-radius:999px;background:var(--bg-subtle);color:var(--text-secondary)}.sp-kind.k-deliverable{background:color-mix(in srgb,#7c3aed 12%,transparent);color:#6d28d9}.sp-kind.k-approval{background:color-mix(in srgb,#0d9488 14%,transparent);color:#0f766e}.sp-tag.wait{background:color-mix(in srgb,#f59e0b 14%,transparent);color:#b45309}.sp-tag.late{background:color-mix(in srgb,#dc2626 12%,transparent);color:#b91c1c}.sp-step-meta{display:flex;gap:12px;align-items:center;font-size:12.5px;justify-content:flex-end;flex-wrap:wrap}.sp-owner{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sp-due{color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.sp-step-btns{display:inline-flex;gap:4px}.sp-remarks{grid-column:1 / -1;font-size:12px;color:var(--text-secondary);padding-left:2px;white-space:pre-wrap}.sp-add{justify-self:start}.sp-checks{display:grid;gap:6px;margin:4px 0 10px;font-size:13px}.sp-checks label{display:flex;gap:8px;align-items:center}.sp-weight input{width:64px;padding:4px 6px;border:1px solid var(--border);border-radius:6px;font:inherit}.sp-mini{display:flex;align-items:center;gap:6px;margin-top:4px}.sp-mini .sp-bar{width:70px}.sp-mini span{font-size:11.5px;font-variant-numeric:tabular-nums}.sp-late-n{color:#dc2626}@media(max-width:760px){.sp-dates{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-step{grid-template-columns:minmax(0,1fr)}.sp-step-meta{justify-content:flex-start}.sp-overall{grid-template-columns:auto auto 1fr}.sp-overall>span:last-child{grid-column:1 / -1}}.sl-stages{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 12px}.sl-stage{border:1px solid var(--border);background:var(--bg-elevated);color:inherit;font:inherit;font-size:13px;padding:6px 12px;border-radius:999px;cursor:pointer}.sl-stage.on{background:color-mix(in srgb,#2563eb 12%,transparent);border-color:#93c5fd;color:#1d4ed8;font-weight:600}.sl-n{font-size:11px;color:var(--text-muted);margin-left:4px}.sl-list{display:grid;gap:8px}.sl-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start;padding:10px;border:1px solid var(--border);border-radius:10px}.sl-row.off{opacity:.6}.sl-ord{display:grid;gap:2px}.sl-fields{display:grid;gap:8px;min-width:0}.sl-name{width:100%;padding:7px 10px;border:1px solid var(--border);border-radius:8px;font:inherit;font-weight:600;background:var(--bg-base, #fff);color:inherit}.sl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.sl-grid label{display:grid;gap:3px;font-size:11.5px;color:var(--text-muted);min-width:0}.sl-grid select,.sl-grid input{padding:6px 8px;border:1px solid var(--border);border-radius:8px;font:inherit;font-size:13px;color:var(--text-primary);background:var(--bg-base, #fff);min-width:0}.sl-flags{display:flex;flex-wrap:wrap;gap:14px;align-items:center;font-size:13px}.sl-flags label{display:inline-flex;gap:6px;align-items:center}.sl-tpl{min-width:200px;flex:1 1 200px}.sl-foot{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:12px}.sp-hint{display:block;font-size:11.5px;line-height:1.4;color:var(--text-muted);font-weight:400;margin-top:3px}.sp-checks label>span{display:grid}.sp-checks label{align-items:flex-start}.sp-checks input[type=checkbox]{margin-top:3px}.sp-weight{flex-wrap:wrap}.sp-weight .sp-hint{flex-basis:100%}.sl-legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:var(--text-secondary);padding:8px 10px;margin-bottom:10px;border-radius:8px;background:var(--bg-subtle)}.sl-legend b{color:var(--text-primary);font-weight:600;margin-right:4px}.sp-step-err{grid-column:1 / -1;font-size:12.5px;color:#b91c1c;background:color-mix(in srgb,#dc2626 9%,transparent);border-radius:8px;padding:6px 10px}.sp-viewbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.sp-seg{display:inline-flex;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--bg-elevated)}.sp-seg button{border:0;background:transparent;color:var(--text-secondary);font:inherit;font-size:13px;padding:7px 16px;cursor:pointer}.sp-seg button+button{border-left:1px solid var(--border)}.sp-seg button.on{background:color-mix(in srgb,#2563eb 12%,transparent);color:#1d4ed8;font-weight:600}.sp-tile.on{border-color:#2563eb;box-shadow:inset 0 0 0 1px #2563eb}.sp-tile-all .sp-tile-n{color:var(--text-secondary)}.sp-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:start}.sp-col{background:var(--bg-subtle);border:1px solid transparent;border-radius:12px;padding:8px;display:grid;gap:8px;min-height:140px;align-content:start}.sp-col.over{border-color:#2563eb;background:color-mix(in srgb,#2563eb 7%,var(--bg-subtle))}.sp-col-hd{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:2px 4px}.sp-col-hd span{font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums}.sp-col-hint{font-size:11px;color:var(--text-muted);padding:0 4px;margin-top:-6px}.sp-col-empty{font-size:12px;color:var(--text-muted);text-align:center;padding:10px 0}.sp-col.c-waiting .sp-col-hd b{color:#b45309}.sp-col.c-progress .sp-col-hd b{color:#1d4ed8}.sp-col.c-done .sp-col-hd b{color:#15803d}.sp-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;padding:8px 10px;display:grid;gap:6px;cursor:grab}.sp-card[draggable=false]{cursor:default}.sp-card.late{border-color:color-mix(in srgb,#dc2626 40%,var(--border))}.sp-card.s-done{opacity:.85}.sp-card-top{display:flex;gap:6px;align-items:flex-start}.sp-card-top b{flex:1;font-size:13px;font-weight:600;overflow-wrap:anywhere}.sp-card-top .icon-btn{flex:none;padding:2px 6px}.sp-card-stage{flex:none;font-size:10.5px;font-weight:700;color:#fff;background:#2563eb;border-radius:5px;padding:1px 5px;margin-top:2px}.sp-card-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 8px;font-size:12px}.sp-card-meta .sp-owner{max-width:100%}.sp-card-status{width:100%}@media(max-width:980px){.sp-board{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.sp-board{grid-template-columns:minmax(0,1fr)}.sp-seg button{padding:7px 12px}}.sp-tl{border:1px solid var(--border);border-radius:12px;background:var(--bg-elevated);padding:10px 12px;display:grid;gap:2px;overflow-x:auto}.sp-tl-row{display:grid;grid-template-columns:minmax(150px,230px) 128px minmax(420px,1fr);gap:10px;align-items:center;min-height:24px}.sp-tl-head{position:sticky;top:0;z-index:1;background:var(--bg-elevated);min-height:22px;border-bottom:1px solid var(--border);margin-bottom:4px}.sp-tl-track{position:relative;height:22px}.sp-tl-month{position:absolute;top:2px;font-size:11px;color:var(--text-muted);border-left:1px solid var(--border);padding-left:4px;height:18px}.sp-tl-today{position:absolute;top:-2px;bottom:-2px;width:0;border-left:1.5px dashed #dc2626;opacity:.6}.sp-tl-today em{position:absolute;top:2px;left:4px;font-style:normal;font-size:10.5px;color:#dc2626;white-space:nowrap}.sp-tl-group{display:grid;gap:2px;padding:4px 0;border-bottom:1px solid var(--border);scroll-margin-top:80px}.sp-tl-stage .sp-tl-label{font-weight:600;display:flex;align-items:center;gap:6px;font-size:13px}.sp-tl-stage .sp-tl-label em{font-style:normal;font-size:11.5px;color:var(--text-muted);font-weight:500}.sp-tl-label{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sp-tl-step{border:0;background:none;color:inherit;font:inherit;font-size:12.5px;text-align:left;padding:0 0 0 8px;cursor:pointer}.sp-tl-step:disabled{cursor:default}.sp-tl-step:not(:disabled):hover{color:#2563eb}.sp-tl-bar{position:absolute;top:6px;height:10px;border-radius:5px;background:#94a3b8;display:inline-block}.sp-tl-bar.done{background:#16a34a}.sp-tl-bar.prog{background:#2563eb}.sp-tl-bar.late{background:#dc2626}.sp-tl-bar.todo{background:color-mix(in srgb,#64748b 45%,transparent)}.sp-tl-bar.skip{background:repeating-linear-gradient(45deg,#cbd5e1 0 4px,transparent 4px 8px)}.sp-tl-win{position:absolute;top:3px;height:16px;border-radius:6px;background:color-mix(in srgb,#2563eb 14%,transparent);border:1px solid color-mix(in srgb,#2563eb 40%,transparent);display:inline-block}.sp-tl-win.late{background:color-mix(in srgb,#dc2626 12%,transparent);border-color:color-mix(in srgb,#dc2626 45%,transparent)}.sp-tl-win.done{background:color-mix(in srgb,#16a34a 14%,transparent);border-color:color-mix(in srgb,#16a34a 45%,transparent)}.sp-tl-nodate{position:absolute;top:4px;left:0;font-size:11px;color:var(--text-muted)}.sp-tl-legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:var(--text-secondary);padding-top:8px}.sp-tl-legend span{display:inline-flex;align-items:center;gap:6px}.sp-tl-legend .sp-tl-bar,.sp-tl-legend .sp-tl-win{position:static;width:22px}.sp-tl-legend .sp-tl-win{height:12px}.sp-pf-wrap{display:grid;gap:6px}.sp-pf{display:grid;gap:4px;align-items:stretch;overflow-x:auto;padding-bottom:2px}.sp-pf-h{font-size:11.5px;font-weight:700;color:var(--text-secondary);padding:4px 6px;display:grid}.sp-pf-h span{font-weight:400;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sp-pf-name{display:flex;flex-wrap:wrap;gap:2px 8px;align-items:center;text-align:left;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);color:inherit;font:inherit;font-size:13px;padding:6px 8px;cursor:pointer;min-width:0}.sp-pf-name:hover{border-color:#93c5fd}.sp-pf-name>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1 1 120px}.sp-pf-name em{font-style:normal;font-size:11px;color:#b45309}.sp-pf-all{display:grid;gap:3px;align-content:center;font-size:12.5px;padding:0 4px}.sp-pf-c{border:1px solid transparent;border-radius:8px;font:inherit;font-size:12.5px;padding:6px 4px;display:grid;justify-items:center;align-content:center;gap:1px;cursor:pointer;background:var(--bg-subtle);color:var(--text-muted)}.sp-pf-c span{font-size:10.5px}.sp-pf-c.done{background:color-mix(in srgb,#16a34a 14%,transparent);color:#15803d}.sp-pf-c.prog{background:color-mix(in srgb,#2563eb 13%,transparent);color:#1d4ed8}.sp-pf-c.late{background:color-mix(in srgb,#dc2626 13%,transparent);color:#b91c1c}.sp-pf-c.cur{border-color:currentColor}.sp-pf-c.na{cursor:default;background:transparent;color:var(--text-muted)}.sp-pf-c:not(.na):hover{filter:brightness(.96)}.sp-pf-key{display:inline-block;width:14px;height:12px;border-radius:3px;background:var(--bg-subtle);border:1px solid transparent}.sp-pf-key.done{background:color-mix(in srgb,#16a34a 30%,transparent)}.sp-pf-key.prog{background:color-mix(in srgb,#2563eb 28%,transparent)}.sp-pf-key.late{background:color-mix(in srgb,#dc2626 28%,transparent)}.sp-pf-key.cur{border-color:var(--text-secondary)}.sp-tl-colh{font-size:11px;font-weight:600;color:var(--text-muted);align-self:end;padding-bottom:3px}.sp-tl-dates{font-size:11.5px;color:var(--text-secondary);white-space:nowrap;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis}.sp-tl-dates i{font-style:normal;color:#15803d}.sp-tl-dates.late,.sp-tl-dates.late i{color:#b91c1c}.sp-tl-head .sp-tl-track{height:26px}.sp-tl-month{white-space:nowrap}.sp-tl-month.major{color:var(--text-secondary);font-weight:600}.sp-tl-group .sp-tl-track{background-image:none}.sp-tl-head .sp-tl-track{height:36px}.sp-tl-head .sp-tl-today em{top:19px}.sp-tl-head .sp-tl-colh{padding-bottom:6px}.sp-tl-win.derived{background:transparent;border-style:dashed}.sp-status-ro{display:inline-block;cursor:default;border-style:dashed;color:var(--text-secondary);white-space:nowrap}.sp-status-ro.s-done{color:#15803d}.sp-status-ro.s-in_progress{color:#1d4ed8}.sp-access{font-size:12.5px}.ho-card{display:grid;gap:10px}.ho-hd{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start;justify-content:space-between}.ho-hd h3{margin:0;font-size:15px}.ho-hd p{margin:2px 0 0}.ho-btns{display:flex;flex-wrap:wrap;gap:8px}.ho-covers{display:grid;gap:6px}.ho-cover{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;padding:7px 10px;border:1px solid var(--border);border-radius:10px;font-size:13px}.ho-cover.on{border-color:color-mix(in srgb,#2563eb 40%,var(--border));background:color-mix(in srgb,#2563eb 5%,transparent)}.ho-cover .chip-btn{margin-left:auto}.ho-cover-st{font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px;background:var(--bg-subtle);color:var(--text-secondary)}.ho-cover.on .ho-cover-st{background:#2563eb;color:#fff}.ho-resp{border:1px solid var(--border);border-radius:10px;padding:8px 10px;margin:-2px 0 10px;font-size:13px;background:var(--bg-subtle)}.ho-resp ul{margin:6px 0 0;padding-left:18px;display:grid;gap:3px}.ho-tot b{font-variant-numeric:tabular-nums}.ho-scope{display:flex;gap:16px;font-size:13px;margin-bottom:6px}.ho-scope label{display:inline-flex;gap:6px;align-items:center}.ho-warn{display:grid;gap:6px;padding:10px 12px;border-radius:10px;margin:8px 0;background:color-mix(in srgb,#f59e0b 12%,transparent);border:1px solid color-mix(in srgb,#f59e0b 40%,transparent);font-size:13px}.ho-warn .chip-btn{justify-self:start}.sp-hist{grid-column:1 / -1;display:grid;gap:4px;font-size:12px}.sp-hist-last{color:var(--text-secondary);overflow-wrap:anywhere}.sp-hist-btn{justify-self:start;border:0;background:none;padding:0;font:inherit;font-size:12px;color:#2563eb;cursor:pointer}.sp-hist-btn:hover{text-decoration:underline}.sp-hist-list{margin:2px 0 0;padding:6px 8px 6px 24px;display:grid;gap:6px;border-radius:8px;background:var(--bg-subtle)}.sp-hist-list li{display:grid;gap:1px}.sp-hist-move{font-size:12px}.sp-hist-note{font-size:12.5px;color:var(--text-primary);white-space:pre-wrap;overflow-wrap:anywhere}.sp-hist-stage{margin-top:-4px}.sp-move{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:14px;margin-bottom:10px}.sp-move span{color:var(--text-secondary)}.sp-move em{font-style:normal;font-size:11.5px;padding:1px 8px;border-radius:999px;background:color-mix(in srgb,#f59e0b 16%,transparent);color:#b45309}.rep-hand{position:absolute;bottom:-5px;right:-5px;min-width:12px;height:12px;display:inline-flex;align-items:center;justify-content:center;background:#7c3aed;color:#fff;font-size:8px;line-height:1;border-radius:50%;box-shadow:0 0 0 1.5px #fff}.me-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-bottom:12px}.me-filters label{display:grid;gap:3px;font-size:12px;color:var(--text-muted)}.me-filters input,.me-filters select{padding:7px 9px;border:1px solid var(--border);border-radius:8px;font:inherit;font-size:13px;color:var(--text-primary);background:var(--bg-base, #fff)}.me-filters .me-chk{display:inline-flex;flex-direction:row;gap:6px;align-items:center;font-size:13px;color:var(--text-primary);padding-bottom:8px}.me-sum{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.me-pill{font-size:12px;padding:3px 10px;border-radius:999px;background:var(--bg-subtle);color:var(--text-secondary)}.me-pill.flag{background:color-mix(in srgb,#dc2626 12%,transparent);color:#b91c1c;font-weight:600}.me-list{display:grid;gap:6px}.me-row{display:grid;grid-template-columns:150px minmax(160px,1.2fr) 100px minmax(150px,1fr) minmax(130px,1fr) minmax(160px,1.4fr);gap:6px 12px;align-items:start;padding:8px 10px;border:1px solid var(--border);border-radius:10px;font-size:13px;background:var(--bg-elevated)}.me-row.flag{border-color:color-mix(in srgb,#dc2626 45%,var(--border));background:color-mix(in srgb,#dc2626 4%,var(--bg-elevated))}.me-row.head{background:transparent;border:0;font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;padding-bottom:0}.me-row b{font-weight:600}.me-row .muted{font-size:12px}.me-act{font-size:11px;padding:1px 7px;border-radius:999px;background:var(--bg-subtle);color:var(--text-secondary);white-space:nowrap}.me-act.revoke{background:color-mix(in srgb,#f59e0b 16%,transparent);color:#b45309}.me-early{display:block;margin-top:3px;font-size:11.5px;font-weight:600;color:#b91c1c}.me-early.site{color:var(--text-muted);font-weight:500}.me-times{font-variant-numeric:tabular-nums}@media(max-width:860px){.me-row{grid-template-columns:1fr 1fr}.me-row.head{display:none}}.me-alert{display:grid;gap:8px;margin-bottom:12px;padding:10px 14px;border-radius:10px;border:1px solid color-mix(in srgb,#dc2626 40%,var(--border));background:color-mix(in srgb,#dc2626 6%,var(--bg-elevated));font-size:13.5px}.me-alert.mine{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between;border-color:color-mix(in srgb,#f59e0b 50%,var(--border));background:color-mix(in srgb,#f59e0b 8%,var(--bg-elevated))}.me-alert-list{display:grid;gap:6px}.me-alert-row{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;justify-content:space-between}.me-alert-btns,.me-fu-btns{display:inline-flex;flex-wrap:wrap;gap:6px}.me-fu-btns{margin-top:6px}.me-fu{display:grid;gap:3px;margin-top:6px}.me-fu-item{font-size:11.5px;padding:2px 8px;border-radius:6px;background:var(--bg-subtle);color:var(--text-secondary)}.me-fu-item.k-ALERT{background:color-mix(in srgb,#dc2626 10%,transparent);color:#b91c1c}.me-fu-item.k-ACK{background:color-mix(in srgb,#f59e0b 14%,transparent);color:#b45309}.me-fu-item.k-DISCUSSED{background:color-mix(in srgb,#16a34a 12%,transparent);color:#15803d}.me-row.done{border-color:color-mix(in srgb,#16a34a 35%,var(--border))}.me-alert-strip{display:inline-block;margin-top:6px;padding:5px 12px;border-radius:8px;font-size:13px;font-weight:600;text-decoration:none;color:#b91c1c;background:color-mix(in srgb,#dc2626 9%,transparent);border:1px solid color-mix(in srgb,#dc2626 30%,transparent)}.me-alert-strip:hover{text-decoration:underline}.geo-warn{display:grid;gap:8px;margin-top:8px;padding:10px 14px;border-radius:10px;font-size:13.5px;border:1px solid color-mix(in srgb,#f59e0b 55%,var(--border));background:color-mix(in srgb,#f59e0b 9%,var(--bg-elevated));color:var(--text-primary)}.geo-warn-btns{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.geo-warn-btns a.chip-btn{text-decoration:none}.doc-badge.geo-unreg{background:color-mix(in srgb,#f59e0b 16%,transparent);color:#b45309}.site-pick{display:grid;gap:8px;margin:10px 0;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-elevated);font-size:13.5px}.site-pick-hd{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline;justify-content:space-between}.site-pick .link-btn{border:0;background:none;padding:0;font:inherit;color:#2563eb;cursor:pointer;text-decoration:underline}.site-pick-list{display:grid;gap:6px}.site-opt{display:flex;flex-wrap:wrap;gap:4px 10px;justify-content:space-between;align-items:center;text-align:left;padding:9px 11px;border:1px solid var(--border);border-radius:9px;background:var(--bg-base, #fff);color:var(--text-primary);font:inherit;cursor:pointer}.site-opt.on{border-color:#2563eb;box-shadow:0 0 0 2px color-mix(in srgb,#2563eb 25%,transparent)}.site-here{color:#15803d;font-weight:600}.site-pend{margin-left:6px;font-size:11px;padding:1px 7px;border-radius:999px;background:color-mix(in srgb,#f59e0b 16%,transparent);color:#b45309}.site-new-btn{justify-self:start}.site-add{display:grid;gap:8px}.site-add input,.site-add select{width:100%}.site-add-btns{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.site-picked{font-size:13px;color:#15803d}.site-row{display:grid;gap:5px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-elevated)}.site-row.st-PENDING{border-color:color-mix(in srgb,#f59e0b 55%,var(--border))}.site-row.st-CLOSED{opacity:.7}.site-row-main{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}.site-row-name{font-size:14.5px}.site-row-meta{display:flex;flex-wrap:wrap;gap:4px 14px}.site-row-btns{display:flex;flex-wrap:wrap;gap:6px}.site-st{font-size:11.5px;padding:1px 8px;border-radius:999px;background:var(--bg-subtle);color:var(--text-secondary)}.site-st.st-PENDING{background:color-mix(in srgb,#f59e0b 16%,transparent);color:#b45309}.site-st.st-CONFIRMED{background:color-mix(in srgb,#16a34a 12%,transparent);color:#15803d}.site-merge{display:grid;gap:6px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.site-merge-row{display:flex;gap:8px;flex-wrap:wrap}.site-merge-row select{flex:1 1 200px}.me-alert-strip.site-strip{color:#b45309;background:color-mix(in srgb,#f59e0b 10%,transparent);border-color:color-mix(in srgb,#f59e0b 35%,transparent);margin-left:6px}.site-sec{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);margin-top:4px}.site-search{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:8px;font:inherit;font-size:13px}.site-pick .site-adhoc-link{justify-self:start;font-size:12.5px;margin-top:2px}.site-check{padding:8px 10px;border-radius:8px;font-size:13px;display:grid;gap:3px}.site-check.c-OK{background:color-mix(in srgb,#16a34a 10%,transparent);color:#15803d}.site-check.c-FAR,.site-check.c-UNKNOWN{background:color-mix(in srgb,#f59e0b 12%,transparent);color:#92400e}.site-warn-t{color:#b45309;font-weight:600}.site-row.attn{border-color:color-mix(in srgb,#f59e0b 60%,var(--border));background:color-mix(in srgb,#f59e0b 5%,var(--bg-elevated))}.site-addr-pick{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:6px}.wl-groups{display:grid;gap:14px}.wl-subhd{margin-top:14px;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.wl-sites-hd{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:space-between}.wl-seg{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.wl-seg button{border:0;background:transparent;padding:6px 12px;font:inherit;font-size:12.5px;color:var(--text-secondary);cursor:pointer}.wl-seg button.on{background:var(--bg-subtle);color:var(--text-primary);font-weight:600}.wl-site-groups{display:grid;gap:10px;margin-top:10px}.wl-site-group{border:1px solid var(--border);border-radius:10px;padding:8px 12px;display:grid;gap:4px}.wl-site-ghd{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;padding-bottom:4px;border-bottom:1px solid var(--border)}.wl-site-ghd .hr-link{margin-left:auto}.wl-site{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;padding:5px 0;font-size:13px}.wl-site+.wl-site{border-top:1px dashed var(--border)}.wl-site-name{font-weight:600;min-width:160px}.lr-bar{display:grid;gap:10px;margin-bottom:12px}.lr-tabs{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:10px;background:var(--bg-subtle);justify-self:start}.lr-tabs button{border:0;background:transparent;padding:7px 14px;border-radius:8px;font:inherit;font-size:13.5px;color:var(--text-secondary);cursor:pointer}.lr-tabs button.on{background:var(--bg-elevated);color:var(--text-primary);font-weight:600;box-shadow:0 1px 2px #00000014}.lr-filters{margin-bottom:0}.lr-dash{display:grid;gap:12px}.lr-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.lr-kpi{display:grid;gap:2px;padding:12px 14px;border-top:3px solid #6366f1}.lr-kpi b{font-size:24px;font-variant-numeric:tabular-nums;line-height:1.15}.lr-kpi.warn{border-top-color:#f59e0b}.lr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}.lr-card.wide{grid-column:1 / -1}.lr-donut{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.lr-legend{display:grid;gap:6px;font-size:13px;flex:1 1 140px}.lr-legend div{display:flex;gap:8px;align-items:center}.lr-legend i{width:10px;height:10px;border-radius:3px;flex:none}.lr-legend b{margin-left:auto;font-variant-numeric:tabular-nums}.lr-people{display:grid;gap:6px}.lr-people>div{display:flex;flex-wrap:wrap;gap:4px 10px;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px dashed var(--border);font-size:13px}.lr-people>div:last-child{border-bottom:0}.lr-num{font-variant-numeric:tabular-nums;white-space:nowrap}.lr-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle}.lr-chip{font-size:11.5px;padding:2px 8px;border-radius:999px;background:var(--bg-subtle);color:var(--text-secondary);white-space:nowrap}.lr-chip.today{background:color-mix(in srgb,#6366f1 14%,transparent);color:#4f46e5;font-weight:600}.lr-chip.late{background:color-mix(in srgb,#dc2626 12%,transparent);color:#b91c1c;font-weight:600}.lr-status{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.lr-st{font-size:11.5px;padding:1px 8px;border-radius:999px;background:var(--bg-subtle);color:var(--text-secondary);white-space:nowrap}.lr-st.st-APPROVED{background:color-mix(in srgb,#16a34a 12%,transparent);color:#15803d}.lr-st.st-PENDING{background:color-mix(in srgb,#f59e0b 16%,transparent);color:#b45309}.lr-st.st-REJECTED{background:color-mix(in srgb,#dc2626 12%,transparent);color:#b91c1c}.lr-util{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.lr-util>div{display:grid;gap:5px}.lr-util-hd{display:flex;flex-wrap:wrap;gap:4px 10px;justify-content:space-between;align-items:baseline}.lr-bar-track{height:10px;border-radius:6px;background:var(--border);overflow:hidden}.lr-bar-track i{display:block;height:100%;border-radius:6px}.lr-row{display:grid;grid-template-columns:minmax(160px,1.3fr) minmax(150px,1.3fr) minmax(120px,1fr) 80px minmax(110px,.9fr) minmax(140px,1.1fr);gap:6px 12px;align-items:start;padding:8px 10px;border:1px solid var(--border);border-radius:10px;font-size:13px;background:var(--bg-elevated)}.lr-row.head{background:transparent;border:0;font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;padding-bottom:0}@media(max-width:860px){.lr-row{grid-template-columns:1fr 1fr}.lr-row.head{display:none}}.lr-yr-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:10px}.lr-yr{display:grid;min-width:max-content;font-size:12.5px}.lr-yr>span.h{position:sticky;top:0;padding:7px 6px;font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;background:var(--bg-subtle);border-bottom:1px solid var(--border)}.lr-yr .r{text-align:right;font-variant-numeric:tabular-nums}.lr-yr-line{display:contents}.lr-yr-line>span{padding:5px 6px;border-bottom:1px solid color-mix(in srgb,var(--border) 55%,transparent)}.lr-yr-line.first>span{border-top:1px solid var(--border)}.lr-yr-line>span.emp{line-height:1.3}.lr-yr-line>span.z{color:var(--text-muted);opacity:.5}.lr-yr-line>span.v{font-weight:600;color:var(--text-primary)}.lr-yr-line>span.neg{color:#b91c1c;font-weight:600}.update-pill{border:0;padding:5px 12px;border-radius:999px;font:inherit;font-size:12.5px;font-weight:600;color:#fff;background:#16a34a;cursor:pointer;white-space:nowrap;box-shadow:0 1px 3px #16a34a59}.update-pill:hover{background:#15803d}.refresh-wrap{position:relative;display:inline-flex}.refresh-msg{position:absolute;top:calc(100% + 6px);right:0;z-index:50;white-space:nowrap;font-size:12px;padding:5px 10px;border-radius:8px;background:var(--bg-elevated);color:#15803d;border:1px solid var(--border);box-shadow:0 4px 14px #0000001f}.icon-btn.spinning{animation:refresh-spin .8s linear infinite}@keyframes refresh-spin{to{transform:rotate(360deg)}}.iv-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4100;background:#000000b3;display:flex;align-items:center;justify-content:center;padding:calc(2vh / var(--ui-zoom-vu, 1)) calc(2vw / var(--ui-zoom-vu, 1))}.iv{width:calc(96vw / var(--ui-zoom-vu, 1));height:calc(96vh / var(--ui-zoom-vu, 1));max-width:1400px;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;overflow:hidden}.iv-head{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border)}.iv-title{font-weight:600;font-size:14px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.iv-tools{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.iv-btn{min-width:34px;height:30px;padding:0 9px;border:1px solid var(--border);border-radius:7px;background:var(--bg-elevated);color:var(--text-primary);font:inherit;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.iv-btn:hover{background:var(--bg-subtle)}.iv-btn.on{border-color:#6366f1;color:#4f46e5;font-weight:600}.iv-pct{min-width:46px;text-align:center;font-size:12.5px;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.iv-stage{position:relative;flex:1;min-height:0;overflow:hidden;background:#1f2023;cursor:zoom-in;touch-action:none;-webkit-user-select:none;user-select:none}.iv-stage.grab{cursor:grab}.iv-stage.grab:active{cursor:grabbing}.iv-stage img{position:absolute;left:50%;top:50%;max-width:none;transform-origin:center center;transition:opacity .15s}.iv-foot{padding:6px 12px;border-top:1px solid var(--border)}.att-leave-banner{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:space-between;margin-bottom:12px;padding:10px 14px;border-radius:10px;font-size:13.5px;border:1px solid color-mix(in srgb,#0ea5e9 45%,var(--border));background:color-mix(in srgb,#0ea5e9 8%,var(--bg-elevated))}.cl-why{margin-bottom:8px;padding:8px 10px;border-radius:8px;font-size:13px;background:color-mix(in srgb,#0ea5e9 10%,transparent)}.cl-leave{font-size:14px}.ql-ver.draftrev{border-color:#f59e0b!important;color:#b45309!important;background:color-mix(in srgb,#f59e0b 12%,transparent)!important}.ql-ib.ql-rev{font-size:11px;font-weight:700;color:#4f46e5}.ql-ib.ql-sent{color:#15803d;font-weight:700}.q-rev-sent{font-size:12px;margin-top:3px;color:#b45309}.q-rev-sent.ok{color:#15803d}.q-rev-sent .link-btn{border:0;background:none;padding:0;font:inherit;color:#2563eb;cursor:pointer;text-decoration:underline}.q-ver-banner{margin-top:10px;padding:9px 14px;border-radius:10px;font-size:13px;border:1px solid color-mix(in srgb,#6366f1 35%,var(--border));background:color-mix(in srgb,#6366f1 7%,var(--bg-elevated))}.q-ver-banner.draft{border-color:color-mix(in srgb,#f59e0b 50%,var(--border));background:color-mix(in srgb,#f59e0b 9%,var(--bg-elevated))}.enq-docs{margin-left:8px;font-size:11px;font-weight:600;padding:1px 7px;border-radius:999px;background:var(--bg-subtle);color:var(--text-secondary);white-space:nowrap;vertical-align:middle}.enq-docs.urs{background:color-mix(in srgb,#16a34a 12%,transparent);color:#15803d}.ed-card{margin-top:14px;background:var(--bg-base);display:grid;gap:10px}.ed-hd{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.ed-nours{font-size:13px;padding:8px 10px;border-radius:8px;color:#92400e;background:color-mix(in srgb,#f59e0b 10%,transparent)}.ed-add{display:grid;gap:8px;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--bg-elevated)}.ed-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.ed-drop{padding:16px;border:2px dashed var(--border);border-radius:10px;text-align:center;font-size:13px;color:var(--text-secondary);cursor:pointer;display:grid;gap:4px}.ed-drop:hover,.ed-drop.has{border-color:#6366f1;background:color-mix(in srgb,#6366f1 5%,transparent);color:var(--text-primary)}.ed-btns{display:flex;justify-content:flex-end;gap:8px}.ed-list{display:grid;gap:6px}.ed-doc{display:flex;align-items:stretch;gap:6px;border:1px solid var(--border);border-radius:10px;background:var(--bg-elevated)}.ed-doc.urs{border-color:color-mix(in srgb,#16a34a 40%,var(--border))}.ed-open{flex:1;min-width:0;display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border:0;background:none;text-align:left;font:inherit;color:inherit;cursor:pointer}.ed-open:hover .ed-name{text-decoration:underline}.ed-ic{font-size:20px;line-height:1}.ed-main{display:grid;gap:1px;min-width:0}.ed-kind{font-size:12px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.02em}.ed-doc.urs .ed-kind{color:#15803d}.ed-cur{margin-left:6px;font-size:10.5px;padding:0 6px;border-radius:999px;background:color-mix(in srgb,#16a34a 14%,transparent);color:#15803d;text-transform:none;letter-spacing:0}.ed-name{font-size:13.5px;font-weight:600;overflow-wrap:anywhere}.ed-del{border:0;background:none;padding:0 10px;cursor:pointer;opacity:.55}.ed-del:hover{opacity:1}.ed-sets{display:grid;gap:8px}.ed-set{display:grid;gap:6px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--bg-elevated)}.ed-set.urs{border-color:color-mix(in srgb,#16a34a 40%,var(--border))}.ed-set.old{opacity:.75}.ed-set-hd{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}.ed-set.urs .ed-kind{color:#15803d}.ed-old{margin-left:6px;font-size:10.5px;padding:0 6px;border-radius:999px;background:var(--bg-subtle);color:var(--text-muted);text-transform:none;letter-spacing:0}.ed-addto{margin-left:auto;border:0;background:none;padding:0;font:inherit;font-size:12.5px;color:#2563eb;cursor:pointer}.ed-set .ed-doc{border-style:dashed;background:var(--bg-base)}.edm{width:min(1100px,calc(96vw / var(--ui-zoom-vu, 1)));height:min(calc(90vh / var(--ui-zoom-vu, 1)),900px);display:flex;flex-direction:column;overflow:hidden;background:var(--bg-surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 20px 60px #0f172a47;container-type:inline-size}.edm-hd{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:flex-start;justify-content:space-between;padding:18px 22px 16px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,color-mix(in srgb,var(--sc) 9%,var(--bg-surface)),var(--bg-surface));border-top:4px solid var(--sc)}.edm-hd-main{min-width:0;flex:1 1 380px;display:grid;gap:6px}.edm-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.edm-code{font-family:ui-monospace,monospace;font-size:12px;font-weight:700;padding:2px 8px;border-radius:6px;background:var(--bg-subtle);color:var(--text-secondary)}.edm-stage{font-size:12px;font-weight:700;padding:2px 10px;border-radius:999px;color:var(--sc);background:color-mix(in srgb,var(--sc) 14%,transparent)}.edm-chip{font-size:12px;padding:2px 9px;border-radius:999px;background:var(--bg-subtle);color:var(--text-secondary)}.edm-title{margin:0;font-size:19px;line-height:1.3;text-wrap:balance;overflow-wrap:anywhere}.edm-sub{font-size:13px;color:var(--text-secondary)}.edm-arrow{opacity:.6;margin:0 2px}.edm-hd-side{display:flex;align-items:flex-start;gap:16px}.edm-value{display:grid;text-align:right}.edm-value b{font-size:20px;font-variant-numeric:tabular-nums}.edm-hd-btns{display:flex;gap:6px;align-items:center}.edm-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 300px}.edm-main{min-width:0;min-height:0;display:flex;flex-direction:column;border-right:1px solid var(--border)}.edm-tabs{display:flex;gap:4px;padding:10px 18px 0;border-bottom:1px solid var(--border)}.edm-tabs button{position:relative;border:0;background:none;padding:9px 12px 11px;font:inherit;font-size:13.5px;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;display:inline-flex;gap:6px;align-items:center}.edm-tabs button.on{color:var(--text-primary);font-weight:600;border-bottom-color:#6366f1}.edm-n{font-size:11px;min-width:18px;padding:0 6px;border-radius:999px;background:var(--bg-subtle);color:var(--text-secondary);font-weight:600;text-align:center}.edm-dot{width:7px;height:7px;border-radius:50%;background:#f59e0b}.edm-od{font-size:11px;font-weight:700;color:#b91c1c}.edm-pane{flex:1;min-height:0;overflow-y:auto;padding:16px 18px 20px}.edm-side{min-height:0;overflow-y:auto;padding:16px;display:grid;align-content:start;gap:12px;background:var(--bg-base)}.edm-box{padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--bg-elevated)}.edm-box-t{display:flex;justify-content:space-between;align-items:center;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:8px}.edm-dl{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:0;font-size:13px}.edm-dl dt{color:var(--text-muted)}.edm-dl dd{margin:0;text-align:right;font-weight:500;overflow-wrap:anywhere}.edm-tags{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin-top:10px}.edm-lbl{width:100%;font-size:12px;color:var(--text-muted)}.edm-tag{font-size:12px;padding:2px 8px;border-radius:6px;background:color-mix(in srgb,#6366f1 10%,transparent);color:#4338ca}.edm-tag.alt{background:color-mix(in srgb,#ef4444 9%,transparent);color:#b91c1c}.edm-notes{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.edm-people{display:flex;flex-wrap:wrap;gap:6px}.edm-person{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;padding:2px 9px 2px 2px;border-radius:999px;background:var(--bg-subtle)}.edm-person i{font-style:normal;width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff;background:#6366f1}.edm-link{border:0;background:none;padding:0;font:inherit;font-size:12.5px;color:#2563eb;cursor:pointer;text-transform:none;letter-spacing:0;font-weight:600}@container (max-width: 820px){.edm-body{grid-template-columns:1fr;overflow-y:auto}.edm-main{border-right:0;min-height:auto}.edm-pane{overflow:visible}.edm-side{overflow:visible;border-top:1px solid var(--border)}}@media(max-width:600px){.modal-overlay:has(>.edm){padding:0}.edm{width:calc(100vw / var(--ui-zoom-vu, 1));height:100%;border-radius:0;border:0}.edm-hd{padding:14px 16px}.edm-title{font-size:17px}.edm-tabs{padding:6px 10px 0;overflow-x:auto}.edm-tabs button{white-space:nowrap;padding:9px 10px 11px}.edm-pane{padding:14px 12px 18px}.edm-side{padding:12px}}.ed-card.bare{margin:0;padding:0;background:none;border:0;box-shadow:none}.ed-title{display:grid;gap:1px}.ed-act{flex:none;align-self:center;width:32px;height:32px;margin-right:4px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);color:var(--text-primary);cursor:pointer;font-size:14px}.ed-act:hover{border-color:#6366f1;background:color-mix(in srgb,#6366f1 10%,var(--bg-elevated))}.ed-act.ed-del{opacity:1;padding:0}.ed-act.ed-del:hover{border-color:#dc2626;background:color-mix(in srgb,#dc2626 10%,var(--bg-elevated))}.ed-doc{align-items:center}.eaf{display:grid;gap:14px}.eaf-composer{display:grid;gap:8px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--bg-elevated)}.eaf-types{display:flex;flex-wrap:wrap;gap:6px}.eaf-types button{border:1px solid var(--border);background:var(--bg-base, #fff);padding:5px 11px;border-radius:999px;font:inherit;font-size:12.5px;cursor:pointer;color:var(--text-secondary)}.eaf-types button.on{border-color:#6366f1;color:#4338ca;background:color-mix(in srgb,#6366f1 9%,transparent);font-weight:600}.eaf-row{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-end;justify-content:space-between}.eaf-fu{display:grid;gap:3px;font-size:12px;color:var(--text-muted)}.eaf-timeline{display:grid;gap:0;position:relative;padding-left:4px}.eaf-item{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:8px 0;position:relative}.eaf-item:before{content:"";position:absolute;left:14px;top:34px;bottom:-8px;width:2px;background:var(--border)}.eaf-item:last-child:before{display:none}.eaf-ic{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-subtle);font-size:14px;position:relative;z-index:1}.eaf-body{display:grid;gap:2px;font-size:13.5px;min-width:0;overflow-wrap:anywhere}.eaf-fu-tag{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center;justify-self:start;margin-top:3px;font-size:12px;padding:2px 9px;border-radius:999px;background:color-mix(in srgb,#6366f1 9%,transparent);color:#4338ca}.eaf-fu-tag.late{background:color-mix(in srgb,#dc2626 10%,transparent);color:#b91c1c}.eaf-fu-tag.done{background:color-mix(in srgb,#16a34a 10%,transparent);color:#15803d}.dv-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4100;background:#000000a6;display:flex;align-items:center;justify-content:center;padding:calc(2vh / var(--ui-zoom-vu, 1)) calc(2vw / var(--ui-zoom-vu, 1))}.dv{width:calc(96vw / var(--ui-zoom-vu, 1));height:calc(96vh / var(--ui-zoom-vu, 1));max-width:1300px;background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;overflow:hidden}.dv-hd{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--border)}.dv-ic{font-size:20px}.dv-t{flex:1 1 200px;min-width:0;display:grid}.dv-t b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dv-tools{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.dv-dl{width:auto!important;padding:6px 14px!important}.dv-body{flex:1;min-height:0;display:flex;flex-direction:column;background:#e9ebef}.dv-frame{flex:1;width:100%;border:0;background:#fff}.dv-scroll{flex:1;min-height:0;overflow:auto}.dv-msg{margin:auto;padding:30px;text-align:center;color:#334155;display:grid;gap:10px;justify-items:center}.dv-note{margin:8px 12px 0;font-size:12.5px;padding:6px 10px;border-radius:8px;background:#fff7e6;color:#92400e}.dv-docx{padding:16px 0}.dv-docx .docx-wrapper{background:transparent!important;padding:0!important}.dv-docx .docx-wrapper>section.docx{box-shadow:0 2px 10px #00000026;margin:0 auto 16px!important}.dv-sheetwrap{flex:1;min-height:0;display:flex;flex-direction:column}.dv-tabs{display:flex;gap:2px;padding:6px 8px 0;background:#f3f4f6;border-bottom:1px solid #d1d5db;overflow-x:auto}.dv-tabs button{border:1px solid transparent;border-bottom:0;background:none;padding:6px 14px;font:inherit;font-size:12.5px;cursor:pointer;border-radius:6px 6px 0 0;color:#475569;white-space:nowrap}.dv-tabs button.on{background:#fff;border-color:#d1d5db;color:#0f172a;font-weight:600}.dv-sheet{padding:10px;background:#fff;min-height:100%;color:#111}.dv-sheet table{border-collapse:collapse;font-size:12.5px}.dv-sheet td,.dv-sheet th{border:1px solid #d4d4d8;padding:3px 8px;white-space:nowrap;vertical-align:top}.dv-sheet tr:first-child td{background:#f1f5f9;font-weight:600}.dv-text{margin:0;padding:16px;background:#fff;color:#111;font-size:12.5px;white-space:pre-wrap;min-height:100%}.edir{container-type:inline-size}.edir-head{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:flex-end;justify-content:space-between;margin-bottom:14px}.edir-head h2{margin:0 0 2px}.edir-head p{margin:0}.edir-head-btns{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.edir-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:14px}.edir-kpi{display:grid;gap:2px;text-align:left;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--bg-elevated);font:inherit;color:inherit;cursor:pointer;transition:border-color .15s,transform .15s}.edir-kpi:hover{border-color:#6366f1;transform:translateY(-1px)}.edir-kpi-l{font-size:12px;color:var(--text-muted);font-weight:600}.edir-kpi b{font-size:24px;line-height:1.15;font-variant-numeric:tabular-nums}.edir-kpi-s{font-size:11.5px;color:var(--text-muted)}.edir-bar{display:grid;gap:10px;margin-bottom:14px}.edir-bar-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.edir-search{flex:1 1 260px;min-width:0}.edir-seg{display:inline-flex;border:1px solid var(--border);border-radius:9px;overflow:hidden;flex-wrap:wrap}.edir-seg button{border:0;background:transparent;padding:7px 12px;font:inherit;font-size:13px;color:var(--text-secondary);cursor:pointer}.edir-seg button+button{border-left:1px solid var(--border)}.edir-seg button.on{background:color-mix(in srgb,#6366f1 12%,transparent);color:#4338ca;font-weight:600}.edir-dept{width:auto!important;min-width:160px}.edir-adv-btn.on{border-color:#6366f1!important;color:#4338ca}.edir-reset{border:0;background:none;padding:0 4px;font:inherit;font-size:13px;color:#dc2626;cursor:pointer;text-decoration:underline}.edir-sug{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.edir-sug-l{font-size:12px;color:var(--text-muted);font-weight:600;margin-right:2px}.edir-chip{border:1px solid var(--border);background:var(--bg-base, #fff);padding:4px 11px;border-radius:999px;font:inherit;font-size:12.5px;color:var(--text-secondary);cursor:pointer}.edir-chip:hover{border-color:#6366f1}.edir-chip.on{border-color:#6366f1;background:#6366f1;color:#fff;font-weight:600}.edir-adv{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;padding-top:4px}.edir-adv fieldset{margin:0;padding:10px 12px 12px;border:1px solid var(--border);border-radius:10px;display:grid;gap:8px;align-content:start;min-width:0}.edir-adv legend{padding:0 6px;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.edir-f{display:grid;gap:3px;font-size:12px;color:var(--text-muted);min-width:0}.edir-f input,.edir-f select{width:100%;padding:7px 9px;border:1px solid var(--border);border-radius:8px;font:inherit;font-size:13px;color:var(--text-primary);background:var(--bg-base, #fff)}.edir-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.edir-ticks{display:flex;flex-wrap:wrap;gap:6px}.edir-tick{display:inline-flex;gap:6px;align-items:center;font-size:12.5px;padding:4px 9px;border:1px solid var(--border);border-radius:8px;cursor:pointer;color:var(--text-secondary)}.edir-tick.on{border-color:#6366f1;color:#4338ca;background:color-mix(in srgb,#6366f1 8%,transparent)}.edir-tick input{margin:0}.edir-body{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:14px;align-items:start}.edir-results{padding:0;overflow:hidden}.edir-count{padding:12px 14px;border-bottom:1px solid var(--border);font-size:14px}.edir-count b{font-size:18px}.edir-row{display:grid;grid-template-columns:minmax(200px,1.6fr) minmax(150px,1.2fr) 110px minmax(110px,1fr) 120px 60px;gap:6px 12px;align-items:center;padding:9px 14px;border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent);font-size:13.5px}.edir-row.pay{grid-template-columns:minmax(200px,1.6fr) minmax(150px,1.2fr) 110px 100px minmax(110px,1fr) 120px 60px}.edir-row:hover:not(.edir-hrow){background:color-mix(in srgb,#6366f1 4%,transparent)}.edir-row.gone{opacity:.7}.edir-row .r{text-align:right}.edir-hrow{position:sticky;top:0;z-index:1;background:var(--bg-subtle);padding-top:7px;padding-bottom:7px;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.edir-sort{border:0;background:none;padding:0;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.edir-sort.on{color:#4338ca}.edir-emp{display:flex;gap:10px;align-items:center;min-width:0}.edir-emp>span{min-width:0;overflow-wrap:anywhere}.edir-av{flex:none;font-style:normal;width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;background:linear-gradient(135deg,#6366f1,#0ea5e9)}.edir-code{font-family:ui-monospace,monospace;font-size:11.5px;color:var(--text-muted)}.edir-dname{font-weight:500}.edir-ten{font-size:12px;font-weight:600;color:#4338ca}.edir-pay{font-variant-numeric:tabular-nums;font-weight:600}.edir-break{position:sticky;top:12px;display:grid;gap:6px}.edir-break-hd{display:flex;gap:8px;align-items:center;justify-content:space-between}.edir-break-hd select{padding:5px 8px;border:1px solid var(--border);border-radius:8px;font:inherit;font-size:12.5px;background:var(--bg-base, #fff);color:var(--text-primary)}.edir-bars{display:grid;gap:4px;margin-top:4px}.edir-barrow{display:grid;grid-template-columns:minmax(0,110px) 1fr auto;gap:8px;align-items:center;padding:4px 6px;border:0;border-radius:7px;background:none;font:inherit;font-size:12.5px;color:inherit;cursor:pointer;text-align:left}.edir-barrow:hover:not(:disabled){background:var(--bg-subtle)}.edir-barrow:disabled{cursor:default}.edir-barrow.on{background:color-mix(in srgb,#6366f1 12%,transparent)}.edir-bk{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edir-bt{height:10px;border-radius:6px;background:var(--border);overflow:hidden}.edir-bt i{display:block;height:100%;border-radius:6px;background:#6366f1}.edir-bn{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}@container (max-width: 1100px){.edir-body{grid-template-columns:1fr}.edir-break{position:static;order:-1}}@container (max-width: 760px){.edir-hrow{display:none}.edir-row,.edir-row.pay{grid-template-columns:1fr 1fr;padding:10px 12px}.edir-row .edir-emp{grid-column:1 / -1}.edir-row .r{text-align:left}}.bon{container-type:inline-size}.bon-head{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:flex-end;justify-content:space-between;margin-bottom:14px}.bon-head h2{margin:0 0 2px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.bon-head p{margin:0}.bon-acts{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.bon-st{font-size:11.5px;font-weight:700;padding:2px 9px;border-radius:999px;white-space:nowrap}.bon-st.draft{background:var(--bg-subtle);color:var(--text-secondary)}.bon-st.appr{background:color-mix(in srgb,#6366f1 14%,transparent);color:#4338ca}.bon-st.paid{background:color-mix(in srgb,#16a34a 14%,transparent);color:#15803d}.bon-empty{display:grid;gap:8px;justify-items:center;text-align:center;padding:32px 20px}.bon-empty .muted{max-width:560px}.bon-runs{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.bon-run{display:grid;gap:4px;text-align:left;font:inherit;color:inherit;cursor:pointer;border:1px solid var(--border)}.bon-run:hover{border-color:#6366f1}.bon-run-t{display:flex;gap:8px;align-items:center;justify-content:space-between}.bon-run-v{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}.bon-modal{width:min(860px,calc(96vw / var(--ui-zoom-vu, 1)))!important;max-width:none!important}.bon-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.bon-opts{display:grid;gap:6px;margin:10px 0;font-size:13px}.bon-opts label{display:flex;gap:8px;align-items:flex-start}.bon-slabs{display:grid;gap:6px;margin:8px 0;overflow-x:auto}.bon-slab{display:grid;grid-template-columns:minmax(130px,1.3fr) 120px 80px 90px 150px 100px 84px;gap:6px;align-items:center;min-width:760px}.bon-slab input,.bon-slab select{width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:7px;font:inherit;font-size:13px;background:var(--bg-base, #fff);color:var(--text-primary)}.bon-slab input:disabled,.bon-slab select:disabled{opacity:.45}.bon-slab.off input[aria-label="Slab name"]{text-decoration:line-through;color:var(--text-muted)}.bon-slab-h{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.bon-slab-btns{display:flex;gap:3px}.bon-slab-btns button{width:26px;height:28px;border:1px solid var(--border);border-radius:6px;background:var(--bg-elevated);color:var(--text-primary);cursor:pointer}.bon-slab-btns button:disabled{opacity:.35;cursor:default}.bon-slab-add{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin-top:4px}.bon-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:14px}.bon-kpi{display:grid;gap:2px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--bg-elevated);text-align:left;font:inherit;color:inherit}.bon-kpi span{font-size:12px;font-weight:600;color:var(--text-muted)}.bon-kpi b{font-size:22px;font-variant-numeric:tabular-nums}.bon-kpi em{font-style:normal;font-size:11.5px;color:var(--text-muted)}.bon-kpi.warn{cursor:pointer;border-color:color-mix(in srgb,#f59e0b 50%,var(--border))}.bon-kpi.warn b{color:#b45309}.bon-kpi.warn.on{background:color-mix(in srgb,#f59e0b 10%,var(--bg-elevated))}.bon-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:14px;align-items:start}.bon-sec-t{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:8px}.bon-slabcard{display:grid;gap:4px}.bon-slabrow{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;text-align:left;padding:8px;border:1px solid transparent;border-radius:9px;background:none;font:inherit;font-size:13px;color:inherit;cursor:pointer}.bon-slabrow:hover{background:var(--bg-subtle)}.bon-slabrow.on{border-color:#6366f1;background:color-mix(in srgb,#6366f1 8%,transparent)}.bon-slabrow.off{opacity:.65}.bon-slabrow.warn b{color:#b45309}.bon-sn{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.bon-st-amt{text-align:right;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.bon-list{padding:0;overflow:hidden}.bon-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px;border-bottom:1px solid var(--border)}.bon-filters .hr-search{flex:1 1 200px}.bon-filters select{padding:7px 9px;border:1px solid var(--border);border-radius:8px;font:inherit;font-size:13px;background:var(--bg-base, #fff);color:var(--text-primary)}.bon-row{display:grid;grid-template-columns:minmax(180px,1.5fr) 110px minmax(120px,1fr) 100px minmax(130px,1fr) 64px;gap:6px 12px;align-items:start;padding:9px 12px;border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent);font-size:13.5px}.bon-row .r{text-align:right}.bon-row-h{position:sticky;top:0;background:var(--bg-subtle);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);padding-top:7px;padding-bottom:7px}.bon-row.out{opacity:.6}.bon-row.stat{background:color-mix(in srgb,#f59e0b 6%,transparent)}.bon-code{font-family:ui-monospace,monospace;font-size:11.5px;color:var(--text-muted)}.bon-tag{margin-left:6px;font-size:10.5px;padding:1px 6px;border-radius:999px;background:color-mix(in srgb,#0ea5e9 14%,transparent);color:#0369a1}.bon-strike{text-decoration:line-through;color:var(--text-muted)}.bon-note{font-size:11.5px;color:var(--text-muted)}.bon-warn{font-size:11.5px;font-weight:600;color:#b45309}.bon-row-acts{display:flex;gap:4px;justify-content:flex-end}.bon-row-acts button{width:28px;height:28px;border:1px solid var(--border);border-radius:7px;background:var(--bg-elevated);color:var(--text-primary);cursor:pointer}.bon-row-acts button:hover{border-color:#6366f1}@container (max-width: 980px){.bon-grid{grid-template-columns:1fr}}@container (max-width: 680px){.bon-row-h{display:none}.bon-row{grid-template-columns:1fr 1fr}.bon-row .r{text-align:left}}.slip-bonus{margin-top:10px;padding:10px 12px;border:1px dashed var(--border);border-radius:8px;display:grid;gap:4px}.slip-bonus-t{font-weight:700;font-size:13px}.slip-bonus-t span{font-weight:400;color:var(--text-muted)}.slip-bonus-row{display:flex;justify-content:space-between;gap:10px;font-size:13px}@media print{.slip-bonus{border-color:#94a3b8}}.cv-kind-chip{flex-shrink:0;font:inherit;font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:999px;border:1px solid var(--k-c, #64748b);color:var(--k-c, #64748b);background:color-mix(in srgb,var(--k-c, #64748b) 9%,transparent);cursor:pointer;white-space:nowrap}.cv-kind-chip:hover{background:color-mix(in srgb,var(--k-c, #64748b) 18%,transparent)}.k-general{--k-c: #7c3aed}.k-pid{--k-c: #0369a1}.k-elec{--k-c: #b45309}.k-mixed{--k-c: #0f766e}.cv-kind-opts,.ds-kinds{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.cv-kind-opt,.ds-kind{display:grid;gap:4px;text-align:left;font:inherit;color:inherit;padding:12px 14px;border:1.5px solid var(--border);border-left:4px solid var(--k-c);border-radius:10px;background:var(--bg-elevated);cursor:pointer}.cv-kind-opt:hover,.ds-kind:hover{border-color:var(--k-c)}.cv-kind-opt b,.ds-kind b{color:var(--k-c);font-size:14px}.cv-kind-opt span,.ds-kind span{font-size:12.5px;color:var(--text-muted);line-height:1.4}.cv-kind-opt.on{border-color:var(--k-c);background:color-mix(in srgb,var(--k-c) 8%,var(--bg-elevated))}.ds-kind-step{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:2px 0 10px}.ds-kind-tag,.dsf-kind{font-style:normal;font-size:11px;font-weight:700;padding:1px 8px;border-radius:999px;color:var(--k-c);background:color-mix(in srgb,var(--k-c) 12%,transparent);white-space:nowrap}.ds-kind-tag{font-size:12px;padding:3px 10px}.dsf-lv-row .nm .dsf-kind{margin-left:6px}.dsf-kind-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}@media print{.cv-branch,.cv-add-child,.cv-cmt-badge{display:none!important}}.cv-lineno.two{display:flex;flex-direction:column;align-items:center;border-radius:9px;padding:1px 8px 2px;line-height:1.25}.cv-lineno.two b{font-weight:700;font-size:10.5px}.cv-lineno.two span{font-weight:500;font-size:9px;color:#475569}.cv-endwarn{position:absolute;top:-10px;right:-10px;width:16px;height:16px;display:grid;place-items:center;border-radius:50%;background:#f59e0b;color:#fff;font-size:10px;font-weight:800;line-height:1;box-shadow:0 0 0 2px #fff;z-index:3;pointer-events:auto;cursor:help}.pp-endwarn{display:grid;gap:4px;margin:4px 0 8px;padding:8px 10px;border:1px solid color-mix(in srgb,#f59e0b 55%,var(--border));border-radius:8px;background:color-mix(in srgb,#f59e0b 9%,transparent);font-size:12.5px}.pp-endwarn b{color:#b45309}.pp-endwarn-btns{display:flex;flex-wrap:wrap;gap:6px}.pp-endwarn-txt{margin:2px 0 6px;font-size:12px;font-weight:600;color:#b45309}.pp-lockrow{margin:2px 0 6px;font-size:12px;color:var(--text-muted)}.ve-list{display:grid;gap:6px}.ve-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 10px;border:1px solid var(--border);border-radius:9px}.ve-row.ends,.ve-row.size,.ve-row.why{border-color:color-mix(in srgb,#f59e0b 50%,var(--border));background:color-mix(in srgb,#f59e0b 6%,transparent)}.ve-ic{font-weight:800;color:#b45309;text-align:center}.ve-row.ok .ve-ic{color:#0369a1}.ve-txt{display:grid;gap:2px;min-width:0;font-size:13px}.ve-txt span{color:var(--text-muted);font-size:12.5px;overflow-wrap:anywhere}.ve-btns{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}@media print{.cv-endwarn{display:none!important}}.pp-itemchk{display:grid;gap:3px;margin:2px 0 8px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-size:12px}.pp-itemchk>b{font-size:12.5px}.pp-itemchk.bad{border-color:color-mix(in srgb,#ef4444 50%,var(--border));background:color-mix(in srgb,#ef4444 6%,transparent)}.pp-itemchk.bad>b{color:#b91c1c}.pp-itemchk>div{display:grid;grid-template-columns:14px 92px minmax(0,1fr);gap:6px;align-items:start}.pp-itemchk>div em{font-style:normal;font-weight:600;color:var(--text-secondary)}.pp-itemchk>div span:last-child{overflow-wrap:anywhere}.pp-itemchk .ok>span:first-child{color:#15803d;font-weight:800}.pp-itemchk .no>span:first-child,.pp-itemchk .no>span:last-child{color:#b91c1c;font-weight:600}.pp-itemchk .na{color:var(--text-muted)}.pp-autosize{margin:2px 0 6px;font-size:12px;padding:5px 8px;border-radius:7px;background:color-mix(in srgb,#0ea5e9 9%,transparent)}.ve-row.item{border-color:color-mix(in srgb,#ef4444 45%,var(--border));background:color-mix(in srgb,#ef4444 5%,transparent)}.pp-sec-note{margin:-2px 0 6px;font-size:11.5px;line-height:1.4}.modal.dss{width:min(880px,calc(96vw / var(--ui-zoom-vu, 1)));max-width:none;height:min(680px,calc(calc(100vh / var(--ui-zoom-vu, 1)) - 40px));display:flex;flex-direction:column;overflow:hidden;padding:0;container-type:inline-size}.dss-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--border)}.dss-head h3{margin:0;font-size:16px}.dss-head .muted{display:block;margin-top:1px}.dss-search{display:flex;align-items:center;gap:6px;padding:0 10px;height:36px;border:1px solid var(--border);border-radius:9px;background:var(--bg-base, #fff);color:var(--text-muted);max-width:420px;justify-self:end;width:100%}.dss-search:focus-within{border-color:#6366f1;box-shadow:0 0 0 3px color-mix(in srgb,#6366f1 18%,transparent)}.dss-search input{flex:1;min-width:0;border:none;outline:none;background:transparent;font:inherit;font-size:13.5px;color:var(--text-primary)}.dss-search button{border:none;background:none;font-size:16px;color:var(--text-muted);cursor:pointer;padding:0 2px}.dss-body{flex:1;min-height:0;display:grid;grid-template-columns:200px minmax(0,1fr)}.dss-nav{display:flex;flex-direction:column;gap:2px;padding:10px 8px;border-right:1px solid var(--border);background:var(--bg-subtle);overflow-y:auto}.dss-nav button{display:flex;align-items:center;gap:9px;text-align:left;border:none;background:transparent;color:var(--text-primary);font:inherit;font-size:13px;padding:8px 10px;border-radius:8px;cursor:pointer}.dss-nav button:hover{background:color-mix(in srgb,#6366f1 7%,transparent)}.dss-nav button.on{background:var(--bg-elevated, #fff);font-weight:700;color:#4338ca;box-shadow:0 1px 2px #0f172a14}.dss-ic{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:6px;background:color-mix(in srgb,#6366f1 10%,transparent);font-size:12px;flex-shrink:0}.dss-pane{overflow-y:auto;padding:14px 20px 20px}.dss-sechd{margin-bottom:6px}.dss-sechd h4,.dss-grp h4{display:flex;align-items:center;gap:8px;margin:0;font-size:15px}.dss-sechd p{margin:4px 0 0 30px;font-size:12.5px;color:var(--text-muted)}.dss-grp{margin-bottom:14px}.dss-grp h4{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);padding-bottom:4px;border-bottom:1px solid var(--border)}.dss-grp:not(:has(.dss-row)){display:none}.dss-empty{display:none;color:var(--text-muted);text-align:center;padding:30px 0}.dss-pane.searching:not(:has(.dss-row)) .dss-empty{display:block}.dss-row{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:16px;align-items:center;padding:11px 0;border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent)}.dss-lbl{display:grid;gap:2px;min-width:0}.dss-lbl b{font-size:13.5px;font-weight:600}.dss-lbl small{font-size:11.5px;line-height:1.4;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dss-row:hover .dss-lbl small,.dss-row:focus-within .dss-lbl small{-webkit-line-clamp:unset}.dss-lbl em{font-style:normal;font-size:11.5px;font-weight:600;color:#b45309}.dss-lbl mark{background:color-mix(in srgb,#facc15 55%,transparent);color:inherit;border-radius:3px;padding:0 1px}.dss-row.off .dss-lbl b{color:var(--text-muted)}.dss-row.off .dss-ctl{opacity:.55}.dss-ctl{display:flex;justify-content:flex-end;align-items:center;min-width:0}.dss-ctl>.field-inp,.dss-ctl>select{width:100%}.dss-ctl>.ds-inline{width:100%}.dss-ctl .ds-inline>.field-inp,.dss-ctl .ds-inline>input,.dss-ctl .ds-inline>select,.dss-ctl .ds-inline .ds-num{flex:1 1 0;width:auto!important;min-width:0}.dss-ctl .ds-inline>span{flex:0 0 auto;color:var(--text-muted)}.dss-ctl .ds-swatches{justify-content:flex-end}.dss-note{margin:6px 0;font-size:12px;color:var(--text-muted);display:flex;flex-wrap:wrap;gap:6px;align-items:center}.dss .ds-pagenote{margin:8px 0 4px}@container (max-width: 640px){.dss-head{grid-template-columns:minmax(0,1fr) auto}.dss-search{grid-column:1 / -1;grid-row:2;max-width:none;justify-self:stretch}.dss-body{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.dss-nav{flex-direction:row;overflow-x:auto;border-right:none;border-bottom:1px solid var(--border);padding:6px}.dss-nav button{white-space:nowrap}.dss-row{grid-template-columns:1fr;gap:6px}.dss-ctl{justify-content:flex-start}}.cv-lineno.st-box{border-radius:2px}.cv-lineno.st-plain{border-color:transparent;padding:0 3px}.dss-seg{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.dss-seg button{border:none;background:var(--bg-base, #fff);color:var(--text-primary);font:inherit;font-size:12px;padding:7px 10px;cursor:pointer;white-space:nowrap}.dss-seg button+button{border-left:1px solid var(--border)}.dss-seg button.on{background:#4f46e5;color:#fff;font-weight:600}.dss-seg button:disabled{cursor:default}.modal.be{width:min(1040px,calc(96vw / var(--ui-zoom-vu, 1)));max-width:none;height:min(720px,calc(calc(100vh / var(--ui-zoom-vu, 1)) - 40px));display:flex;flex-direction:column;overflow:hidden}.be-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 340px}.be-canvas{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--border)}.be-tools{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--border)}.be-tools button{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-primary);border-radius:7px;padding:6px 10px;font:inherit;font-size:12.5px;cursor:pointer}.be-tools button.on{background:#4f46e5;color:#fff;border-color:#4f46e5}.be-svg{flex:1;min-height:0;width:100%;cursor:crosshair;background-color:var(--bg-subtle);background-image:radial-gradient(color-mix(in srgb,var(--text-muted) 30%,transparent) 1px,transparent 1px);background-size:16px 16px;color:var(--text-primary)}.be-box{fill:color-mix(in srgb,#6366f1 4%,transparent);stroke:#6366f1;stroke-dasharray:2 2;vector-effect:non-scaling-stroke}.be-base circle,.be-base path{fill:none;stroke:#dc2626;stroke-width:1.5;vector-effect:non-scaling-stroke}.be-port circle{fill:#0ea5e9;stroke:#fff;stroke-width:1.5;vector-effect:non-scaling-stroke;cursor:pointer}.be-port.k-wire circle{fill:#f59e0b}.be-port.k-signal circle{fill:#a855f7}.be-port.on circle{stroke:#111827;stroke-width:2.5}.be-port text{fill:currentColor;font-weight:600;pointer-events:none}.be-side{overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:6px}.be-sec{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-top:6px}.be-list{display:grid;gap:5px}.be-row{display:grid;grid-template-columns:minmax(0,1fr) 84px 28px;gap:5px;align-items:center;padding:3px;border-radius:7px}.be-row.on{background:color-mix(in srgb,#0ea5e9 10%,transparent)}.be-prow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto 28px;gap:5px;align-items:center}.be-row .field-inp,.be-prow .field-inp{width:100%;min-width:0;padding:5px 7px;font-size:12.5px}.be-foot{display:flex;gap:8px;justify-content:flex-end;align-items:center;padding:10px 14px;border-top:1px solid var(--border)}@media(max-width:760px){.be-body{grid-template-columns:1fr;grid-template-rows:minmax(260px,1fr) auto}.be-canvas{border-right:none;border-bottom:1px solid var(--border)}}.cv-sym-params{position:absolute;left:calc(100% + 6px);top:0;font-size:9.5px;line-height:1.35;white-space:nowrap;pointer-events:none;color:var(--text-secondary, #475569)}@media print{.cv-sym-params{color:#111}}.dx-prog{display:grid;gap:6px;margin:10px 0;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-subtle)}.dx-prog-hd{display:flex;justify-content:space-between;gap:10px;font-size:13px}.dx-prog-hd span{color:var(--text-muted);font-variant-numeric:tabular-nums}.dx-prog-bar{height:8px;border-radius:999px;background:color-mix(in srgb,#6366f1 14%,transparent);overflow:hidden}.dx-prog-bar i{display:block;height:100%;border-radius:999px;background:#4f46e5;transition:width .25s ease}.dx-prog-steps{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:11.5px;color:var(--text-muted)}.dx-prog-steps span.on{color:#4338ca;font-weight:600}.dx-prev{position:relative}.dx-model{position:absolute;left:1px;bottom:1px;font-style:normal;font-size:8.5px;font-weight:700;padding:0 4px;border-radius:4px;background:#4f46e5;color:#fff}.dx-diag{margin:4px 0 0;padding:8px 10px;max-height:170px;overflow:auto;border-radius:8px;background:var(--bg-subtle);border:1px dashed var(--border);font:11px/1.45 ui-monospace,Consolas,monospace;color:var(--text-secondary);white-space:pre-wrap}.pp-editblock{width:100%;justify-content:center;margin:2px 0 6px}.be-text{fill:currentColor;cursor:pointer}.be-text.on{fill:#dc2626;font-weight:700}.be-trow{display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:5px;align-items:center;padding:2px;border-radius:7px}.be-trow.on{background:color-mix(in srgb,#dc2626 10%,transparent)}.be-trow .field-inp{width:100%;min-width:0;padding:5px 7px;font-size:12.5px}.be-zoom{display:inline-flex;align-items:center;gap:2px;margin-left:auto;border:1px solid var(--border);border-radius:8px;padding:2px;background:var(--bg-elevated)}.be-tools .be-zoom button{border:none;padding:4px 8px;border-radius:6px}.be-tools .be-zoom button:hover{background:var(--bg-subtle)}.be-zpct{min-width:46px;text-align:center;font-size:12px;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.be-hint{flex-basis:100%}.be-text{cursor:move}.be-prow{grid-template-columns:18px 22px minmax(0,1fr) minmax(0,1fr) auto 28px!important;border-radius:7px}.be-prow.over{box-shadow:inset 0 2px #4f46e5}.be-grip{cursor:grab;color:var(--text-muted);font-size:12px;letter-spacing:-2px;-webkit-user-select:none;user-select:none;text-align:center}.be-ord{display:grid;gap:1px}.be-ord button{border:none;background:none;color:var(--text-muted);font-size:8px;line-height:1;padding:1px;cursor:pointer}.be-ord button:disabled{opacity:.3;cursor:default}.be-modes{display:inline-flex;flex-wrap:wrap;gap:4px}.be-tools .be-zoom+.be-zoom{margin-left:0}.be-svg.m-select{cursor:default}.be-svg.m-select .be-port circle,.be-svg.m-port .be-port circle{cursor:grab}.be-svg.m-pan,.be-svg.m-pan *{cursor:grab!important}.be-svg.m-pan:active,.be-svg.m-pan:active *{cursor:grabbing!important}.be-trow{grid-template-columns:minmax(0,1fr) 62px 28px}.be-trow .be-th{padding:5px 4px;text-align:right;font-variant-numeric:tabular-nums}.be-tall{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--text-secondary);margin:2px 0 6px}.be-psize{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:12px;color:var(--text-secondary);margin-bottom:4px}.be-psize label:not(.pp-check){display:inline-flex;align-items:center;gap:4px}.be-psize .field-inp{width:64px;padding:4px 6px;font-size:12.5px;text-align:right}.be-snap{font-size:12.5px;margin:0 4px}.be-port text{font-weight:500!important}.be-cats{display:grid;gap:5px}.be-catg{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.be-catg>span{width:70px;font-size:11.5px;color:var(--text-muted)}.be-catg .chip-btn.on{background:#4f46e5;color:#fff;border-color:#4f46e5}.pp-terms{display:grid;gap:3px;margin-bottom:6px}.pp-term{display:grid;grid-template-columns:minmax(48px,auto) minmax(0,1fr);gap:8px;align-items:baseline;font-size:12.5px;padding:3px 6px;border-radius:6px;background:var(--bg-subtle)}.pp-term b{font-variant-numeric:tabular-nums}.pp-term span{color:var(--text-secondary);overflow-wrap:anywhere}.pp-term.spare span{color:var(--text-muted);font-style:italic}.be-pspec{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:5px;padding:0 0 4px}.be-pspec label{display:grid;gap:2px;font-size:11px;color:var(--text-muted)}.be-pspec .field-inp{width:100%;min-width:0;padding:4px 6px;font-size:12px}.pp-term>div{display:grid;gap:2px;min-width:0}.pp-term-r{font-size:11.5px;color:var(--text-muted)}.pp-term-c{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}.pp-term-c .chip-btn{padding:1px 8px;font-size:11.5px}.pp-term-w{color:#b45309;font-size:11.5px}.pp-term-sp{color:var(--text-muted);font-style:italic}.react-flow__handle.cv-pin-grab{cursor:crosshair;z-index:6}.react-flow__node:hover .react-flow__handle.cv-pin-grab{opacity:.7}.react-flow__handle.cv-pin-grab:hover{opacity:1!important;transform:scale(1.35)!important}.modal.be{width:min(1560px,calc(97vw / var(--ui-zoom-vu, 1)));height:calc(calc(100vh / var(--ui-zoom-vu, 1)) - 32px)}.be-body{grid-template-columns:minmax(0,1fr) 400px}.be-meta{display:grid;grid-template-columns:1fr 1fr;gap:6px 8px}.be-meta label{display:grid;gap:3px;font-size:11.5px;color:var(--text-muted);min-width:0}.be-meta label.full{grid-column:1 / -1}.be-meta .field-inp{width:100%;min-width:0;padding:6px 8px;font-size:13px}.be-bh{fill:#fff;stroke:#4f46e5;stroke-width:1.5;vector-effect:non-scaling-stroke}.be-bh.ew{cursor:ew-resize}.be-bh.ns{cursor:ns-resize}.be-svg.m-pan .be-bh{cursor:grab}.be-xl{stroke:#4f46e5}.be-svg.m-ext{cursor:cell}.react-flow .react-flow__resize-control.handle{width:calc(11px / var(--rfz, 1));height:calc(11px / var(--rfz, 1));border-radius:calc(2px / var(--rfz, 1));border:calc(1.5px / var(--rfz, 1)) solid #fff;background:#6366f1;box-shadow:0 0 0 calc(1px / var(--rfz, 1)) #6366f1}.react-flow .react-flow__resize-control.handle:after{content:"";position:absolute;inset:calc(-7px / var(--rfz, 1))}.react-flow .react-flow__resize-control.line.left,.react-flow .react-flow__resize-control.line.right{width:calc(10px / var(--rfz, 1))}.react-flow .react-flow__resize-control.line.top,.react-flow .react-flow__resize-control.line.bottom{height:calc(10px / var(--rfz, 1))}.be-tbulk{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;margin-bottom:4px}.be-tbulk>.field-inp{flex:1 1 100%;padding:5px 8px;font-size:12.5px}.be-confirm{flex-basis:100%;display:flex;gap:6px;align-items:center;font-size:12.5px;color:#b91c1c}.be-trow.be-trow-ck{grid-template-columns:18px minmax(0,1fr) 62px 28px}.be-text.pk{fill:#f59e0b}.cv-td-sym{width:100%;height:100%;max-height:100%;padding:2px 0;color:inherit}.cv-td-logo{display:block;width:100%;height:100%;min-height:0;object-fit:contain}.cv-td-ph{margin:auto;font-size:.75em;color:#94a3b8;font-style:italic}.pp-lg{display:grid;gap:3px}.pp-lg-row{display:grid;grid-template-columns:16px 26px 70px minmax(0,1fr);gap:5px;align-items:center}.pp-lg-row.off{opacity:.45}.pp-lg-row .field-inp{padding:4px 6px;font-size:12px;min-width:0}.pp-lg-ico svg{width:26px;height:22px;display:block}.pj-parties{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:10px}.pj-party{border:1px solid var(--border);border-radius:10px;padding:8px 10px;display:grid;gap:6px}.pj-party-body{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;align-items:start}.pj-party-f{display:grid;gap:4px}.pj-logo{width:96px;height:72px;border:1px dashed var(--border);border-radius:8px;display:grid;place-items:center;cursor:pointer;overflow:hidden;background:#fff;color:var(--text-muted);font-size:12px}.pj-logo img{max-width:100%;max-height:100%;object-fit:contain}.pj-logo input{display:none}.cv-table.cv-tb{border:none;padding:0;container-type:size}.tb{border:max(2px,.16em) solid #111827;--tb-l1: max(1.3px, .1em) solid #334155;--tb-l2: max(1px, .07em) solid #64748b;width:100%;height:100%;color:#111827;background:#fff;display:grid;overflow:hidden;font-family:inherit;line-height:1.15;box-sizing:border-box}.tb *{box-sizing:border-box}.tb-lbl{font-size:.72em;letter-spacing:.04em;color:#475569;font-weight:600;text-transform:uppercase}.tb-sec{padding:.25em .45em;border-bottom:var(--tb-l1);background:#f1f5f9}.tb-party{padding:.35em .5em;border-bottom:var(--tb-l1);min-width:0}.tb-party-in{display:flex;gap:.6em;align-items:center;min-width:0}.tb-logo{flex:0 0 auto;width:30%;max-width:9em;height:3.2em;overflow:hidden}.tb-logo img{display:block;width:100%;height:100%;object-fit:contain;object-position:left center}.tb-party-t{display:grid;gap:.1em;min-width:0}.tb-party-t b{font-size:1.05em}.tb-party-t span{font-size:.78em;color:#374151;white-space:pre-line}.tb-head{display:flex;align-items:stretch;border-bottom:var(--tb-l1)}.tb-head .tb-party{border-bottom:none;flex:1}.tb-status{align-self:center;margin:0 .5em;padding:.15em .5em;border-radius:.3em;font-size:.75em;font-weight:700;border:1.5px solid currentColor}.tb-status.st-draft{color:#b45309}.tb-status.st-approved{color:#15803d}.tb-status.st-production{color:#1d4ed8}.tb-copy{font-size:.68em;color:#475569;padding:.35em .5em;border-bottom:var(--tb-l1)}.tb-notes-t{font-size:.78em;white-space:pre-line;padding:.3em .5em}.tb-notes{border-bottom:var(--tb-l1)}.tb-revs{display:grid;border-bottom:var(--tb-l1)}.tb-rev{display:grid;grid-template-columns:3.2em minmax(0,1fr) 4.8em 6.6em;align-items:stretch;border-top:var(--tb-l2);font-size:.8em}.tb-rev span{display:flex;align-items:center;padding:.15em .35em;border-right:var(--tb-l2);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tb-rev span:last-child{border-right:none}.tb-rev.hd{font-weight:700;background:#f1f5f9;border-top:var(--tb-l1)}.tb-rev.hd span{font-size:.85em}.tb-titles{display:grid;border-bottom:var(--tb-l1)}.tb-proj,.tb-dtitle{display:grid;padding:.3em .5em;gap:.1em}.tb-proj b{font-size:1em}.tb-dtitle b{font-size:1.35em;letter-spacing:.01em}.tb-proj+.tb-dtitle{border-top:var(--tb-l2)}.tb-sign{display:grid;border-bottom:var(--tb-l1)}.tb-sign-r{display:grid;grid-template-columns:5.6em minmax(0,1fr) 6em;align-items:center;padding:.2em .5em;border-top:var(--tb-l2);font-size:.85em}.tb-sign-r:first-child{border-top:none}.tb-sign-r b{font-weight:600}.tb-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.tb-cell{padding:.2em .45em;border-right:var(--tb-l2);border-top:var(--tb-l2);min-width:0}.tb-cell:nth-child(4n){border-right:none}.tb-val{font-size:.95em;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tb-cell.rev .tb-val{color:#1d4ed8}.tb-band{font-size:5.6cqh;grid-template-columns:30% 17% 22% minmax(0,1fr)}.tb-band>div{border-right:var(--tb-l1);display:grid;align-content:stretch;min-width:0}.tb-band>div:last-child{border-right:none}.tb-b-rev .tb-revs{border-bottom:none;height:100%}.tb-b-sign{grid-template-rows:auto 1fr}.tb-b-sign .tb-copy{border-bottom:none;align-self:end}.tb-b-par{align-content:start!important}.tb-b-main{grid-template-rows:auto 1fr auto}.tb-b-main .tb-titles{border-bottom:none;align-content:center}.tb-band .tb-grid .tb-cell:nth-child(-n+4){border-top:var(--tb-l1)}.tb-strip{font-size:4.1cqw;display:flex;flex-direction:column}.tb-strip>*{flex:none}.tb-strip>.tb-revs{flex:1 1 auto;min-height:6em}.tb-strip>.tb-titles{margin-top:auto;border-top:var(--tb-l1)}.tb-strip .tb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tb-strip .tb-cell:nth-child(4n){border-right:var(--tb-l2)}.tb-strip .tb-cell:nth-child(2n){border-right:none}.tb-compact{font-size:5.4cqh;grid-template-columns:38% minmax(0,1fr)}.tb-c-l{border-right:var(--tb-l1);display:grid;align-content:start}.tb-c-r{display:grid;grid-template-rows:1fr auto auto}.tb-heading{place-items:center;font-size:62cqh;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.tb-heading span{border-bottom:.06em solid currentColor;white-space:nowrap}.cv-table.cv-tb:has(.tb-heading),.cv-table.cv-tb:has(.tb-vtitle){border-color:transparent;background:transparent}.tb-heading,.tb-vtitle{background:transparent;border:none!important}.tb-vtitle{place-items:center}.tb-vtitle span{transform:rotate(-90deg);white-space:nowrap;font-size:56cqw;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#1e3a8a}.pj-grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}.pp-checks{display:grid;gap:2px}.vdraw .cv-table,.cv-plotting .cv-table{border-width:max(1.5px,var(--pmin2, 0px))}.vdraw .cv-td,.cv-plotting .cv-td{border-right-width:max(1px,var(--pmin, 0px));border-bottom-width:max(1px,var(--pmin, 0px))}.vdraw .tb,.cv-plotting .tb{border-width:max(2px,.16em,var(--pmin2, 0px));--tb-l1: max(1.3px, .1em, var(--pmin, 0px)) solid #334155;--tb-l2: max(1px, .07em, var(--pmin, 0px)) solid #64748b}.vdraw .tb-heading,.vdraw .tb-vtitle,.cv-plotting .tb-heading,.cv-plotting .tb-vtitle{border-width:0}.cv-jacket-st{stroke-width:1.6;stroke-linecap:butt}.cv-jacket-lp{stroke-width:1.1}.cv-jacket-dm circle{fill:currentColor;stroke:none}.pp-tbgrp{display:grid;gap:2px;margin:4px 0}.pp-tbgrp-h{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.pp-checks.two{grid-template-columns:1fr 1fr;column-gap:8px}.pj-dates{display:grid;gap:6px;margin-top:8px}.pj-date{display:grid;grid-template-columns:110px 230px minmax(0,1fr) auto;gap:8px;align-items:center}.pj-date-l{font-size:12.5px;color:var(--text-secondary)}.pj-date .field-inp{min-width:0}.pj-date-v{grid-column:span 2;font-weight:600;font-variant-numeric:tabular-nums}.pj-date-v small{font-weight:400;color:var(--text-muted)}@media(max-width:640px){.pj-date{grid-template-columns:1fr 1fr}}.tb-sign-r{grid-template-columns:5.6em minmax(0,1fr) 5.5em 6em!important}.tb-sig{height:1.6em;display:flex;align-items:center;justify-content:center;overflow:hidden}.tb-sig img{max-height:100%;max-width:100%;object-fit:contain;display:block}.pj-date{grid-template-columns:110px 230px minmax(0,1fr) auto 110px!important}.pj-date .pj-date-v{grid-column:span 2}.pj-sig{grid-column:5;height:34px;border:1px dashed var(--border);border-radius:8px;background:#fff;color:var(--text-muted);font:inherit;font-size:12px;cursor:pointer;display:grid;place-items:center;overflow:hidden;padding:2px 6px}.pj-sig.on{border-style:solid}.pj-sig img{max-height:28px;max-width:100%;object-fit:contain}.modal.sigpad{width:min(680px,calc(96vw / var(--ui-zoom-vu, 1)));max-width:none}.sigpad-c{width:100%;aspect-ratio:3 / 1;border:1.5px dashed var(--border);border-radius:10px;background:#fff;touch-action:none;cursor:crosshair;display:block}.sigpad-acts{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.sigpad-up{position:relative;overflow:hidden;cursor:pointer}.sigpad-up input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.tb-rev{grid-template-columns:var(--tbrc, 3em minmax(0, 1fr) 6.4em 6.4em)!important}.tb-revs.wrap .tb-rev{min-height:1.7em}.tb-revs.wrap .tb-rev span{white-space:normal;overflow-wrap:anywhere;text-overflow:clip;line-height:1.2;padding-top:.2em;padding-bottom:.2em}.pp-tbcols{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:end;font-size:12px;color:var(--text-secondary);margin:4px 0}.pp-tbcols>span{flex-basis:100%}.pp-tbcols label{display:grid;gap:2px}.pp-tbcols .field-inp{width:64px;padding:4px 6px}.cv-td-a{color:inherit;text-decoration:none;display:block;width:100%;min-height:1em;cursor:pointer}.cv-td:has(>.cv-td-a):hover{background:color-mix(in srgb,#6366f1 9%,transparent)}.cv-noz-anc{position:absolute;width:1px;height:1px;pointer-events:none}.cv-noz-flash{color:#dc2626;animation:cvNozFlash .65s ease-in-out 4}.cv-noz-flash path,.cv-noz-flash text{stroke-width:3.2}@keyframes cvNozFlash{50%{opacity:.25}}.cv-td.cv-td-ttl{grid-column:1 / -1;padding:6px 10px;letter-spacing:.02em;line-height:1.25;text-align:center}.pp-swatches{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.ds-guide-solo{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;overflow-y:auto;background:var(--bg, var(--bg-surface, #fff));padding:20px 24px 40px}.ict{--ict-s: #0d9488;--ict-b: #d97706;display:flex;flex-direction:column;gap:8px;margin-top:8px}.ict-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:10px;background:var(--bg-surface, #fff)}.ict-grid{display:grid;grid-template-columns:170px repeat(9,minmax(68px,1fr));min-width:820px}.ict-hd{padding:8px 6px;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:2px;line-height:1.2}.ict-hd .ict-n{font-size:10px;font-weight:700;color:var(--text-muted);opacity:.7}.ict-row{display:contents;cursor:pointer}.ict-row>*{border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.ict-row:last-child>*{border-bottom:none}.ict-term{padding:8px 10px;display:flex;flex-direction:column;justify-content:center;gap:1px;font-size:11.5px;color:var(--text-muted);position:sticky;left:0;background:var(--bg-surface, #fff);z-index:1}.ict-term b{font-size:14px;color:var(--text-primary);letter-spacing:.02em}.ict-hd.ict-term{justify-content:flex-end}.ict-c{position:relative;min-height:38px;margin:5px 0;display:flex;align-items:center;padding:0 6px;font-size:11.5px;font-weight:600}.ict-c.s{background:color-mix(in srgb,var(--ict-s) 22%,transparent);color:color-mix(in srgb,var(--ict-s) 80%,var(--text-primary))}.ict-c.b{background:color-mix(in srgb,var(--ict-b) 22%,transparent);color:color-mix(in srgb,var(--ict-b) 80%,var(--text-primary))}.ict-c.first{border-top-left-radius:7px;border-bottom-left-radius:7px;margin-left:3px}.ict-row>.ict-c:last-child{border-top-right-radius:7px;border-bottom-right-radius:7px;margin-right:6px}.ict-who{white-space:nowrap}.ict-risk{position:absolute;left:-7px;top:50%;transform:translateY(-50%);font-size:13px;color:#dc2626;text-shadow:0 0 0 var(--bg-surface, #fff),0 1px 2px rgba(0,0,0,.25);z-index:2;line-height:1}.ict-risk.end{left:auto;right:-2px}.ict-row:hover>*{background-image:linear-gradient(color-mix(in srgb,var(--text-primary) 4%,transparent),color-mix(in srgb,var(--text-primary) 4%,transparent))}.ict-row.on>.ict-term{box-shadow:inset 3px 0 #4f46e5;color:#4f46e5}.ict-row.on>.ict-term b{color:#4f46e5}.ict-row.on>.ict-c.s{background:color-mix(in srgb,var(--ict-s) 42%,transparent)}.ict-row.on>.ict-c.b{background:color-mix(in srgb,var(--ict-b) 42%,transparent)}.ict-row:focus-visible>.ict-term{outline:2px solid #4f46e5;outline-offset:-2px}.ict-key{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:var(--text-muted)}.ict-key span{display:inline-flex;align-items:center;gap:6px}.ict-key i{width:14px;height:10px;border-radius:3px;display:inline-block}.ict-key i.s{background:color-mix(in srgb,var(--ict-s) 42%,transparent)}.ict-key i.b{background:color-mix(in srgb,var(--ict-b) 42%,transparent)}.ict-risk-k{color:#dc2626}.ict-sum{border-left:3px solid #4f46e5;padding:6px 12px;background:color-mix(in srgb,#4f46e5 6%,transparent);border-radius:0 8px 8px 0;display:flex;flex-direction:column;gap:4px}.ict-sum p{margin:0;font-size:13px}.ict-sum-hd{font-size:13.5px}.q-inco{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border);display:flex;flex-direction:column;gap:6px}.q-inco-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}@media(max-width:560px){.q-inco-row{grid-template-columns:1fr}}.q-inco-note{font-size:12px;color:#0d9488}.ql-units{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-top:10px}.ql-units .muted{margin-right:4px}.ql-units button{border:1px solid var(--border);background:var(--bg-surface, #fff);color:var(--text-muted);font:inherit;font-size:12px;padding:3px 10px;border-radius:999px;cursor:pointer}.ql-units button:hover{color:var(--text-primary)}.ql-units button.on{background:color-mix(in srgb,#4f46e5 14%,transparent);border-color:color-mix(in srgb,#4f46e5 40%,transparent);color:#4f46e5;font-weight:600}.ql-units+.ql-kpis{margin-top:6px}.ql-kpi .ql-full{font-size:11.5px;color:var(--text-muted);font-variant-numeric:tabular-nums;margin-top:-2px}.ap-ms{min-width:190px}.ap-stages{display:flex;flex-wrap:wrap;gap:4px}.ap-st{font-size:11.5px;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,#4f46e5 10%,transparent);color:color-mix(in srgb,#4f46e5 80%,var(--text-primary));white-space:nowrap}.ap-note{margin-top:8px;font-size:12.5px;color:#0d9488}.ap-table tr.ap-same td{border-top:1px dashed color-mix(in srgb,var(--border) 80%,transparent)!important}.ap-cont{padding-left:4px}.cv-pnav-hd span{font-weight:500;text-transform:none;letter-spacing:0;margin-left:6px;opacity:.8}.cv-pnav-row{position:relative}.cv-pnav-row .g{flex:none;width:12px;font-size:12px;letter-spacing:-2px;color:var(--text-muted);cursor:grab;opacity:.45}.cv-pnav-row:hover .g{opacity:1}.cv-pnav-row .g.off{visibility:hidden}.cv-pnav-row .mv{flex:none;display:none;gap:2px}.cv-pnav-row:hover .mv,.cv-pnav-row:focus-within .mv{display:inline-flex}.cv-pnav-row .mv button{border:1px solid var(--border);background:var(--bg-surface, #fff);color:var(--text-muted);border-radius:5px;font-size:9px;line-height:1;padding:3px 5px;cursor:pointer}.cv-pnav-row .mv button:hover:not(:disabled){color:#4f46e5;border-color:#4f46e5}.cv-pnav-row .mv button:disabled{opacity:.3;cursor:default}.cv-pnav-row.drag,.cv-page-tab.drag{opacity:.4}.cv-pnav-row.drop-before:before,.cv-pnav-row.drop-after:after{content:"";position:absolute;left:6px;right:6px;height:2px;background:#6366f1;border-radius:2px}.cv-pnav-row.drop-before:before{top:-1px}.cv-pnav-row.drop-after:after{bottom:-1px}.cv-page-tab{position:relative}.cv-page-tab[draggable=true]{cursor:grab}.cv-page-tab.drop-before:before,.cv-page-tab.drop-after:after{content:"";position:absolute;top:4px;bottom:4px;width:2px;background:#6366f1;border-radius:2px}.cv-page-tab.drop-before:before{left:-2px}.cv-page-tab.drop-after:after{right:-2px}.io-modal{width:min(1040px,calc(96vw / var(--ui-zoom-vu, 1)));max-width:none}.io-tots{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch;margin-bottom:10px}.io-tot{display:flex;flex-direction:column;min-width:78px;padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-subtle)}.io-tot b{font-size:18px;color:var(--text-primary);font-variant-numeric:tabular-nums}.io-tot span{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.io-tot em{font-size:11px;color:var(--text-secondary);font-style:normal}.io-spare{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.io-spare input{width:56px;padding:4px 6px;border:1px solid var(--border);border-radius:6px;background:var(--bg-surface);color:var(--text-primary)}.io-mods{margin-bottom:10px;display:flex;flex-direction:column;gap:3px}.io-sec{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}.io-mod{display:grid;grid-template-columns:40px 1fr auto 70px;gap:8px;font-size:13px;align-items:baseline}.io-mod code{font-size:12px;color:var(--text-secondary)}.io-mod em{font-style:normal;font-size:11px;color:var(--text-muted)}.io-warn{color:var(--red);font-size:12px;margin:4px 0 0}.io-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:6px}.io-chips{display:flex;flex-wrap:wrap;gap:4px}.io-q{max-width:240px;margin-left:auto}.io-list{max-height:calc(46vh / var(--ui-zoom-vu, 1));overflow:auto;border:1px solid var(--border);border-radius:8px}.io-row{display:grid;grid-template-columns:minmax(120px,1.3fr) 80px minmax(160px,2fr) 64px minmax(110px,1.2fr) 100px 80px;gap:8px;padding:5px 10px;font-size:12.5px;border-bottom:1px solid var(--border);cursor:pointer}.io-row:hover{background:var(--bg-hover)}.io-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.io-head{position:sticky;top:0;background:var(--bg-elevated);font-weight:600;color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.03em;cursor:default;z-index:1}.io-t{font-weight:600}.io-di .io-t{color:#2563eb}.io-do .io-t{color:#d97706}.io-ai .io-t{color:#059669}.io-ao .io-t{color:#7c3aed}.io-bus .io-t{color:var(--text-muted)}.io-pages{position:relative;display:flex;align-items:center;gap:8px;margin-bottom:10px}.io-pages .io-sec{margin:0}.io-pg-btn{padding:6px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-surface);color:var(--text-primary);font-size:13px;cursor:pointer;min-width:180px;text-align:left}.io-pg-pop{position:absolute;top:100%;left:52px;z-index:20;margin-top:4px;min-width:260px;max-height:320px;overflow:auto;padding:8px;border:1px solid var(--border);border-radius:10px;background:var(--bg-elevated);box-shadow:0 10px 28px #0000002e;display:flex;flex-direction:column;gap:2px}.io-pg-acts{display:flex;gap:6px;margin-bottom:4px}.io-pg-item{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:8px;padding:4px 6px;border-radius:6px;font-size:13px;cursor:pointer;color:var(--text-primary)}.io-pg-item:hover{background:var(--bg-hover)}.io-pg-item em{font-style:normal;font-size:11px;color:var(--text-muted)}.io-modal{overflow:visible;display:flex;flex-direction:column;max-height:calc(92vh / var(--ui-zoom-vu, 1));min-height:min(480px,calc(92vh / var(--ui-zoom-vu, 1)))}.io-modal .modal-body{flex:1 1 auto;min-height:0;overflow:visible}.io-modal .modal-body>*{flex-shrink:0}.io-modal .modal-body>.io-list{flex:1 1 auto;min-height:140px;max-height:none}.io-modal .modal-foot{margin-top:auto}.cd-cfg{margin-left:6px;padding:0 6px;font-size:12px;line-height:18px;float:right}.cd-motor{display:flex;flex-direction:column}.cd-modal{width:min(980px,calc(96vw / var(--ui-zoom-vu, 1)));max-width:none;display:flex;flex-direction:column;max-height:calc(92vh / var(--ui-zoom-vu, 1))}.cd-intro{margin:0 0 8px}.cd-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}.cd-tools .field-inp{width:auto;min-width:0;flex:1 1 160px}.cd-list{flex:1 1 auto;min-height:160px;overflow:auto;border:1px solid var(--border);border-radius:8px}.cd-row{border-bottom:1px solid var(--border)}.cd-row-hd{display:grid;grid-template-columns:34px minmax(140px,1fr) minmax(120px,1.4fr) 20px;gap:10px;align-items:center;padding:6px 10px;cursor:pointer}.cd-row-hd:hover{background:var(--bg-hover)}.cd-row.linked .cd-sub{color:var(--text-primary)}.cd-ico{width:30px;height:26px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.cd-ico svg{max-width:100%;max-height:100%}.cd-name{display:flex;flex-direction:column;min-width:0;font-size:13px}.cd-name em{font-style:normal;font-size:11px;color:var(--text-muted)}.cd-sub{font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis}.cd-sub em{font-style:normal;color:var(--text-muted)}.cd-chev{color:var(--text-muted);text-align:right}.cd-confirm{border:1px solid var(--accent);border-radius:8px;padding:8px 10px;margin-bottom:8px;display:flex;flex-direction:column;gap:6px}.cd-prop{max-height:180px;overflow:auto;font-size:12px;display:grid;gap:2px}.cd-prop div{display:flex;gap:8px}.cd-prop em{font-style:normal;color:var(--text-secondary)}.cd-confirm-acts{display:flex;gap:8px;justify-content:flex-end}@media(max-width:560px){.cd-row-hd{grid-template-columns:28px 1fr 20px}.cd-sub{grid-column:2 / 3}.cd-edit{padding-left:12px}}.cd-el{font-style:normal;font-size:10px;color:#b45309;margin-left:3px}.cd-item{display:flex;flex-direction:column;gap:6px;margin:4px 0 8px}.cd-params{display:grid;gap:2px;padding:6px 8px;border:1px solid var(--border);border-radius:8px;background:var(--bg-subtle)}.cd-params div,.ic-el-list div{display:grid;grid-template-columns:minmax(90px,40%) 1fr;gap:8px;font-size:12px}.cd-params span{color:var(--text-muted)}.cd-params b{font-weight:600;overflow-wrap:anywhere}.cd-elbox{display:flex;flex-direction:column;gap:3px;padding:6px 8px;border:1px solid #f59e0b55;border-radius:8px}.cd-elhd{display:flex;align-items:center;justify-content:space-between;gap:6px}.cd-elmodal{width:min(560px,calc(96vw / var(--ui-zoom-vu, 1)));max-width:none}.cd-elgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0 10px}.cd-sub.field-inp{width:100%;min-width:0}.ic-el-list{display:grid;gap:3px;max-width:520px}.vi-bar{height:6px;border-radius:3px;background:var(--bg-subtle);border:1px solid var(--border);overflow:hidden;margin-top:4px}.vi-bar i{display:block;height:100%;background:#10b981}.vi-bar.over i{background:var(--red)}.vi-slots{display:grid;gap:2px;max-height:220px;overflow:auto}.vi-slot{display:grid;grid-template-columns:44px 1fr auto;gap:6px;align-items:baseline;text-align:left;padding:3px 6px;border:1px solid transparent;border-radius:6px;background:none;color:var(--text-primary);font-size:12px;cursor:pointer}.vi-slot:hover{border-color:var(--border);background:var(--bg-hover)}.vi-slot b{font-variant-numeric:tabular-nums}.vi-slot em{font-style:normal;font-size:11px;color:var(--text-muted)}.cd-fill{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0 8px}.cd-mismatch{display:flex;flex-direction:column;gap:2px;margin:6px 0;padding:6px 8px;border:1px solid #f59e0b;border-radius:8px;background:#f59e0b14;font-size:12px}.cd-warn{color:#b45309}.ml-fns{display:flex;flex-direction:column;gap:2px;margin:4px 0}.ml-fns b{display:inline-block;min-width:54px;font-variant-numeric:tabular-nums}.ml-sum{margin:2px 0 4px;color:var(--text-secondary)}.ml-acts{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.vc{display:flex;flex-direction:column;gap:4px}.vc-step{margin-top:8px;font-size:12px;font-weight:600;color:var(--text-primary)}.vc-step b{color:var(--accent);margin-right:4px}.vc-sub{margin-top:6px;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.vc-modes{display:grid;grid-template-columns:1fr 1fr;gap:6px}.vc-mode{display:flex;flex-direction:column;gap:2px;text-align:left;padding:7px 8px;border:1px solid var(--border);border-radius:8px;background:var(--bg-surface);color:var(--text-primary);cursor:pointer}.vc-mode b{font-size:12px}.vc-mode span{font-size:11px;color:var(--text-muted);line-height:1.3}.vc-mode:hover{border-color:var(--accent)}.vc-mode.on{border-color:var(--accent);background:#7b66ff14;box-shadow:inset 0 0 0 1px var(--accent)}.vc-note{margin:2px 0}.vc-io{display:flex;flex-wrap:wrap;gap:4px}.vc-io span{font-size:12px;padding:2px 7px;border:1px solid var(--border);border-radius:999px}.vc-io-di b{color:#2563eb}.vc-io-do b{color:#d97706}.vc-io-ai b{color:#059669}.vc-io-ao b{color:#7c3aed}.vc-io-bus b{color:var(--text-muted)}@media(max-width:420px){.vc-modes{grid-template-columns:1fr}}.vi-sum{display:flex;flex-direction:column;gap:3px;margin:4px 0 6px;padding:6px 8px;border:1px solid var(--border);border-radius:8px;background:var(--bg-subtle);font-size:12px}.vi-sum .chip-btn{align-self:flex-start}.mf-modal{width:min(760px,calc(96vw / var(--ui-zoom-vu, 1)));max-width:none;display:flex;flex-direction:column;max-height:calc(92vh / var(--ui-zoom-vu, 1))}.mf-body{overflow:auto;display:flex;flex-direction:column;gap:10px}.mf-card{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid var(--border);border-radius:10px}.mf-hd{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.mf-hd b{font-size:14px}.wf-modal{width:min(820px,calc(96vw / var(--ui-zoom-vu, 1)));max-width:none;display:flex;flex-direction:column;max-height:calc(92vh / var(--ui-zoom-vu, 1))}.wf-body{overflow:auto;display:flex;flex-direction:column;gap:6px}.wf-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.wf-group{display:flex;flex-direction:column;gap:2px}.wf-row{display:grid;grid-template-columns:20px minmax(90px,auto) minmax(80px,1fr) minmax(140px,1.4fr);gap:8px;align-items:baseline;padding:4px 6px;border-radius:6px;font-size:12.5px;cursor:pointer}.wf-row:hover{background:var(--bg-hover)}.wf-row.done{opacity:.6;cursor:default}.wf-name{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-plan{color:var(--text-muted);font-size:12px}.pidl-wire{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}@media(max-width:560px){.wf-row{grid-template-columns:20px 1fr}.wf-name,.wf-plan{grid-column:2}}.wf-res{display:flex;flex-direction:column;gap:3px;padding:8px 10px;border:1px solid #10b98155;border-radius:8px;background:#10b9810f;font-size:12.5px}.wf-res.warn{border-color:#f59e0b;background:#f59e0b14}.cv-wl-end{pointer-events:none}.vcw-row{border:1px solid var(--border, #e5e7eb);border-radius:8px}.vcw-row.open{border-color:#6366f1}.vcw-hd{display:grid;grid-template-columns:150px 1fr auto 16px;gap:8px;align-items:center;width:100%;padding:7px 10px;background:none;border:0;text-align:left;cursor:pointer;font:inherit;color:inherit}.vcw-body{padding:4px 10px 10px}.io-row.io-addr{grid-template-columns:minmax(120px,1.3fr) 80px minmax(160px,2fr) 64px minmax(110px,1.2fr) 100px 80px 90px}.pp-wired{margin:4px 0;padding:5px 8px;border-radius:6px;background:#6366f112}.pp-wired code{font-size:11.5px}.cv-sym-fail{position:absolute;left:100%;top:0;margin-left:2px;font-size:9px;font-weight:600;line-height:1;pointer-events:none;color:currentColor}.ci-grp{display:flex;flex-direction:column;gap:4px}.ve-row.ci-sub{margin-left:26px;padding-top:4px;padding-bottom:4px;grid-template-columns:minmax(0,1fr) auto}.ci-off{display:inline-flex;align-items:center;gap:3px;margin:2px 6px 2px 0;padding:1px 2px 1px 8px;border:1px solid var(--border);border-radius:999px}.ue-box,.ue-comp{border:1px solid var(--border);border-radius:8px;padding:8px 10px;margin:8px 0;display:flex;flex-direction:column;gap:5px}.ue-hd{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.ue-row{display:grid;grid-template-columns:18px minmax(120px,1fr) minmax(160px,2fr) auto;gap:6px;align-items:center}.ue-row.off input.field-inp{opacity:.45;text-decoration:line-through}.ue-comp{padding:0;gap:0}.ue-comp-hd{display:grid;grid-template-columns:1fr auto 16px;gap:8px;align-items:center;width:100%;padding:7px 10px;background:none;border:0;text-align:left;cursor:pointer;font:inherit;color:inherit}.ue-comp-body{padding:4px 10px 10px;display:flex;flex-direction:column;gap:5px}.ue-acts{display:flex;gap:6px;flex-wrap:wrap}.tb-menu-lbl{display:flex;flex-direction:column;gap:1px;min-width:0}.tb-menu-desc{font-size:11px;color:var(--text-secondary);font-weight:400;line-height:1.25;white-space:normal}.cd-elsum{margin:4px 0 0;padding:4px 8px;border-radius:6px;background:color-mix(in srgb,#f59e0b 8%,transparent)}.cv-sym-hint{position:absolute;left:-9px;top:-9px;width:16px;height:16px;border-radius:50%;display:grid;place-items:center;font-size:10px;background:#fef3c7;border:1px solid #f59e0b;box-shadow:0 1px 2px #00000026;z-index:3;pointer-events:auto;cursor:help}.cv-check-btn.hint{background:#fffbeb;color:#92400e;border-color:#fcd34d}.pp-hint{display:flex;flex-direction:column;gap:2px;margin:0 0 8px;padding:7px 9px;border-radius:8px;border:1px solid #fcd34d;background:#f59e0b14;font-size:12.5px}.pp-hint.info{border-color:color-mix(in srgb,#6366f1 40%,transparent);background:#6366f10f}.pp-hint .chip-btn{align-self:flex-start;margin-top:3px}.ve-row.hint-off{opacity:.5}@media print{.cv-sym-hint{display:none}}.cv-simflow{fill:none;stroke:#22c55e;stroke-width:5;stroke-opacity:.55;stroke-dasharray:10 8;animation:cvFlow .7s linear infinite;pointer-events:none}@keyframes cvFlow{to{stroke-dashoffset:-18}}@media(prefers-reduced-motion:reduce){.cv-simflow{animation:none;stroke-dasharray:none}}.cv-sym.sim-open{color:#16a34a;filter:drop-shadow(0 0 3px rgba(34,197,94,.7))}.cv-sym.sim-open .cv-sym-svg path,.cv-sym.sim-open .cv-sym-svg polygon,.cv-sym.sim-open .cv-sym-svg circle{fill:#22c55e59}.cv-sym.sim-closed{color:#dc2626;filter:drop-shadow(0 0 3px rgba(220,38,38,.6))}.cv-sym.sim-closed .cv-sym-svg path,.cv-sym.sim-closed .cv-sym-svg polygon,.cv-sym.sim-closed .cv-sym-svg circle{fill:#dc26264d}.cv-sym.sim-src{filter:drop-shadow(0 0 4px rgba(14,165,233,.8))}.cv-sim-bar{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);z-index:20;display:flex;align-items:center;gap:8px;flex-wrap:wrap;max-width:min(820px,94%);padding:6px 10px;border-radius:10px;background:var(--bg-surface, #fff);border:1px solid #22c55e;box-shadow:0 6px 18px #00000026;font-size:12.5px}.cv-sim-bar i{font-style:normal;font-weight:700}.cv-sim-bar i.g{color:#16a34a}.cv-sim-bar i.r{color:#dc2626}.cv-sim-v2{position:absolute;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;border:2.5px solid;pointer-events:auto;cursor:pointer;z-index:3}.cv-sim-v2.open{border-color:#16a34a;background:#22c55e4d}.cv-sim-v2.closed{border-color:#dc2626;background:#dc262640}.cv-sim-v2.unset{border-color:#94a3b8;border-style:dashed;background:#94a3b81f}.cv-simflow.rev{animation-direction:reverse}.cv-simarrow{font-size:9px;fill:#15803d;letter-spacing:21px;pointer-events:none}.ds-home{display:flex;flex-direction:column;gap:16px}.ds-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.ds-hero-id{display:flex;align-items:center;gap:14px;min-width:0}.ds-hero-ic{width:52px;height:52px;flex-shrink:0;display:grid;place-items:center;font-size:26px;border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,#6366f1 18%,var(--bg-surface)),color-mix(in srgb,#0ea5e9 18%,var(--bg-surface)));border:1px solid var(--border)}.ds-hero h1{color:var(--text-primary);font-size:24px;line-height:1.15;letter-spacing:-.01em;margin:0;text-wrap:balance}.ds-hero p{margin:3px 0 0;font-size:13.5px;color:var(--text-secondary);max-width:62ch}.ds-hero-acts{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.ds-hero-acts .btn-ghost{padding:8px 14px;font-size:13px}.ds-hero-new{width:auto;padding:9px 18px;font-size:13.5px}.ds-quick{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.ds-qk{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--bg-surface);color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.ds-qk:hover{border-color:var(--k-c);box-shadow:0 4px 14px color-mix(in srgb,var(--k-c) 18%,transparent);transform:translateY(-1px)}.ds-qk-ic{width:38px;height:38px;flex-shrink:0;display:grid;place-items:center;border-radius:10px;font-size:17px;font-weight:700;color:var(--k-c);background:color-mix(in srgb,var(--k-c) 13%,transparent)}.ds-qk-tx{display:flex;flex-direction:column;min-width:0;flex:1}.ds-qk-tx b{font-size:13.5px;color:var(--text-primary)}.ds-qk-tx em{font-style:normal;font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ds-qk-plus{font-size:18px;color:var(--text-muted);transition:color .15s}.ds-qk:hover .ds-qk-plus{color:var(--k-c)}.ds-home .ds-new{margin-bottom:0}.ds-home .dsf{margin-top:0;gap:16px;grid-template-columns:232px 1fr}.ds-home .dsf-side{padding:10px 8px;border-radius:14px;background:var(--bg-surface);gap:2px}.ds-home .dsf-sec{margin:12px 0 4px;padding:0 10px;font-size:10.5px;letter-spacing:.08em}.ds-home .dsf-sec.first{margin-top:2px}.ds-home .dsf-tree-row{padding:7px 10px;border-radius:8px;font-size:13.5px;gap:6px}.ds-home .dsf-tree-row.on{background:color-mix(in srgb,#6366f1 14%,transparent);color:var(--brand-fg)}.ds-home .dsf-tree-row em{font-variant-numeric:tabular-nums;background:var(--bg-elevated);border-radius:999px;padding:0 7px;line-height:18px}.ds-home .dsf-tree-row em:empty{display:none}.ds-home .dsf-newf{margin:6px 2px 0;padding:7px 10px;border-radius:8px}.ds-home .dsf-main{padding:0;border-radius:14px;background:var(--bg-surface);overflow:hidden}.dsf-topbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg-elevated) 55%,var(--bg-surface))}.ds-home .dsf-crumbs{padding:10px 14px 0;margin-bottom:6px}.ds-home .dsf-crumb{color:var(--text-primary);font-weight:600;font-size:14px}.dsf-count{font-size:12px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.ds-home .dsf-body{padding:4px 14px 10px}.ds-home .dsf-list{margin:8px 14px 14px}.dsf-hint{padding:8px 14px;border-top:1px solid var(--border);font-size:11.5px;color:var(--text-muted)}.ds-search{display:flex;align-items:center;gap:8px;flex:1 1 260px;max-width:420px;padding:0 10px;height:36px;border:1px solid var(--border);border-radius:9px;background:var(--bg-surface);color:var(--text-muted);transition:border-color .15s,box-shadow .15s}.ds-search:focus-within{border-color:var(--brand-fg);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-fg) 18%,transparent);color:var(--brand-fg)}.ds-search input{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--text-primary);font:inherit;font-size:13.5px}.ds-search-x{border:none;background:var(--bg-elevated);color:var(--text-secondary);width:20px;height:20px;border-radius:50%;cursor:pointer;line-height:1;font-size:14px}.ds-home .dsf-ctrls .field-inp{height:34px;padding-top:0;padding-bottom:0}.ds-home .dsf-seg button{height:32px}.ds-home .tk-board-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.ds-home .tk-board-card.dsc{border-radius:14px;border:1px solid var(--border);background:var(--bg-surface);box-shadow:none;transition:border-color .15s,box-shadow .15s,transform .15s}.ds-home .tk-board-card.dsc.shared{box-shadow:none}.ds-home .tk-board-card.dsc:hover{border-color:color-mix(in srgb,var(--k-c) 55%,var(--border));box-shadow:0 8px 22px #0f172a1a;transform:translateY(-2px)}.ds-home .tk-board-card.dsc.dsf-sel{border-color:#6366f1;box-shadow:0 0 0 2px color-mix(in srgb,#6366f1 45%,transparent)}.ds-home .dsc-thumb{height:150px;position:relative;border-bottom:1px solid var(--border);background:#fff;background-image:radial-gradient(#e2e8f0 1px,transparent 1px);background-size:14px 14px}.ds-home .dsc-thumb:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--k-c)}.ds-home .dsc-thumb .dsf-thumb{background:transparent;padding:12px}.dsc-empty{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:26px;color:color-mix(in srgb,var(--k-c) 60%,#94a3b8)}.dsc-empty em{font-style:normal;font-size:11.5px;color:#94a3b8}.ds-home .tk-board-body{padding:12px 14px;gap:8px}.ds-home .tk-board-title{color:var(--text-primary);font-size:14.5px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dsc-n{font-size:12px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.dsc-chip{font-size:11px;color:var(--text-secondary);background:var(--bg-elevated);border-radius:999px;padding:1px 8px}.dsc-extra{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.dsc-foot{display:flex;align-items:center;gap:8px;padding-top:10px;border-top:1px solid var(--border)}.dsc-av{width:26px;height:26px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;font-size:10.5px;font-weight:700;color:#fff;background:linear-gradient(135deg,#6366f1,#0ea5e9)}.dsc-who{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.25}.dsc-who b{color:var(--text-primary);font-size:12.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dsc-who em{font-style:normal;font-size:11.5px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.dsc-acc{font-size:12px;color:var(--text-secondary);white-space:nowrap}.ds-home .dsf-star{top:10px;left:10px;width:28px;height:28px;border-radius:8px;background:#ffffffeb;box-shadow:0 1px 4px #0f172a26;color:#64748b}.ds-home .dsf-star.on{color:#f59e0b}.ds-home .dsf-open{top:10px;right:10px;padding:4px 12px;border-radius:8px;font-weight:600;background:#4f46e5;color:#fff;border-color:#4f46e5;box-shadow:0 2px 8px #4f46e559}.ds-home .dsf-folder{color:var(--text-primary);border-radius:14px;padding:16px;background:var(--bg-surface);transition:border-color .15s,box-shadow .15s}.ds-home .dsf-folder:hover{box-shadow:0 6px 18px #0f172a14}@media(max-width:900px){.ds-home .dsf{grid-template-columns:1fr}.ds-hero-acts{width:100%}}.ds-topacts{display:inline-flex;align-items:center;gap:6px;margin-left:10px}.ds-tbtn{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--border);border-radius:9px;background:var(--bg-surface);color:var(--text-primary);font-size:16px;line-height:1;cursor:pointer;transition:border-color .15s,background .15s}.ds-tbtn:hover{border-color:#6366f1;background:color-mix(in srgb,#6366f1 8%,var(--bg-surface))}.ds-tbtn.primary{background:#4f46e5;border-color:#4f46e5;color:#fff;font-size:22px;font-weight:500;box-shadow:0 2px 8px #4f46e559}.ds-tbtn.primary:hover{background:#4338ca}.ds-tbtn.primary.on{background:var(--bg-surface);color:var(--text-primary);border-color:var(--border);box-shadow:none}.ds-tbtn:disabled{opacity:.45;cursor:not-allowed}.ds-home .dsf-folder.dsc-folder{padding:0;gap:0;overflow:hidden;display:flex;flex-direction:column;min-height:270px}.dsc-fthumb{height:150px;flex-shrink:0;display:grid;place-items:center;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--f-c) 10%,var(--bg-surface));position:relative}.dsc-fthumb:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--f-c)}.dsc-fbody{flex:1;display:flex;flex-direction:column;gap:8px;padding:12px 14px;min-width:0}.ds-home .dsc-folder .dsf-fname{font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dsc-ffoot{margin-top:auto;display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding-top:10px;border-top:1px solid var(--border);min-height:37px}.dsc-ffoot em{font-style:normal}.ds-home .dsc-folder .dsf-badge,.ds-home .dsc-folder .dsf-proj{align-self:center}.ds-home .tk-board-grid{grid-auto-rows:1fr}.ds-home .tk-board-card.dsc .tk-board-body{flex:1}.ds-home .tk-board-card.dsc .dsc-foot{margin-top:auto}.q-tabs{display:flex;align-items:center;gap:6px;margin-top:12px;flex-wrap:wrap}.q-tabs>button{border:1px solid var(--border);background:var(--bg-surface);color:var(--text-secondary);font:inherit;font-size:13.5px;font-weight:600;padding:8px 16px;border-radius:9px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.q-tabs>button.on{background:color-mix(in srgb,#6366f1 12%,var(--bg-surface));border-color:#6366f1;color:var(--text-primary)}.q-tabs .muted{margin-left:6px}.q-tab-on{font-style:normal;font-size:10.5px;font-weight:700;color:#fff;background:#10b981;border-radius:999px;padding:0 7px;line-height:16px}.prp{display:flex;flex-direction:column;gap:10px;margin-top:12px}.prp-top,.prp-pdfs{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.prp-pdfs{padding-top:10px;padding-bottom:10px}.prp-switch{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;cursor:pointer}.prp-preset{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.prp-preset select{width:auto}.prp-grid{display:grid;grid-template-columns:320px 1fr;gap:12px;align-items:start}.prp-grid.off{opacity:.55}.prp-list{display:flex;flex-direction:column;gap:3px;padding:10px;position:sticky;top:8px}.prp-list-hd{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);padding:2px 6px 6px}.prp-item{display:flex;align-items:center;gap:7px;padding:7px 8px;border-radius:8px;cursor:pointer;font-size:13.5px;border:1px solid transparent}.prp-item:hover{background:var(--bg-elevated)}.prp-item.on{background:color-mix(in srgb,#6366f1 12%,transparent);border-color:color-mix(in srgb,#6366f1 40%,transparent)}.prp-item.dim .prp-item-t{color:var(--text-muted)}.prp-item-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.prp-drag{cursor:grab;color:var(--text-muted);font-size:11px;letter-spacing:-2px}.prp-kind{font-style:normal;font-size:10.5px;font-weight:700;border-radius:999px;padding:1px 7px;white-space:nowrap}.prp-kind.k-auto{color:#0369a1;background:color-mix(in srgb,#0369a1 12%,transparent)}.prp-kind.k-co{color:#7c3aed;background:color-mix(in srgb,#7c3aed 12%,transparent)}.prp-kind.k-own{color:#b45309;background:color-mix(in srgb,#b45309 13%,transparent)}.prp-fixed{cursor:default;border-top:1px dashed var(--border);border-radius:0;margin-top:4px;padding-top:10px}.prp-fixed:hover{background:none}.prp-lib{margin-top:8px;border:1px dashed var(--border);background:none;color:var(--text-secondary);font:inherit;font-size:12.5px;padding:7px;border-radius:8px;cursor:pointer}.prp-lib:hover{border-color:#6366f1;color:var(--text-primary)}.prp-edit{display:flex;flex-direction:column;gap:10px;min-width:0}.prp-edit-hd{display:flex;align-items:baseline;gap:10px}.prp-edit-hd h3{margin:0}.prp-own-hd{display:flex;align-items:center;justify-content:space-between;gap:10px}.prp-cover-pic{max-width:320px;max-height:180px;object-fit:contain;border:1px solid var(--border);border-radius:8px;background:#fff}.prp-revs{display:flex;flex-direction:column;gap:6px}.prp-rev{display:grid;grid-template-columns:52px 92px 1fr 1fr;gap:8px;align-items:start;font-size:13px}.prp-rev.hd{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.prp-rev textarea{min-height:0;resize:vertical}@media(max-width:1000px){.prp-grid{grid-template-columns:1fr}.prp-list{position:static}}.prl-grid{display:grid;grid-template-columns:280px 1fr;gap:12px;align-items:start;margin-top:12px}.prl-list{display:flex;flex-direction:column;gap:3px;padding:10px;position:sticky;top:8px}.prl-item{display:flex;align-items:center;gap:8px;text-align:left;border:1px solid transparent;background:none;color:var(--text-primary);font:inherit;font-size:13.5px;padding:8px 10px;border-radius:8px;cursor:pointer}.prl-item:hover{background:var(--bg-elevated)}.prl-item.on{background:color-mix(in srgb,#6366f1 12%,transparent);border-color:color-mix(in srgb,#6366f1 40%,transparent);font-weight:600}.prl-item-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prl-item em{font-style:normal;font-size:10.5px;color:#b45309}.prl-add{margin-top:6px;border:1px dashed var(--border);background:none;color:var(--text-secondary);font:inherit;font-size:13px;padding:8px;border-radius:8px;cursor:pointer}.prl-add:hover{border-color:#6366f1;color:var(--text-primary)}.prl-new{display:flex;gap:6px;margin-top:6px}.prl-edit{display:flex;flex-direction:column;gap:10px;min-width:0}.prl-edit-hd{display:flex;gap:10px;align-items:center}.prl-title{font-size:17px;font-weight:700;flex:1}.prl-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:6px}.prl-cover img{max-width:100%;max-height:260px;object-fit:contain;border:1px solid var(--border);border-radius:8px;background:#fff;margin-top:6px}.prl-sig{max-height:54px;max-width:200px;object-fit:contain;background:#fff;border:1px solid var(--border);border-radius:6px;padding:4px}.prl-pics{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-top:6px}.prl-pic{display:flex;flex-direction:column;gap:6px;border:1px solid var(--border);border-radius:10px;padding:8px;background:var(--bg-surface)}.prl-pic img{width:100%;height:130px;object-fit:contain;background:#fff;border-radius:6px}.prl-pic-add{align-items:center;justify-content:center;min-height:150px;border-style:dashed;color:var(--text-secondary);cursor:pointer;font-size:13px}.prl-pic-add:hover{border-color:#6366f1;color:var(--text-primary)}.prl-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:10px}.prl-paper{background:#fff;color:#262b33;border:1px solid var(--border);border-radius:10px;padding:18px 22px;font-size:13.5px;line-height:1.55;max-height:520px;overflow:auto}.prl-paper ul{padding-left:18px}.prl-paper p{margin:0 0 8px}.prl-paper-pics{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-top:10px}.prl-paper-pics img{width:100%;height:120px;object-fit:contain}.prl-paper-pics figcaption{font-size:11.5px;color:#5b6270;text-align:center;font-style:italic}@media(max-width:1000px){.prl-grid{grid-template-columns:1fr}.prl-list{position:static}}.phd{display:flex;flex-direction:column;gap:10px}.phd-tpls{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}.phd-tpl{display:flex;flex-direction:column;gap:4px;text-align:left;border:1.5px solid var(--border);border-radius:10px;background:var(--bg-surface);color:var(--text-primary);font:inherit;padding:8px;cursor:pointer}.phd-tpl:hover{border-color:#6366f1}.phd-tpl.on{border-color:#4f46e5;box-shadow:0 0 0 2px color-mix(in srgb,#4f46e5 30%,transparent)}.phd-tpl b{font-size:13px}.phd-tpl span{font-size:11.5px;color:var(--text-secondary);line-height:1.35}.phd-seg{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-top:4px;max-width:100%}.phd-seg button{border:none;background:var(--bg-surface);color:var(--text-secondary);font:inherit;font-size:12px;padding:6px 8px;cursor:pointer;white-space:nowrap}.phd-seg button.on{background:color-mix(in srgb,#6366f1 14%,var(--bg-surface));color:var(--text-primary);font-weight:600}.phd-chk{display:inline-flex;align-items:center;gap:6px;font-size:13px}.phd-preview{border:1px solid var(--border);border-radius:10px;background:#e9ecf1;padding:14px}.phd-mock{background:#fff;color:#1d2129;border-radius:4px;position:relative;overflow:hidden;box-shadow:0 1px 4px #0000001f}.phd-mock:not(.small){max-width:640px;margin:0 auto;aspect-ratio:595 / 300}.phd-mock.small{height:54px;box-shadow:none;border:1px solid #e3e6eb}.phd-row,.phd-cen,.phd-band{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 6.7% 10px}.phd-mock.small .phd-row,.phd-mock.small .phd-cen,.phd-mock.small .phd-band{padding:8px 8px 6px}.phd-row.rule,.phd-cen.rule{border-bottom:1px solid #e3e6eb}.phd-row.split{border-bottom:1px solid #e3e6eb;box-shadow:inset 0 -2px 0 -0px transparent;position:relative}.phd-row.split:after{content:"";position:absolute;left:6.7%;bottom:-1px;width:20%;height:2.5px;background:var(--hc)}.phd-mock.small .phd-row.split:after{left:8px}.phd-row.acc{border-left:6px solid var(--hc)}.phd-row.min{padding-top:10px;padding-bottom:6px}.phd-cen{flex-direction:column;justify-content:center;gap:4px}.phd-band{background:var(--hc)}.phd-chip{background:#fff;border-radius:5px;padding:4px 6px;display:inline-flex}.phd-rt{font-size:11px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phd-mock.small .phd-rt{font-size:7px}.phd-rt.w{color:#fff;font-weight:700}.phd-split{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}.phd-split b{color:var(--hc);font-size:12px}.phd-split span{font-size:10px;color:#6b7280}.phd-mock.small .phd-split b{font-size:7.5px}.phd-mock.small .phd-split span{font-size:6.5px}.phd-mlogo{display:inline-block;border-radius:2px;opacity:.85}.phd-co{font-size:15px;color:#14213d}.phd-co.sm{font-size:9px;letter-spacing:.08em}.phd-mock.small .phd-co.sm{font-size:6.5px}.phd-none{display:grid;place-items:center;height:100%;font-size:11px;color:#9aa1ac}.phd-body{padding:16px 6.7%;display:flex;flex-direction:column;gap:7px}.phd-body b{font-size:15px;color:#14213d}.phd-body i{width:34px;height:3px;background:var(--hc)}.phd-body p{height:6px;background:#e8ebf0;border-radius:3px;margin:0}.phd-body p.short{width:60%}.prl-grid{grid-template-columns:240px minmax(0,1fr) minmax(320px,430px)}.prl-prev{position:sticky;top:8px;padding:10px;max-height:calc(calc(100vh / var(--ui-zoom-vu, 1)) - 24px);overflow-y:auto}@media(max-width:1350px){.prl-grid{grid-template-columns:240px minmax(0,1fr)}.prl-prev{grid-column:2;position:static;max-height:none}}@media(max-width:1000px){.prl-grid{grid-template-columns:1fr}.prl-prev{grid-column:auto}}.phd-img{line-height:0}.phd-img img{width:100%;max-height:150px;object-fit:contain;display:block}.phd-img.rule{border-bottom:1px solid #e3e6eb}.phd-img-ph{display:grid;place-items:center;height:70px;color:#fff;font-size:13px;font-weight:700;line-height:1.2}.phd-mock.small .phd-img-ph{height:52px;font-size:8px}.phd-img-thumb{max-width:340px;max-height:70px;object-fit:contain;border:1px solid var(--border);border-radius:6px;background:#fff}.phd-mock.bare{box-shadow:none;border-radius:0;aspect-ratio:auto;max-width:none}.ppv{display:flex;flex-direction:column;gap:8px}.ppv-hd{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.ppv-scale{position:relative;overflow:hidden;background:#dfe3e9;border-radius:8px}.ppv-sheet{position:absolute;left:0;top:0;width:595px;transform-origin:0 0;background:#fff;color:#262b33;font-family:Helvetica,Arial,sans-serif;box-shadow:0 2px 10px #0000002e}.ppv-body{padding:24px 40px 60px}.ppv-body h2{margin:0;font-size:19px;color:#14213d;font-weight:700}.ppv-bar{display:block;width:44px;height:3px;background:#c8232c;margin:6px 0 16px}.ppv-text{font-size:10.5px;line-height:1.42;color:#262b33}.ppv-text p{margin:0 0 8px}.ppv-text ul,.ppv-text ol{margin:0 0 8px;padding-left:14px}.ppv-text li{margin-bottom:3px}.ppv-text.letter{font-size:11px}.ppv-pics{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:10px}.ppv-pics.one{grid-template-columns:1fr}.ppv-pics figure{margin:0}.ppv-pics img{width:100%;height:170px;object-fit:contain;display:block}.ppv-pics.one img{height:300px}.ppv-pics figcaption{font-size:9px;font-style:italic;color:#5b6270;text-align:center;margin-top:3px}.ppv-date{text-align:right;font-size:10px;color:#4b5260;margin:0 0 14px}.ppv-sign{font-size:11px;margin:10px 0 6px}.ppv-sig{max-width:150px;max-height:52px;object-fit:contain;display:block;margin-bottom:4px}.ppv-signer{display:block;font-size:11px;color:#14213d}.ppv-signer-t{font-size:10px;color:#4b5260}.ppv-ph{height:7px;background:#e8ebf0;border-radius:3px;margin:0 0 8px}.ppv-ph.short{width:60%}.ppv-break{position:absolute;left:0;right:0;height:0;border-top:2px dashed #9aa3b2}.ppv-break span{position:absolute;right:8px;top:-9px;background:#9aa3b2;color:#fff;font-size:9px;padding:1px 6px;border-radius:6px}.ppv-foot{position:absolute;left:40px;right:40px;display:flex;justify-content:space-between;font-size:8px;color:#8a8f98;border-top:.5px solid #e3e6eb;padding-top:4px}.ppv-cover{position:relative;min-height:842px;padding:52px 40px 40px 46px}.ppv-cover-bar{position:absolute;left:0;top:0;bottom:0;width:10px;background:#c8232c}.ppv-cover-top{display:flex;justify-content:space-between;align-items:flex-start}.ppv-cover-top img{max-width:230px;max-height:84px;object-fit:contain}.ppv-cover-top>span{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.ppv-cover-top em{font-style:normal;font-size:9px;color:#6b7280}.ppv-cover-top b{font-size:11.5px;color:#14213d}.ppv-cover h1{margin:90px 0 8px;font-size:30px;color:#c8232c;line-height:1.15}.ppv-cover-sub{font-size:15px;color:#1f2633;margin:0}.ppv-cover-pic{display:block;width:100%;max-height:270px;object-fit:contain;margin-top:30px}.ppv-cover-boxes{position:absolute;left:46px;right:40px;bottom:52px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.ppv-cover-boxes>div{background:#f6f7fa;border-left:3px solid #C8232C;padding:12px 14px;min-height:150px;display:flex;flex-direction:column;gap:3px;font-size:9.5px;color:#3d4452}.ppv-cover-boxes em{font-style:normal;font-weight:700;font-size:8.5px;color:#c8232c;letter-spacing:.08em}.ppv-cover-boxes b{font-size:11px;color:#14213d}.pbk{display:flex;flex-direction:column;gap:10px}.pbk-item{border:1px solid var(--border);border-radius:10px;background:var(--bg-surface);padding:8px 10px 10px;display:flex;flex-direction:column;gap:8px;transition:box-shadow .2s,border-color .2s}.pbk-item.flash{border-color:#6366f1;box-shadow:0 0 0 3px color-mix(in srgb,#6366f1 25%,transparent)}.pbk-hd{display:flex;align-items:center;justify-content:space-between;gap:8px}.pbk-kind{font-size:12px;font-weight:700;color:var(--text-secondary)}.pbk-ctl{display:inline-flex;gap:4px;align-items:center}.pbk-ctl .chip-btn{padding:2px 8px}.pbk-ins{width:auto;padding:3px 26px 3px 8px;font-size:12px}.pbk-img{display:flex;flex-direction:column;gap:8px}.pbk-img>img{max-width:100%;max-height:200px;object-fit:contain;background:#fff;border:1px solid var(--border);border-radius:8px;align-self:flex-start}.pbk-opts{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.pbk-opts .field-inp{flex:1 1 200px}.pbk-seg{display:inline-flex;border:1px solid var(--border);border-radius:7px;overflow:hidden}.pbk-seg button{border:none;background:var(--bg-surface);color:var(--text-secondary);font:inherit;font-size:12px;padding:4px 8px;cursor:pointer;white-space:nowrap}.pbk-seg button.on{background:color-mix(in srgb,#6366f1 14%,var(--bg-surface));color:var(--text-primary);font-weight:600}.pbk-gal{display:flex;flex-direction:column;gap:8px}.pbk-gal-grid{display:grid;gap:8px}.pbk-gal-it{display:flex;flex-direction:column;gap:4px;border:1px solid var(--border);border-radius:8px;padding:6px}.pbk-gal-it img{width:100%;height:100px;object-fit:contain;background:#fff}.pbk-add{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px;border:1px dashed var(--border);border-radius:10px}.ppv-blk{position:relative;border-radius:3px}.ppv-blk.live{cursor:grab}.ppv-blk.live:hover{outline:1px dashed #6366f1;outline-offset:3px}.ppv-blk.over{outline:2px solid #6366f1;outline-offset:3px}.ppv-x{position:absolute;top:-8px;right:-8px;width:18px;height:18px;border-radius:50%;border:none;background:#ef4444;color:#fff;font-size:10px;line-height:18px;cursor:pointer;display:none;z-index:2}.ppv-blk.live:hover .ppv-x{display:block}.ppv-img{margin:6px 0 12px;display:flex;flex-direction:column}.ppv-img img{width:100%;max-height:360px;object-fit:contain}.ppv-img.s-s{width:35%}.ppv-img.s-m{width:55%}.ppv-img.s-l{width:75%}.ppv-img.s-full{width:100%}.ppv-img.a-center{margin-left:auto;margin-right:auto}.ppv-img.a-right{margin-left:auto}.ppv-img figcaption{font-size:9px;font-style:italic;color:#5b6270;text-align:center;margin-top:3px}.ppv-hr{border:none;border-top:.8px solid #d5dae2;margin:6px 0 8px}.ppv-pb{border-top:1.5px dashed #9aa3b2;color:#8a93a3;font-size:9px;text-align:center;padding-top:2px;margin:6px 0}.ppv-empty{border:1px dashed #c7cdd6;color:#8a93a3;font-size:10px;text-align:center;padding:18px;margin:6px 0;border-radius:4px}.prl-grid.wide{grid-template-columns:240px minmax(0,1fr)}.prl-mode{display:grid;grid-template-columns:1fr 1fr;gap:8px}.prl-mode button{display:flex;flex-direction:column;gap:2px;text-align:left;border:1.5px solid var(--border);border-radius:10px;background:var(--bg-surface);color:var(--text-primary);font:inherit;padding:8px 12px;cursor:pointer}.prl-mode button span{font-size:11.5px;color:var(--text-secondary)}.prl-mode button.on{border-color:#4f46e5;background:color-mix(in srgb,#6366f1 8%,var(--bg-surface))}.pdz{display:flex;flex-direction:column;gap:8px;outline:none}.pdz-tools,.pdz-props{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--bg-surface)}.pdz-props{position:sticky;top:4px;z-index:6;box-shadow:0 2px 8px #0f172a14}.pdz-grp{display:inline-flex;flex-wrap:wrap;gap:4px;align-items:center;padding-right:10px;border-right:1px solid var(--border)}.pdz-grp:last-child{border-right:none}.pdz-grp>b{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-right:4px}.pdz-grp button,.pdz-btn{border:1px solid var(--border);background:var(--bg-surface);color:var(--text-primary);font:inherit;font-size:12.5px;padding:5px 9px;border-radius:7px;cursor:pointer}.pdz-grp button:hover,.pdz-btn:hover{border-color:#6366f1}.pdz-grp button:disabled{opacity:.4;cursor:default}.pdz-grp select,.pdz-props select{width:auto;padding:4px 26px 4px 8px;font-size:12.5px}.pdz-kind{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#4f46e5}.pdz-mini{min-width:28px;height:28px;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-primary);border-radius:6px;cursor:pointer;font:inherit;font-size:13px;padding:0 6px}.pdz-mini.on{background:color-mix(in srgb,#6366f1 16%,var(--bg-surface));border-color:#6366f1}.pdz-mini.danger:hover{border-color:#ef4444}.pdz-num{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:var(--text-secondary)}.pdz-num input[type=number]{width:58px;padding:3px 5px;border:1px solid var(--border);border-radius:6px;background:var(--bg-elevated);color:var(--text-primary);font:inherit;font-size:12px}.pdz-num input[type=range]{width:80px}.pdz-col{display:inline-flex;align-items:center;gap:2px}.pdz-col input[type=color]{width:28px;height:26px;padding:0;border:1px solid var(--border);border-radius:6px;background:none;cursor:pointer}.pdz-lbl{font-size:11.5px;color:var(--text-secondary)}.pdz-chk{display:inline-flex;align-items:center;gap:5px;font-size:12.5px}.pdz-sep{width:1px;height:22px;background:var(--border)}.pdz-body{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:10px;align-items:start}@media(max-width:1100px){.pdz-body{grid-template-columns:1fr}}.pdz-stage{background:#d9dee6;border-radius:10px;padding:12px;overflow:auto;max-height:calc(calc(100vh / var(--ui-zoom-vu, 1)) - 150px);display:flex;justify-content:center}.pdz-scale{position:relative;flex-shrink:0}.pdz-page{position:absolute;left:0;top:0;width:595px;height:842px;transform-origin:0 0;box-shadow:0 3px 14px #00000038;overflow:hidden;color:#1d2129}.pdz-header{position:absolute;left:0;right:0;top:0;opacity:.55;pointer-events:none;outline:1px dashed #9aa3b2}.pdz-header .phd-mock{box-shadow:none}.pdz-margin{position:absolute;left:40px;right:40px;top:40px;bottom:40px;border:1px dashed rgba(99,102,241,.18);pointer-events:none}.pdz-el{position:absolute;box-sizing:border-box;cursor:move;-webkit-user-select:none;user-select:none}.pdz-el.locked{cursor:default}.pdz-el:hover:not(.sel){outline:1px solid rgba(99,102,241,.5)}.pdz-el.sel{outline:1.5px solid #4f46e5}.pdz-el.over{outline:1.5px dashed #ef4444}.pdz-txt{width:100%;height:100%;overflow:hidden;white-space:pre-wrap;word-break:break-word;box-sizing:border-box}.pdz-edit{width:100%;height:100%;border:none;outline:2px solid #6366f1;resize:none;box-sizing:border-box;background:#ffffffeb;cursor:text}.pdz-var{background:#e0e7ff;color:#3730a3;border-radius:3px;padding:0 2px}.pdz-el img{width:100%;height:100%;display:block;box-sizing:border-box;pointer-events:none}.pdz-ph{width:100%;height:100%;display:grid;place-items:center;background:#eef0f4;color:#8a93a3;font-size:12px}.pdz-shape{width:100%;height:100%;box-sizing:border-box}.pdz-line{overflow:visible;position:absolute;left:0;top:0}.pdz-warn{position:absolute;right:-8px;top:-10px;background:#ef4444;color:#fff;font-size:10px;border-radius:9px;padding:0 5px;line-height:16px}.pdz-h{position:absolute;width:9px;height:9px;background:#fff;border:1.5px solid #4f46e5;border-radius:2px;z-index:3}.pdz-h.h-nw{left:-5px;top:-5px;cursor:nwse-resize;transform-origin:100% 100%}.pdz-h.h-n{left:calc(50% - 5px);top:-5px;cursor:ns-resize}.pdz-h.h-ne{right:-5px;top:-5px;cursor:nesw-resize}.pdz-h.h-e{right:-5px;top:calc(50% - 5px);cursor:ew-resize}.pdz-h.h-se{right:-5px;bottom:-5px;cursor:nwse-resize}.pdz-h.h-s{left:calc(50% - 5px);bottom:-5px;cursor:ns-resize}.pdz-h.h-sw{left:-5px;bottom:-5px;cursor:nesw-resize}.pdz-h.h-w{left:-5px;top:calc(50% - 5px);cursor:ew-resize}.pdz-rot{position:absolute;left:50%;top:-30px;width:20px;height:20px;border-radius:50%;background:#fff;border:1.5px solid #4f46e5;color:#4f46e5;font-size:12px;line-height:17px;text-align:center;cursor:grab;z-index:3}.pdz-guide{position:absolute;background:#ec4899;pointer-events:none;z-index:5}.pdz-guide.v{top:0;bottom:0;width:1px}.pdz-guide.h{left:0;right:0;height:1px}.pdz-layers{display:flex;flex-direction:column;gap:3px;border:1px solid var(--border);border-radius:10px;padding:8px;background:var(--bg-surface);max-height:calc(calc(100vh / var(--ui-zoom-vu, 1)) - 150px);overflow:auto}.pdz-layer{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:6px;cursor:pointer;font-size:12.5px}.pdz-layer:hover{background:var(--bg-elevated)}.pdz-layer.on{background:color-mix(in srgb,#6366f1 14%,transparent)}.pdz-layer-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdz-layer em{font-style:normal;color:#ef4444}.pdz-layer .pdz-mini{min-width:22px;height:22px;font-size:11px}.pdz-help{margin-top:8px;line-height:1.45}.qb-topbar{display:inline-flex;align-items:center;gap:4px;margin-left:10px}.qb-topbar>button{border:1px solid var(--border);background:var(--bg-surface);color:var(--text-secondary);font:inherit;font-size:12.5px;font-weight:600;padding:5px 11px;border-radius:8px;cursor:pointer;white-space:nowrap}.qb-topbar>button.on{border-color:#6366f1;color:var(--text-primary);background:color-mix(in srgb,#6366f1 12%,var(--bg-surface))}.qb-topbar>button.primary{background:#4f46e5;border-color:#4f46e5;color:#fff}.qb-topbar>button:disabled{opacity:.5}.qb-topbar-sep{width:1px;height:20px;background:var(--border);margin:0 4px}.prl-mode{display:inline-flex;grid-template-columns:none;gap:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;align-self:flex-start}.prl-mode button{display:inline-flex;flex-direction:row;border:none;border-radius:0;padding:5px 12px;font-size:12.5px;font-weight:600;color:var(--text-secondary);background:var(--bg-surface)}.prl-mode button.on{background:color-mix(in srgb,#6366f1 14%,var(--bg-surface));color:var(--text-primary);border:none}.pdz-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:6px 8px;border:1px solid var(--border);border-radius:10px;background:var(--bg-surface)}.pdz-top-grp{display:inline-flex;align-items:center;gap:4px;padding-left:10px;border-left:1px solid var(--border)}.pdz-top-sel{font-size:12px;font-weight:600;color:#4f46e5;margin-right:4px}.pdz-zoom{width:auto;padding:4px 26px 4px 8px;font-size:12.5px}.pdz-badge{font-style:normal;font-size:11.5px;font-weight:600;color:#b91c1c;background:color-mix(in srgb,#ef4444 12%,transparent);border-radius:999px;padding:2px 9px}.pdz-body{grid-template-columns:minmax(0,1fr) 300px}.pdz-body.ro{grid-template-columns:1fr}.pdz-stage{max-height:calc(calc(100vh / var(--ui-zoom-vu, 1)) - 130px);min-height:360px}.pdz-stage.strip{min-height:0;max-height:none;padding:16px 12px}.pdz-panel{position:sticky;top:4px;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:12px;background:var(--bg-surface);max-height:calc(calc(100vh / var(--ui-zoom-vu, 1)) - 130px);overflow:hidden}.pdz-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--border)}.pdz-tabs button{display:flex;flex-direction:column;align-items:center;gap:1px;border:none;background:none;color:var(--text-secondary);font:inherit;font-size:11.5px;font-weight:600;padding:8px 2px 7px;cursor:pointer;position:relative;border-bottom:2px solid transparent}.pdz-tabs button span{font-size:15px;line-height:1}.pdz-tabs button.on{color:#4f46e5;border-bottom-color:#4f46e5;background:color-mix(in srgb,#6366f1 6%,transparent)}.pdz-tabs button em{position:absolute;top:4px;right:10px;font-style:normal;font-size:9.5px;background:var(--bg-elevated);color:var(--text-secondary);border-radius:999px;padding:0 5px}.pdz-pane{padding:10px;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.pdz-sec{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.pdz-pane>.pdz-sec:first-child,.pdz-sel-hd+.pdz-sec{margin-top:0;border-top:none;padding-top:0}.pdz-preset{text-align:left;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-primary);border-radius:8px;padding:8px 10px;cursor:pointer;font-family:Helvetica,Arial,sans-serif}.pdz-preset:hover{border-color:#6366f1}.pdz-preset.p-title{font-size:20px;font-weight:700}.pdz-preset.p-head{font-size:16px;font-weight:700}.pdz-preset.p-sub{font-size:13px;font-weight:700;color:#c8232c}.pdz-preset.p-body{font-size:12px}.pdz-preset.p-cap{font-size:11px;font-style:italic;color:var(--text-secondary)}.pdz-chips{display:flex;flex-wrap:wrap;gap:4px}.pdz-chips button{border:1px solid #c7d2fe;background:#eef2ff;color:#3730a3;border-radius:999px;font:inherit;font-size:11px;padding:2px 8px;cursor:pointer}.pdz-shapes{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.pdz-shapes button{height:52px;border:1px solid var(--border);background:var(--bg-elevated);border-radius:8px;cursor:pointer;display:grid;place-items:center}.pdz-shapes button:hover{border-color:#6366f1}.ic-rect{width:30px;height:20px;background:#c7d2fe}.ic-rect.r{border-radius:6px;background:#bae6fd}.ic-circ{width:24px;height:24px;border-radius:50%;background:#fde68a}.ic-line{width:30px;height:2px;background:#14213d;transform:rotate(-30deg)}.ic-bar{width:22px;height:4px}.ic-band{width:34px;height:12px}.ic-side{width:6px;height:30px}.pdz-upload{border:1.5px dashed var(--border);border-radius:8px;padding:12px;text-align:center;font-size:12.5px;color:var(--text-secondary);cursor:pointer}.pdz-upload:hover{border-color:#6366f1;color:var(--text-primary)}.pdz-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.pdz-thumbs button{border:1px solid var(--border);background:#fff;border-radius:6px;padding:3px;cursor:pointer;height:56px}.pdz-thumbs img{width:100%;height:100%;object-fit:contain}.pdz-empty{padding:10px 2px}.pdz-sel-hd{display:flex;align-items:center;gap:6px;font-size:13px}.pdz-row{display:grid;grid-template-columns:74px 1fr;gap:6px;align-items:center}.pdz-rl{font-size:11.5px;color:var(--text-secondary)}.pdz-rv{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.pdz-rv select{width:100%;padding:4px 26px 4px 8px;font-size:12.5px}.pdz-ta{font-size:12.5px;min-height:0;resize:vertical}.pdz-grid4{display:grid;grid-template-columns:1fr 1fr;gap:4px 8px}.pdz-grid4 .pdz-num input{width:100%}.pdz-sel-img{max-width:100%;max-height:90px;object-fit:contain;background:#fff;border:1px solid var(--border);border-radius:6px;align-self:flex-start}.pdz-arr{display:grid;grid-template-columns:1fr 1fr;gap:4px}.pdz-arr button{border:1px solid var(--border);background:var(--bg-surface);color:var(--text-primary);border-radius:7px;font:inherit;font-size:12px;padding:5px 6px;cursor:pointer;text-align:left}.pdz-arr button:hover{border-color:#6366f1}.pdz-arr button.danger:hover{border-color:#ef4444;color:#b91c1c}.pdz-layer-ic{width:18px;text-align:center}.pdz-vars{display:flex;flex-direction:column;gap:2px;font-size:11.5px;color:var(--text-secondary)}.pdz-vars code{font-size:11px;color:#3730a3;background:#eef2ff;border-radius:3px;padding:0 3px}.pdz-static{position:relative;overflow:hidden}.pdz-static .pdz-page{position:absolute;left:0;top:0}.phd-design{display:flex;flex-direction:column;gap:8px}.phd-mock.t-design .pdz-static{width:100%!important}@media(max-width:1100px){.pdz-body{grid-template-columns:1fr}.pdz-panel{position:static;max-height:none}}.prl-edit-hd{position:sticky;top:0;z-index:8;background:var(--bg-surface);padding:6px 0 8px;margin-top:-6px;border-bottom:1px solid var(--border);flex-wrap:wrap}.prl-edit-hd .prl-title{min-width:200px}.prl-status{font-size:12px;color:#047857;white-space:nowrap}.prl-status.dirty{color:#b45309;font-weight:600}.prl-auto{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--text-secondary);white-space:nowrap;cursor:pointer}.prl-save{width:auto;padding:8px 16px}.prl-print{position:relative}.prl-print-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:30;width:300px;display:flex;flex-direction:column;gap:4px;padding:6px;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #0f172a29}.prl-print-menu button{display:flex;flex-direction:column;gap:1px;text-align:left;border:none;background:none;color:var(--text-primary);font:inherit;padding:7px 9px;border-radius:7px;cursor:pointer}.prl-print-menu button:hover{background:var(--bg-elevated)}.prl-print-menu button span{font-size:11.5px;color:var(--text-secondary)}.prl-print-menu em{font-style:normal;font-size:11px;color:var(--text-muted);padding:4px 9px 2px;border-top:1px solid var(--border)}.prl-edit-hd{gap:8px;align-items:center}.prl-edit-hd .prl-title{flex:0 1 230px;min-width:140px;font-size:14.5px;padding:6px 10px}.prl-tools{display:inline-flex;flex:1 1 auto;min-width:0}.prl-tools:empty{flex:1 1 auto}.pdz-top.inline{display:inline-flex;flex:1;border:none;background:none;padding:0;gap:8px}.pdz-top.inline .pdz-top-grp:first-child{border-left:1px solid var(--border);padding-left:8px}.prl-edit-hd .btn-ghost,.prl-edit-hd .prl-save{padding:6px 12px;font-size:13px}.pdz-marquee{position:absolute;border:1px dashed #2563eb;background:#2563eb14;pointer-events:none;z-index:6}.pdz-selbox{position:absolute;border:1.5px dashed #2563eb;pointer-events:none;z-index:4;border-radius:2px}.pdz-el.msel{outline:1px solid rgba(37,99,235,.6)}.pdz-icons{display:grid;grid-template-columns:repeat(auto-fill,minmax(34px,1fr));gap:4px}.pdz-icons button{aspect-ratio:1;padding:7px;border:1px solid var(--border, #e3e6eb);border-radius:6px;background:var(--bg-surface, #fff);color:var(--text, #1f2633);cursor:pointer}.pdz-icons button:hover,.pdz-icons button.on{border-color:#2563eb;color:#2563eb;background:#2563eb0f}.pdz-icons.sm button{padding:5px}.pdz-tpls{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:8px}.pdz-tpl{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px;border:1px solid var(--border, #e3e6eb);border-radius:8px;background:var(--bg-surface, #fff);cursor:pointer;font-size:12px;color:var(--text, #1f2633);overflow:hidden}.pdz-tpl:hover{border-color:#2563eb;box-shadow:0 2px 8px #2563eb26}.pdz-tpl>div:first-child{box-shadow:0 1px 4px #00000026;max-width:100%}.pdz-sel-hd{display:flex;align-items:center;gap:8px;font-size:13px}.pdz-al{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.pdz-al button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;font-size:11px;border:1px solid var(--border, #e3e6eb);border-radius:6px;background:var(--bg-surface, #fff);color:var(--text, #1f2633);cursor:pointer}.pdz-al button span{font-size:15px}.pdz-al button:hover{border-color:#2563eb;color:#2563eb}.pdz-gmark{font-size:10px;color:#2563eb;margin-left:-2px}.prl-item{position:relative}.prl-grip{color:#9aa3b2;cursor:grab;margin-right:6px;font-size:13px;opacity:.55}.prl-item:hover .prl-grip{opacity:1}.prl-item.drag{opacity:.45}.prl-item.over:before{content:"";position:absolute;left:6px;right:6px;top:-3px;height:3px;border-radius:2px;background:#4f6bed}.prl-docprev{margin-top:10px;width:100%;padding:9px 10px;border:1px solid #c9d2fb;border-radius:8px;background:#eef1fe;color:#3247c9;font-weight:600;font-size:13px;cursor:pointer}.prl-docprev:hover{background:#e2e7fd}.prl-order-tip{margin:8px 2px 0;line-height:1.4}.prl-grp{display:flex;align-items:baseline;justify-content:space-between;gap:6px;margin:10px 4px 4px;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#6b7280}.prl-grp:first-child{margin-top:0}.prl-grp span{font-weight:400;letter-spacing:0;text-transform:none;font-size:10.5px;color:#9aa3b2}.prl-grp+.prl-item~.prl-grp{margin-top:14px;padding-top:10px;border-top:1px solid var(--border, #e8eaef)}.pdz-footer{position:absolute;left:0;right:0;bottom:0;opacity:.55;pointer-events:none;outline:1px dashed #9aa3b2;overflow:hidden}.pft-std{position:absolute;left:40px;right:40px;top:0;padding-top:6px;border-top:.5px solid #e3e6eb;display:flex;justify-content:space-between;font:8px Helvetica,Arial,sans-serif;color:#8a8f98}.prl-strip-h{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 8px;font-size:12px;color:#6b7280}.prl-strip-h label{display:flex;align-items:center;gap:8px}.prl-strip-h input[type=range]{width:160px}.prl-endzone{margin-top:4px;padding:10px;border:1.5px dashed #c9d2fb;border-radius:8px;text-align:center;font-size:12px;color:#6b7280}.prl-endzone.over{border-color:#4f6bed;background:#eef1fe;color:#3247c9}.pdz-fitbtns .pdz-wide{grid-column:1 / -1;font-weight:600;color:#3247c9;border-color:#c9d2fb;background:#eef1fe}.prl-quick{display:flex;flex:1;min-width:0}.pdz-quick{display:flex;align-items:center;gap:3px;flex-wrap:wrap;min-height:34px}.pdz-quick.row{margin-bottom:8px}.pdz-q{display:inline-flex;align-items:center;gap:4px;height:30px;min-width:30px;justify-content:center;padding:0 8px;border:1px solid var(--border, #e3e6eb);border-radius:7px;background:var(--bg-surface, #fff);color:var(--text-primary, #1f2633);font:inherit;font-size:12px;cursor:pointer}.pdz-q span{font-size:13px;line-height:1;font-weight:600}.pdz-q em{font-style:normal}.pdz-q:hover:not(:disabled){border-color:#4f6bed;color:#3247c9}.pdz-q.on{background:#eef1fe;border-color:#4f6bed;color:#3247c9}.pdz-q.danger:hover{border-color:#dc2626;color:#dc2626}.pdz-q:disabled{opacity:.4;cursor:default}.pdz-qsep{width:1px;height:20px;background:var(--border, #e3e6eb);margin:0 4px}.pdz-qhint{font-size:12px;color:#8a93a3}.pdz-quick .pdz-top-sel{font-size:12px;font-weight:600;color:#4f6bed;padding:0 4px;white-space:nowrap}.pdz-ctx{position:fixed;z-index:10000;min-width:230px;padding:5px;border-radius:10px;background:var(--bg-surface, #fff);border:1px solid var(--border, #e3e6eb);box-shadow:0 12px 32px #0f172a38;display:flex;flex-direction:column}.pdz-ctx button{display:flex;align-items:center;gap:10px;padding:6px 10px;border:0;border-radius:6px;background:none;color:var(--text-primary, #1f2633);font:inherit;font-size:13px;text-align:left;cursor:pointer}.pdz-ctx button:hover:not(:disabled){background:#eef1fe;color:#3247c9}.pdz-ctx button.danger:hover{background:#fdecec;color:#dc2626}.pdz-ctx button:disabled{opacity:.4;cursor:default}.pdz-ctx .ic{width:18px;text-align:center;font-size:13px}.pdz-ctx .l{flex:1}.pdz-ctx kbd{font:11px ui-sans-serif,system-ui;color:#8a93a3;background:none;border:0}.pdz-ctx hr{border:0;border-top:1px solid var(--border, #e3e6eb);margin:4px 6px}.pdz-stage.rul{padding:30px 14px 14px 32px}.pdz-stage.strip.rul{padding:30px 14px 16px 32px}.pdz-ruler{position:absolute;z-index:3;cursor:copy;-webkit-user-select:none;user-select:none}.pdz-ruler.x{top:-22px;left:0}.pdz-ruler.y{left:-22px;top:0}.pdz-ruler svg{display:block;overflow:visible}.pdz-r-bg{fill:#fff}.pdz-r-m{fill:#c9ced8}.pdz-r-sel{fill:#4f6bed47}.pdz-r-tk line{stroke:#6b7280;stroke-width:.8}.pdz-r-tk text{font:8px ui-sans-serif,system-ui,sans-serif;fill:#4b5563}.pdz-r-h{position:absolute;z-index:2;background:#4f6bed;border-radius:2px}.pdz-r-h.x{top:0;width:7px;height:18px;margin-left:-3.5px;cursor:ew-resize;clip-path:polygon(0 0,100% 0,100% 55%,50% 100%,0 55%)}.pdz-r-h.y{left:0;height:7px;width:18px;margin-top:-3.5px;cursor:ns-resize;clip-path:polygon(0 0,55% 0,100% 50%,55% 100%,0 100%)}.pdz-r-h:hover{background:#3247c9}.pdz-r-mouse{position:absolute;pointer-events:none;background:#ef4444}.pdz-r-mouse.x{top:0;width:1px;height:18px;left:-10px}.pdz-r-mouse.y{left:0;height:1px;width:18px;top:-10px}.pdz-r-corner{position:absolute;left:-22px;top:-22px;width:18px;height:18px;z-index:3;display:grid;place-items:center;font:600 7.5px ui-sans-serif,system-ui;color:#4b5563;background:#fff;border-radius:3px;cursor:pointer}.pdz-rguide{position:absolute;z-index:6;background:#06b6d4}.pdz-rguide.v{top:0;bottom:0;width:1px;cursor:ew-resize;box-shadow:0 0 0 2px transparent}.pdz-rguide.h{left:0;right:0;height:1px;cursor:ns-resize}.pdz-rguide.v:after,.pdz-rguide.h:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px}.pdz-gline{display:inline-flex;align-items:center;gap:8px}.pdz-margin{border-color:#6366f159}.pdz-allbtn{width:100%;margin:6px 0 2px;padding:7px 10px;border:1px solid #c9d2fb;border-radius:8px;background:#eef1fe;color:#3247c9;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}.pdz-allbtn:hover{background:#e2e7fd}.pdz-el.t-table{overflow:visible}.dtb{position:relative;display:grid;width:100%;color:#262b33}.dtb-c{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere;white-space:pre-wrap;box-sizing:border-box}.dtb-t{outline:none;min-height:1.25em}.dtb.editing .dtb-c{cursor:text}.dtb.editing .dtb-c.on{box-shadow:inset 0 0 0 2px #4f6bedd9;background-image:linear-gradient(#4f6bed1a,#4f6bed1a)}.dtb.editing{outline:2px solid #4f6bed;outline-offset:2px}.dtb-lines{position:absolute;left:0;top:0;pointer-events:none;overflow:visible}.dtb-colh{position:absolute;top:0;bottom:0;width:7px;margin-left:-3.5px;cursor:col-resize;z-index:2}.dtb-colh:hover{background:#4f6bed59}.pdz-tpick{display:grid;grid-template-columns:repeat(8,1fr);gap:3px;max-width:220px}.pdz-tpick button{aspect-ratio:1;border:1px solid var(--border, #d5d9e2);border-radius:2px;background:var(--bg-surface, #fff);padding:0;cursor:pointer}.pdz-tpick button.on{background:#dfe5fd;border-color:#4f6bed}.pdz-tstyles{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.pdz-tstyles button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 4px;border:1px solid var(--border, #e3e6eb);border-radius:7px;background:var(--bg-surface, #fff);color:var(--text-primary, #1f2633);font:inherit;font-size:11px;cursor:pointer}.pdz-tstyles button:hover{border-color:#4f6bed}.pdz-tsw{display:flex;flex-direction:column;width:56px;border:1px solid #c7ccd6}.pdz-tsw i{display:block;height:6px}.pdz-qcol{position:relative;overflow:hidden}.pdz-qcol input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.rtx-edit{outline:none;width:100%;height:100%;cursor:text;white-space:pre-wrap;overflow-wrap:anywhere;box-shadow:0 0 0 1.5px #4f6bed;caret-color:#4f6bed}.rtx-p{white-space:pre-wrap;overflow-wrap:anywhere}.rtx-p[data-mk]:before{content:attr(data-mk);position:absolute;left:var(--mk, 0px);font-weight:400;font-style:normal;text-decoration:none}.pdz-rtb{display:contents}.pdz-rsel{height:30px;border:1px solid var(--border, #e3e6eb);border-radius:7px;background:var(--bg-surface, #fff);color:var(--text-primary, #1f2633);font:inherit;font-size:12px;padding:0 6px;max-width:96px}.pdz-rsel.w{max-width:118px;font-weight:600}.pdz-rsz{width:54px;height:30px;border:1px solid var(--border, #e3e6eb);border-radius:7px;background:var(--bg-surface, #fff);color:var(--text-primary, #1f2633);font:inherit;font-size:12px;padding:0 6px}.pdz-richnote{display:flex;flex-direction:column;gap:6px;align-items:flex-start;padding:8px;border:1px dashed #c9d2fb;border-radius:8px;background:#f6f8ff}.dsx{display:grid;grid-template-columns:228px minmax(0,1fr);gap:18px;align-items:start}.dsx-side{position:sticky;top:8px;display:flex;flex-direction:column;gap:2px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--bg-surface)}.dsx-brand{display:flex;align-items:center;gap:8px;padding:4px 6px 12px;font-size:15px}.dsx-brand span{font-size:20px}.dsx-nav{display:flex;align-items:center;gap:8px;width:100%;padding:7px 8px;border:0;border-radius:8px;background:none;color:var(--text-primary);font:inherit;font-size:13px;text-align:left;cursor:pointer;position:relative}.dsx-nav em{margin-left:auto;font-style:normal;font-size:11px;color:var(--text-muted, #8a93a3)}.dsx-nav:hover{background:#4f6bed12}.dsx-nav.on{background:#4f6bed21;color:#3247c9;font-weight:600}.dsx-nav.f .dsx-fact{display:none;position:absolute;right:6px;gap:2px}.dsx-nav.f:hover .dsx-fact{display:inline-flex}.dsx-nav.f:hover em{visibility:hidden}.dsx-fact button{border:0;background:var(--bg-surface);color:var(--text-muted, #8a93a3);border-radius:4px;cursor:pointer;font-size:11px;padding:2px 5px}.dsx-side-hd{display:flex;align-items:center;justify-content:space-between;margin:12px 6px 4px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted, #6b7280)}.dsx-side-hd button{border:0;background:none;color:#4f6bed;font-size:15px;cursor:pointer}.dsx-hint{padding:4px 6px;line-height:1.4}.dsx-main{display:flex;flex-direction:column;gap:14px;min-width:0}.dsx-sec{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted, #6b7280)}.dsx-new{display:flex;flex-direction:column;gap:10px}.dsx-kinds{display:grid;grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:10px}.dsx-kind{display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:12px;border:1px solid var(--border);border-left:4px solid var(--kc);border-radius:10px;background:var(--bg-surface);color:var(--text-primary);font:inherit;text-align:left;cursor:pointer}.dsx-kind:hover{box-shadow:0 4px 14px #0f172a1a;border-color:var(--kc)}.dsx-kicon{grid-row:1 / 3;display:grid;place-items:center;width:44px;height:44px;border-radius:10px;background:var(--kc);color:#fff;font-weight:800;font-size:12.5px;letter-spacing:.02em}.dsx-kind b{font-size:13px}.dsx-kind small{font-size:11px;color:var(--text-muted, #6b7280);line-height:1.35}.dsx-tplrow{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.dsx-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dsx-bar .dsx-sec{margin-right:auto}.dsx-search{width:240px;max-width:100%}.dsx-sort{width:140px}.dsx-empty{padding:40px 16px;text-align:center;color:var(--text-muted, #6b7280);border:1px dashed var(--border);border-radius:12px}.dsx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.dsx-card{position:relative;border:1px solid var(--border);border-top:3px solid var(--kc);border-radius:10px;background:var(--bg-surface)}.dsx-card:hover{box-shadow:0 4px 14px #0f172a1a}.dsx-card.gone{opacity:.6}.dsx-open{display:flex;flex-direction:column;gap:4px;width:100%;padding:12px 34px 12px 12px;border:0;background:none;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;min-height:112px}.dsx-ktag{display:inline-block;align-self:flex-start;padding:2px 7px;border-radius:5px;background:var(--kc);color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.03em}.dsx-ttag{position:absolute;top:12px;left:56px;font-size:10.5px;color:#b45309;font-weight:600}.dsx-title{font-size:14px;line-height:1.3;margin-top:4px;overflow-wrap:anywhere}.dsx-meta{font-size:11.5px;color:var(--text-muted, #6b7280)}.dsx-more{position:absolute;top:8px;right:6px;border:0;background:none;color:var(--text-muted, #6b7280);font-size:18px;cursor:pointer;border-radius:6px;padding:0 6px}.dsx-more:hover{background:#0000000d}.dsx-menu{position:absolute;top:34px;right:6px;z-index:20;display:flex;flex-direction:column;min-width:210px;padding:5px;border:1px solid var(--border);border-radius:10px;background:var(--bg-surface);box-shadow:0 12px 30px #0f172a33}.dsx-menu button,.dsx-mv{display:flex;align-items:center;gap:8px;padding:7px 10px;border:0;border-radius:6px;background:none;color:var(--text-primary);font:inherit;font-size:13px;text-align:left;cursor:pointer}.dsx-menu button:hover{background:#4f6bed1a}.dsx-menu button.danger{color:#dc2626}.dsx-mv select{flex:1;min-width:0;font:inherit;font-size:12px}.dsx-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:16px;background:#0f172a73}.dsx-dlg{width:min(620px,100%);max-height:calc(90vh / var(--ui-zoom-vu, 1));display:flex;flex-direction:column;border-radius:12px;background:var(--bg-surface);color:var(--text-primary);box-shadow:0 24px 60px #0000004d}.dsx-dlg.sm{width:min(420px,100%)}.dsx-dlg-hd{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.dsx-dlg-hd button{border:0;background:none;font-size:20px;color:var(--text-muted, #6b7280);cursor:pointer}.dsx-dlg-bd{padding:14px 16px;overflow:auto;display:flex;flex-direction:column;gap:10px}.dsx-dlg-ft{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--border)}.dsx-share-add{display:flex;gap:8px}.dsx-share-add select{flex:1}.dsx-share-list{display:flex;flex-direction:column;gap:6px}.dsx-share-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--border);border-radius:8px}.dsx-share-row>span{flex:1;font-size:13px}.dsx-err{padding:24px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}@media(max-width:760px){.dsx{grid-template-columns:1fr}.dsx-side{position:static}}.dse{display:grid;grid-template-columns:210px minmax(0,1fr);gap:14px;align-items:start}.dse-top{display:flex;align-items:center;gap:6px;min-width:0;flex-wrap:nowrap;flex:1}.dse-top .btn-ghost,.dse-top .btn-primary{padding:5px 10px;font-size:12.5px;white-space:nowrap}.dse-top .prl-status,.dse-top .prl-auto{white-space:nowrap;font-size:12px}.dse-top .dsx-ktag{align-self:center}.dse-title{min-width:100px;flex:1 1 180px;max-width:300px;padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-surface);color:var(--text-primary);font:inherit;font-weight:600;font-size:14px}.dse-back{white-space:nowrap}.dse-topbar{grid-column:1 / -1;padding-bottom:8px}.dse-pages{position:sticky;top:8px;display:flex;flex-direction:column;gap:4px;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--bg-surface);max-height:calc(calc(100vh / var(--ui-zoom-vu, 1)) - 110px);overflow:auto}.dse-frame{display:flex;justify-content:space-between;align-items:center;padding:7px 9px;border:1px solid transparent;border-radius:8px;background:none;color:var(--text-primary);font:inherit;font-size:13px;cursor:pointer;text-align:left}.dse-frame em{font-style:normal;font-size:11px;color:var(--text-muted, #8a93a3)}.dse-frame:hover{background:#4f6bed12}.dse-frame.on{border-color:#c9d2fb;background:#eef1fe;color:#3247c9;font-weight:600}.dse-plist{display:flex;flex-direction:column;gap:6px}.dse-pg{position:relative;display:grid;grid-template-columns:16px 96px 1fr;grid-template-rows:auto 1fr;column-gap:6px;padding:6px;border:1px solid transparent;border-radius:8px;cursor:pointer}.dse-pg:hover{background:#4f6bed0f}.dse-pg.on{border-color:#c9d2fb;background:#eef1fe}.dse-pg.drag{opacity:.4}.dse-pnum{grid-row:1 / 3;font-size:11px;color:var(--text-muted, #8a93a3);padding-top:2px}.dse-thumb{grid-row:1 / 3;display:block;width:96px;overflow:hidden;border:1px solid #d5d9e2;border-radius:3px;background:#fff;box-shadow:0 1px 3px #0000001f}.dse-pname{font-size:12px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;color:var(--text-primary)}.dse-pg.on .dse-pname{color:#3247c9;font-weight:600}.dse-pact{display:none;gap:2px;align-self:end}.dse-pg:hover .dse-pact,.dse-pg.on .dse-pact{display:inline-flex}.dse-pact button{border:1px solid var(--border);background:var(--bg-surface);color:var(--text-primary);border-radius:5px;font-size:11px;padding:1px 5px;cursor:pointer}.dse-pact button:disabled{opacity:.35}.dse-add{position:relative;margin-top:4px}.dse-add .prl-add{width:100%}.dse-addmenu{position:absolute;left:0;right:0;bottom:100%;z-index:30;display:flex;flex-direction:column;padding:5px;margin-bottom:4px;border:1px solid var(--border);border-radius:10px;background:var(--bg-surface);box-shadow:0 12px 30px #0f172a33}.dse-addmenu button{padding:7px 9px;border:0;border-radius:6px;background:none;color:var(--text-primary);font:inherit;font-size:12.5px;text-align:left;cursor:pointer}.dse-addmenu button:hover{background:#4f6bed1a}.dse-main{min-width:0;display:flex;flex-direction:column;gap:8px}.dse-hd{position:static}.dse-frname{font-size:14px;padding:6px 4px}@media(max-width:860px){.dse{grid-template-columns:1fr}.dse-pages{position:static;max-height:none}}.prl-layouts{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px;margin-bottom:10px;border:1px solid #c9d2fb;border-radius:10px;background:#f6f8ff}.prl-lay-l{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#3247c9}.prl-layouts>select{flex:1 1 140px;min-width:0;font-weight:600}.prl-lay-b{display:inline-flex;gap:3px}.prl-lay-b .chip-btn{padding:3px 7px}.prl-lay-b .chip-btn.on{color:#b45309;border-color:#f2c66d;background:#fff7e6}.prl-lay-meta{display:flex;flex-direction:column;gap:4px;width:100%}.prl-lay-meta select{font:inherit;font-size:12px;padding:3px 6px;border:1px solid var(--border, #d5d9e2);border-radius:6px;background:var(--bg-surface, #fff);color:var(--text-primary, #1f2633)}.prl-on{margin:0 6px 0 0;accent-color:#4f6bed;flex:none}.prl-item em.lay{color:#3247c9;background:#e8ecfe;border-radius:4px;padding:0 5px;font-style:normal;font-size:10.5px}.prl-item em.auto{color:#6b7280;font-style:normal;font-size:10.5px}.prl-item.auto{display:flex;align-items:center;cursor:default;opacity:.85}.prl-laybanner{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px 12px;margin-bottom:8px;border:1px dashed #c9d2fb;border-radius:8px;background:#f6f8ff;font-size:12.5px;color:#374151}.prl-laybanner.own{border-style:solid;border-color:#9fb0f6;background:#eef1fe;color:#2b3aa8}.prp-laydesc{display:block;max-width:280px;margin-top:2px}.pdz-stagewrap{position:relative;min-width:0}.pdz-zoombar{position:absolute;right:14px;bottom:12px;z-index:8;display:flex;align-items:center;gap:3px;padding:4px 8px;border:1px solid var(--border, #d5d9e2);border-radius:999px;background:var(--bg-surface, #fff);color:var(--text-primary, #1f2633);box-shadow:0 4px 14px #0f172a2e;font-size:12px;-webkit-user-select:none;user-select:none}.pdz-zoombar button{min-width:26px;height:26px;padding:0 6px;border:0;border-radius:999px;background:none;color:inherit;font:inherit;font-size:14px;cursor:pointer}.pdz-zoombar button:hover{background:#4f6bed1a}.pdz-zoombar button.on{background:#e8ecfe;color:#3247c9}.pdz-zoombar i{width:1px;height:18px;margin:0 4px;background:var(--border, #d5d9e2)}.pdz-zoombar input[type=range]{width:120px;accent-color:#4f6bed}.pdz-zoombar b{min-width:40px;text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.pdz-stage{scroll-padding-bottom:60px}.mpv{position:relative}.mpv-grid{display:flex;flex-wrap:wrap;gap:18px;align-content:flex-start;justify-content:center;padding:18px 14px 64px;border-radius:10px;background:#d9dee6;max-height:calc(calc(100vh / var(--ui-zoom-vu, 1)) - 170px);min-height:360px;overflow:auto}.mpv-pg{display:flex;flex-direction:column;align-items:center;gap:6px;padding:0;border:0;background:none;cursor:pointer;color:#374151}.mpv-sheet{position:relative;display:block;overflow:hidden;background:#fff;box-shadow:0 2px 10px #00000038;outline:2px solid transparent;outline-offset:3px}.mpv-pg:hover .mpv-sheet{outline-color:#4f6bed73}.mpv-pg.on .mpv-sheet{outline-color:#4f6bed}.mpv-scale{position:absolute;left:0;top:0;transform-origin:0 0;pointer-events:none}.mpv-lbl{max-width:100%;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mpv-lbl b{color:#4f6bed;margin-right:3px}.mpv-pg.on .mpv-lbl{color:#3247c9;font-weight:600}.mpv-a4{position:relative;display:block;width:595px;height:842px;overflow:hidden;background:#fff}.mpv-a4>.pdz-static{position:absolute;left:0;top:0}.mpv-strip{position:absolute;left:0;right:0;overflow:hidden}.mpv-strip.top{top:0}.mpv-strip.bottom{bottom:0}.mpv-strip .pdz-static{position:absolute;left:0;top:0}.mpv-a4 .ppv{width:595px}.mpv .pdz-zoombar{position:absolute}.prl-item.auto.on{border-color:#c9d2fb;background:#eef1fe}.prl-auto-pg{display:flex;flex-direction:column;gap:12px}.prl-auto-about{margin:0;padding:10px 12px;border-radius:8px;background:#f6f8ff;border:1px solid #dfe5fd;font-size:13px;line-height:1.5;color:#374151}.prl-auto-sample{width:min(560px,100%);padding:22px 26px;border:1px solid #d5d9e2;border-radius:4px;background:#fff;color:#1d2129;box-shadow:0 2px 10px #00000014}.prl-auto-sample h3{margin:0 0 4px;font-size:18px;color:#14213d}.prl-auto-sample .ppv-bar{display:block;width:44px;height:3px;background:#c8232c;margin-bottom:12px}.prl-toc>div{display:flex;align-items:baseline;gap:6px;font-size:12.5px;padding:3px 0}.prl-toc em{flex:1;border-bottom:1px dotted #9aa3b2}.prl-rtab{display:grid;font-size:11.5px;border:1px solid #c7ccd6}.prl-rtab>div{display:grid;grid-template-columns:.6fr 1.1fr 2.2fr 1.6fr;border-top:1px solid #e3e6eb}.prl-rtab.two>div{grid-template-columns:1fr 1.6fr}.prl-rtab>div:first-child{border-top:0}.prl-rtab>div.hd{background:#c8232c;color:#fff;font-weight:700}.prl-rtab span{padding:5px 7px}.spc-dlg{width:min(1180px,100%)}.spc-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px}.spc-edit{display:flex;flex-direction:column;gap:8px;min-width:0}.spc-params{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.spc-params .mini-chip{cursor:pointer;border:1px solid #c9d2fb;background:#eef1fe;color:#3247c9}.spc-params .mini-chip:disabled{opacity:.45;cursor:default}.spc-tools{display:flex;flex-wrap:wrap;gap:6px}.spc-paste{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px dashed #c9d2fb;border-radius:8px;background:#f6f8ff}.spc-sec{display:flex;flex-direction:column;gap:4px;padding:8px;border:1px solid var(--border, #e3e6eb);border-radius:8px}.spc-sec-hd{display:flex;gap:4px;align-items:center}.spc-sec-hd input{flex:1;font-weight:700;background:#fbe3d6;color:#14213d}.spc-row{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr) auto;gap:4px;align-items:start}.spc-row textarea{resize:vertical;min-height:32px}.spc-ra{display:inline-flex;gap:2px;padding-top:4px}.spc-ra button{border:1px solid var(--border, #e3e6eb);background:var(--bg-surface, #fff);color:var(--text-primary, #1f2633);border-radius:5px;font-size:11px;padding:1px 5px;cursor:pointer}.spc-prev{min-width:0;display:flex;flex-direction:column;gap:8px}.spc-prev-hd{display:flex;align-items:center;gap:8px}.spc-prev-hd select{flex:1}.spc-tab{border:1px solid #9aa3b2;background:#fff;color:#262b33;font-size:12px}.spc-tr{display:grid;grid-template-columns:32% 1fr;border-top:1px solid #c7ccd6}.spc-tab>.spc-tr:first-child{border-top:0}.spc-tr>span{padding:4px 7px;white-space:pre-wrap;overflow-wrap:anywhere}.spc-tr>span+span{border-left:1px solid #c7ccd6}.spc-tr.hd{background:#f1f3f7;font-weight:700;color:#14213d}.spc-tr.sec{grid-template-columns:1fr;background:#fbe3d6;font-weight:700;color:#14213d}.spc-tr.chg>span:last-child{background:#fff8e1}.spc-var{color:#1d4ed8}.spc-cell{display:flex;gap:4px;align-items:flex-start;padding:2px 4px!important}.spc-cell textarea,.spc-cell select{flex:1;width:100%;border:1px solid transparent;border-radius:4px;background:transparent;font:inherit;color:inherit;padding:2px 4px;resize:vertical}.spc-cell textarea:hover,.spc-cell select:hover,.spc-cell textarea:focus,.spc-cell select:focus{border-color:#9fb0f6;background:#fff;outline:none}.spc-cell button{border:0;background:none;color:#b45309;cursor:pointer;font-size:13px}.spc-quote{display:flex;flex-direction:column;gap:12px}.spc-qt{display:flex;flex-direction:column;gap:6px}.prl-rtab>div.sec{background:#fbe3d6;font-weight:700}@media(max-width:900px){.spc-body{grid-template-columns:1fr}}.spc-warn{padding:8px 10px;border:1px solid #f2c66d;border-radius:8px;background:#fff7e6;color:#7c4a03;font-size:12.5px;line-height:1.5}.spc-warn code{margin:0 3px;padding:0 4px;border-radius:4px;background:#fde7b0;color:#7c4a03}.spc-warn span{font-size:12px}.spc-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border, #e3e6eb);margin-bottom:4px}.spc-tabs button{padding:7px 12px;border:0;border-bottom:2px solid transparent;background:none;color:var(--text-primary, #1f2633);font:inherit;font-size:13px;cursor:pointer}.spc-tabs button.on{border-bottom-color:#4f6bed;color:#3247c9;font-weight:600}.spc-tabs em{font-style:normal;font-size:11px;padding:0 6px;border-radius:9px;background:#e8ecfe;color:#3247c9;margin-left:4px}.spc-params .mini-chip.sp{border-color:#9fb0f6;background:#dfe5fd;color:#2b3aa8;font-weight:600}.spc-link{border:0;background:none;padding:0;color:#3247c9;font:inherit;font-weight:600;cursor:pointer;text-decoration:underline}.spp{display:flex;flex-direction:column;gap:10px}.spp-list{display:flex;flex-direction:column;gap:4px}.spp-hd,.spp-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) minmax(0,1fr) auto;gap:4px;align-items:center}.spp-hd{font-size:11px;font-weight:700;color:var(--text-muted, #6b7280);text-transform:uppercase;letter-spacing:.04em}.spp-hd em{font-style:normal;text-transform:none;font-weight:400;letter-spacing:0}.spc-sec-t{font-size:12px;font-weight:700;color:var(--text-primary, #1f2633);margin-top:4px}.spp-grid-wrap{overflow:auto;max-height:calc(52vh / var(--ui-zoom-vu, 1));border:1px solid var(--border, #d5d9e2);border-radius:8px}.spp-grid{display:grid;min-width:max-content}.spp-c{display:flex;align-items:center;min-height:30px;padding:2px 6px;border-bottom:1px solid var(--border, #eef0f4);border-right:1px solid var(--border, #eef0f4);font-size:12px;background:var(--bg-surface, #fff);color:var(--text-primary, #1f2633)}.spp-c.hd{position:sticky;top:0;z-index:1;font-weight:700;background:#f1f3f7;color:#14213d}.spp-c.name{font-weight:500;white-space:nowrap}.spp-c.group{background:#fbf3ee;color:#14213d}.spp-c.name.group{font-weight:700;color:#14213d}.spp-c input,.spp-c select{width:100%;border:1px solid transparent;border-radius:4px;background:transparent;font:inherit;color:inherit;padding:3px 4px}.spp-c input:hover,.spp-c input:focus,.spp-c select:hover,.spp-c select:focus{border-color:#9fb0f6;background:#fff;outline:none}.spp-c input::placeholder{color:#9aa3b2;font-style:italic}.spp-c.set input,.spp-c.set select{font-weight:600;color:#2b3aa8}.spc-for{display:flex;align-items:center;gap:6px;margin-left:auto;margin-right:12px;font-size:12px;font-weight:600;color:var(--text-muted, #6b7280)}.spc-for select{min-width:220px;font-weight:600}.spc-gbanner{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px 10px;border:1px dashed #c9d2fb;border-radius:8px;background:#f6f8ff;color:#374151;font-size:12.5px}.spc-gbanner.own{border-style:solid;border-color:#9fb0f6;background:#eef1fe;color:#2b3aa8}.q-line-dlg{width:min(1100px,calc(96vw / var(--ui-zoom-vu, 1)));height:calc(92vh / var(--ui-zoom-vu, 1));max-height:calc(92vh / var(--ui-zoom-vu, 1));display:flex;flex-direction:column;overflow:hidden}.q-line-dlg.big{width:calc(98vw / var(--ui-zoom-vu, 1));height:calc(96vh / var(--ui-zoom-vu, 1));max-height:calc(96vh / var(--ui-zoom-vu, 1))}.q-line-dlg .modal-head{display:flex;align-items:center;gap:10px}.q-line-dlg .modal-head h3{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.q-line-size{width:auto;padding:6px 12px;white-space:nowrap}.q-line-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto}.q-line-desc{flex:1 0 320px;min-height:320px;display:flex;flex-direction:column}.q-line-desc .rt{flex:1;min-height:0;display:flex;flex-direction:column;overflow:visible}.q-line-desc .rt-bar{flex:0 0 auto;border-radius:8px 8px 0 0}.q-line-desc .rt-btn{font-size:14px;padding:6px 11px}.q-line-desc .rt-body{flex:1;min-height:0;overflow-y:auto;font-size:14.5px;line-height:1.5;padding:12px 14px}.bf-back{width:auto;padding:7px 12px;white-space:nowrap;margin-top:2px}.bf-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:14px}.bf-card{display:grid;gap:2px;text-align:left;cursor:pointer;border-top:3px solid var(--accent);padding:12px 16px;font:inherit;color:inherit}.bf-card b{font-size:24px;line-height:1.1}.bf-card span{font-weight:600}.bf-card.on{outline:2px solid var(--brand);outline-offset:-2px}.bf-card:hover{box-shadow:0 4px 14px #00000014}.bf-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:10px}.bf-seg{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.bf-seg button{border:0;background:transparent;padding:7px 12px;font:inherit;font-size:13px;color:var(--text-secondary);cursor:pointer}.bf-seg button.on{background:color-mix(in srgb,var(--brand) 14%,transparent);color:var(--text-primary);font-weight:600}.bf-more{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px 12px;padding:10px 12px;margin-bottom:10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-base)}.bf-more .fld{margin:0}.bf-img-drop{display:block;margin-top:4px;padding:14px 12px;border:1px dashed var(--border);border-radius:8px;cursor:pointer;text-align:center;color:var(--text-secondary);font-size:13px}.bf-drawer{width:min(600px,calc(100vw / var(--ui-zoom-vu, 1)))}.bf-drawer .drawer-head h3{display:flex;align-items:center}.bf-drawer-tabs{display:flex;gap:4px;padding:8px 18px 0;border-bottom:1px solid var(--border)}.bf-drawer-tabs button{border:0;background:transparent;padding:8px 12px;font:inherit;font-size:13px;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;display:inline-flex;gap:6px;align-items:center}.bf-drawer-tabs button.on{color:var(--text-primary);font-weight:600;border-bottom-color:var(--brand)}.bf-dot{background:#059669;color:#fff;border-radius:9px;font-size:11px;padding:0 6px;line-height:17px}.bf-done{display:grid;justify-items:center;gap:6px;padding:40px 10px;text-align:center;color:#059669}.bf-done b{color:var(--text-primary)}.bf-mine{display:grid;gap:6px}.bf-mine-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:9px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);color:inherit;font:inherit;cursor:pointer}.bf-mine-row:hover{border-color:var(--brand)}.bf-mine-main{flex:1;min-width:0;display:grid}.bf-mine-main b{font-weight:600;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:640px){.bf-drawer{width:calc(100vw / var(--ui-zoom-vu, 1))}.bf-back{padding:6px 10px}}.dsx-brand small{margin-left:auto;font-size:11px}.drv-newwrap{position:relative;margin:0 0 8px}.drv-new{width:100%;padding:10px 14px;border-radius:14px;border:1px solid var(--border);background:var(--bg-elevated);font:inherit;font-weight:600;cursor:pointer;box-shadow:0 1px 4px #0f172a14;text-align:left}.drv-new:hover:not(:disabled){box-shadow:0 3px 10px #0f172a24}.drv-new:disabled{opacity:.55;cursor:default}.drv-newmenu{top:44px;left:0;right:auto;min-width:250px}.drv-soon{display:grid;padding:7px 10px;border-top:1px solid var(--border);margin-top:4px;font-size:12px;color:var(--text-secondary)}.drv-ell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.drv-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-right:auto;font-size:16px}.drv-lock{font-size:11.5px;padding:2px 8px;border-radius:10px;background:color-mix(in srgb,var(--brand) 12%,transparent);color:var(--text-secondary)}.drv-drop{outline:2px dashed var(--brand);outline-offset:4px;border-radius:10px}.drv-list{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:10px;overflow:visible;background:var(--bg-elevated)}.drv-row{display:grid;grid-template-columns:22px 34px minmax(160px,1fr) 150px 130px 110px 80px 120px 40px;gap:10px;align-items:center;padding:7px 12px;border-bottom:1px solid var(--border);position:relative}.drv-row:last-child{border-bottom:0}.drv-row:not(.drv-head):hover{background:color-mix(in srgb,var(--brand) 5%,transparent)}.drv-row.gone{opacity:.6}.drv-head{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);background:var(--bg-base);border-radius:10px 10px 0 0}.drv-ic{display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 3px;border-radius:6px;color:#fff;font-size:10.5px;font-weight:700}.drv-folder .drv-ic{background:none;font-size:18px}.drv-name{border:0;background:none;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drv-name:hover:not(:disabled){color:var(--brand)}.drv-star{color:#f59e0b;margin-left:6px}.drv-row .dsx-ttag{position:static;margin-left:8px}.drv-acts{display:flex;justify-content:flex-end;gap:2px;position:relative}.drv-acts>button:not(.dsx-more){border:0;background:none;cursor:pointer;color:var(--text-secondary);padding:2px 5px;border-radius:4px}.drv-acts .dsx-more{position:static}.drv-acts .dsx-menu{top:30px;right:0;min-width:240px}.drv-panel{width:min(720px,calc(100vw / var(--ui-zoom-vu, 1)))}.drv-preview{display:grid;gap:14px}.drv-pdf{width:100%;height:calc(calc(100vh / var(--ui-zoom-vu, 1)) - 330px);min-height:420px;border:1px solid var(--border);border-radius:8px;background:#fff}.drv-img{max-width:100%;max-height:calc(62vh / var(--ui-zoom-vu, 1));border-radius:8px;border:1px solid var(--border);justify-self:center}.drv-noprev{display:grid;place-items:center;gap:8px;padding:30px;border:1px dashed var(--border);border-radius:8px;font-size:26px;font-weight:700;color:var(--text-secondary);text-align:center}.drv-noprev span{font-size:13px;font-weight:400;max-width:380px}.drv-kvs{display:grid;gap:6px}.drv-kv{display:grid;grid-template-columns:130px 1fr;gap:10px;font-size:13px}.drv-vadd{display:flex;gap:8px;margin-bottom:6px}.drv-vadd .field-inp{flex:1}.drv-vadd button{width:auto;white-space:nowrap}.drv-versions{display:grid;gap:6px}.drv-ver{display:grid;gap:2px;padding:8px 10px;border:1px solid var(--border);border-radius:8px}.drv-ver-acts{display:flex;gap:12px}.drv-comments{display:grid;gap:10px}.drv-cadd{display:grid;gap:6px;justify-items:end}.drv-cadd textarea{width:100%}.drv-thread{border:1px solid var(--border);border-radius:8px;padding:8px 10px;display:grid;gap:6px}.drv-thread.done{opacity:.7}.drv-cmt.reply{margin-left:14px;padding-left:10px;border-left:2px solid var(--border)}.drv-cacts{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.drv-cacts .field-inp{flex:1;min-width:160px}.drv-cacts button.btn-secondary{width:auto}.drv-general{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.drv-general .field-inp{width:auto}.drv-gic{font-size:18px}.drv-lockbox{padding:8px 10px;border-radius:8px;background:color-mix(in srgb,var(--brand) 8%,transparent);margin:0}@media(max-width:900px){.drv-row{grid-template-columns:22px 30px minmax(120px,1fr) 90px 40px}.drv-row>:nth-child(4),.drv-row>:nth-child(6),.drv-row>:nth-child(7),.drv-row>:nth-child(8){display:none}}.dsx-menu.drv-ctx{position:fixed;right:auto;z-index:1200;min-width:250px;max-width:300px}.drv-ctx-hd{padding:6px 10px;font-size:11.5px;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.oo-wrap{display:flex;flex-direction:column;height:calc(calc(100vh / var(--ui-zoom-vu, 1)) - 120px);min-height:480px;gap:8px}.oo-bar{display:flex;align-items:center;gap:10px;min-width:0}.oo-back{width:auto;padding:6px 12px;white-space:nowrap}.oo-role{font-size:12px;padding:2px 8px;border-radius:10px;background:color-mix(in srgb,var(--brand) 12%,transparent);color:var(--text-secondary);white-space:nowrap}.oo-host{flex:1;min-height:0;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#fff}.oo-host>div,.oo-host iframe{width:100%;height:100%;border:0}.oo-err{display:grid;gap:10px;justify-items:start;padding:24px}.drv-ic.sm{min-width:20px;height:20px;font-size:9.5px;border-radius:4px}@media(max-width:700px){.oo-hint{display:none}.oo-wrap{height:calc(calc(100vh / var(--ui-zoom-vu, 1)) - 90px)}}.oo-wrap.oo-full{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;height:calc(100vh / var(--ui-zoom-vu, 1));min-height:0;padding:8px 10px;background:var(--bg-base)}.oo-wrap:fullscreen{height:calc(100vh / var(--ui-zoom-vu, 1));padding:8px 10px;background:var(--bg-base)}.oo-full-btn{width:auto;padding:6px 12px;white-space:nowrap}.dsx,.dsx-main{min-height:calc(calc(100vh / var(--ui-zoom-vu, 1)) - 130px)}.dsx-main .drv-list,.dsx-main .dsx-empty{flex:1}.drv-list{min-height:320px}.drv-list:after{content:"";flex:1}.drv-trashbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px 12px;border-radius:8px;background:color-mix(in srgb,#f59e0b 12%,transparent);font-size:13px}.drv-trashbar .btn-ghost{width:auto;padding:6px 14px}.drv-left{color:#b45309}.drv-snip{display:block;font-size:11.5px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:400}.drv-usage{display:grid;gap:2px;margin-top:auto;padding:10px 6px 2px;border-top:1px solid var(--border);font-size:12.5px}.drv-usage .hr-link{justify-self:start;padding:0}.drv-usage-list{display:grid;border:1px solid var(--border);border-radius:8px}.drv-usage-row{display:grid;grid-template-columns:1fr 60px 100px 160px;gap:8px;align-items:center;padding:7px 10px;border-bottom:1px solid var(--border);font-size:13px}.drv-usage-row:last-child{border-bottom:0}.drv-usage-row.hd{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--text-secondary);background:var(--bg-base)}.drv-usage-row>span:last-child{display:grid;gap:3px}.drv-usage-row i{display:block;height:5px;border-radius:3px;background:var(--brand);opacity:.7}.apv{display:grid;gap:12px}.apv-lock{padding:9px 12px;border-radius:8px;background:color-mix(in srgb,#f59e0b 14%,transparent);border:1px solid color-mix(in srgb,#f59e0b 40%,transparent);font-size:13px}.apv-lock.ok{background:color-mix(in srgb,#16a34a 12%,transparent);border-color:color-mix(in srgb,#16a34a 40%,transparent)}.apv-send,.apv-card,.apv-sign{display:grid;gap:8px;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-surface)}.apv-step-ed{display:grid;grid-template-columns:22px 1fr 1.3fr auto;gap:6px;align-items:center}.apv-n{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--bg-base);border:1px solid var(--border);font-size:11.5px;font-weight:700}.apv-mv{display:flex;gap:2px}.apv-card.approved{border-color:color-mix(in srgb,#16a34a 45%,var(--border))}.apv-card.pending{border-color:color-mix(in srgb,#f59e0b 55%,var(--border))}.apv-card.rejected,.apv-card.cancelled{opacity:.85}.apv-hd{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;align-items:baseline}.apv-steps{display:grid;gap:6px}.apv-step{display:grid;grid-template-columns:22px 1fr;gap:8px;align-items:start;font-size:13px}.apv-step.signed .apv-n,.apv-step.paper .apv-n{background:#16a34a;color:#fff;border-color:#16a34a}.apv-step.pending .apv-n{background:#f59e0b;color:#fff;border-color:#f59e0b}.apv-step.rejected .apv-n{background:#dc2626;color:#fff;border-color:#dc2626}.apv-cmt{display:block;font-style:italic;color:var(--text-secondary)}.apv-sign{background:color-mix(in srgb,var(--brand) 6%,var(--bg-surface));border-color:color-mix(in srgb,var(--brand) 40%,var(--border))}.apv-pw{display:flex;gap:8px}.apv-pw .field-inp{flex:1}.apv-acts{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.apv-hash{font-family:ui-monospace,monospace;margin-left:auto}.apv-tag{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:10px;font-size:11px;font-weight:600;background:color-mix(in srgb,#f59e0b 18%,transparent);color:var(--text-primary);vertical-align:middle}.apv-tag.ok{background:color-mix(in srgb,#16a34a 18%,transparent)}.apv-tag.back{background:color-mix(in srgb,#dc2626 15%,transparent)}.apv-tag.sign,.dsx-nav.apv-nav em{background:var(--brand);color:#fff}.drv-type{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drv-grp{display:flex;align-items:center;gap:8px;padding:9px 12px 5px;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);background:var(--bg-base);border-bottom:1px solid var(--border)}.drv-grp em{font-style:normal;font-weight:600;padding:0 7px;border-radius:9px;background:var(--bg-surface);border:1px solid var(--border)}.drv-grp-btn{white-space:nowrap}.drv-grp-btn.on{background:color-mix(in srgb,var(--brand) 14%,transparent);border-color:var(--brand);color:var(--brand)}.drv-ck{display:grid;place-items:center}.drv-ck input{width:15px;height:15px;margin:0;cursor:pointer;accent-color:var(--brand)}.drv-row:not(.drv-head):not(.picked) .drv-ck input:not(:checked){opacity:.35}.drv-row:hover .drv-ck input,.drv-list:has(.picked) .drv-ck input{opacity:1!important}.drv-row.picked{background:color-mix(in srgb,var(--brand) 11%,transparent)}.drv-row.picked:hover{background:color-mix(in srgb,var(--brand) 15%,transparent)}.drv-bulk{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:7px 12px;margin-bottom:8px;border-radius:10px;background:color-mix(in srgb,var(--brand) 10%,var(--bg-surface));border:1px solid color-mix(in srgb,var(--brand) 35%,var(--border));position:sticky;top:0;z-index:3}.drv-bulk>b{margin-right:6px}.drv-bulk .hr-link{margin-left:auto}.drv-bulk-mv{display:inline-flex;align-items:center;gap:6px;font-size:13px}:root{--ui-zoom: 1;--ui-zoom-vu: 1}.ui-zoom{position:relative}.ui-zoom>.icon-btn{font-weight:700;font-size:11px;letter-spacing:-.02em}.ui-zoom-pop{position:fixed;width:230px;z-index:1000;display:grid;gap:2px;padding:6px;border-radius:10px;background:var(--bg-surface);border:1px solid var(--border);box-shadow:0 10px 30px #00000040}.ui-zoom-hd{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);padding:4px 8px}.ui-zoom-pop button{display:flex;justify-content:space-between;padding:7px 10px;border-radius:7px;border:0;background:none;color:var(--text-primary);font:inherit;font-size:13px;text-align:left;cursor:pointer}.ui-zoom-pop button span{color:var(--text-secondary);font-variant-numeric:tabular-nums}.ui-zoom-pop button:hover{background:color-mix(in srgb,var(--brand) 8%,transparent)}.ui-zoom-pop button.on{background:color-mix(in srgb,var(--brand) 15%,transparent);font-weight:600}.ui-zoom-pop p{margin:4px 8px 2px;font-size:11px;color:var(--text-secondary)}.ui-zoom-co{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0 14px;border-bottom:1px solid var(--border);margin-bottom:12px}.ui-zoom-co>span{display:grid;gap:2px}.ui-zoom-co select{width:160px}.ic-apv.partial{background:color-mix(in srgb,#0891B2 16%,transparent);color:#0e7490}.hr-table tr.wf-partial td,.ic-card.wf-partial{background:color-mix(in srgb,#06B6D4 10%,transparent)}.hr-table tr.wf-partial td:first-child,.ic-card.wf-partial{box-shadow:inset 4px 0 #0891b2}.ic-wf-key.wf-partial{background:color-mix(in srgb,#06B6D4 14%,transparent);border-left-color:#0891b2;color:#0e7490}:root[data-theme=dark] .ic-apv.partial,:root[data-theme=dark] .ic-wf-key.wf-partial{color:#67e8f9}.ic-apv.final{background:color-mix(in srgb,#DB2777 14%,transparent);color:#be185d}.hr-table tr.wf-final td,.ic-card.wf-final{background:color-mix(in srgb,#EC4899 9%,transparent)}.hr-table tr.wf-final td:first-child,.ic-card.wf-final{box-shadow:inset 4px 0 #db2777}.ic-wf-key.wf-final{background:color-mix(in srgb,#EC4899 13%,transparent);border-left-color:#db2777;color:#be185d}:root[data-theme=dark] .ic-apv.final,:root[data-theme=dark] .ic-wf-key.wf-final{color:#f9a8d4}.ic-skuparts{display:flex;flex-wrap:wrap;align-items:stretch;gap:4px;margin-top:8px}.ic-skupart{display:grid;gap:1px;padding:4px 8px;border-radius:7px;background:var(--bg-base);border:1px solid var(--border);min-width:0;max-width:180px}.ic-skupart b{font-family:ui-monospace,monospace;font-size:12.5px;color:var(--brand)}.ic-skupart small{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ic-skupart em{font-style:normal;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ic-skusep{align-self:center;font-family:ui-monospace,monospace;color:var(--text-secondary);padding:0 1px}.ic-pn{display:inline-block;margin-top:3px;padding:1px 7px;border-radius:9px;font-size:11px;font-weight:600;white-space:nowrap}.ic-pn.ok{background:color-mix(in srgb,#16a34a 15%,transparent);color:#15803d}.ic-pn.warn{background:color-mix(in srgb,#f59e0b 18%,transparent);color:#b45309}.ic-pn.nodoc{background:color-mix(in srgb,#65a30d 16%,transparent);color:#4d7c0f;outline:1px dashed color-mix(in srgb,#ca8a04 60%,transparent)}:root[data-theme=dark] .ic-pn.nodoc{color:#bef264}.ic-pn-nodoc-tg{margin:4px 0}.ic-pn-nodoc{display:grid;gap:8px;padding:8px 10px;border-radius:8px;background:color-mix(in srgb,#ca8a04 8%,transparent);border:1px dashed color-mix(in srgb,#ca8a04 45%,transparent)}.ic-pn.bad{background:color-mix(in srgb,#dc2626 14%,transparent);color:#b91c1c}:root[data-theme=dark] .ic-pn.ok{color:#86efac}:root[data-theme=dark] .ic-pn.warn{color:#fcd34d}:root[data-theme=dark] .ic-pn.bad{color:#fca5a5}.ic-pn-list{display:grid;border:1px solid var(--border);border-radius:10px}.ic-pn-row{display:grid;grid-template-columns:minmax(130px,1.1fr) minmax(120px,1fr) minmax(130px,1fr) minmax(140px,1fr) auto;gap:10px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--border);font-size:13px}.ic-pn-row:last-child{border-bottom:0}.ic-pn-row.rejected{opacity:.75}.ic-pn-acts{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.ic-pn-form{display:grid;gap:8px;margin-top:8px;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-base)}@media(max-width:760px){.ic-pn-row{grid-template-columns:1fr 1fr}.ic-pn-acts{grid-column:1 / -1;justify-content:flex-start}}.grn-pn{display:grid;gap:4px;margin-top:6px}.grn-pn input{max-width:260px}.ic-help{position:relative;display:inline-grid;place-items:center;width:16px;height:16px;margin-left:5px;border-radius:50%;font-size:10.5px;font-weight:800;line-height:1;color:var(--brand);background:color-mix(in srgb,var(--brand) 14%,transparent);cursor:help;vertical-align:1px;text-transform:none;letter-spacing:0}.ic-help-pop{position:fixed;transform:translateY(-100%);width:max-content;max-width:280px;padding:8px 10px;border-radius:8px;background:var(--text-primary);color:var(--bg-surface);font-size:12px;font-weight:500;line-height:1.45;white-space:normal;text-align:left;z-index:5000;pointer-events:none;box-shadow:0 6px 18px #00000040}.ic-help-pop.below{transform:none}.cc-help-inp::placeholder{color:var(--text-muted)}.cc-tech-code summary{cursor:pointer;font-size:12.5px}.cc-optwhen{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 6px;padding:6px 8px;border-radius:8px;font-size:11.5px;font-weight:600;color:var(--purple);background:color-mix(in srgb,var(--purple) 8%,transparent);border:1px dashed color-mix(in srgb,var(--purple) 40%,var(--border))}.cc-optwhen-rule{font-weight:500;color:var(--text-secondary);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;padding:1px 6px;border-radius:6px;background:var(--bg-base)}.cc-optwhen .cc-wb-btn{margin-left:auto;padding:2px 8px;font-size:11px}.cc-add-note{margin:-2px 0 8px;padding:6px 10px;border-radius:8px;font-size:12px;color:var(--text-secondary);background:color-mix(in srgb,var(--brand) 8%,transparent);border:1px solid color-mix(in srgb,var(--brand) 25%,var(--border))}.cc-json-tip{max-width:380px;padding:8px 10px;font-size:12px;line-height:1.45;display:grid;gap:4px}.cc-json-tip b{color:var(--purple)}.cc-json-tip code{font-size:11.5px;color:var(--green);white-space:pre-wrap}.cm-tooltip:has(.cc-json-tip){background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 22px #00000038}.cc-helper{border:1px solid var(--border);border-radius:10px;background:var(--bg-surface);margin-top:8px}.cc-helper-hd{width:100%;text-align:left;padding:8px 12px;font-size:12.5px;font-weight:700;background:none;border:0;color:var(--text-primary);cursor:pointer}.cc-helper-hd .muted{font-weight:500}.cc-helper-tabs{display:flex;flex-wrap:wrap;gap:4px;padding:0 10px 8px;border-bottom:1px solid var(--border)}.cc-helper-tabs button{padding:4px 10px;border-radius:999px;font-size:11.5px;font-weight:600;border:1px solid var(--border);background:var(--bg-base);color:var(--text-secondary);cursor:pointer}.cc-helper-tabs button.on{background:var(--brand);border-color:var(--brand);color:#fff}.cc-helper-body{padding:10px 12px;font-size:12.5px;line-height:1.55;color:var(--text-secondary)}.cc-helper-body p{margin:0 0 8px}.cc-helper-body ul{margin:6px 0 0;padding-left:18px;display:grid;gap:3px}.cc-helper-body pre{margin:6px 0;padding:8px 10px;border-radius:8px;background:var(--bg-base);border:1px solid var(--border);font-size:11.5px;overflow-x:auto;color:var(--text-primary)}.cc-helper-body code{font-size:11.5px;padding:0 4px;border-radius:4px;background:var(--bg-base);color:var(--text-primary)}.cc-helper-grid{display:grid;gap:4px}.cc-helper-row{display:grid;grid-template-columns:120px 150px 1fr;gap:10px;align-items:baseline;padding:6px 8px;border-radius:8px;background:var(--bg-base)}.cc-helper-row .k{font-weight:700;color:var(--purple)}.cc-helper-row .kind{font-size:11.5px;color:var(--text-muted)}.cc-helper-row .ex{display:inline-block;margin-left:6px;color:var(--green)}.cc-helper-row.mist{grid-template-columns:180px 1fr 1fr}.cc-helper-row .bad{color:var(--red);white-space:pre-wrap}.cc-helper-row .good{color:var(--green);white-space:pre-wrap}.cc-helper-ex{display:grid;gap:8px}.cc-helper-excard{border:1px solid var(--border);border-radius:8px;padding:8px 10px}.cc-helper-exhd{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.cc-helper-exbtns{margin-left:auto;display:flex;gap:6px}@media(max-width:700px){.cc-helper-row,.cc-helper-row.mist{grid-template-columns:1fr;gap:2px}}.cc-opt-help::placeholder{color:var(--text-muted)}.ic-opt-help{margin-top:4px;font-size:11.5px;line-height:1.4;color:var(--text-secondary)}.cc-ed-foot{justify-content:flex-end;gap:8px 12px;flex-wrap:wrap}.cc-ed-foot .cc-refresh-chk{flex:1 1 280px;min-width:0;margin-right:0}.cc-foot-btns{display:flex;gap:8px;margin-left:auto;flex:0 0 auto}.cc-foot-err{flex:1 0 100%;display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:8px;font-size:12.5px;font-weight:600;color:var(--red);background:color-mix(in srgb,var(--red) 9%,transparent);border:1px solid color-mix(in srgb,var(--red) 35%,var(--border))}.cc-foot-err>span{flex:1 1 auto;min-width:0}.cc-foot-err .cc-wb-btn{padding:3px 10px}.cc-tool-grid{display:grid;grid-template-columns:max-content 1fr;gap:6px 12px;align-items:center;margin-bottom:8px}.cc-tool-lbl{font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap}.cc-tool-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.cc-tool-row>button{height:28px;display:inline-flex;align-items:center;padding-top:0;padding-bottom:0}@media(max-width:700px){.cc-tool-grid{grid-template-columns:1fr}}.cc-pl-grid{overflow-x:auto;padding-bottom:2px}.cc-pl-grid>div{min-width:max-content}.cc-pl-col{display:inline-flex;align-items:center;gap:2px;min-width:0}.cc-pl-colname{font:inherit;font-size:9.5px;font-weight:800;letter-spacing:.04em;text-transform:none;color:var(--purple);background:color-mix(in srgb,var(--purple) 10%,transparent);border:1px dashed color-mix(in srgb,var(--purple) 40%,var(--border));border-radius:6px;padding:1px 6px;cursor:pointer}.cc-pl-col .cc-opt-del{width:18px;height:18px;font-size:11px}.cc-helper-avail{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0;padding:8px 10px;border-radius:8px;background:color-mix(in srgb,var(--brand) 6%,transparent);border:1px solid color-mix(in srgb,var(--brand) 22%,var(--border))}.cc-helper-chip{font:inherit;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;padding:2px 8px;border-radius:6px;border:1px solid color-mix(in srgb,#14b8a6 45%,var(--border));background:var(--bg-surface);color:#0d9488;cursor:pointer}.cc-helper-chip:hover{border-color:#14b8a6}.ic-clone-note{margin:0 18px 4px;padding:8px 12px;border-radius:8px;font-size:12.5px;line-height:1.45;color:var(--text-secondary);background:color-mix(in srgb,var(--brand) 8%,transparent);border:1px solid color-mix(in srgb,var(--brand) 25%,var(--border))}.ic-foot-status{display:flex;align-items:center;gap:10px;margin:0;padding:8px 18px;font-size:12.5px;font-weight:600;color:#b45309;background:color-mix(in srgb,var(--amber) 12%,var(--bg-surface));border-top:1px solid color-mix(in srgb,var(--amber) 35%,var(--border))}.ic-foot-status.bad{color:var(--red);background:color-mix(in srgb,var(--red) 9%,var(--bg-surface));border-top-color:color-mix(in srgb,var(--red) 35%,var(--border))}.ic-foot-status>span{flex:1 1 auto;min-width:0}.ic-foot-status .chip-btn{flex:0 0 auto}.ic-comp-list{display:grid;gap:4px}.ic-comp-row{display:grid;grid-template-columns:44px 1fr auto auto;gap:10px;align-items:baseline;padding:6px 10px;border-radius:8px;background:var(--bg-base);font-size:12.5px}.ic-comp-qty{font-weight:700;color:var(--text-secondary);text-align:right}.ic-comp-main{min-width:0}.ic-comp-pn{font-size:12px;white-space:nowrap}.ic-comp-cost{font-size:12px;white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}.ic-comp-sum{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;padding:7px 10px;border-top:1px dashed var(--border);font-size:12.5px}.ic-comp-sum .pp-chk{margin:0}.ic-op-edit-row{grid-template-columns:minmax(0,1.6fr) 70px 90px minmax(0,1fr) auto!important}.ic-cost-box{display:grid;gap:6px;margin-top:8px;padding:8px 10px;border-radius:8px;background:var(--bg-base);font-size:12.5px}.ic-cost-box .pp-chk{margin:0}.ic-cost-bd{display:flex;flex-wrap:wrap;gap:6px}.ic-cost-chip{display:inline-flex;gap:6px;align-items:baseline;padding:3px 9px;border-radius:999px;border:1px solid var(--border);font-variant-numeric:tabular-nums}.ic-cost-chip.total{border-color:var(--accent, #6366f1)}.ic-cost-oh{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0}.ic-wc-list{display:grid;gap:2px;margin-top:6px;overflow-x:auto}.ic-wc-row{display:grid;grid-template-columns:70px minmax(160px,1.6fr) 100px 130px 110px 40px;gap:10px;align-items:baseline;padding:6px 8px;border-radius:6px;font-size:12.5px}.ic-wc-row:nth-child(odd):not(.hd){background:var(--bg-base)}.ic-wc-row.hd{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.ic-wc-row.off{opacity:.55}.ic-wc-rate{font-variant-numeric:tabular-nums}.ok-text{color:#15803d}:root[data-theme=dark] .ok-text{color:#86efac}.warn-text{color:#b45309}:root[data-theme=dark] .warn-text{color:#fcd34d}.ic-comp-edit{display:grid;gap:6px}.ic-comp-edit-row{display:grid;grid-template-columns:minmax(0,1fr) 70px minmax(0,.6fr) auto;gap:6px;align-items:center}.ic-comp-qty-inp{text-align:right}@media(max-width:640px){.ic-comp-row{grid-template-columns:36px 1fr}.ic-comp-pn,.ic-comp-cost{grid-column:2;text-align:left}.ic-comp-edit-row{grid-template-columns:1fr 70px}}.ms-panel{max-height:min(420px,calc(60vh / var(--ui-zoom-vu, 1)))}.ms-panel:has(.ms-search){max-height:min(480px,calc(64vh / var(--ui-zoom-vu, 1)))}.ms-chosen{display:flex;flex-wrap:wrap;gap:4px;padding:6px 4px;border-bottom:1px solid var(--border);margin-bottom:4px}.ms-chip{display:inline-flex;align-items:center;gap:4px;max-width:100%;font:inherit;font-size:11.5px;line-height:1.3;padding:2px 8px;border-radius:999px;border:1px solid color-mix(in srgb,var(--brand) 40%,var(--border));background:color-mix(in srgb,var(--brand) 10%,transparent);color:var(--text-primary);cursor:pointer;text-align:left}.ms-chip span{color:var(--text-muted);font-weight:700}.ms-chip:hover{border-color:var(--red)}.ms-chip:hover span{color:var(--red)}.cc-def-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 6px}.cc-def-row>select,.cc-def-row>input,.cc-def-row>.ms{flex:1 1 200px;min-width:0}.cc-def-lbl{font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted)}.cc-def-lock{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--text-secondary);white-space:nowrap;cursor:pointer}.cc-def-lock input{width:14px;height:14px}.ic-locked{padding:8px 10px;border-radius:8px;font-size:13px;line-height:1.45;background:var(--bg-base);border:1px dashed var(--border);color:var(--text-secondary)}.ic-plan{margin:0 0 12px;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--brand) 6%,var(--bg-surface));border:1px solid color-mix(in srgb,var(--brand) 25%,var(--border));font-size:13px}.ic-plan-hd{font-weight:700;margin-bottom:6px}.ic-plan-steps{margin:0 0 6px;padding-left:20px;display:grid;gap:6px}.ic-plan-part{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline;margin-top:3px}.ic-plan-dept{font-size:11.5px;font-weight:700;padding:1px 8px;border-radius:999px;background:color-mix(in srgb,var(--purple) 12%,transparent);color:var(--purple)}.ic-pn-find{padding:7px 10px;border-radius:8px;font-size:12.5px;line-height:1.45;background:color-mix(in srgb,var(--warning, #d97706) 9%,transparent);border:1px solid color-mix(in srgb,var(--warning, #d97706) 30%,var(--border))}.ic-pn-find.ok{background:color-mix(in srgb,var(--success, #16a34a) 9%,transparent);border-color:color-mix(in srgb,var(--success, #16a34a) 30%,var(--border))}.ic-pn-segs{display:flex;flex-wrap:wrap;gap:6px}.ic-pn-seg{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border:1px solid var(--border);border-radius:8px;background:var(--bg-surface);cursor:pointer;font-family:var(--font-mono, ui-monospace, monospace);font-size:12.5px}.ic-pn-seg small{color:var(--text-muted);font-size:10.5px}.ic-pn-seg input{width:13px;height:13px;margin:0}.ic-pn-seg.on{border-color:color-mix(in srgb,var(--success, #16a34a) 55%,var(--border));background:color-mix(in srgb,var(--success, #16a34a) 10%,var(--bg-surface))}.ic-shared{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:600;padding:1px 7px;border-radius:999px;color:var(--brand);background:color-mix(in srgb,var(--brand) 10%,transparent);white-space:nowrap}.ic-link-list{display:grid;gap:8px}.ic-link-item{border:1px solid var(--border);border-radius:10px;padding:8px 10px;display:grid;gap:4px;background:var(--bg-surface)}.ic-link-hd{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.ic-link-name{flex-basis:100%}.ic-link-file{display:flex;align-items:center;gap:7px;font-size:13px;padding:3px 2px;cursor:pointer;flex-wrap:wrap}.ic-link-file input{width:14px;height:14px;margin:0}.ic-link-file.done{opacity:.55;cursor:default}.ic-pv-shared-note{font-size:11.5px;color:var(--text-muted);margin-top:4px}.ic-clone-link{display:flex;align-items:flex-start;gap:7px;font-size:12.5px;padding:8px 10px;border-radius:8px;background:color-mix(in srgb,var(--brand) 6%,var(--bg-surface));border:1px solid color-mix(in srgb,var(--brand) 22%,var(--border));margin-bottom:10px;cursor:pointer}.ic-clone-link input{margin-top:2px}.ic-kind{display:inline-flex;align-items:center;gap:4px;margin:3px 0 2px;padding:1px 8px;border-radius:999px;font-size:11.5px;font-weight:600;border:1px solid transparent;cursor:pointer;line-height:1.6;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.ic-kind.asm{color:#7c3aed;background:color-mix(in srgb,#7c3aed 11%,transparent);border-color:color-mix(in srgb,#7c3aed 28%,transparent)}.ic-kind.part{color:#0f766e;background:color-mix(in srgb,#0d9488 11%,transparent);border-color:color-mix(in srgb,#0d9488 28%,transparent)}[data-theme=dark] .ic-kind.asm,.dark .ic-kind.asm{color:#c4b5fd}[data-theme=dark] .ic-kind.part,.dark .ic-kind.part{color:#5eead4}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .ic-kind.asm{color:#c4b5fd}:root:not([data-theme=light]) .ic-kind.part{color:#5eead4}}.ic-kind:hover{filter:brightness(1.08)}.ic-part-row td.hr-name{padding-left:26px}.ic-part-row{background:color-mix(in srgb,#0d9488 4%,transparent)}.ic-part-branch{color:var(--text-muted);margin-right:6px;font-family:var(--font-mono, monospace)}.ic-part-card{margin-left:22px;border-left:3px solid color-mix(in srgb,#0d9488 45%,var(--border))!important}.ic-group-tog{display:inline-flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap;padding:7px 4px;cursor:pointer}.pp-win{min-height:calc(100vh / var(--ui-zoom-vu, 1));background:var(--bg-base, #f8fafc);color:var(--text-primary);font-family:inherit}.cv-guide.cv-props.pp-wide{position:static;width:auto;max-height:none;height:calc(100vh / var(--ui-zoom-vu, 1));border:none;border-radius:0;box-shadow:none}.pp-wide .cv-guide-hd{padding:10px 18px;font-size:15px}.pp-wide .pp-body{flex:1;overflow-y:auto;padding:14px 28px 40px 256px;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));column-gap:20px;row-gap:10px;align-content:start}.pp-wide .pp-body>*{grid-column:1 / -1;min-width:0}.pp-wide .pp-body>.pp-f,.pp-wide .pp-body>.pp-check,.pp-wide .pp-body>.pp-chk,.pp-wide .pp-body>.pp-row2{grid-column:auto;align-self:start}.pp-wide .pp-body>.pp-sec-t{margin-top:6px}.pp-wide .pp-noz{grid-template-columns:70px minmax(120px,1fr) 64px minmax(150px,1.6fr) 100px 60px minmax(150px,1.4fr) 40px;gap:6px 8px;align-items:center;padding:8px 0}.pp-wide .pp-noz>*{grid-column:auto}.pp-wide .pp-noz .pp-noz-use,.pp-wide .pp-noz .pp-noz-conn{grid-column:auto}.pp-wide .pp-noz>button{order:1}.pp-wide .pp-noz .pp-noz-thru{order:2;grid-column:span 4}.pp-wide .pp-noz .pp-noz-rot{order:3;grid-column:span 4}@media(max-width:900px){.pp-wide .pp-body{padding-left:196px}.pp-wide .pp-nav{width:180px}.pp-wide .pp-noz{grid-template-columns:64px 1fr 60px 40px}.pp-wide .pp-noz .pp-noz-use,.pp-wide .pp-noz .pp-noz-conn,.pp-wide .pp-noz .pp-noz-thru,.pp-wide .pp-noz .pp-noz-rot{grid-column:1 / -1}}@media(max-width:620px){.pp-wide .pp-body{padding:12px 14px 30px}.pp-wide .pp-nav{position:static;width:auto;flex-direction:row;flex-wrap:wrap;border-right:none;padding:0 0 8px}}.pp-wide .pp-search{background:var(--bg-surface, #fff);padding:4px 0 12px}.pp-wide .pp-nav{position:fixed;left:0;top:46px;bottom:0;width:228px;overflow-y:auto;display:flex;flex-direction:column;gap:2px;padding:12px 10px;border-right:1px solid var(--border);background:var(--bg-surface, #fff)}.pp-wide .pp-nav button{text-align:left;padding:8px 12px;border:none;border-radius:7px;background:transparent;color:var(--text-secondary);font:inherit;font-size:13.5px;cursor:pointer;line-height:1.3}.pp-wide .pp-nav button:hover{background:var(--bg-hover, rgba(99,102,241,.08));color:var(--text-primary)}.pp-wide .pp-nav button.on{background:var(--accent-bg, rgba(99,102,241,.12));color:var(--accent, #6366f1);font-weight:600}.pp-wide .pp-sec-t{font-size:15px;cursor:default;border-top:none;margin-top:0;padding-top:2px}.pp-wide .pp-sec-t:before{display:none}.pp-inline-win{position:fixed;top:48px;right:56px;bottom:48px;left:56px;z-index:1000;display:flex;flex-direction:column;transform:translateZ(0);border-radius:12px;overflow:hidden;border:1px solid var(--border);box-shadow:0 24px 64px #00000073;background:var(--bg-surface, #fff)}.pp-inline-win .cv-guide.cv-props.pp-wide{height:auto;flex:1;min-height:0}.pp-inline-note{padding:6px 14px;font-size:12px;color:#b45309;background:#f59e0b1f;border-bottom:1px solid rgba(245,158,11,.3)}.pp-inline-win .pp-wide .pp-nav{top:80px}.wf-withdraw{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px}.wf-withdraw .field-inp{flex:1;min-width:200px}.wf-withdraw-btn{margin-top:6px}.wf-withdrawn{color:#9a3412;background:#fff7ed;border-left:3px solid #fdba74;padding:3px 8px;border-radius:4px;margin-top:6px}.noz-bar{display:flex;gap:6px;flex-wrap:wrap;margin:2px 0 8px}.noz-all{border:1px solid var(--border, #e5e7eb);border-radius:8px;padding:6px 10px;margin-bottom:8px;background:var(--bg-base, #f9fafb)}.noz-all>summary{cursor:pointer;font-size:12px;font-weight:600;padding:2px 0}.noz-all[open]>summary{margin-bottom:6px}.noz-card{border:1px solid var(--border, #e5e7eb);border-radius:8px;margin-bottom:6px;background:var(--bg-surface, #fff)}.noz-card.open{box-shadow:0 1px 3px #0000000f;border-color:#c7d2fe}.noz-hd{display:grid;grid-template-columns:52px 1fr 30px;gap:6px;align-items:center;padding:5px 6px}.noz-no{font-weight:700;text-align:center;padding:4px}.noz-sum{display:grid;grid-template-columns:auto 1fr 14px;gap:6px;align-items:center;min-width:0;text-align:left;border:0;background:transparent;cursor:pointer;padding:4px 2px;font-size:12px;color:inherit}.noz-sum b{white-space:nowrap}.noz-sum span{color:var(--text-muted, #6b7280);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.noz-sum i{font-style:normal;color:var(--text-muted, #6b7280)}.noz-del{border:0;background:transparent;cursor:pointer;font-size:13px;opacity:.7}.noz-del:hover{opacity:1}.noz-body{padding:2px 10px 8px;border-top:1px dashed var(--border, #e5e7eb)}.noz-grp{padding-top:6px}.noz-grp-t{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#6366f1;margin:2px 0 4px}.noz-2{display:grid;grid-template-columns:1fr 1fr;gap:6px 8px}.noz-f{display:flex;flex-direction:column;gap:2px;margin-bottom:4px;min-width:0}.noz-f>span{font-size:11px;color:var(--text-muted, #6b7280)}.noz-inline{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:4px}.noz-inline .field-inp{width:80px}.noz-chk{align-self:end;margin-bottom:8px}.pp-cats{display:flex;flex-direction:column}.pp-cats>.pp-search{order:-1}.pp-cats>.pp-sec[data-cat]{margin-top:10px;padding-top:10px;border-top:2px solid var(--border, #e5e7eb)}.pp-cats>.pp-sec[data-cat=Vessel]{margin-top:0;padding-top:0;border-top:0}.cnoz-list{display:flex;flex-direction:column;gap:4px;margin:4px 0 6px}.cnoz-row{border:1px solid var(--border, #e5e7eb);border-radius:6px;padding:4px 6px}.cnoz-f{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-end;margin-top:3px}.cnoz-f>select,.cnoz-f>label{flex:1 1 70px;min-width:0;display:flex;flex-direction:column}.cpk-btn.more{background:conic-gradient(#ef4444,#f59e0b,#eab308,#22c55e,#06b6d4,#3b82f6,#8b5cf6,#ec4899,#ef4444)!important;border-radius:50%}.cpk-btn.swatch{width:26px;height:18px;border-radius:4px}.cpk-pop{position:fixed;z-index:3000;width:236px;padding:8px;background:var(--bg-surface, #fff);color:var(--text-primary, #111827);border:1px solid var(--border, #e5e7eb);border-radius:10px;box-shadow:0 10px 30px #0000002e;display:flex;flex-direction:column;gap:6px}.cpk-grid{display:flex;gap:2px}.cpk-col{display:flex;flex-direction:column;gap:2px}.cpk-sw{width:13px;height:13px;padding:0;border:1px solid rgba(0,0,0,.15);border-radius:3px;cursor:pointer}.cpk-sw:hover{transform:scale(1.25)}.cpk-sw.on{outline:2px solid var(--brand, #6366f1);outline-offset:1px}.cpk-recent{display:flex;flex-wrap:wrap;gap:3px}.cpk-lbl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted, #6b7280)}.cpk-none{display:flex;align-items:center;gap:6px;font-size:12px;background:none;border:1px solid var(--border, #e5e7eb);border-radius:6px;padding:3px 6px;cursor:pointer;color:inherit}.cpk-none.on{border-color:var(--brand, #6366f1)}.cpk-custom{display:flex;gap:4px;align-items:center}.cpk-custom input[type=color]{width:30px;height:26px;padding:0;border:1px solid var(--border, #e5e7eb);border-radius:4px;background:none;cursor:pointer}.cpk-custom .field-inp{flex:1;min-width:0;height:26px;font-family:monospace}.pp-colrows{display:flex;flex-direction:column;gap:4px;margin:2px 0 6px}.pp-colrow{display:grid;grid-template-columns:1fr auto 70px;align-items:center;gap:8px}.pp-colhex{font-family:monospace;font-size:11px;color:var(--text-muted, #6b7280)}.cv-shape-hatch{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:visible}.hatch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(46px,1fr));gap:4px;margin:4px 0}.hatch-tile{display:flex;align-items:center;justify-content:center;height:32px;padding:2px;background:var(--bg-surface, #fff);color:var(--text-primary, #111827);border:1px solid var(--border, #e5e7eb);border-radius:6px;cursor:pointer}.hatch-tile.on{border-color:var(--brand, #6366f1);box-shadow:0 0 0 1px var(--brand, #6366f1)}.drv-cad{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.drv-cad-box{height:380px;border:1px solid var(--border, #e5e7eb);border-radius:8px;overflow:hidden;background:#0f1115}.drv-cad-box .drv-cad-view{width:100%;height:100%}.drv-cad-pdf{width:100%;height:100%;border:0;background:#fff}.drv-cad-pdf.big{height:100%;min-height:calc(70vh / var(--ui-zoom-vu, 1))}.drv-cad-msg{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;height:100%;min-height:160px;padding:12px;text-align:center;font-size:28px;color:var(--text-muted, #6b7280)}.drv-cad-msg .sm{font-size:12px}.drv-cad-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border-radius:8px;background:var(--bg-muted, #f8fafc);border:1px solid var(--border, #e5e7eb)}.drv-cad-pick{display:flex;flex-direction:column;gap:6px;max-height:320px;overflow:auto;padding:4px;border:1px dashed var(--border, #e5e7eb);border-radius:8px}.drv-cad-cand{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:6px;font-size:12.5px}.drv-cad-pick-hd{display:flex;align-items:center;justify-content:space-between;gap:8px}.drv-cad-ico{flex-shrink:0;min-width:30px;padding:2px 4px;border-radius:4px;color:#fff;font-size:9.5px;font-weight:700;text-align:center}.drv-cad-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drv-cad-cand:hover{background:var(--bg-muted, #f1f5f9)}.cb-pend{display:inline-block;margin-left:6px;padding:0 6px;border-radius:999px;background:#fef3c7;color:#92400e;font-size:10.5px;font-style:normal;font-weight:700;white-space:nowrap}.cv-pend{position:absolute;top:-10px;right:-10px;z-index:3;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#fef3c7;border:1px solid #f59e0b;font-size:10px;pointer-events:auto;cursor:help}.io-warn.pend{background:#fffbeb;border-color:#f59e0b;color:#92400e}.cv-hosetag{position:absolute;pointer-events:none;white-space:nowrap;font-size:13px;font-weight:700;color:currentColor;line-height:1}.asm-box{margin-top:8px}.asm-row{display:flex;flex-direction:column;gap:4px;padding:6px 0;border-top:1px solid var(--line, #e5e7eb)}.asm-row:first-of-type{border-top:0}.cv-parts-row.asm-part b,.cv-parts-row.asm-part span:first-of-type{padding-left:10px}.asm-tag{color:#7c3aed;font-style:normal}.pp-urs-row{display:flex;gap:6px;align-items:flex-end}.pp-urs-row>.pp-f{flex:1;min-width:0}.pp-urs-add{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) auto;gap:6px;align-items:center;margin:4px 0 8px}.pp-urs-add .field-inp{min-width:0;width:100%;font-size:12.5px;padding:5px 8px;height:auto}.pp-urs-add .chip-btn,.pp-urs-row .chip-btn{white-space:nowrap;align-self:center}.pp-urs-row .chip-btn{margin-bottom:2px;align-self:flex-end}.pp-urs-bulk{display:flex;flex-direction:column;gap:6px;margin:4px 0 8px}.pp-urs-bulk .field-inp{font-size:12.5px;padding:5px 8px;min-width:0;width:100%;resize:vertical}.ic-tree-tabs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:6px}.ic-tree{display:grid;gap:2px}.ic-tree-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:baseline;padding:5px 10px 5px calc(10px + var(--lvl, 0) * 20px);border-radius:8px;background:var(--bg-base);font-size:12.5px;border-left:2px solid transparent}.ic-tree-row:not(.root){border-left-color:color-mix(in srgb,var(--border) 80%,transparent)}.ic-tree-row.root{font-weight:600;background:color-mix(in srgb,var(--accent, #3b82f6) 8%,var(--bg-base))}.ic-tree-name{display:flex;align-items:baseline;gap:6px;min-width:0}.ic-tree-txt{min-width:0}.ic-tree-caret{border:0;background:none;color:var(--text-secondary);cursor:pointer;width:14px;padding:0;font-size:12px;flex:none}.ic-tree-caret.leaf{cursor:default;text-align:center;opacity:.5}.ic-tree-qty{font-weight:700;color:var(--text-secondary);white-space:nowrap;flex:none}.ic-tree-sku{border:0;background:none;padding:0;cursor:pointer;font-family:ui-monospace,monospace;font-size:11.5px;color:var(--accent, #3b82f6);text-decoration:underline dotted}.ic-tree-tag{font-size:11px;padding:0 5px;border-radius:6px;background:color-mix(in srgb,var(--text-secondary) 14%,transparent);white-space:nowrap}.ic-tree-tot,.ic-tree-cost{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;font-size:12px}@media(max-width:640px){.ic-tree-row{grid-template-columns:1fr}.ic-tree-tot,.ic-tree-cost{text-align:left;padding-left:20px}}.ic-comp-edit-row input,.ic-wc-row input:not([type=checkbox]){width:100%;min-width:0;padding:8px 11px;border:1px solid var(--border);border-radius:8px;background-color:var(--bg-elevated);color:var(--text-primary);font-size:14px;line-height:1.4;outline:none;transition:border-color .12s ease}.ic-comp-edit-row input:hover,.ic-wc-row input:not([type=checkbox]):hover{border-color:var(--text-muted)}.ic-comp-edit-row input:focus,.ic-wc-row input:not([type=checkbox]):focus{border-color:var(--accent);box-shadow:0 0 0 2px #6366f12e}.ic-comp-edit-row input[type=number]{text-align:right}.ic-comp-edit-row .chip-btn.danger{align-self:stretch;padding:0 12px}.ic-sell-field{display:grid;grid-template-columns:150px minmax(0,1fr);gap:6px}.ic-sell-hd{display:flex;align-items:center;justify-content:space-between;gap:8px}.ic-sell-chk{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap}.ic-sell-chk input{width:14px;height:14px;margin:0}.ic-sell-off{padding:9px 11px;border:1px dashed var(--border);border-radius:8px}.ic-comp-sec{margin-top:6px;padding:4px 10px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary);border-bottom:1px solid var(--border)}.ic-comp-pos{display:inline-block;margin-right:6px;padding:0 6px;border-radius:6px;font-size:11px;font-weight:700;background:color-mix(in srgb,var(--accent, #6366f1) 14%,transparent);color:var(--accent, #6366f1)}.ic-comp-edit-row{grid-template-columns:minmax(80px,.5fr) minmax(0,1.6fr) 70px minmax(80px,.55fr) minmax(0,.7fr) auto}.ic-comp-edit-hd{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.ic-pick{margin-top:8px;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--bg-base);display:grid;gap:8px}.ic-pick-hd{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px}.ic-pick-filters{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:6px}.ic-pick-filters input,.ic-pick-ft input{min-width:0;padding:8px 11px;border:1px solid var(--border);border-radius:8px;background-color:var(--bg-elevated);color:var(--text-primary);font-size:14px}.ic-pick-filters select{min-width:0}.ic-pick-list{max-height:300px;overflow:auto;display:grid;gap:2px;border:1px solid var(--border);border-radius:8px;padding:4px}.ic-pick-row{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;gap:8px;align-items:baseline;padding:4px 6px;border-radius:6px;font-size:12.5px;cursor:pointer}.ic-pick-row:hover{background:var(--bg-elevated)}.ic-pick-row.on{background:color-mix(in srgb,var(--accent, #6366f1) 10%,transparent)}.ic-pick-name{min-width:0}.ic-pick-ft{display:flex;flex-wrap:wrap;gap:8px;align-items:center}@media(max-width:760px){.ic-pick-filters{grid-template-columns:1fr 1fr}.ic-comp-edit-row{grid-template-columns:1fr 70px}.ic-comp-edit-hd{display:none}}.cb-adv{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 10px;padding:8px 16px 10px;border-bottom:1px solid var(--border);background:var(--surface-2, rgba(99,102,241,.04))}.cb-adv label{display:flex;flex-direction:column;gap:3px;font-size:11.5px;color:var(--text-muted, #64748b)}.cb-adv .field-inp{width:170px;padding:6px 8px;font-size:12.5px}.cb-adv-on{color:#4f46e5!important;font-weight:600}.cb-pn{display:block;font-style:normal;font-weight:500;font-size:11px;color:#0f766e;font-family:system-ui,sans-serif}.ssx-pop{z-index:100000;display:flex;flex-direction:column}.ssx-pop .ss-opt{font-size:13px;color:var(--text-primary)}.ssx-pop .ss-opt.hi{background:var(--bg-hover)}.ssx-pop .ss-opt.on.hi{background:var(--accent-bg)}.ssx-pop .ss-opt.ssx-dis{opacity:.45;cursor:default}.ssx-group{padding:6px 10px 2px;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}.cv-find{position:absolute;top:64px;left:50%;z-index:40;width:min(480px,calc(100% - 24px));background:var(--bg-surface, #fff);border:1px solid #93c5fd;border-radius:10px;box-shadow:0 8px 24px #0f172a2e;font-size:12.5px;overflow:hidden}.cv-flow.rulers .cv-find{top:86px}.cv-find-grip{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;color:#94a3b8;font-size:14px;padding:0 2px;line-height:1}.cv-find-grip:active{cursor:grabbing}.cv-find-scope{max-width:110px;border:1px solid #cbd5e1;border-radius:6px;background:#f8fafc;font-size:11px;padding:2px 4px;color:#334155;cursor:pointer}.cv-find-row{display:flex;align-items:center;gap:4px;padding:5px 6px 5px 9px}.cv-find-ic{font-size:12px;opacity:.7}.cv-find-q{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:13px;padding:3px 2px;color:inherit}.cv-find-n{font-size:11px;color:#64748b;white-space:nowrap;font-variant-numeric:tabular-nums;padding:0 4px}.cv-find-row button{border:0;background:none;border-radius:5px;width:24px;height:24px;cursor:pointer;color:#334155;font-size:11px}.cv-find-row button:hover:not(:disabled){background:#e0ecff}.cv-find-row button:disabled{opacity:.35;cursor:default}.cv-find-list{max-height:300px;overflow-y:auto;border-top:1px solid #e2e8f0}.cv-find-hit{display:grid;grid-template-columns:1fr auto;column-gap:8px;width:100%;text-align:left;border:0;background:none;padding:5px 10px;cursor:pointer;color:inherit}.cv-find-hit:hover{background:#f1f5f9}.cv-find-hit.on{background:#dbeafe}.cv-find-hit b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cv-find-hit span{grid-column:1;font-size:11px;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cv-find-hit em{grid-column:2;grid-row:1 / span 2;align-self:center;font-style:normal;font-size:10.5px;color:#475569;background:#f1f5f9;border-radius:999px;padding:1px 7px;white-space:nowrap;max-width:130px;overflow:hidden;text-overflow:ellipsis}.cv-find-hit em.here{background:#dcfce7;color:#166534}.cv-find-more{padding:5px 10px;font-size:11px;color:#64748b}.dv-oo{position:relative;width:100%;height:100%;min-height:0}.dv-oo>div[id]{width:100%;height:100%}.dv-oo-wait{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.dv-empty{color:var(--text-muted, #64748b);padding:18px;font-style:italic}.dpk-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:16px}.dpk{width:min(980px,100%);height:min(640px,100%);background:var(--bg-surface, #fff);border-radius:14px;box-shadow:0 24px 60px #0f172a4d;display:flex;flex-direction:column;overflow:hidden}.dpk-hd{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border)}.dpk-hd b{white-space:nowrap}.dpk-q{flex:1;max-width:360px;margin-left:auto}.dpk-main{flex:1;min-height:0;display:flex}.dpk-side{width:220px;flex-shrink:0;border-right:1px solid var(--border);padding:8px;overflow-y:auto;display:flex;flex-direction:column;gap:2px;background:var(--bg-base, #f8fafc)}.dpk-side button{text-align:left;border:0;background:none;border-radius:8px;padding:7px 10px;cursor:pointer;color:var(--text-primary);font:inherit;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dpk-side button:hover{background:#6366f114}.dpk-side button.on{background:#6366f126;font-weight:600}.dpk-sh{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:10px 10px 4px}.dpk-pane{flex:1;min-width:0;display:flex;flex-direction:column}.dpk-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border);flex-wrap:wrap}.dpk-crumbs{flex:1;min-width:0;font-size:13px}.dpk-crumbs button{border:0;background:none;padding:2px 4px;border-radius:5px;cursor:pointer;font:inherit;color:var(--accent, #4f46e5)}.dpk-crumbs button:hover{background:#6366f11a}.dpk-add{display:flex;gap:6px;flex-wrap:wrap}.dpk-list{flex:1;overflow-y:auto;padding:6px}.dpk-row{display:grid;grid-template-columns:22px 26px 1fr auto;align-items:center;gap:8px;width:100%;border:0;background:none;text-align:left;padding:7px 8px;border-radius:8px;cursor:pointer;color:var(--text-primary);font:inherit;font-size:13px}.dpk-row:hover{background:#6366f112}.dpk-row.on{background:#6366f129}.dpk-row.was{opacity:.55;cursor:default}.dpk-ck{width:18px;height:18px;border:1.5px solid #cbd5e1;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff}.dpk-row.on .dpk-ck{background:#4f46e5;border-color:#4f46e5}.dpk-row.folder .dpk-ck,.dpk-row.was .dpk-ck{border-color:transparent;color:inherit}.dpk-ic{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:5px;font-style:normal;font-size:12px;font-weight:800;color:#fff;flex-shrink:0}.dpk-ic.f{font-size:16px}.dpk-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dpk-meta{font-size:11.5px;color:var(--text-muted);white-space:nowrap}.dpk-empty{padding:40px 16px;text-align:center;color:var(--text-muted)}.dpk-ft{display:flex;align-items:center;gap:10px;padding:10px 16px;border-top:1px solid var(--border)}.dpk-ft>.muted{flex:1;min-width:0}.tk-doclink .dpk-ic{width:18px;height:18px;font-size:10px;vertical-align:-3px}.tk-doclink.gone{text-decoration:line-through;opacity:.6}@media(max-width:700px){.dpk-side{width:140px}.dpk-meta{display:none}.dpk-q{max-width:none}}.tk-att{display:flex;align-items:center;gap:6px;align-self:flex-start;max-width:100%}.tk-att>.chip-btn{margin:0}.sph-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.sph-item{border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:var(--bg-surface, #fff)}.sph-item.off{opacity:.6}.sph-item.off b{text-decoration:line-through}.sph-hd{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}.sph-people{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.sph-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 4px 3px 10px;border-radius:999px;background:#db277714;border:1px solid rgba(219,39,119,.25);font-size:12.5px}.sph-chip .muted{font-size:11px}.sph-chip button{border:0;background:none;cursor:pointer;color:#be185d;font-size:14px;line-height:1;padding:0 4px}.sph-win{width:min(760px,calc(96vw / var(--ui-zoom-vu, 1)))}.sph-body{display:flex;flex-direction:column;gap:10px}.sph-row{display:flex;gap:12px;flex-wrap:wrap}.sph-row .fld{flex:1;min-width:180px}.sph-filters{display:flex;flex-direction:column;gap:6px}.sph-filters>div{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.sph-fl{width:110px;font-size:12px;color:var(--text-muted)}.sph-f{border:1px solid var(--border);background:var(--bg-surface, #fff);border-radius:999px;padding:3px 11px;font-size:12.5px;cursor:pointer;color:var(--text-primary)}.sph-f.on{background:#db2777;border-color:#db2777;color:#fff}.sph-pick-hd{display:flex;align-items:center;gap:10px}.sph-pick-hd .field-inp{flex:1;max-width:280px;margin-left:auto}.sph-pick{max-height:300px;overflow-y:auto;border:1px solid var(--border);border-radius:10px}.sph-emp{display:grid;grid-template-columns:22px minmax(140px,1fr) auto auto;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid var(--border);cursor:pointer;font-size:13px}.sph-emp:last-child{border-bottom:0}.sph-emp.match{background:#db27770d}.sph-emp.off{opacity:.55;cursor:default}.sph-n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sph-why{font-style:normal;font-size:11px;color:#b45309;white-space:nowrap}.sph-ft{display:flex;align-items:center;gap:10px}.sph-ft>.muted{flex:1}@media(max-width:600px){.sph-emp{grid-template-columns:22px 1fr}.sph-emp>.muted,.sph-why{grid-column:2}.sph-fl{width:100%}}.doc-badge.geo-at{background:#7c3aed1a;color:#6d28d9;border-color:#7c3aed59}.pr-find{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 6px}.pr-find .field-inp:first-child{flex:1;min-width:200px;max-width:340px}.pr-find select.field-inp{width:auto;min-width:170px}.pr-find-sum{margin-left:auto}.pr-toolbar{align-items:center;row-gap:8px}.pr-toolbar>button,.pr-toolbar>select,.pr-toolbar .btn-ghost,.pr-toolbar .btn-primary{white-space:nowrap;width:auto}.rep-cell.special{background:#db2777}.tk-page{max-width:none;margin:0}.tk-page .tk-back{margin-bottom:8px}.tk-page .tk-dialog-body{grid-template-columns:minmax(0,1fr) 320px}.tk-page .tk-main{padding:6px 22px 22px}.tk-page .tk-side{position:sticky;top:0;align-self:start;border-radius:0 0 var(--radius-lg, 12px) 0;padding:14px 16px}.tk-page .tk-side-row{grid-template-columns:96px 1fr}.tk-page .tk-cover:not(.has){height:0;background:none}.tk-page .tk-cover:not(.has) .tk-cover-actions{bottom:auto;top:12px;right:14px;z-index:2}.tk-page .tk-cover:not(.has)+.tk-dialog-head{padding-right:130px}.tk-page .tk-dialog-head{padding:14px 22px 6px}.tk-page .tk-section{margin-top:14px}@media(max-width:900px){.tk-page .tk-dialog-body{grid-template-columns:1fr}.tk-page .tk-side{position:static;border-radius:0}}@media(min-width:761px)and (max-width:900px){.tk-page .tk-side{border-left:0;border-top:1px solid var(--border);border-radius:0 0 var(--radius-lg, 12px) var(--radius-lg, 12px)}}.tk-att-hd{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tk-att-acts{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.cv-add-child.right,.cv-add-child.left{top:calc(50% - 24px)}.cv-add-child.top,.cv-add-child.bottom{left:calc(50% + 26px)}.tk-reply-btn.danger:hover{color:#dc2626}.tk-del-confirm{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:1px 4px 1px 8px}.tk-comment-edit{margin-top:4px;border:1px solid var(--accent-col, #3b82f6);border-radius:8px;padding:2px 8px 6px;background:var(--bg-surface, #fff)}.tk-comment-edit .tt-wrap{border:none}.tk-comment-edit-acts{display:flex;justify-content:flex-end;gap:6px;margin-top:4px}.tk-comment-gone{font-size:12px;font-style:italic;color:var(--text-muted);background:var(--bg-base);border-radius:8px;padding:6px 10px;align-self:center}.tk-chip-x{display:inline-flex;align-items:center;gap:1px}.tk-x{border:none;background:none;cursor:pointer;color:var(--text-muted);font-size:14px;line-height:1;padding:2px 4px;border-radius:4px}.tk-x:hover{color:#dc2626;background:#fef2f2}.tk-comment .tk-comment-body,.tk-comment .tk-comment-rt{background:#3b82f617;border:1px solid rgba(59,130,246,.22)}.tk-comment.mine .tk-comment-body,.tk-comment.mine .tk-comment-rt{background:#10b98117;border-color:#10b98147}.atp .fld-row{flex-wrap:wrap}.atp-num{display:flex;align-items:center;gap:6px}.atp-num input{flex:1;min-width:0}.atp-num em{font-style:normal;font-size:12px;color:var(--text-muted)}.atp .fld small{display:block;margin-top:3px;font-size:11px}.atp-switch{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;padding:10px 14px;margin:10px 0 4px;border:1px solid var(--border, #e2e8f0);border-radius:10px;background:var(--bg-base)}.atp-switch.on{border-color:#86efac;background:#10b98114}.atp-switch>label:first-child{display:flex;align-items:center;gap:6px;cursor:pointer}.atp-from{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;margin:0!important}.atp-from input{width:auto}.atp-order{display:flex;flex-direction:column;gap:4px;margin:4px 0 8px;max-width:520px}.atp-ord-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 8px;border:1px solid var(--border, #e2e8f0);border-radius:8px}.atp-ord-row.off{opacity:.6}.atp-ord-row label{display:flex;align-items:center;gap:6px;cursor:pointer}.atp-ord-n{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--accent-col, #3b82f6);color:#fff;font-size:11px}.atp-ord-btns{display:flex;gap:4px}.atp-howto{margin-top:14px;padding:10px 14px;border-radius:10px;background:#3b82f612;border:1px solid rgba(59,130,246,.2);font-size:12.5px}.atp-howto ol{margin:6px 0 0;padding-left:18px;display:grid;gap:3px}.rep-cell.p-late{box-shadow:inset 0 -3px #f59e0b}.rep-cell.p-short{box-shadow:inset 0 -3px #8b5cf6}.rep-cell.p-half{background:#ffedd5!important;color:#c2410c!important;font-weight:700}.rep-cell.p-abs{outline:2px solid #ef4444;outline-offset:-2px}.rep-deduct{white-space:nowrap;font-weight:600}.atd-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:16px}.atd-panel{color:var(--text-primary);width:min(980px,100%);max-height:calc(calc(100vh / var(--ui-zoom-vu, 1)) - 32px);display:flex;flex-direction:column;background:var(--bg-surface, #fff);border-radius:12px;box-shadow:0 20px 50px #0f172a4d;overflow:hidden}.atd-hd{display:flex;justify-content:space-between;gap:12px;padding:14px 16px 10px;border-bottom:1px solid var(--border, #e2e8f0)}.atd-tools{display:flex;align-items:center;gap:10px;padding:8px 16px}.atd-tools .field-inp{max-width:320px}.atd-body{overflow-y:auto;padding:0 16px 10px;flex:1}.atd-emp{border:1px solid var(--border, #e2e8f0);border-radius:10px;margin-top:8px;overflow:hidden}.atd-emp-hd{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:7px 10px;background:var(--bg-base)}.atd-bal{margin-left:auto;display:flex;gap:10px;font-size:12px;color:var(--text-muted)}.atd-item{display:grid;grid-template-columns:110px 110px 1fr 220px;align-items:center;gap:8px;padding:5px 10px;border-top:1px solid var(--border, #eef2f7);font-size:12.5px}.atd-why{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted)}.atd-kind{font-weight:600;font-size:11.5px;border-radius:999px;padding:1px 8px;justify-self:start;background:#fee2e2;color:#b91c1c}.atd-kind.k-half{background:#ffedd5;color:#c2410c}.atd-kind.k-no_punch{background:#f1f5f9;color:#475569}.atd-sel{padding:4px 6px;font-size:12.5px}.atd-result{margin:0 16px;padding:8px 12px;border-radius:8px;background:#10b9811a;font-size:12.5px}.atd-result ul{margin:4px 0 0;padding-left:18px;color:#b91c1c}.atd-ft{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:10px 16px;border-top:1px solid var(--border, #e2e8f0)}.atd-ft>span{margin-right:auto}@media(max-width:760px){.atd-item{grid-template-columns:1fr 1fr}.atd-why{grid-column:1 / -1;white-space:normal}.atd-sel{grid-column:1 / -1}}.atp-hist{margin-top:18px;border-top:1px solid var(--border, #e2e8f0);padding-top:12px}.atp-hist-list{display:flex;flex-direction:column;gap:8px;margin-top:10px;max-height:480px;overflow-y:auto}.atp-hist-row{border:1px solid var(--border, #e2e8f0);border-radius:8px;padding:8px 10px}.atp-hist-row.ded{border-left:3px solid #8b5cf6}.atp-hist-hd{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;margin-bottom:4px;font-size:12.5px}.atp-hist-tbl{border-collapse:collapse;font-size:12px}.atp-hist-tbl td{padding:2px 8px 2px 0;vertical-align:top}.atp-hist-tbl td.old{color:#b91c1c;text-decoration:line-through}.atp-hist-tbl td.new{color:#15803d;font-weight:600}.atp-hist-ents{margin:4px 0 0;padding-left:18px;font-size:12px;max-height:220px;overflow-y:auto}.atp-hist-ents li.bad{color:#b91c1c}.drv-libbtn small{margin-left:6px;font-size:10.5px;color:var(--text-muted)}.tlib-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:16px}.tlib{color:var(--text-primary);width:min(1040px,100%);max-height:calc(calc(100vh / var(--ui-zoom-vu, 1)) - 32px);display:flex;flex-direction:column;background:var(--bg-surface, #fff);border-radius:14px;box-shadow:0 24px 60px #0f172a4d;overflow:hidden}.tlib-hd{display:flex;justify-content:space-between;gap:12px;padding:14px 18px 8px}.tlib-tools{display:flex;gap:10px;align-items:center;padding:4px 18px}.tlib-tools .field-inp{flex:1}.tlib-kind{display:flex;border:1px solid var(--border, #e2e8f0);border-radius:8px;overflow:hidden}.tlib-kind button{border:0;background:none;padding:6px 12px;cursor:pointer;font-size:12.5px;color:inherit}.tlib-kind button.on{background:var(--accent-col, #3b82f6);color:#fff}.tlib-cats{display:flex;flex-wrap:wrap;gap:6px;padding:8px 18px}.tlib-cats .chip-btn.on{background:var(--accent-col, #3b82f6);color:#fff;border-color:transparent}.tlib-body{overflow-y:auto;padding:4px 18px 14px;flex:1}.tlib-sec{font-weight:700;font-size:13px;margin:10px 0 6px}.tlib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:10px}.tlib-card{display:flex;gap:10px;align-items:flex-start;text-align:left;padding:10px 12px;border:1px solid var(--border, #e2e8f0);border-radius:10px;background:var(--bg-surface, #fff);cursor:pointer;color:inherit}.tlib-card:hover{border-color:var(--accent-col, #3b82f6);box-shadow:0 4px 14px #3b82f626}.tlib-ic{flex:none;width:34px;height:40px;border-radius:4px;color:#fff;display:grid;place-items:center;font-weight:800;font-size:15px}.tlib-tx{display:flex;flex-direction:column;gap:3px;min-width:0}.tlib-tx b{font-size:13px}.tlib-tx small{font-size:11.5px;color:var(--text-muted);line-height:1.35}.tlib-tx em{font-style:normal;font-size:10.5px;color:var(--accent-col, #3b82f6);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.tlib-ft{padding:10px 18px;border-top:1px solid var(--border, #e2e8f0)}.pp-seg>button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:28px;padding:4px 8px;border:1px solid var(--border, #e2e8f0);border-radius:6px;background:var(--bg-surface, #fff);color:var(--text-primary);font-size:12px;cursor:pointer;white-space:nowrap}.pp-seg>button:hover{border-color:var(--accent-col, #3b82f6)}.pp-seg>button.on{background:var(--accent-col, #3b82f6);border-color:var(--accent-col, #3b82f6);color:#fff}.pp-align{display:flex;gap:8px;flex-wrap:wrap}.pp-align .pp-seg:first-child{flex:4}.pp-align .pp-seg:last-child{flex:3}.pchk-btn b{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;font-size:11px;color:#fff;margin-left:4px}.pchk-btn.bad{color:#b91c1c;border-color:#fca5a5}.pchk-btn.bad b{background:#dc2626}.pchk-btn.warn b{background:#d97706}.pchk-btn.ok{color:#15803d}.pchk-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:16px}.pchk{width:min(860px,100%);max-height:calc(calc(100vh / var(--ui-zoom-vu, 1)) - 32px);display:flex;flex-direction:column;background:var(--bg-surface, #fff);color:var(--text-primary);border-radius:12px;box-shadow:0 20px 50px #0f172a4d;overflow:hidden}.pchk-hd{display:flex;justify-content:space-between;gap:12px;padding:14px 16px 10px;border-bottom:1px solid var(--border, #e2e8f0)}.pchk-sum{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:10px 16px;font-size:13px}.pchk-sum.bad{background:#dc262614}.pchk-sum.ok{background:#10b98114}.pchk-body{overflow-y:auto;padding:6px 16px 14px}.pchk-sec{font-weight:700;font-size:12px;margin:12px 0 4px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.pchk-item{display:flex;gap:10px;padding:8px 10px;border:1px solid var(--border, #e2e8f0);border-radius:8px;margin-top:6px;font-size:12.5px}.pchk-item.error{border-left:3px solid #dc2626}.pchk-item.warn{border-left:3px solid #d97706}.pchk-tx{display:flex;flex-direction:column;gap:2px;min-width:0}.pchk-num{color:var(--text-muted)}.pchk-tx small{color:var(--accent-col, #3b82f6)}.bon-sec-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.bon-clear{border:1px solid var(--border, #e2e8f0);background:var(--bg-surface, #fff);color:var(--accent-col, #3b82f6);border-radius:6px;padding:3px 9px;font-size:11.5px;font-weight:600;text-transform:none;letter-spacing:0;cursor:pointer;white-space:nowrap}.bon-clear:hover{border-color:var(--accent-col, #3b82f6)}.fb-note-ed{margin-top:10px}.fb-note-lbl{display:block;font-size:12.5px;font-weight:600;margin-bottom:4px}.fb-note-ed .tt-content{max-height:280px;overflow-y:auto;background:var(--bg-surface, #fff)}.fb-note-ed .tt-content .ProseMirror{min-height:110px}.fb-note-rt{margin-top:4px;border-left:3px solid var(--border, #e2e8f0);padding-left:8px}.fb-note-rt .tt-content .ProseMirror{padding:2px 4px;min-height:0;font-size:12.5px}.fb-note-rt .tt-content ul{list-style:disc;padding-left:20px;margin:4px 0;display:block}.fb-note-rt .tt-content ol{list-style:decimal;padding-left:22px;margin:4px 0;display:block}.fb-note-rt .tt-content li{display:list-item;border:0;padding:0;margin:2px 0}.fb-note-rt .tt-content p{margin:3px 0}.ch-link{color:var(--brand);text-decoration:underline;overflow-wrap:anywhere}.cv-badges{position:absolute;left:-8px;top:-11px;display:flex;gap:2px;align-items:center;z-index:3;pointer-events:none}.cv-triangle .cv-badges,.cv-diamond .cv-badges{left:50%;top:-14px;transform:translate(-50%)}.cv-mark{display:block;flex:none}.cv-mark-3d{filter:drop-shadow(0 1.5px 1.5px rgba(15,23,42,.45))}.cv-pri{display:inline-block;flex:none;border-radius:50%;color:#fff;font-weight:700;text-align:center;font-family:inherit;box-shadow:0 0 0 1px #fff,0 1px 2px #0f172a59}.cv-float{position:absolute;top:64px;z-index:40;width:min(320px,calc(100% - 24px));max-height:calc(100% - 90px);display:flex;flex-direction:column;background:var(--bg-surface, #fff);color:var(--text-primary, #0f172a);border:1px solid var(--border, #cbd5e1);border-radius:10px;box-shadow:0 8px 24px #0f172a33;font-size:12.5px}.cv-float-hd{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;border-bottom:1px solid var(--border, #e2e8f0)}.cv-float-hd button{background:none;border:none;color:inherit;cursor:pointer;font-size:16px;line-height:1;padding:0 2px}.cv-float-body{overflow-y:auto;padding:8px 10px 10px;display:flex;flex-direction:column;gap:6px;min-height:0}.cv-float-set{display:flex;flex-direction:column;gap:5px;padding-bottom:7px;border-bottom:1px solid var(--border, #e2e8f0)}.cv-pri-row{display:flex;gap:5px;flex-wrap:wrap}.cv-pri-row button{width:28px;height:28px;border-radius:50%;border:2px solid transparent;color:#fff;font-weight:700;cursor:pointer;padding:0;line-height:1}.cv-pri-row button.on{border-color:var(--text-primary, #0f172a);box-shadow:0 0 0 2px var(--bg-surface, #fff) inset}.cv-pri-row button.clear{background:none;color:var(--text-muted, #64748b);border:1px solid var(--border, #cbd5e1)}.cv-pri-row button:disabled{opacity:.45;cursor:default}.cv-float-tools{display:flex;align-items:center;justify-content:space-between;gap:8px}.cv-float-scope{font-size:12px;padding:2px 4px;background:var(--bg-surface, #fff);color:inherit;border:1px solid var(--border, #cbd5e1);border-radius:6px}.cv-float-grp{display:flex;flex-direction:column;gap:1px}.cv-float-gh{display:flex;align-items:center;gap:6px;width:100%;background:none;border:none;color:inherit;padding:4px 2px;cursor:pointer;font:inherit;text-align:left}.cv-float-gh.static{cursor:default}.cv-float-gh .n{margin-left:auto;color:var(--text-muted, #64748b);font-variant-numeric:tabular-nums}.cv-float-gh .chev{color:var(--text-muted, #64748b);width:12px;text-align:center}.cv-float-task{display:flex;align-items:center;gap:5px;width:100%;background:none;border:none;color:inherit;padding:4px 4px 4px 24px;cursor:pointer;font:inherit;text-align:left;border-radius:5px;min-width:0}.cv-float-task:hover{background:#6366f11f}.cv-float-txt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cv-float-task em{flex:none;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--text-muted, #64748b)}.cv-float-empty{color:var(--text-muted, #64748b);padding:10px 2px}.cv-float-tabs{display:flex;gap:4px}.cv-float-tabs button{flex:1;background:none;border:1px solid var(--border, #cbd5e1);color:inherit;border-radius:6px;padding:4px 6px;cursor:pointer;font:inherit;font-size:12px}.cv-float-tabs button.on,.cv-mark-seg button.on{background:var(--brand, #4f46e5);border-color:var(--brand, #4f46e5);color:#fff}.cv-mark-seg{display:inline-flex;flex:none}.cv-mark-seg button{background:none;border:1px solid var(--border, #cbd5e1);color:inherit;padding:2px 8px;cursor:pointer;font:inherit;font-size:12px}.cv-mark-seg button:first-child{border-radius:6px 0 0 6px;border-right:none}.cv-mark-seg button:last-child{border-radius:0 6px 6px 0}.cv-float-lbl{font-size:11px;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted, #64748b);margin:4px 0 3px}.cv-mark-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:3px}.cv-mark-grid button{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0;background:none;border:1px solid transparent;border-radius:6px;color:inherit;padding:4px 1px;cursor:pointer;font:inherit;font-size:10.5px;line-height:1.15}.cv-mark-grid button:hover:not(:disabled){background:#6366f11f}.cv-mark-grid button.on{border-color:var(--brand, #4f46e5);background:#6366f11f}.cv-mark-grid button:disabled{opacity:.75;cursor:default}.cv-prop-marks{display:flex;gap:4px;flex-wrap:wrap;align-items:center;margin-bottom:8px}.cv-prop-marks>button:not(.chip-btn){background:none;border:none;padding:0;cursor:pointer}.cv-menu-pri{background:none;border:none;padding:0 1px;cursor:pointer;line-height:0}.ae-page{display:flex;flex-direction:column;gap:14px}.ae-page .dash-card{margin:0}.ae-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.ae-head-r{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ae-grid-wrap{overflow-x:auto}.ae-grid{display:grid;min-width:760px;font-size:13px}.ae-gh{font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);padding:6px 8px;border-bottom:1px solid var(--border);white-space:nowrap}.ae-row{display:contents}.ae-row>div{padding:7px 8px;border-bottom:1px solid var(--border);min-width:0;overflow-wrap:anywhere}.ae-row.click>div{cursor:pointer}.ae-row.click:hover>div{background:#6366f10f}.ae-row.flag>div{background:#f59e0b12}.ae-row .num,.ae-row .mono{font-variant-numeric:tabular-nums}.ae-row .num{white-space:nowrap}.ae-desc{line-height:1.35}.ae-empty{color:var(--text-muted);padding:14px 4px}.ae-chip{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;padding:1px 8px;border:1px solid var(--border);border-radius:999px;white-space:nowrap}.ae-x{background:none;border:none;color:inherit;cursor:pointer;padding:0;font-size:13px;line-height:1}.ae-flag{display:inline-block;font-size:11px;color:#b45309;background:#f59e0b24;border-radius:6px;padding:0 5px;margin-left:4px;cursor:help}.ae-bad{color:var(--red, #dc2626)}.ae-actions{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.ae-actions .chip-btn.ok{color:#16a34a;border-color:#16a34a}.ae-filters{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.ae-filters .fld{min-width:140px;flex:1 1 140px;margin:0}.ae-check{display:inline-flex;gap:6px;align-items:center;font-size:13px;cursor:pointer}.ae-inline{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:6px}.ae-note{border:1px solid var(--border);border-radius:8px;padding:8px 10px;margin:8px 0;font-size:13px}.ae-note.warn{border-color:#f59e0b;background:#f59e0b14}.ae-note.ok{border-color:#16a34a;background:#16a34a14}.ae-kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.ae-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px}.ae-two>.dash-card{margin:0}.ae-bars{display:flex;flex-direction:column;gap:6px}.ae-bar{display:grid;grid-template-columns:minmax(90px,160px) 1fr minmax(120px,auto);gap:8px;align-items:center;font-size:12.5px}.ae-bar-l{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ae-bar-t{position:relative;height:12px;background:#94a3b82e;border-radius:6px}.ae-bar-f{height:100%;background:var(--brand, #4f46e5);border-radius:6px;min-width:2px}.ae-bar-f.over{background:#dc2626}.ae-bar-b{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--text-primary, #0f172a)}.ae-bar-v{white-space:nowrap;font-variant-numeric:tabular-nums}.ae-rules{display:flex;flex-direction:column;gap:8px}.ae-rule{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between}.ae-num{width:80px;padding:3px 6px;border:1px solid var(--border);border-radius:6px;background:var(--bg-surface);color:inherit}.ae-cell{width:100%;padding:4px 6px;border:1px solid transparent;border-radius:6px;background:transparent;color:inherit;font:inherit}.ae-cell:hover,.ae-cell:focus{border-color:var(--border);background:var(--bg-surface)}@media(max-width:640px){.ae-bar{grid-template-columns:1fr;gap:2px}}.ae-seg{display:inline-flex;flex:none;border:1px solid var(--border);border-radius:8px;overflow:hidden;flex-wrap:wrap}.ae-seg-btn{padding:7px 12px;font-size:12.5px;font-weight:600;background:var(--bg-surface);color:var(--text-secondary, inherit);border:none;cursor:pointer}.ae-seg-btn+.ae-seg-btn{border-left:1px solid var(--border)}.ae-seg-btn.on{background:var(--brand, #4f46e5);color:#fff}.ae-side-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0f172a73;display:flex;justify-content:flex-end}.ae-side{width:min(760px,calc(100vw / var(--ui-zoom-vu, 1)));height:100%;background:var(--bg-surface, #fff);color:var(--text-primary, #0f172a);display:flex;flex-direction:column;box-shadow:-12px 0 32px #0f172a40;animation:ae-slide .18s ease-out;padding-bottom:env(safe-area-inset-bottom,0px)}@keyframes ae-slide{0%{transform:translate(40px);opacity:.6}to{transform:none;opacity:1}}.ae-side .modal-head{padding:14px 18px;border-bottom:1px solid var(--border)}.ae-side-body{flex:1;overflow-y:auto;padding:16px 18px}.ae-side-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--border)}.ae-bill-fld{margin-top:12px}.ae-drop{position:relative;display:flex;gap:12px;align-items:center;border:1.5px dashed var(--border);border-radius:10px;padding:16px;cursor:pointer;transition:border-color .12s,background .12s}.ae-drop:hover,.ae-drop.over{border-color:var(--brand, #4f46e5);background:#6366f10f}.ae-drop input,.ae-pick input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%}.ae-pick{position:relative;overflow:hidden}.ae-drop-ic{font-size:26px}.ae-bill{display:flex;gap:12px;align-items:center;border:1px solid var(--border);border-radius:10px;padding:10px}.ae-thumb{width:96px;height:96px;flex:none;border:1px solid var(--border);border-radius:8px;overflow:hidden;padding:0;background:var(--bg-elevated, #f1f5f9);cursor:zoom-in;display:flex;align-items:center;justify-content:center}.ae-thumb img{width:100%;height:100%;object-fit:cover}.ae-pdf{font-weight:800;color:#fff;background:#dc2626;border-radius:4px;padding:6px 8px;font-size:13px}.ae-bill-info{min-width:0;flex:1}.ae-bill-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ae-viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#020617e0;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px)}.ae-viewer-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;color:#fff}.ae-viewer-bar b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ae-viewer-tools{display:flex;gap:6px;align-items:center;flex:none}.ae-viewer-tools button,.ae-viewer-tools a{background:#ffffff1f;color:#fff;border:none;border-radius:6px;min-width:32px;height:32px;padding:0 10px;cursor:pointer;font-size:15px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.ae-viewer-tools span{color:#cbd5e1;font-size:12px;min-width:42px;text-align:center}.ae-viewer-body{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;padding:0 16px 16px}.ae-viewer-body img{display:block;border-radius:4px;background:#fff}.ae-viewer-pdf{width:min(1000px,100%);height:100%;border:none;background:#fff;border-radius:4px}.dsx-nav .drv-fshared{font-size:11px;opacity:.75;margin-left:2px}.drv-fshare-btn{padding:3px 10px;font-size:12px;margin-left:8px}.drv-row.cut{opacity:.45}.drv-clip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 12px;border-radius:8px;background:color-mix(in srgb,var(--brand) 10%,transparent);border:1px dashed color-mix(in srgb,var(--brand) 45%,transparent);font-size:13px}.drv-clip .btn-primary{padding:4px 12px;font-size:12.5px}.dsx-menu kbd{margin-left:auto;padding-left:12px;font:10.5px ui-monospace,monospace;color:var(--text-secondary);opacity:.8}.fdt{max-height:calc(46vh / var(--ui-zoom-vu, 1));overflow:auto;border:1px solid var(--border);border-radius:8px;padding:4px 0}.fdt-row{display:flex;align-items:center;gap:6px;padding:5px 10px;cursor:pointer;font-size:13px}.fdt-row:hover{background:color-mix(in srgb,var(--brand) 7%,transparent)}.fdt-row.on{background:color-mix(in srgb,var(--brand) 18%,transparent)}.fdt-row.off{opacity:.45;cursor:default}.fdt-row em{margin-left:auto}.fdt-tw{width:16px;border:0;background:none;color:var(--text-secondary);cursor:pointer;padding:0;font-size:11px}.fpr{display:flex;flex-direction:column;gap:6px}.fpr hr{border:0;border-top:1px solid var(--border);margin:4px 0;width:100%}.fpr-row{display:grid;grid-template-columns:110px 1fr;gap:10px;font-size:13px;align-items:baseline}.fpr-row>span{color:var(--text-secondary)}.fpr-sh{display:flex;flex-direction:column;gap:2px}.drv-fold{position:relative;display:inline-flex;align-items:flex-end;justify-content:center;flex:none}.drv-fold svg{display:block;filter:drop-shadow(0 1px 0 rgba(0,0,0,.08))}.drv-fold-sh{position:absolute;right:-4px;bottom:-3px;font-style:normal;font-size:9px;line-height:1;background:var(--bg-elevated, #fff);border-radius:50%;padding:1px}.drv-fic{display:inline-flex;align-items:center;justify-content:center}.drv-addrrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.drv-navbtns{display:inline-flex;gap:2px}.drv-navbtns button{width:30px;height:30px;border:1px solid transparent;border-radius:6px;background:none;color:var(--text-primary);font-size:15px;cursor:pointer}.drv-navbtns button:hover:not(:disabled){background:color-mix(in srgb,var(--brand) 9%,transparent);border-color:var(--border)}.drv-navbtns button:disabled{opacity:.3;cursor:default}.drv-addr{flex:1 1 320px;min-width:0;display:flex;align-items:center;gap:1px;height:34px;padding:0 6px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);overflow-x:auto;scrollbar-width:none}.drv-addr-seg{display:inline-flex;align-items:center;gap:6px;flex:none;max-width:260px;padding:4px 8px;border:1px solid transparent;border-radius:5px;background:none;color:var(--text-primary);font:inherit;font-size:13px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drv-addr-seg:hover{background:color-mix(in srgb,var(--brand) 9%,transparent)}.drv-addr-seg.last{font-weight:600}.drv-addr-sep{color:var(--text-secondary);font-size:13px;padding:0 1px;flex:none}.drv-addr-ic{font-size:14px}.drv-search{flex:0 1 300px;min-width:180px;height:34px}.drv-placeinfo{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:-6px}.drv-placeinfo .drv-fshare-btn{margin-left:0}.drv-cmd{display:flex;align-items:center;gap:2px;flex-wrap:wrap;padding:4px 6px;border:1px solid var(--border);border-radius:10px;background:var(--bg-surface)}.drv-cb{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border:1px solid transparent;border-radius:6px;background:none;color:var(--text-primary);font:inherit;font-size:12.5px;cursor:pointer;white-space:nowrap}.drv-cb i{font-style:normal;font-size:14px}.drv-cb:hover:not(:disabled){background:color-mix(in srgb,var(--brand) 9%,transparent);border-color:color-mix(in srgb,var(--brand) 18%,transparent)}.drv-cb:disabled{opacity:.35;cursor:default}.drv-cb.danger:not(:disabled){color:#c0392b}.drv-cb.icon{padding:0 9px}.drv-cb.on{background:color-mix(in srgb,var(--brand) 14%,transparent)}.drv-cb-sep{width:1px;height:22px;background:var(--border);margin:0 4px}.drv-cb-sp{flex:1}.drv-cmd .dsx-sort{height:30px;font-size:12.5px}.drv-vt{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden;margin-left:4px}.drv-vt button{width:32px;height:28px;border:0;background:none;color:var(--text-secondary);cursor:pointer;font-size:14px}.drv-vt button.on{background:color-mix(in srgb,var(--brand) 16%,transparent);color:var(--brand)}@media(max-width:900px){.drv-cb span{display:none}}.drv-row:not(.drv-head){cursor:default;-webkit-user-select:none;user-select:none}.drv-row .drv-name{cursor:default}.drv-folder .drv-name{font-weight:600}.drv-row.picked{box-shadow:inset 3px 0 0 var(--brand)}.drop-on{outline:2px solid var(--brand)!important;outline-offset:-2px;background:color-mix(in srgb,var(--brand) 14%,transparent)!important}.drv-list.drop-on,.drv-tiles.drop-on,.dsx-empty.drop-on{outline-style:dashed!important}.drv-tiles{flex:1;min-height:320px;display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));align-content:start;gap:6px;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-elevated)}.drv-tile{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px 8px;border:1px solid transparent;border-radius:8px;text-align:center;cursor:default;-webkit-user-select:none;user-select:none;min-width:0}.drv-tile:hover{background:color-mix(in srgb,var(--brand) 6%,transparent);border-color:color-mix(in srgb,var(--brand) 14%,transparent)}.drv-tile.picked{background:color-mix(in srgb,var(--brand) 14%,transparent);border-color:color-mix(in srgb,var(--brand) 40%,transparent)}.drv-tile.cut,.drv-tn.cut{opacity:.45}.drv-tile.gone{opacity:.6}.drv-tile-ic{position:relative;height:64px;display:flex;align-items:center;justify-content:center}.drv-ic.lg{min-width:46px;height:56px;border-radius:6px 14px 6px 6px;font-size:14px;box-shadow:0 2px 6px #0000001f}.drv-tile-star{position:absolute;top:-2px;right:-8px;color:#f5b301;font-size:13px}.drv-tile-nm{font-size:12.5px;font-weight:500;line-height:1.3;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:100%}.drv-tile small{font-size:11px}.drv-tile-grp{grid-column:1 / -1;font-size:11.5px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;padding:8px 4px 2px;border-bottom:1px solid var(--border)}.drv-tile-grp em{font-style:normal;font-weight:400}.drv-tn{gap:4px;padding-top:5px;padding-bottom:5px}.drv-tw{width:16px;flex:none;border:0;background:none;padding:0;color:var(--text-secondary);font-size:10px;cursor:pointer}.drv-tn .drv-fold{margin-right:3px}.drv-status{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:4px 10px;font-size:11.5px;color:var(--text-secondary);border-top:1px solid var(--border);margin-top:-6px}.drv-status-sel{color:var(--brand);font-weight:600}.drv-status-tip{margin-left:auto;opacity:.8}@media(max-width:760px){.drv-status-tip{display:none}}.drv-panel{position:relative;max-width:calc(100vw / var(--ui-zoom-vu, 1))}.drv-panel-grip{position:absolute;left:-3px;top:0;bottom:0;width:7px;cursor:ew-resize;z-index:3}.drv-panel-grip:hover,body.drv-resizing .drv-panel-grip{background:color-mix(in srgb,var(--brand) 35%,transparent)}body.drv-resizing{cursor:ew-resize;-webkit-user-select:none;user-select:none}body.drv-resizing iframe{pointer-events:none}.drv-panel-hdbtns{display:inline-flex;align-items:center;gap:6px}.drv-panel-hdbtns .btn-ghost{padding:4px 10px;font-size:12px}.drv-prev-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.drv-prev-bar .btn-primary,.drv-prev-bar .btn-ghost{padding:5px 12px;font-size:12.5px}.drv-full{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4000;display:flex;flex-direction:column;background:#1f232b}.drv-full-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;background:#2a2f39;color:#fff}.drv-full-bar .btn-ghost{color:#fff;border-color:#ffffff40}.drv-full-body{flex:1;min-height:0;display:flex}.drv-full-body iframe{flex:1;border:0;background:#fff}.drv-full-body.img{overflow:auto;align-items:center;justify-content:center;padding:16px}.drv-full-body.img img{max-width:100%;max-height:100%;cursor:zoom-in;box-shadow:0 4px 24px #0006}.drv-full-body.img.zoom{align-items:flex-start;justify-content:flex-start}.drv-full-body.img.zoom img{max-width:none;max-height:none;cursor:zoom-out}.lnk{display:flex;flex-direction:column;gap:8px}.lnk-row{display:flex;align-items:center;gap:10px}.lnk-ic{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--brand) 10%,transparent);font-size:16px}.lnk-txt{flex:1;min-width:0;display:flex;flex-direction:column}.lnk-txt small{font-size:11.5px}.lnk-pub{margin-left:44px;display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-surface)}.lnk-url{display:flex;gap:6px}.lnk-url input{flex:1;min-width:0;font:12.5px ui-monospace,monospace;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg-elevated);color:var(--text-primary)}.lnk-opts{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12.5px}.lnk-opts label{display:inline-flex;align-items:center;gap:6px}.lnk-opts .field-inp{height:30px;font-size:12.5px;padding:2px 8px;width:auto}.lnk-chk input{margin:0}.lnk-pw{display:inline-flex;gap:6px;align-items:center}.lnk-pw .field-inp{width:220px}.lnk-stats{margin-left:auto}.lnk-off{padding:3px 10px;font-size:12px}.lnk-flash{font-size:12.5px;color:#15803d;font-weight:600}.pdl{min-height:calc(100vh / var(--ui-zoom-vu, 1));display:flex;flex-direction:column;background:var(--bg-surface, #f4f6fa);color:var(--text-primary)}.pdl-top{display:flex;align-items:baseline;gap:10px;padding:14px 24px;border-bottom:1px solid var(--border);background:var(--bg-elevated)}.pdl-top b{font-size:16px}.pdl-top span{color:var(--text-secondary);font-size:13px}.pdl-main{flex:1;width:100%;max-width:1180px;margin:0 auto;padding:24px 16px;box-sizing:border-box}.pdl-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:14px}.pdl-msg,.pdl-pw{max-width:440px;margin:40px auto;text-align:center;align-items:center}.pdl-big{font-size:40px}.pdl-card h1{margin:0;font-size:20px;overflow-wrap:anywhere}.pdl-card h2{margin:0;font-size:18px}.pdl-muted{color:var(--text-secondary);font-size:13px;margin:0}.pdl-err{color:#c0392b;font-size:13px}.pdl-pw input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;background:var(--bg-surface);color:var(--text-primary);box-sizing:border-box}.pdl-pw button,.pdl-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:0;border-radius:8px;background:var(--brand, #4f6bed);color:#fff;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;text-decoration:none}.pdl-pw button{width:100%;justify-content:center}.pdl-pw button:disabled{opacity:.5;cursor:default}.pdl-btn.ghost{background:transparent;color:inherit;border:1px solid rgba(255,255,255,.3)}.pdl-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.pdl-pdf{width:100%;height:calc(calc(100vh / var(--ui-zoom-vu, 1)) - 230px);min-height:480px;border:1px solid var(--border);border-radius:8px;background:#fff}.pdl-img{display:flex;justify-content:center}.pdl-img img{max-width:100%;max-height:calc(calc(100vh / var(--ui-zoom-vu, 1)) - 230px);border-radius:8px;border:1px solid var(--border)}.pdl-noprev{display:flex;flex-direction:column;align-items:center;gap:10px;padding:40px 0}.pdl-crumbs{display:flex;flex-wrap:wrap;gap:2px;align-items:center;font-size:13.5px}.pdl-crumbs i{font-style:normal;color:var(--text-secondary);margin:0 4px}.pdl-crumbs button{border:0;background:none;padding:3px 6px;border-radius:5px;color:var(--brand);font:inherit;cursor:pointer}.pdl-crumbs button:disabled{color:var(--text-primary);font-weight:600;cursor:default}.pdl-list{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:10px;overflow:hidden}.pdl-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:9px 14px;border:0;border-bottom:1px solid var(--border);background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.pdl-row:last-child{border-bottom:0}.pdl-row:hover{background:color-mix(in srgb,var(--brand) 6%,transparent)}.pdl-nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.pdl-fold{font-size:22px;text-align:center}.pdl-ic{display:inline-grid;place-items:center;min-width:30px;height:30px;border-radius:6px;color:#fff;font-size:10px;font-weight:700}.pdl-ic.lg{min-width:64px;height:76px;font-size:16px;border-radius:8px 18px 8px 8px}.pdl-link{color:var(--brand);font-size:13px;text-decoration:none;white-space:nowrap}.pdl-empty{padding:24px;text-align:center}.pdl-foot{text-align:center;padding:14px;font-size:12px;color:var(--text-secondary)}.pdl-full{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;flex-direction:column;background:#1f232b}.pdl-full-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 14px;color:#fff;background:#2a2f39}.pdl-full-bar span{display:flex;gap:8px}.pdl-full .pdl-pdf.full{flex:1;height:auto;border:0;border-radius:0}.pdl-full .pdl-img.full{flex:1;align-items:center;overflow:auto;padding:16px}.pdl-full .pdl-noprev{color:#fff}@media(max-width:640px){.pdl-row{grid-template-columns:30px minmax(0,1fr) auto}.pdl-row>:nth-child(3){display:none}.pdl-main{padding:12px 16px}}.eqt{display:flex;flex-direction:column;gap:14px}.eqt-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.eqt-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.eqt-title h2{margin:0;font-size:20px}.eqt-proj{min-width:320px;max-width:520px;font-weight:600}.eqt-actions{display:flex;gap:8px;flex-wrap:wrap}.eqt-empty{padding:40px;text-align:center;color:var(--text-secondary);border:1px dashed var(--border);border-radius:12px}.eqt-sum{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr)) minmax(300px,1.6fr);gap:10px}.eqt-kpi{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--bg-elevated);text-align:left;font:inherit;color:inherit}.eqt-kpi b{font-size:22px;line-height:1.1;font-variant-numeric:tabular-nums}.eqt-kpi span{font-size:12px;color:var(--text-secondary)}.eqt-kpi small{font-size:11px;color:var(--text-secondary)}.eqt-kpi.btn{cursor:pointer}.eqt-kpi.btn:hover,.eqt-kpi.on{border-color:var(--brand)}.eqt-kpi.warn b{color:#c2410c}.eqt-kpi.wide{display:grid;grid-template-columns:auto 1fr;column-gap:12px;row-gap:2px;align-items:baseline}.eqt-kpi.wide b{font-size:16px}.eqt-kpi.wide small{grid-column:1 / -1}.eqt-bar{display:block;height:6px;border-radius:3px;background:color-mix(in srgb,var(--brand) 14%,transparent);overflow:hidden;margin-top:6px}.eqt-bar i{display:block;height:100%;background:var(--brand)}.eqt .good,.eqt-side .good{color:#15803d}.eqt .bad,.eqt-side .bad{color:#c0392b}.eqt .warn,.eqt-side .warn{color:#b45309}.eqt-pipes{display:flex;flex-direction:column;gap:6px}.eqt-pipe{display:grid;grid-template-columns:96px 1fr;gap:8px;align-items:center}.eqt-pipe-steps{display:flex;gap:3px;overflow-x:auto;scrollbar-width:thin}.eqt-step{flex:1 0 88px;display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:5px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg-surface);color:var(--text-secondary);font:inherit;font-size:11px;text-align:left;cursor:pointer;min-width:0}.eqt-step span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.eqt-step em{font-style:normal;font-weight:700;font-size:15px;min-height:18px;color:var(--text-primary)}.eqt-step.has{background:color-mix(in srgb,var(--brand) 8%,var(--bg-elevated));color:var(--text-primary)}.eqt-step.on{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.eqt-src{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;font-style:normal;white-space:nowrap;align-self:flex-start}.eqt-src.BOUGHT_OUT{background:#e0f2fe;color:#075985}.eqt-src.OUTSOURCED{background:#fef3c7;color:#92400e}.eqt-src.IN_HOUSE{background:#dcfce7;color:#166534}.eqt-filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.eqt-filters .field-inp{width:auto;min-width:140px;height:34px}.eqt-filters>input.field-inp{min-width:240px}.eqt-sp{flex:1}.eqt-grp{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-secondary)}.eqt-table{border:1px solid var(--border);border-radius:10px;background:var(--bg-elevated);overflow-x:auto}.eqt-row{display:grid;grid-template-columns:76px minmax(200px,2fr) 110px 140px minmax(190px,1.4fr) 120px 120px 130px 92px;gap:10px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--border);min-width:1240px;cursor:pointer;font-size:13px}.eqt-row:not(.eqt-head):hover{background:color-mix(in srgb,var(--brand) 5%,transparent)}.eqt-row.sel{background:color-mix(in srgb,var(--brand) 11%,transparent);box-shadow:inset 3px 0 0 var(--brand)}.eqt-row.late{box-shadow:inset 3px 0 #dc2626}.eqt-row.done{opacity:.75}.eqt-row.hold{background:repeating-linear-gradient(135deg,transparent 0 10px,color-mix(in srgb,#94a3b8 8%,transparent) 10px 20px)}.eqt-head{cursor:default;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);background:var(--bg-surface);position:sticky;top:0;z-index:1}.eqt-row>span{display:flex;flex-direction:column;gap:2px;min-width:0}.eqt-row small{font-size:11.5px;overflow:hidden;text-overflow:ellipsis}.eqt-tag{font-family:ui-monospace,monospace;font-size:12.5px;font-weight:600}.eqt-nm b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eqt-nm small{color:var(--text-secondary);white-space:nowrap}.eqt-flag{display:inline-block;align-self:flex-start;padding:0 6px;border-radius:8px;font-size:10.5px;font-style:normal;font-weight:600;background:#f1f5f9;color:#475569;margin-left:4px}.eqt-flag.hi{background:#fee2e2;color:#b91c1c}.eqt-flag.lo{background:#dcfce7;color:#166534}.eqt-flag.ok{background:#dbeafe;color:#1d4ed8}.eqt-st b{font-weight:600;font-size:12.5px}.eqt-dots{display:flex;gap:2px}.eqt-dots i{width:9px;height:5px;border-radius:2px;background:var(--border)}.eqt-dots i.d{background:var(--brand)}.eqt-dots i.c{background:#f59e0b}.eqt-ghd{padding:6px 12px;font-size:12px;font-weight:700;color:var(--text-secondary);background:var(--bg-surface);border-bottom:1px solid var(--border);min-width:1240px}.eqt-ghd em{font-style:normal;font-weight:400;margin-left:4px}.eqt-side-ov{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#0f172a59;display:flex;justify-content:flex-end}.eqt-side{width:min(860px,calc(100vw / var(--ui-zoom-vu, 1)));height:100%;background:var(--bg-elevated);display:flex;flex-direction:column;box-shadow:-8px 0 24px #0000002e}.eqt-side-hd{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:14px 18px 8px;border-bottom:1px solid var(--border)}.eqt-side-ttl{display:flex;flex-direction:column;gap:3px;min-width:0}.eqt-side-ttl b{font-size:17px}.eqt-tabs{display:flex;gap:2px;padding:0 14px;border-bottom:1px solid var(--border);overflow-x:auto}.eqt-tabs button{border:0;background:none;padding:9px 12px;font:inherit;font-size:13px;color:var(--text-secondary);border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap}.eqt-tabs button.on{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}.eqt-dlg .eqt-tabs{padding:0;margin-bottom:4px}.eqt-side-bd{flex:1;overflow-y:auto;padding:14px 18px 24px;display:flex;flex-direction:column;gap:12px}.eqt-card{border:1px solid var(--border);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:10px;background:var(--bg-surface)}.eqt-card-hd{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.eqt-stages{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.eqt-stages li{display:grid;grid-template-columns:26px minmax(0,1fr) 110px 130px 80px;gap:8px;align-items:center;padding:5px 0;border-bottom:1px dashed var(--border);font-size:13px}.eqt-stages li:last-child{border-bottom:0}.eqt-stages li>i{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:11px;font-weight:700;background:var(--border);color:var(--text-secondary)}.eqt-stages li.done>i{background:var(--brand);color:#fff}.eqt-stages li.cur>i{background:#f59e0b;color:#fff}.eqt-stages li.cur .eqt-stn{font-weight:700}.eqt-stages li.done .eqt-stn{color:var(--text-secondary)}.eqt-stages li.late .eqt-plan input{border-color:#dc2626;color:#b91c1c}.eqt-stn em{font-style:normal;color:#b45309;font-weight:600}.eqt-plan input{width:100%;height:28px;font-size:12px;padding:2px 6px;border:1px solid var(--border);border-radius:6px;background:var(--bg-elevated);color:var(--text-primary)}.eqt-next{align-self:flex-start;width:auto}.eqt-mv{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--brand);border-radius:8px;background:var(--bg-elevated)}.eqt-mv label{display:flex;align-items:center;gap:8px;font-size:12.5px}.eqt-mv label .field-inp{width:auto}.eqt-row-btns{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.eqt-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;border:0;padding:0;margin:0;min-width:0}.eqt-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-secondary);min-width:0}.eqt-form .span2{grid-column:span 2}.eqt-form .span3{grid-column:1 / -1}.eqt-form .field-inp{color:var(--text-primary)}.eqt-pair{display:grid;grid-template-columns:1fr 70px;gap:6px}.eqt-chk{flex-direction:row!important;align-items:center;gap:6px!important;align-self:end;padding-bottom:8px}.eqt-support{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.eqt-support .chip-btn button{border:0;background:none;margin-left:4px;cursor:pointer;color:inherit}.eqt-support select.field-inp{width:auto;height:30px}.eqt-costs{flex-direction:row;flex-wrap:wrap;gap:18px}.eqt-costs>div{display:flex;flex-direction:column;gap:2px;min-width:120px}.eqt-costs b{font-size:16px;font-variant-numeric:tabular-nums}.eqt-srcpick{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.eqt-srcpick button{display:flex;flex-direction:column;gap:2px;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-surface);color:var(--text-primary);font:inherit;text-align:left;cursor:pointer}.eqt-srcpick button small{font-size:11px;color:var(--text-secondary)}.eqt-srcpick button.on{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand);background:color-mix(in srgb,var(--brand) 8%,var(--bg-elevated))}.eqt-dlg{width:min(720px,calc(96vw / var(--ui-zoom-vu, 1)))}.eqt-dlg.wide{width:min(940px,calc(96vw / var(--ui-zoom-vu, 1)))}.eqt-vpick{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 12px;max-height:220px;overflow-y:auto;padding:6px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);font-size:13px}.eqt-vpick label{display:flex;align-items:center;gap:6px}.eqt-cmp{border:1px solid var(--border);border-radius:10px;overflow-x:auto;font-size:12.5px}.eqt-cmp-row{display:grid;grid-template-columns:minmax(160px,1.6fr) repeat(6,minmax(80px,1fr));gap:8px;padding:7px 10px;border-bottom:1px solid var(--border);align-items:center;min-width:680px;font-variant-numeric:tabular-nums}.eqt-cmp-row.hd{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--text-secondary);background:var(--bg-surface)}.eqt-cmp-row.low{background:color-mix(in srgb,#16a34a 8%,transparent)}.eqt-cmp-row.ok{box-shadow:inset 3px 0 0 var(--brand)}.eqt-cmp>.muted{padding:6px 10px}.eqt-quote{border:1px solid var(--border);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:8px;background:var(--bg-surface)}.eqt-quote.APPROVED{border-color:var(--brand);box-shadow:inset 3px 0 0 var(--brand)}.eqt-quote.REGRET,.eqt-quote.NOT_SELECTED{opacity:.7}.eqt-quote.edit{border-color:var(--brand)}.eqt-quote-hd{display:flex;align-items:center;gap:8px}.eqt-quote-bd{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px}.eqt-qs{margin-left:auto;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;background:#f1f5f9;color:#475569}.eqt-qs.QUOTED{background:#e0f2fe;color:#075985}.eqt-qs.APPROVED{background:#dcfce7;color:#166534}.eqt-qs.REGRET{background:#fee2e2;color:#b91c1c}.eqt-order b{font-variant-numeric:tabular-nums}.eqt-docs{display:flex;flex-direction:column;gap:6px}.eqt-doc{display:flex;align-items:center;gap:10px}.eqt-note{display:flex;gap:8px}.eqt-hist{display:flex;flex-direction:column;gap:10px}.eqt-hist-day{font-size:11.5px;font-weight:700;color:var(--text-secondary);margin-bottom:4px}.eqt-ev{display:grid;grid-template-columns:22px 1fr auto;gap:8px;padding:5px 0;font-size:13px;border-bottom:1px dashed var(--border)}.eqt-ev i{font-style:normal;text-align:center}.eqt-ev.STAGE span{font-weight:600}.eqt-impcols{display:flex;flex-wrap:wrap;gap:4px;font-size:12px}.eqt-impcols span{padding:2px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg-surface)}.eqt-impcols em{font-style:normal;font-weight:700;color:var(--brand);margin-right:4px}.eqt-paste{min-height:140px;font:12px ui-monospace,monospace;white-space:pre}.eqt-imprev{border:1px solid var(--border);border-radius:8px;overflow-x:auto;font-size:12px}.eqt-improw{display:grid;grid-template-columns:70px 180px 160px 90px 50px 50px 90px 110px 90px 90px;gap:6px;padding:4px 8px;border-bottom:1px solid var(--border);min-width:1000px}.eqt-improw.hd{font-weight:700;background:var(--bg-surface)}.eqt-improw span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eqt-stlist{display:flex;flex-direction:column;gap:4px}.eqt-stitem{display:grid;grid-template-columns:24px 1fr 120px 30px 30px 30px;gap:6px;align-items:center}.eqt-stitem em{font-style:normal;font-weight:700;color:var(--text-secondary);text-align:center}.eqt-stitem button{height:30px;border:1px solid var(--border);border-radius:6px;background:var(--bg-surface);color:var(--text-primary);cursor:pointer}.eqt-stitem button.danger{color:#c0392b}.eqt-stitem button:disabled{opacity:.3}@media(max-width:1100px){.eqt-sum{grid-template-columns:repeat(2,1fr)}.eqt-kpi.wide{grid-column:1 / -1}}@media(max-width:640px){.eqt-form{grid-template-columns:1fr 1fr}.eqt-form .span2{grid-column:1 / -1}.eqt-stages li{grid-template-columns:24px 1fr 100px}.eqt-stages li .eqt-std,.eqt-stages li>button{display:none}.eqt-proj{min-width:0;width:100%}.eqt-srcpick{grid-template-columns:1fr}}.eqt-side.narrow{width:min(680px,calc(100vw / var(--ui-zoom-vu, 1)))}.eqt-side-ft{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--border)}.eqtl{border:1px solid var(--border);border-radius:10px;background:var(--bg-elevated);overflow-x:auto}.eqtl-row{display:grid;grid-template-columns:260px minmax(520px,1fr);align-items:center;min-height:34px;border-bottom:1px solid var(--border);cursor:pointer}.eqtl.small .eqtl-row{grid-template-columns:220px minmax(380px,1fr);min-height:26px;cursor:default}.eqtl-row:last-of-type{border-bottom:0}.eqtl-row:not(.eqtl-hd):hover{background:color-mix(in srgb,var(--brand) 5%,transparent)}.eqtl-row.late .eqtl-lbl b{color:#b91c1c}.eqtl-row.cur{background:color-mix(in srgb,#f59e0b 9%,transparent)}.eqtl-hd{cursor:default;position:sticky;top:0;z-index:2;background:var(--bg-surface);min-height:28px;font-size:11px;color:var(--text-secondary)}.eqtl-hd>span:first-child{padding:0 10px;font-weight:700;text-transform:uppercase}.eqtl-lbl{display:flex;flex-direction:column;gap:1px;padding:4px 10px;min-width:0;border-right:1px solid var(--border);font-size:12.5px}.eqtl-lbl b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eqtl-lbl small{font-size:11px}.eqtl-axis,.eqtl-track{position:relative;height:100%;min-height:inherit}.eqtl-axis span{position:absolute;top:7px;transform:translate(-50%);white-space:nowrap}.eqtl-axis b{position:absolute;top:7px;transform:translate(-50%);color:#dc2626;font-weight:700}.eqtl-gl{position:absolute;top:0;bottom:0;width:1px;background:var(--border);opacity:.6}.eqtl-today{position:absolute;top:0;bottom:0;width:2px;background:#dc2626;opacity:.55;z-index:1}.eqtl-bar{position:absolute;top:50%;height:12px;margin-top:-6px;border-radius:6px;overflow:hidden;display:block;z-index:1}.eqtl-bar.BOUGHT_OUT{background:#bae6fd}.eqtl-bar.BOUGHT_OUT>i{background:#0284c7}.eqtl-bar.OUTSOURCED{background:#fde68a}.eqtl-bar.OUTSOURCED>i{background:#d97706}.eqtl-bar.IN_HOUSE{background:#bbf7d0}.eqtl-bar.IN_HOUSE>i{background:#16a34a}.eqtl-bar.open{background-image:repeating-linear-gradient(90deg,transparent 0 6px,rgba(255,255,255,.55) 6px 9px)}.eqtl-bar>i{display:block;height:100%}.eqtl-ms,.eqtl-pl{position:absolute;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;transform:rotate(45deg);background:#64748b;border:1px solid var(--bg-elevated);z-index:2;display:block}.eqtl-ms.done{background:#16a34a}.eqtl-ms.late,.eqtl-pl.late{background:#dc2626}.eqtl-dn{position:absolute;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--brand);border:1px solid var(--bg-elevated);z-index:3;display:block}.eqtl-slip{position:absolute;top:50%;height:3px;margin-top:-1.5px;background:#86efac;display:block;z-index:1}.eqtl-slip.bad{background:#fca5a5}.eqtl-req{position:absolute;top:4px;bottom:4px;width:0;border-left:2px dashed #7c3aed;z-index:2;display:block}.eqtl-sec{padding:4px 10px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);background:var(--bg-surface);border-bottom:1px solid var(--border)}.eqtl-legend{display:flex;flex-wrap:wrap;gap:14px;padding:8px 10px;font-size:11.5px;color:var(--text-secondary);border-top:1px solid var(--border)}.eqtl-legend span{display:inline-flex;align-items:center;gap:6px}.eqtl-legend .eqtl-bar{position:static;width:22px;margin:0}.eqtl-legend .eqtl-ms{position:static;margin:0 2px}.eqtl-legend .eqtl-req{position:static;height:12px}.eqt-ms{display:flex;flex-direction:column}.eqt-ms-row{display:grid;grid-template-columns:22px minmax(0,1fr) 110px 100px 120px 54px;gap:8px;align-items:center;padding:6px 0;border-bottom:1px dashed var(--border);font-size:13px}.eqt-ms-row.done .eqt-ms-t b{color:var(--text-secondary);text-decoration:line-through}.eqt-ms-row.late .eqt-ms-t b{color:#b91c1c}.eqt-ms-t{display:flex;flex-direction:column;min-width:0}.eqt-ms-t small{font-size:11.5px}.eqt-ms-act{display:flex;gap:6px;justify-content:flex-end}.eqt-ms-presets{display:flex;flex-wrap:wrap;gap:4px}@media(max-width:640px){.eqt-ms-row{grid-template-columns:22px 1fr 90px}.eqt-ms-row>:nth-child(4),.eqt-ms-row>:nth-child(5){display:none}}.eqt-thumb{display:inline-grid;place-items:center;flex:none;border-radius:6px;overflow:hidden;background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary);font-size:15px}.eqt-thumb img{width:100%;height:100%;object-fit:cover;display:block}.eqt-thumb.none{opacity:.55}.eqt-nm-row{display:flex;align-items:center;gap:8px;min-width:0}.eqt-nm-txt{display:flex;flex-direction:column;gap:2px;min-width:0}.eqt-side-ttl-row{display:flex;align-items:center;gap:12px;min-width:0}.eqt-fld{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--text-secondary)}.eqt-fld>span:first-child{font-size:12px}.eqt-img{display:grid;grid-template-columns:180px minmax(0,1fr);gap:12px;align-items:start}.eqt-img-box{height:140px;border:1.5px dashed var(--border);border-radius:10px;display:grid;place-items:center;text-align:center;cursor:pointer;background:var(--bg-elevated);color:var(--text-secondary);overflow:hidden;outline:none}.eqt-img-box:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 18%,transparent)}.eqt-img-box.has{border-style:solid}.eqt-img-box img{width:100%;height:100%;object-fit:contain;background:#fff}.eqt-img-box span{display:flex;flex-direction:column;gap:4px;padding:8px}.eqt-img-box b{font-size:26px}.eqt-img-box small{font-size:11px;line-height:1.4}.eqt-img-side{display:flex;flex-direction:column;gap:8px;min-width:0}.eqt-img-side label{display:flex;flex-direction:column;gap:4px}.eqt-vchips{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.eqt-vchips .chip-btn{display:inline-flex;align-items:center}.eqt-vchips .chip-btn.warn{border-color:#f59e0b;color:#92400e}.eqt-vchips .chip-btn button{border:0;background:none;margin-left:4px;cursor:pointer;color:inherit;font-size:14px;line-height:1}.eqt-vadd{position:relative;flex:1 1 220px;min-width:200px}.eqt-vadd .field-inp{width:100%;height:32px}.eqt-vmenu{position:absolute;left:0;right:0;top:34px;z-index:20;display:flex;flex-direction:column;max-height:240px;overflow-y:auto;background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 20px #0000001f}.eqt-vmenu button{border:0;background:none;padding:7px 10px;text-align:left;font:inherit;font-size:13px;color:var(--text-primary);cursor:pointer}.eqt-vmenu button:hover{background:color-mix(in srgb,var(--brand) 8%,transparent)}.eqt-urs{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.eqt-urs-doc{display:inline-flex;align-items:center;gap:10px;padding:4px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated)}.eqt-urs .btn-ghost{padding:4px 10px;font-size:12.5px}.eqt-improw{grid-template-columns:70px 170px 150px 90px 50px 50px 90px 110px 90px 90px 90px 110px 160px;min-width:1360px}@media(max-width:640px){.eqt-img{grid-template-columns:1fr}}.eqt-docs2{display:flex;flex-direction:column;gap:8px}.eqt-docs-add{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.eqt-docs-add .field-inp{width:auto;height:32px;font-size:12.5px}.eqt-docs-add .btn-ghost{padding:4px 10px;font-size:12.5px}.eqt-doclist{border:1px solid var(--border);border-radius:8px;overflow-x:auto;background:var(--bg-elevated)}.eqt-docrow{display:grid;grid-template-columns:minmax(180px,1fr) 110px 100px 140px 64px 28px;gap:6px;align-items:center;padding:5px 8px;border-bottom:1px solid var(--border);min-width:600px;font-size:13px}.eqt-docrow:last-child{border-bottom:0}.eqt-docrow.hd{font-size:10.5px;font-weight:700;text-transform:uppercase;color:var(--text-secondary);background:var(--bg-surface)}.eqt-docrow .field-inp{height:30px;font-size:12.5px;padding:2px 6px;width:100%}.eqt-docname{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eqt-dk{display:inline-block;padding:1px 8px;border-radius:8px;font-size:11px;font-weight:600;font-style:normal;background:#f1f5f9;color:#475569;margin-right:4px}.eqt-dk.URS{background:#ede9fe;color:#5b21b6}.eqt-dk.DRAWING{background:#e0f2fe;color:#075985}.eqt-dk.PID{background:#dcfce7;color:#166534}.eqt-dk.DATASHEET{background:#fef3c7;color:#92400e}.eqt-docsum{display:flex;flex-wrap:wrap;align-items:center;gap:2px;color:var(--text-primary)}.eqt-vchip{gap:6px}.eqt-pref-sel{height:22px;padding:0 2px;border:1px solid var(--border);border-radius:50%;width:30px;text-align:center;font-size:11px;font-weight:700;background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;text-align-last:center}.eqt-pref-sel.p1,.eqt-pref.p1{background:#16a34a;color:#fff;border-color:#16a34a}.eqt-pref-sel.p2,.eqt-pref.p2{background:#2563eb;color:#fff;border-color:#2563eb}.eqt-pref-sel.p3,.eqt-pref.p3{background:#9333ea;color:#fff;border-color:#9333ea}.eqt-pref{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;font-size:11px;font-weight:700;font-style:normal}.eqt-vname{font-weight:600;border-top:1px dashed var(--border)!important}.eqa-drawer{width:min(640px,calc(100vw / var(--ui-zoom-vu, 1)))}.eqa .drawer-body .emp-subhead{display:flex;align-items:baseline;gap:8px;margin-top:4px;padding-top:10px;border-top:1px solid var(--border);text-transform:none;letter-spacing:0;font-size:13.5px;color:var(--text-primary)}.eqa .drawer-body .emp-subhead .muted{font-weight:400}.eqa-type{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.eqa-type button{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-elevated);color:var(--text-primary);font:inherit;text-align:left;cursor:pointer}.eqa-type button small{font-size:11px;color:var(--text-secondary);line-height:1.3}.eqa-type button.on{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand);background:color-mix(in srgb,var(--brand) 8%,var(--bg-elevated))}.eqa-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.eqa-grid .span2{grid-column:span 2}.eqa .fld.eqa-miss input,.eqa .fld.eqa-miss select{border-color:#dc2626;box-shadow:0 0 0 2px color-mix(in srgb,#dc2626 15%,transparent)}.eqa .fld .req{color:#dc2626}.eqa .fld textarea{width:100%}.eqa-hints{display:flex;flex-wrap:wrap;gap:4px;margin:2px 0 6px}.eqa-hints .chip-btn{font-size:11.5px;padding:2px 8px}.eqa-note{margin:0}.eqa .drawer-foot{position:sticky;bottom:0;background:var(--bg-elevated)}.eqa-still{font-size:12.5px;font-weight:600;color:#b45309}.eqa-ok{font-size:12.5px;font-weight:600;color:#15803d}.eqa-tag{font-family:ui-monospace,monospace;font-size:12.5px;padding:1px 6px;border-radius:5px;background:var(--bg-elevated);border:1px solid var(--border);margin-right:8px}.eqa-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.eqa-chip{font-size:11px;padding:2px 8px;border-radius:10px;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-secondary)}.eqa-kv{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:6px;font-size:13px}.eqa-kv span{display:flex;flex-direction:column}.eqa-kv em{font-style:normal;font-size:10.5px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.eqa-vlist{display:flex;flex-direction:column;gap:4px;font-size:13px}.eqa-vlist span{display:flex;align-items:center;gap:6px}.eqa-flow{display:flex;flex-wrap:wrap;gap:4px}.eqa-flow span{font-size:11px;padding:2px 7px;border-radius:10px;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-secondary)}.eqa-flow span.on{background:#fef3c7;border-color:#f59e0b;color:#92400e;font-weight:600}.eqa-img{min-height:150px;display:grid;place-items:center;cursor:pointer;outline:none}.eqa-img:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 18%,transparent)}.eqa-img .ic-pv-media-empty span{text-align:center;max-width:220px}.eqa-docmeta{display:grid;grid-template-columns:130px 1fr 60px;gap:6px;width:100%}.eqa-addas{display:flex;align-items:center;gap:6px;margin:8px 0 4px;font-size:11.5px;color:var(--text-secondary)}.ic-pv-doc .eqt-dk{flex:0 0 auto}@media(max-width:640px){.eqa-type{grid-template-columns:1fr}.eqa-grid{grid-template-columns:1fr 1fr!important}}.eqt-stages li{grid-template-columns:26px minmax(0,1fr) 110px 130px 120px}.eqt-stages li.skip>i{background:#e2e8f0;color:#64748b}.eqt-stages li.skip .eqt-stn{color:var(--text-secondary);text-decoration:line-through}.eqt-skipwhy{display:block;text-decoration:none;font-size:11px;color:#64748b;font-style:italic}.eqt-stages li.skip .eqt-skipwhy{text-decoration:none;display:block}.eqt-stact{display:flex;gap:8px;justify-content:flex-end}.eqt-dots i.s{background:repeating-linear-gradient(45deg,#cbd5e1 0 2px,transparent 2px 4px)}.eqt-pid{display:flex;flex-direction:column;gap:8px}.eqt-pidlist{display:flex;flex-direction:column;gap:6px}.eqt-pidrow{display:grid;grid-template-columns:30px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated)}.eqt-pidrow.gone{opacity:.6}.eqt-pidic{font-size:20px;text-align:center}.eqt-pidt{display:flex;flex-direction:column;min-width:0}.eqt-pidt b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eqt-pidopen{padding:4px 10px;font-size:12.5px;text-decoration:none}.eqt-mv label.sm{display:flex;flex-direction:column;gap:4px}@media(max-width:640px){.eqt-stages li{grid-template-columns:24px 1fr 100px}.eqt-stact{grid-column:2 / -1;justify-content:flex-start}}.eqt-side{transition:none}.eqt-side.max{width:calc(100vw / var(--ui-zoom-vu, 1))}.eqt-side-hdbtns{display:inline-flex;align-items:center;gap:8px;flex:none}.eqt-side-hdbtns .btn-ghost{padding:4px 10px;font-size:12px}.eqt-stages li{grid-template-columns:26px minmax(0,1fr) minmax(130px,auto) 100px 130px 120px}.eqt-side.max .eqt-stages li{grid-template-columns:26px minmax(0,1fr) minmax(220px,auto) 120px 150px 140px}.eqt-stmeta{display:inline-flex;align-items:center;gap:8px;justify-self:start;padding:3px 8px;border:1px solid var(--border);border-radius:14px;background:var(--bg-elevated);color:var(--text-primary);font:inherit;font-size:11.5px;cursor:pointer;white-space:nowrap}.eqt-stmeta:hover,.eqt-stmeta.on{border-color:var(--brand)}.eqt-stmeta i{font-style:normal;color:var(--text-secondary);font-size:10px}.eqt-stmeta .bad{color:#c0392b;font-weight:600}.eqt-stages li.eqt-stx{display:block;padding:0 0 10px 34px;border-bottom:1px dashed var(--border)}.eqt-stbox{display:flex;flex-direction:column;gap:10px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--brand) 35%,var(--border));border-radius:10px;background:var(--bg-elevated)}.eqt-stbox-top{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:10px}.eqt-stbox-top label{display:flex;flex-direction:column;gap:4px;color:var(--text-secondary)}.eqt-fu{display:flex;align-items:center;gap:8px}.eqt-fu .field-inp{flex:1}.eqt-comms{display:flex;flex-direction:column;gap:6px;max-height:260px;overflow-y:auto}.eqt-comm{padding:6px 10px;border-left:3px solid var(--brand);background:var(--bg-surface);border-radius:0 8px 8px 0;font-size:13px}.eqt-comm b{margin-right:8px}.eqt-comm p{margin:2px 0 0;white-space:pre-wrap}.eqt-comm-add{display:flex;flex-direction:column;gap:6px}.eqt-comm-add label{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary)}.eqt-comm-add label .field-inp{width:auto;height:30px}@media(max-width:640px){.eqt-stbox-top{grid-template-columns:1fr}.eqt-stages li.eqt-stx{padding-left:0}.eqt-stmeta{grid-column:2 / -1}}.eqt-vt button{width:auto;padding:0 10px;font-size:12.5px;white-space:nowrap}.eqtt{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);gap:14px;align-items:start}.eqtt-left{display:flex;flex-direction:column;gap:10px;min-width:0}.eqtt-kpis{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:12.5px;color:var(--text-secondary)}.eqtt-kpis b{font-size:15px;color:var(--text-primary);margin-right:3px}.eqtt-kpis .bad b{color:#c0392b}.eqtt-kpis .warn b{color:#b45309}.eqtt-chk{display:inline-flex;align-items:center;gap:5px;margin-left:auto}.eqtt-card{border:1px solid var(--border);border-radius:12px;background:var(--bg-elevated);overflow:hidden}.eqtt-card.due{border-color:#fca5a5}.eqtt-card.warn{border-color:#fcd34d;background:color-mix(in srgb,#f59e0b 5%,var(--bg-elevated))}.eqtt-hd{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--bg-surface)}.eqtt-av{width:34px;height:34px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;color:#fff;background:var(--brand)}.eqtt-av.none{background:#f59e0b}.eqtt-who{display:flex;flex-direction:column;min-width:0;flex:1}.eqtt-who small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eqtt-hd>em{font-style:normal;font-weight:700;color:#b45309}.eqtt-counts{display:flex;gap:10px;font-size:12.5px;font-weight:600;white-space:nowrap}.eqtt-counts .bad{color:#c0392b}.eqtt-tasks{display:flex;flex-direction:column}.eqtt-none{padding:10px 14px}.eqtt-task{display:grid;grid-template-columns:minmax(160px,1.2fr) minmax(140px,1fr) 130px;grid-template-areas:"eq st dt" "last last last";gap:2px 12px;align-items:center;padding:8px 14px;border:0;border-bottom:1px solid var(--border);background:none;color:inherit;font:inherit;font-size:13px;text-align:left;cursor:pointer}.eqtt-task:last-child{border-bottom:0}.eqtt-task:hover{background:color-mix(in srgb,var(--brand) 5%,transparent)}.eqtt-task.cur{box-shadow:inset 3px 0 #f59e0b}.eqtt-task.due{box-shadow:inset 3px 0 #dc2626}.eqtt-eq{grid-area:eq;display:flex;align-items:center;gap:6px;min-width:0}.eqtt-eq b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.eqtt-st{grid-area:st}.eqtt-task.cur .eqtt-st{font-weight:600}.eqtt-dates{grid-area:dt;display:flex;flex-direction:column;align-items:flex-end}.eqtt-last{grid-area:last;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eqtt-last em{font-style:normal}.eqtt-feed{position:sticky;top:8px;display:flex;flex-direction:column;gap:8px;max-height:calc(calc(100vh / var(--ui-zoom-vu, 1)) - 120px);border:1px solid var(--border);border-radius:12px;background:var(--bg-elevated);padding:12px}.eqtt-feed-hd{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.eqtt-feed-f{display:grid;grid-template-columns:130px 1fr;gap:6px}.eqtt-feed-f .field-inp{height:32px;font-size:12.5px}.eqtt-feed-list{display:flex;flex-direction:column;gap:6px;overflow-y:auto;min-height:0}.eqtt-msg{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:0;border-left:3px solid var(--brand);border-radius:0 8px 8px 0;background:var(--bg-surface);color:inherit;font:inherit;text-align:left;cursor:pointer}.eqtt-msg:hover{background:color-mix(in srgb,var(--brand) 7%,var(--bg-surface))}.eqtt-msg-hd{display:flex;justify-content:space-between;gap:8px;font-size:12.5px}.eqtt-msg-eq{font-size:12px;font-weight:600}.eqtt-msg-t{font-size:13px;white-space:pre-wrap}@media(max-width:1100px){.eqtt{grid-template-columns:1fr}.eqtt-feed{position:static;max-height:480px}}@media(max-width:640px){.eqtt-task{grid-template-columns:1fr;grid-template-areas:"eq" "st" "dt" "last"}.eqtt-dates{align-items:flex-start}.eqtt-counts{flex-wrap:wrap}}.eqt-comm-sys{font-size:12px;color:var(--text-secondary);padding:2px 10px}.eqt-img-box.has,.eqt-thumb.zoom{cursor:zoom-in}.eqt-imgview{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4000;background:#0a0e16d1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:56px 24px 24px}.eqt-imgview>img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;background:#fff;box-shadow:0 10px 40px #00000073}.eqt-imgview-bar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:14px;padding:12px 18px;color:#fff}.eqt-imgview-bar .hr-link{color:#cfe0ff}.eqt-imgview-x{background:#ffffff24;color:#fff;border:0;border-radius:50%;width:34px;height:34px;font-size:16px;cursor:pointer}.eqt-imgview-x:hover{background:#ffffff42}.eqt-imgview-bad{color:#fff;max-width:420px;text-align:center}.eqt-donebtn{background:none;border:0;padding:0;font:inherit;font-size:12px;color:var(--success, #16a34a);cursor:pointer}.eqt-donebtn:disabled{cursor:default}.eqt-donebtn i{font-style:normal;opacity:.55}.eqt-donebtn:hover:not(:disabled) i{opacity:1}.eqt-doneed{display:inline-flex;align-items:center;gap:4px}.eqt-doneed .field-inp{padding:2px 6px;font-size:12px;width:132px}.eqt-comm{position:relative}.eqt-comm-act{position:absolute;top:4px;right:6px;display:none;gap:2px}.eqt-comm:hover .eqt-comm-act,.eqt-comm:focus-within .eqt-comm-act{display:inline-flex}.eqt-comm-act button{background:none;border:0;cursor:pointer;font-size:13px;padding:2px 4px;border-radius:4px;opacity:.7}.eqt-comm-act button:hover{opacity:1;background:var(--bg-hover, rgba(0,0,0,.06))}.eqt-comm-edit{display:grid;gap:6px;margin-top:4px}@media(hover:none){.eqt-comm-act{display:inline-flex}}.eqa-auto{display:inline-block;margin-left:6px;padding:0 6px;border-radius:8px;font-size:10.5px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;background:var(--accent-soft, #e7efff);color:var(--accent, #2f6fed)}.eqa-tagfld small.bad,.eqa-tagfld small.good{display:block;margin-top:3px;font-size:11.5px}.eqa-tagfld .hr-link.sm{margin-left:6px;font-weight:500}.ic-apv-hint.eqa-clone{background:var(--warn-soft, #fff6e0);border-color:var(--warn-border, #f2d48a)}.eqm-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:8px 0}.eqm-ask{display:flex;flex-wrap:wrap;gap:8px;align-items:center;flex:1;min-width:260px}.eqm-ask .field-inp{flex:1;min-width:200px}.eqm-log{border:1px solid var(--border);border-radius:8px;padding:8px 10px;margin:8px 0;display:grid;gap:6px}.eqm-log-hd{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.eqm-log-row{display:grid;gap:1px;font-size:13px}.eqm-log-row small{font-size:11.5px}.eqm-dlg{max-width:760px}.eqm-dlg .dsx-dlg-bd{display:grid;gap:8px;max-height:calc(70vh / var(--ui-zoom-vu, 1));overflow:auto}.eqm-from{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;padding:6px 10px;border-radius:6px;background:var(--bg-subtle, rgba(0,0,0,.03))}.eqm-sec{display:grid;gap:4px;font-size:12px;font-weight:600;color:var(--text-secondary);margin-top:4px}.eqm-vendors{display:grid;gap:6px}.eqm-v{display:grid;grid-template-columns:auto minmax(120px,200px) 1fr;gap:4px 10px;align-items:center;padding:6px 8px;border:1px solid var(--border);border-radius:6px}.eqm-v.on{border-color:var(--accent, #2f6fed)}.eqm-v small{grid-column:2 / -1;font-size:11.5px}.eqm-v:not(:has(input[type=checkbox])){grid-template-columns:minmax(120px,200px) 1fr}.eqm-v:not(:has(input[type=checkbox])) small{grid-column:1 / -1}.eqm-cc{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.eqm-cc label{display:inline-flex;gap:5px;align-items:center;padding:3px 8px;border:1px solid var(--border);border-radius:14px;font-size:12.5px;cursor:pointer}.eqm-cc label.on{border-color:var(--accent, #2f6fed);background:var(--accent-soft, #eef3ff)}.eqm-cc .field-inp{flex:1;min-width:200px}.eqm-sig{margin:0;padding:6px 10px;font:inherit;font-size:12.5px;color:var(--text-secondary);border-left:3px solid var(--border);white-space:pre-wrap}.eqm-att{display:flex;flex-wrap:wrap;gap:6px}.eqm-file{display:inline-flex;gap:5px;align-items:center;padding:4px 8px;border:1px solid var(--border);border-radius:6px;font-size:12.5px;cursor:pointer}.eqm-file.on,.eqm-file.fixed{border-color:var(--accent, #2f6fed)}.eqm-file i{font-style:normal;font-size:10.5px;font-weight:600;text-transform:uppercase;color:var(--text-secondary)}@media(max-width:640px){.eqm-v{grid-template-columns:auto 1fr}.eqm-v .field-inp{grid-column:1 / -1}}.cio-pick{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin:4px 0}.cio-pick button{border:1px solid var(--border);background:var(--bg-surface);color:inherit;border-radius:14px;padding:3px 9px;font-size:12px;cursor:pointer}.cio-pick button.on{border-color:var(--brand, #2f6fed);background:var(--accent-soft, #eef3ff);font-weight:600}.cio-h3{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.cio-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid;border-radius:12px;padding:1px 9px;font-size:11.5px;font-weight:600;white-space:nowrap}.cio-chip i{width:7px;height:7px;border-radius:50%;display:inline-block}.cio-next{border:1px solid var(--border);border-left:4px solid #3b82f6;border-radius:8px;padding:10px 12px;margin:0 0 12px;background:var(--bg-surface)}.cio-next.urgent{border-left-color:#ef4444}.cio-next.low{border-left-color:#94a3b8}.cio-next-hd{display:flex;gap:10px;align-items:flex-start}.cio-next-ic{font-size:20px;line-height:1;margin-top:2px}.cio-next-k{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}.cio-next-k small{font-weight:500;text-transform:none;letter-spacing:0}.cio-next ul{margin:6px 0 8px;padding-left:18px;font-size:13px;display:grid;gap:2px}.cio-ai{margin-top:8px;padding-top:8px;border-top:1px dashed var(--border);display:grid;gap:2px}.cio-msg{white-space:pre-wrap;font:inherit;font-size:12.5px;background:var(--bg-base, rgba(0,0,0,.03));border:1px solid var(--border);border-radius:6px;padding:8px 10px;margin:2px 0 4px;max-height:240px;overflow:auto}.cio-enq{display:grid;gap:6px;margin:4px 0 12px}.cio-enq-row{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:start;font-size:13px}.cio-enq-main{min-width:0}.cio-chart{margin:4px 0 14px}.cio-sum{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12.5px;margin-bottom:6px}.cio-bars{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;height:120px;align-items:end}.cio-col{display:grid;grid-template-rows:1fr auto auto;height:100%;text-align:center;min-width:0}.cio-stack{position:relative;display:flex;flex-direction:column-reverse;justify-content:flex-start;background:var(--bg-base, rgba(0,0,0,.03));border-radius:3px;overflow:visible}.cio-stack>span:not(.cio-dot){display:block;width:100%;min-height:2px}.cio-stack>span:not(.cio-dot):last-child{border-radius:3px 3px 0 0}.cio-dot{position:absolute;left:50%;width:8px;height:8px;margin:0 0 -4px -4px;border-radius:50%;background:#f59e0b;border:2px solid var(--bg-surface);z-index:1}.cio-col small{font-size:10.5px;color:var(--text-secondary);min-height:13px;font-variant-numeric:tabular-nums}.cio-col em{font-style:normal;font-size:10.5px;color:var(--text-secondary)}.cio-legend{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:11px;color:var(--text-secondary);margin-top:4px}.cio-legend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:4px;vertical-align:-1px}.cio-legend i.dot{background:#f59e0b;border-radius:50%}.amc-hd{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 16px;margin-bottom:8px}.amc-sum{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12.5px;color:var(--text-secondary)}.amc-sum b{color:var(--text-primary, inherit)}.amc-bars{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:6px;height:170px;align-items:end}.amc-col{display:grid;grid-template-rows:auto 1fr auto;height:100%;text-align:center;min-width:0}.amc-col small{font-size:11px;font-weight:600;min-height:14px;font-variant-numeric:tabular-nums}.amc-stack{display:flex;flex-direction:column-reverse;background:var(--bg-base, rgba(0,0,0,.03));border-radius:4px 4px 0 0;overflow:hidden}.amc-stack span{display:block;width:100%;min-height:2px}.amc-col em{font-style:normal;font-size:10.5px;color:var(--text-secondary);margin-top:3px;white-space:nowrap}.amc-legend{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:11.5px;color:var(--text-secondary);margin-top:6px}.amc-legend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:4px;vertical-align:-1px}@media(max-width:640px){.amc-col em{font-size:9px}.amc-bars{gap:3px}}.modal-overlay:has(.modal.aov){padding:16px;align-items:stretch}.modal.aov{width:min(1720px,100%);justify-self:center;max-width:none;height:100%;max-height:none;box-sizing:border-box;overflow:hidden;display:flex;flex-direction:column}.aov-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,32%);gap:0;padding:0!important;overflow:hidden;flex:1;min-height:0}.aov-left{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);min-height:0;overflow:hidden;border-right:1px solid var(--border)}.aov-info,.aov-main{overflow:auto;padding:16px 18px;min-width:0}.aov-info{border-right:1px solid var(--border)}.aov-mail{overflow:auto;padding:16px 18px;background:var(--bg-base);min-width:0}.aov-back{display:none;margin-bottom:10px}.aov-main .cio-bars{height:150px}@media(max-width:1280px){.aov-left{display:block;overflow:auto}.aov-info,.aov-main{overflow:visible}.aov-info{border-right:0;border-bottom:1px solid var(--border)}.aov-body{grid-template-columns:minmax(0,1fr) minmax(320px,40%)}}@media(max-width:860px){.modal-overlay:has(.modal.aov){padding:0}.modal.aov{width:100%;height:100%;border-radius:0}.aov-body{grid-template-columns:minmax(0,1fr)}.aov-left{border-right:0}.aov-mail,.aov-body.reading .aov-left{display:none}.aov-body.reading .aov-mail{display:block}.aov-back{display:inline-flex}.aov-info,.aov-main,.aov-mail{padding:12px 14px}.aov .modal-head h3{font-size:15px}}.eqt-vpn{width:128px;height:24px;padding:2px 6px;border:1px dashed var(--border);border-radius:5px;background:transparent;color:inherit;font:inherit;font-size:12px}.eqt-vpn:focus{border-style:solid;border-color:var(--brand, #2f6fed);outline:none}.eqt-vpn-ro{color:var(--text-secondary)}@media(max-width:640px){.eqt-vpn{width:100px}}.eqt-money{display:grid;gap:2px}.eqt-money input{font-variant-numeric:tabular-nums}.eqt-words{font-size:11.5px;line-height:1.3;color:var(--text-secondary);font-style:italic}.evf{display:grid;gap:10px}.evf-form{display:grid;gap:8px}.evf-src{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.evf-chip{display:inline-flex;gap:5px;align-items:center;padding:3px 9px;border:1px solid var(--border);border-radius:14px;font-size:12.5px;cursor:pointer;max-width:100%}.evf-chip.on{border-color:var(--brand, #2f6fed);background:var(--accent-soft, #eef3ff)}.evf-chip.off{opacity:.6}.evf-opts{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch}.evf-opts>select{width:auto;min-width:200px}.evf-mode{display:flex;gap:6px;flex-wrap:wrap}.evf-mode button{display:grid;text-align:left;gap:1px;padding:5px 10px;border:1px solid var(--border);border-radius:8px;background:transparent;color:inherit;cursor:pointer;font:inherit}.evf-mode button.on{border-color:var(--brand, #2f6fed);background:var(--accent-soft, #eef3ff)}.evf-mode small{font-size:11px;color:var(--text-secondary)}.evf-run{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;border:1px dashed var(--brand, #2f6fed);border-radius:8px;font-size:13px}.evf-spin{width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--brand, #2f6fed);border-radius:50%;animation:evf-spin .8s linear infinite}@keyframes evf-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.evf-spin{animation:none}}.evf-msg{padding:8px 10px;border-radius:6px;background:var(--accent-soft, #eef3ff);font-size:12.5px}.evf-hist{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.evf-h{border:1px solid var(--border);background:transparent;color:inherit;border-radius:12px;padding:2px 9px;font-size:11.5px;cursor:pointer}.evf-h.on{border-color:var(--brand, #2f6fed);font-weight:600}.evf-h.FAILED{color:#ef4444}.evf-req{display:grid;gap:4px}.evf-req p{margin:0;font-size:13px}.evf-meta{font-size:12px;color:var(--text-secondary)}.evf-specs{display:flex;flex-wrap:wrap;gap:4px}.evf-specs span{font-size:11.5px;padding:1px 7px;border-radius:10px;background:var(--bg-base, rgba(0,0,0,.04));border:1px solid var(--border)}.evf-list{display:grid;gap:8px}.evf-v{display:grid;gap:5px;padding:10px 12px;border:1px solid var(--border);border-left:4px solid #94a3b8;border-radius:8px}.evf-v.HIGH{border-left-color:#10b981}.evf-v.MEDIUM{border-left-color:#f59e0b}.evf-v-hd{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}.evf-v-hd .chip-btn{margin-left:auto}.evf-fit{font-size:11px;font-weight:600;padding:1px 7px;border-radius:10px;background:#94a3b82e}.evf-fit.HIGH{color:#059669;background:#10b9811f}.evf-fit.MEDIUM{color:#b45309;background:#f59e0b24}.evf-contact{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13px}.evf-contact a{word-break:break-all}.evf-models{display:grid;gap:3px}.evf-m{display:flex;flex-wrap:wrap;gap:2px 10px;font-size:12.5px}.evf-m-name{font-weight:600}.evf-src-links{color:var(--text-secondary);display:flex;flex-wrap:wrap;gap:4px 8px;font-size:11px}.evf-notes{font-size:12px;color:var(--text-secondary);display:grid;gap:2px}:root{--accent-soft: rgba(59, 130, 246, .12);--warn-soft: rgba(245, 158, 11, .12);--warn-border: rgba(245, 158, 11, .45)}.evf a{color:var(--brand)}.evf-chip.on,.evf-mode button.on{color:inherit}.eqt-saved{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:14px;font-size:12.5px;font-weight:600;color:#059669;background:#10b9811f;animation:eqt-saved-in .25s ease-out}.eqt-unsaved{font-size:12px;color:#b45309}@keyframes eqt-saved-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.eqt-saved{animation:none}}.evf-ref{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.evf-ref select{width:auto;min-width:240px;max-width:100%}.evf-ref input{width:180px;max-width:100%}.evf-ref small{flex-basis:100%}.evf-refnote{font-size:13px;padding:6px 10px;border-radius:6px;background:var(--accent-soft)}.ect-cur{display:flex;align-items:center;gap:8px}.ect-val{display:inline-flex;align-items:center;flex:1;min-width:0;background:var(--bg-base, rgba(0,0,0,.03));cursor:default}.ect-dlg{max-width:560px}.ect-dlg .dsx-dlg-bd{display:grid;gap:10px}.ect-types{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px}.ect-types button{display:grid;gap:2px;text-align:left;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:transparent;color:inherit;font:inherit;cursor:pointer}.ect-types button.on{border-color:var(--brand, #2f6fed);background:var(--accent-soft)}.ect-types small{font-size:11.5px;color:var(--text-secondary)}.ect-what{margin:0;padding-left:18px;display:grid;gap:4px;font-size:13px}.ect-what li.warn{color:#b45309}.ect-what li.bad{color:#ef4444}.tq-hd-btns{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.tq-hd-btns select{width:auto;max-width:360px}.tq-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:10px 0}.tq-tile{display:grid;gap:2px;text-align:left;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-surface);color:inherit;font:inherit;cursor:pointer}.tq-tile b{font-size:22px;font-variant-numeric:tabular-nums}.tq-tile span{font-size:12px;color:var(--text-secondary)}.tq-tile.on{border-color:var(--brand, #2f6fed);background:var(--accent-soft)}.tq-tile.client b{color:#7c3aed}.tq-tile.answered b{color:#059669}.tq-tile.late b{color:#ef4444}.tq-tile.closed b{color:var(--text-secondary)}.tq-rows{display:grid;gap:6px}.tq-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;text-align:left;padding:9px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-surface);color:inherit;font:inherit;cursor:pointer}.tq-row:hover{border-color:var(--brand, #2f6fed)}.tq-row.late{border-left:3px solid #ef4444}.tq-code{font-family:ui-monospace,Menlo,monospace;font-size:12px;font-weight:700;padding:2px 6px;border-radius:5px;background:var(--bg-base, rgba(0,0,0,.05));white-space:nowrap}.tq-main{display:grid;min-width:0}.tq-main b,.tq-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tq-side-meta{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;justify-content:flex-end}.tq-st{font-size:11px;font-weight:700;padding:2px 8px;border-radius:10px;background:#3b82f61f;color:#2563eb;white-space:nowrap}.tq-st.client{background:#7c3aed1f;color:#7c3aed}.tq-st.answered{background:#10b98124;color:#059669}.tq-st.closed{background:#94a3b833;color:var(--text-secondary)}.tq-st.cancelled{background:#ef44441a;color:#ef4444;text-decoration:line-through}.tq-tag{font-size:11px;padding:1px 7px;border-radius:10px;border:1px solid var(--border);white-space:nowrap}.tq-tag.hi{border-color:#ef4444;color:#ef4444}.tq-form .dsx-dlg-bd{display:grid;gap:8px;max-height:calc(72vh / var(--ui-zoom-vu, 1));overflow:auto}.tq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}.tq-check{display:inline-flex;gap:6px;align-items:center;font-size:13px}.tq-drawer .tq-body{display:grid;gap:12px;padding:12px 16px 24px;overflow:auto}.tq-hd-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.tq-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.tq-note{font-size:12.5px;padding:6px 10px;border-radius:6px;background:#7c3aed14}.tq-k{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);margin-top:4px}.tq-text{margin:2px 0 6px;white-space:pre-wrap;line-height:1.5}.tq-prop{padding:6px 10px;border-left:3px solid #059669;background:#10b9810f;border-radius:0 6px 6px 0}.tq-refs{font-size:12.5px;padding:5px 9px;border-radius:6px;background:var(--bg-base, rgba(0,0,0,.04));display:inline-block}.tq-file-list{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}.tq-file{display:inline-flex;gap:6px;align-items:center;font-size:12.5px}.tq-x{border:0;background:none;color:var(--text-secondary);cursor:pointer;font-size:15px}.tq-threads{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tq-threads.one{grid-template-columns:1fr}.tq-thread{display:grid;gap:8px;align-content:start;padding:10px;border:1px solid var(--border);border-radius:10px}.tq-thread.team{border-top:3px solid #64748b}.tq-thread.client{border-top:3px solid #7c3aed}.tq-thread-hd{font-weight:600;font-size:13px}.tq-msgs{display:grid;gap:6px;max-height:340px;overflow:auto}.tq-msg{padding:6px 9px;border-radius:8px;background:var(--bg-base, rgba(0,0,0,.04));font-size:13px}.tq-msg small{margin-left:6px}.tq-msg p{margin:2px 0 0;white-space:pre-wrap}.tq-msg.from-client{background:#7c3aed14}.tq-sys{font-size:11.5px;color:var(--text-secondary);padding:0 4px}.tq-compose{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:end}.tq-answer{padding:10px 12px;border-radius:10px;border:1px dashed var(--border);display:grid;gap:4px}.tq-answer.has{border:1px solid rgba(16,185,129,.5);background:#10b9810f}.tq-ans-form{display:grid;gap:6px}.tq-impact{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:6px}.tq-impact select{width:auto}.tq-impact input{flex:1;min-width:200px}.tq-edit{display:grid;gap:8px}.tq-ca{display:grid;gap:10px}.tq-ca-list{display:grid;gap:6px}.tq-ca-row{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;padding:6px 8px;border:1px solid var(--border);border-radius:6px}.tq-ca-confirm{display:inline-flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}.tq-made{padding:10px;border-radius:8px;background:#10b98114;display:grid;gap:6px}.tq-made pre{margin:0;white-space:pre-wrap;font-size:12.5px}.tq-eq{display:grid;gap:8px}@media(max-width:900px){.tq-threads{grid-template-columns:1fr}.tq-row{grid-template-columns:auto 1fr}.tq-side-meta{grid-column:1 / -1;justify-content:flex-start}}.cp{min-height:calc(100vh / var(--ui-zoom-vu, 1));min-height:calc(100dvh / var(--ui-zoom-vu, 1));display:flex;flex-direction:column;background:var(--bg-base, #f6f7f9)}.cp-top{display:flex;align-items:center;gap:14px;padding:10px 18px;background:var(--bg-surface);border-bottom:1px solid var(--border);flex-wrap:wrap}.cp-brand{display:flex;align-items:baseline;gap:8px}.cp-brand b{font-size:18px}.cp-brand span{color:#7c3aed;font-weight:600;font-size:13px}.cp-sp{flex:1}.cp-user{font-weight:600;font-size:13px}.cp-main{flex:1;display:grid;grid-template-columns:minmax(300px,420px) 1fr;gap:16px;padding:16px;max-width:1400px;width:100%;margin:0 auto;box-sizing:border-box}.cp-list,.cp-detail{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px;min-width:0}.cp-list h2{margin:0 0 4px;font-size:18px}.cp-tabs{display:flex;gap:6px;margin:10px 0}.cp-tabs button{border:1px solid var(--border);background:transparent;color:inherit;border-radius:14px;padding:4px 12px;font:inherit;font-size:12.5px;cursor:pointer}.cp-tabs button.on{border-color:#7c3aed;background:#7c3aed1a;font-weight:600}.cp-proj{display:grid;gap:6px;margin-bottom:12px}.cp-proj-hd{font-size:12px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.cp-row{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;text-align:left;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:transparent;color:inherit;font:inherit;cursor:pointer}.cp-row.on,.cp-row:hover{border-color:#7c3aed}.cp-row-main{display:grid;min-width:0}.cp-row-main b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cp-empty{color:var(--text-secondary);padding:40px;text-align:center}.cp-q{display:grid;gap:6px}.cp-q h3{margin:4px 0}.cp-back{display:none;justify-self:start}.cp-reply{display:grid;gap:6px;margin-top:8px}@media(max-width:820px){.cp-main{grid-template-columns:1fr;padding:10px}.cp-main.reading .cp-list{display:none}.cp-main:not(.reading) .cp-detail{display:none}.cp-back{display:inline-flex}}.eqt-doclist.with-client .eqt-docrow{grid-template-columns:minmax(180px,1fr) 110px 100px 140px 64px 150px 28px;min-width:760px}.eqt-doc-client{display:flex;flex-direction:column;gap:2px;font-size:12px}.eqt-doc-client label{display:inline-flex;gap:5px;align-items:center;cursor:pointer}.eqt-client-hide{margin-top:2px}.cpe-rv{display:inline-block;font-size:11.5px;font-weight:600;padding:2px 8px;border-radius:10px;background:var(--bg-hover);color:var(--text-secondary);white-space:nowrap}.cpe-rv.ok{background:color-mix(in srgb,var(--green) 16%,transparent);color:var(--green)}.cpe-rv.warn{background:color-mix(in srgb,var(--amber) 18%,transparent);color:var(--amber)}.cpe-rv.bad{background:color-mix(in srgb,var(--red) 15%,transparent);color:var(--red)}.cpe-rv.pending{background:color-mix(in srgb,var(--blue) 14%,transparent);color:var(--blue)}.cp-shell .sidebar .nav{display:flex;flex-direction:column;gap:2px}.cp-nav-projs{margin-top:14px;padding-top:10px;border-top:1px solid var(--border);display:grid;gap:2px}.cp-nav-hd{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:0 10px 4px}.cp-nav-proj{display:grid;text-align:left;border:0;background:transparent;color:var(--text-secondary);font:inherit;padding:6px 10px;border-radius:8px;cursor:pointer}.cp-nav-proj b{font-size:12px;color:var(--text-primary)}.cp-nav-proj span{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cp-nav-proj:hover{background:var(--bg-hover)}.cp-nav-proj.on{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--brand)}.cp-shell .side-user{gap:6px}.cp-shell .side-user-meta{min-width:0;flex:1}.cp-shell .topbar{gap:10px}.cp-proj-sel{max-width:min(360px,45%);height:34px}.cp-top-theme{display:none}.cp-page{display:flex;flex-direction:column;gap:14px;max-width:1500px}.cp-ph h1{margin:0;font-size:22px}.cp-ph h1 small{font-size:15px;font-weight:500;color:var(--text-secondary)}.cp-ph p{margin:4px 0 0}.cp-page .cp-main{padding:0;max-width:none}.cpd{display:flex;flex-direction:column;gap:16px}.cpd-hello h1{margin:0;font-size:24px;text-wrap:balance}.cpd-hello p{margin:4px 0 0;max-width:70ch}.cpd-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.cpd-kpi{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px;display:grid;gap:2px}.cpd-kpi span{font-size:12px;color:var(--text-secondary);font-weight:600}.cpd-kpi b{font-size:26px;font-variant-numeric:tabular-nums}.cpd-kpi small{font-size:12px;color:var(--text-muted)}.cpd-kpi.attn{border-color:color-mix(in srgb,var(--amber) 55%,var(--border))}.cpd-kpi.attn b{color:var(--amber)}.cpd-projects{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,440px),1fr));gap:14px}.cpd-proj{background:var(--bg-surface);border:1px solid var(--border);border-radius:14px;padding:16px 18px;display:flex;flex-direction:column;gap:12px}.cpd-proj header h2{margin:6px 0 0;font-size:18px;text-wrap:balance}.cpd-desc{margin:4px 0 0}.cpd-code{font-weight:700;font-size:12px;letter-spacing:.03em;color:var(--brand);margin-right:8px}.cpd-st{font-size:11px;font-weight:700;padding:2px 8px;border-radius:10px;background:color-mix(in srgb,var(--blue) 14%,transparent);color:var(--blue)}.cpd-st.ON_HOLD{background:color-mix(in srgb,var(--amber) 18%,transparent);color:var(--amber)}.cpd-st.COMPLETED{background:color-mix(in srgb,var(--green) 16%,transparent);color:var(--green)}.cpd-st.ARCHIVED{background:var(--bg-hover);color:var(--text-secondary)}.cpd-info{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px 14px;margin:0}.cpd-info>div{display:grid;gap:1px;min-width:0}.cpd-info>div.wide{grid-column:1 / -1}.cpd-info dt{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.cpd-info dd{margin:0;font-size:13.5px;overflow-wrap:anywhere}.cpd-prog{display:grid;gap:5px}.cpd-prog-hd{display:flex;justify-content:space-between;font-size:13px;font-weight:600}.cpd-prog .eqt-bar{height:8px}.cpd-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.cpd-stats button{display:grid;gap:1px;text-align:left;border:1px solid var(--border);background:transparent;color:inherit;font:inherit;padding:8px 10px;border-radius:10px;cursor:pointer;min-width:0}.cpd-stats button:hover{border-color:var(--brand)}.cpd-stats b{font-size:20px;font-variant-numeric:tabular-nums}.cpd-stats span{font-size:12px;color:var(--text-secondary)}.cpd-stats small{display:block;color:var(--text-muted);font-size:11px}.cpd-stats button.attn{border-color:color-mix(in srgb,var(--amber) 55%,var(--border))}.cpd-stats button.attn b{color:var(--amber)}.cpd-proj footer{display:flex;justify-content:flex-end}.cpe{display:flex;flex-direction:column;gap:12px}.cpe-table .cpe-row{grid-template-columns:76px minmax(220px,2fr) minmax(200px,1.5fr) minmax(140px,1fr) 110px 120px;min-width:900px}.cpe-row>span{display:flex;flex-direction:column;gap:2px;min-width:0}.cpe-row.eqt-head>span{display:block}.cpe-attn{color:var(--amber);font-weight:600}.cpe-thumb{display:inline-flex;align-items:center;justify-content:center;flex:none;border-radius:8px;overflow:hidden;background:var(--bg-hover);border:1px solid var(--border)}.cpe-thumb img{width:100%;height:100%;object-fit:cover}.cpe-thumb i{font-style:normal;color:var(--text-muted)}.cpe-side{width:min(760px,100%)}.cpe-side-ttl{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.cpe-side-ttl b{font-size:17px}.cpe-basic{flex-direction:row;align-items:flex-start;gap:14px;flex-wrap:wrap}.cpe-basic .cpd-info{flex:1;min-width:240px}.cpe-stages{list-style:none;margin:0;padding:0;display:grid;gap:2px}.cpe-stages li{display:grid;grid-template-columns:26px 1fr auto;gap:8px;align-items:center;padding:5px 4px;font-size:13px;border-radius:6px}.cpe-stages li i{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-style:normal;font-size:11px;font-weight:700;background:var(--bg-hover);color:var(--text-secondary)}.cpe-stages li.done i{background:var(--green);color:#fff}.cpe-stages li.current{background:var(--accent-soft);font-weight:600}.cpe-stages li.current i{background:var(--brand);color:var(--on-brand, #fff)}.cpe-stages li.skip{opacity:.55;text-decoration:line-through}.cpe-ms{display:grid;gap:4px}.cpe-ms>div{display:grid;grid-template-columns:20px 1fr auto;gap:8px;font-size:13px;align-items:center}.cpe-ms i{font-style:normal;color:var(--text-muted)}.cpe-ms .done i{color:var(--green)}.cpe-docs{display:grid;gap:10px}.cpe-doc{border:1px solid var(--border);border-radius:10px;padding:10px 12px;display:grid;gap:6px;border-left-width:4px}.cpe-doc.pending{border-left-color:var(--blue)}.cpe-doc.ok{border-left-color:var(--green)}.cpe-doc.warn{border-left-color:var(--amber)}.cpe-doc.bad{border-left-color:var(--red)}.cpe-doc-hd{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cpe-doc-t{overflow-wrap:anywhere}.cpe-note{color:var(--text-primary)}.chip-btn.ok{border-color:color-mix(in srgb,var(--green) 50%,var(--border));color:var(--green)}.chip-btn.bad{border-color:color-mix(in srgb,var(--red) 45%,var(--border));color:var(--red)}.cpe-review{display:grid;gap:6px;padding:10px;border-radius:8px;background:var(--bg-hover)}.cpe-hist{display:grid;gap:6px;padding-left:8px;border-left:2px solid var(--border)}.cpe-hist>div{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}.cpe-hist p{margin:0;width:100%;font-size:12.5px}@media(max-width:900px){.cp-top-theme{display:inline-flex}.cpd-stats{grid-template-columns:1fr}.cp-proj-sel{max-width:60%}}.cp-shell .nav-item{border:0;font:inherit;width:100%;cursor:pointer}.cp-shell .nav-item:not(.active){background:transparent}.cp-shell .nav-item:not(.active):hover{background:var(--bg-hover)}.cp-ver{cursor:default}.eqt-stitem{grid-template-columns:24px minmax(140px,1fr) minmax(140px,1fr) 44px 110px 30px 30px 30px}.eqt-sthd{font-size:10.5px;font-weight:700;text-transform:uppercase;color:var(--text-secondary)}.eqt-sthd small{text-transform:none;font-weight:400}.eqt-st-show{display:inline-flex;align-items:center;gap:3px;cursor:pointer;font-size:13px}.eqt-stlist{overflow-x:auto}.eqt-stlist>.eqt-stitem{min-width:640px}.eqc{display:grid;gap:8px}.eqc-list{display:grid;gap:8px;max-height:420px;overflow-y:auto;padding:2px}.eqc-msg{max-width:82%;justify-self:start;background:var(--bg-hover);border-radius:10px;padding:7px 10px;display:grid;gap:3px}.eqc-msg.mine{justify-self:end;background:var(--accent-soft)}.eqc-msg p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13.5px}.eqc-hd{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.eqc-hd b{font-size:12.5px}.eqc-tag{font-style:normal;font-size:10.5px;font-weight:700;padding:0 6px;border-radius:8px;background:color-mix(in srgb,var(--purple) 16%,transparent);color:var(--purple)}.eqc-file{justify-self:start;text-align:left}.eqc-compose{display:grid;gap:6px}.eqt-flag.chat{background:color-mix(in srgb,var(--blue) 14%,transparent);color:var(--blue)}.eqt-flag.chat.wait{background:color-mix(in srgb,var(--amber) 20%,transparent);color:var(--amber)}.cpe-q{display:grid;gap:10px}.cpe-q .cp-back{display:none}.cpe-qlist{display:grid;gap:6px}.cpe-doc-t.hr-link{text-align:left;padding:0}.cp-tabbar,.cpe-cards,.cp-proj-sel-m{display:none}@media(max-width:768px){.cp-tabbar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--bg-surface);border-top:1px solid var(--border);padding:4px 4px calc(4px + env(safe-area-inset-bottom,0px));box-shadow:0 -4px 14px #00000014}.cp-tabbar button{display:grid;justify-items:center;gap:2px;border:0;background:transparent;color:var(--text-secondary);font:inherit;font-size:11px;font-weight:600;padding:6px 2px;border-radius:10px;cursor:pointer;min-height:52px}.cp-tabbar button.on{color:var(--brand);background:var(--accent-soft)}.cp-tab-ic{position:relative;display:inline-flex}.cp-tab-ic svg{width:22px;height:22px}.cp-tab-ic i{position:absolute;top:-5px;right:-10px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--red);color:#fff;font-style:normal;font-size:10px;font-weight:700;display:grid;place-items:center}.cp-shell .content{padding:12px 12px calc(76px + env(safe-area-inset-bottom,0px))}.cp-shell .hamburger,.cp-shell .breadcrumb .crumb:first-child,.cp-shell .breadcrumb .crumb-sep,.cp-shell .topbar .version-chip,.cp-proj-sel,.cp-top-theme{display:none!important}.cp-shell .crumb-current{font-size:16px;font-weight:700}.cp-proj-sel-m{display:block;width:100%;height:40px}.cp-page{gap:10px}.cp-ph h1{font-size:19px}.cp-ph h1 small{display:block;font-size:13px;margin-top:2px}.cp-ph p{display:none}.cpd-hello h1{font-size:20px}.cpd-kpis{grid-template-columns:repeat(2,1fr);gap:8px}.cpd-kpi{padding:10px 12px}.cpd-kpi b{font-size:22px}.cpd-proj{padding:14px}.cpd-info{grid-template-columns:repeat(2,1fr)}.cpe .eqt-sum{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.cpe .eqt-kpi{min-width:0}.cpe .eqt-filters{flex-wrap:wrap}.cpe .eqt-filters .field-inp{flex:1 1 140px;height:40px}.cpe-table{display:none}.cpe-cards{display:grid;gap:8px}.cpe-card{display:grid;grid-template-columns:52px 1fr;gap:10px;align-items:start;text-align:left;border:1px solid var(--border);background:var(--bg-surface);color:inherit;font:inherit;padding:10px;border-radius:12px;cursor:pointer}.cpe-card:active{background:var(--bg-hover)}.cpe-card.done{opacity:.8}.cpe-card-main{display:grid;gap:4px;min-width:0}.cpe-card-t{display:flex;gap:6px;align-items:baseline;min-width:0}.cpe-card-t em{font-style:normal;font-weight:700;font-size:12px;color:var(--brand);flex:none}.cpe-card-t b,.cpe-card-spec{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cpe-card-st{display:grid;gap:3px;font-size:13px}.cpe-card-flags{display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center}.cpe-side{width:100%}.cp-shell~.eqt-side-ov .eqt-side,.eqt-side.cpe-side{max-width:100%}.cpe-side .eqt-side-hd{position:sticky;top:0;z-index:2;background:var(--bg-elevated);padding-top:calc(10px + env(safe-area-inset-top,0px))}.cpe-side .eqt-side-bd{padding:12px 12px calc(20px + env(safe-area-inset-bottom,0px))}.cpe-side .modal-x{width:40px;height:40px;font-size:22px}.cpe-basic{flex-direction:column}.cpe-basic .cpd-info{min-width:0;width:100%}.cpe-doc .eqt-row-btns{flex-wrap:wrap}.cpe-doc .eqt-row-btns .chip-btn{min-height:36px}.cpe-review .eqt-row-btns .btn-primary,.cpe-review .eqt-row-btns .btn-ghost{flex:1;min-height:40px}.eqc-msg{max-width:92%}.eqc-compose textarea{font-size:16px}.eqc-compose .btn-primary{min-height:40px}.cp-reply textarea,.cpe-review textarea{font-size:16px}.cp-main.reading .cp-detail,.cp-list{padding:12px}}.eqt-pid-client{display:grid;gap:1px;font-size:12px}.eqt-pid-client label{display:inline-flex;gap:5px;align-items:center;cursor:pointer}.cpe-pids{display:grid;gap:6px}.cpe-pid{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:center;text-align:left;border:1px solid var(--border);background:transparent;color:inherit;font:inherit;padding:8px 10px;border-radius:10px;cursor:pointer}.cpe-pid:hover{border-color:var(--brand)}.cpe-pid-ic{font-size:22px}.ci-bd{display:grid;gap:10px}.ci-grid{display:grid;grid-template-columns:140px 1fr;gap:10px}.ci-shared{font-size:13px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;color:var(--green)}.ci-warn{font-size:13px;padding:8px 10px;border-radius:8px;background:color-mix(in srgb,var(--amber) 14%,transparent)}.ci-chip{font-size:11.5px;padding:1px 8px;border-radius:10px;background:var(--bg-hover);color:var(--text-secondary)}.ci-pages{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:4px 12px;max-height:180px;overflow:auto}.ci-busy{font-size:13px}.ci-list{display:grid;gap:4px}.ci-row{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;font-size:13px}.ci-note{width:100%}.fc-aud{display:flex;gap:4px;padding:6px 10px 0}.fc-aud button{flex:1;border:1px solid var(--border);background:transparent;color:var(--text-secondary);font:inherit;font-size:12.5px;font-weight:600;padding:5px 8px;border-radius:8px;cursor:pointer}.fc-aud button.on{background:var(--accent-soft);color:var(--brand);border-color:var(--brand)}.fc-aud button.on.client{background:#f5f3ff;color:#7c3aed;border-color:#7c3aed}.fc-aud button i{font-style:normal;margin-left:6px;font-size:10.5px;padding:0 6px;border-radius:8px;background:#7c3aed;color:#fff}.fc-aud-hint{margin:6px 10px 0;font-size:11.5px;padding:6px 8px;border-radius:8px;background:#f5f3ff;color:#5b21b6}[data-theme=dark] .fc-aud button.on.client,[data-theme=dark] .fc-aud-hint{background:#7c3aed2e;color:#c4b5fd}.fc-client-tag{font-style:normal;margin-left:6px;font-size:10px;font-weight:700;padding:0 6px;border-radius:8px;background:#7c3aed;color:#fff}.cv-area-client{background:#7c3aed!important;color:#fff!important}.pidv{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:var(--bg-app, var(--bg-surface));display:flex;flex-direction:column}.pidv-hd{display:flex;align-items:center;gap:10px;padding:calc(8px + env(safe-area-inset-top,0px)) 12px 8px;border-bottom:1px solid var(--border);background:var(--bg-surface)}.pidv-t{display:grid;min-width:0;flex:1}.pidv-t b,.pidv-t small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pidv-sel{width:auto;max-width:220px;height:34px}.pidv-x{width:40px;height:40px;border:0;background:transparent;color:inherit;font-size:26px;cursor:pointer}.pidv-pages{display:flex;gap:4px;overflow-x:auto;padding:6px 10px;border-bottom:1px solid var(--border);background:var(--bg-surface)}.pidv-pages button{flex:none;border:1px solid var(--border);background:transparent;color:inherit;font:inherit;font-size:12.5px;padding:4px 10px;border-radius:14px;cursor:pointer}.pidv-pages button.on{border-color:var(--brand);background:var(--accent-soft);font-weight:600}.pidv-pages i{font-style:normal;margin-left:5px;font-size:10.5px;padding:0 5px;border-radius:8px;background:#7c3aed;color:#fff}.pidv-main{flex:1;min-height:0;display:grid;grid-template-columns:1fr minmax(300px,380px)}.pidv-main.noside{grid-template-columns:1fr}.pidv-canvas{position:relative;overflow:hidden;background:#e5e7eb;touch-action:none;cursor:grab}.pidv-canvas:active{cursor:grabbing}.pidv-canvas.marking{cursor:crosshair}[data-theme=dark] .pidv-canvas{background:#1f2430}.pidv-layer{position:absolute;left:0;top:0;transform-origin:0 0;box-shadow:0 2px 12px #0000002e;background:#fff}.pidv-layer img{display:block;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none}.pidv-pin{position:absolute;border:2px solid #7c3aed;background:#7c3aed1f;border-radius:3px;cursor:pointer}.pidv-pin.done{border-color:#16a34a;background:#16a34a1a}.pidv-pin.hl{box-shadow:0 0 0 9999px #0000001f;background:#7c3aed38}.pidv-pin.new{border-style:dashed;border-color:#ea580c;background:#ea580c1f;pointer-events:none}.pidv-pin i{position:absolute;left:-2px;top:-22px;transform-origin:0 100%;font-style:normal;font-size:12px;font-weight:700;padding:1px 6px;border-radius:6px;background:#7c3aed;color:#fff;white-space:nowrap}.pidv-pin.done i{background:#16a34a}.pidv-tools{position:absolute;left:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));display:flex;flex-wrap:wrap;gap:6px}.pidv-tools button{min-width:40px;height:40px;padding:0 10px;border:1px solid var(--border);border-radius:10px;background:var(--bg-surface);color:inherit;font:inherit;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 2px 8px #0000001f}.pidv-tools button.on{background:#ea580c;color:#fff;border-color:#ea580c}.pidv-side{display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--border);background:var(--bg-surface)}.pidv-side-hd{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--border);font-size:13px}.pidv-list{flex:1;overflow-y:auto;padding:10px 12px;display:grid;gap:8px;align-content:start}.pidv-c{border:1px solid var(--border);border-radius:10px;padding:8px 10px;display:grid;gap:4px}.pidv-c.mine{border-left:3px solid #7c3aed}.pidv-c.hl{border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed40}.pidv-c.done{opacity:.7}.pidv-c p,.pidv-r p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13.5px}.pidv-c-hd{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;font-size:12.5px}.pidv-no{border:0;background:#7c3aed;color:#fff;font:inherit;font-size:11px;font-weight:700;padding:1px 7px;border-radius:8px;cursor:pointer}.pidv-r{margin-left:10px;padding-left:8px;border-left:2px solid var(--border);font-size:12.5px}.pidv-reply{display:flex;gap:6px}.pidv-reply .field-inp{height:34px}.pidv-compose{border-top:1px solid var(--border);padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));display:grid;gap:6px}.pidv-area-on{font-size:12.5px;color:#ea580c;font-weight:600}@media(max-width:768px){.pidv-main{grid-template-columns:1fr;grid-template-rows:1fr minmax(220px,45%)}.pidv-main.noside{grid-template-rows:1fr}.pidv-side{border-left:0;border-top:1px solid var(--border)}.pidv-compose textarea,.pidv-reply .field-inp{font-size:16px}.ci-grid{grid-template-columns:1fr}}
