.ai-panel{right:0;top:var(--topbar-h,56px);height:calc(100vh - var(--topbar-h,56px));z-index:300;background:var(--surface);border-left:1px solid var(--border);flex-direction:column;transition:transform .22s cubic-bezier(.32,0,.15,1),box-shadow .22s;display:flex;position:fixed;overflow:hidden;transform:translate(100%)}.ai-panel.open{transform:translate(0);box-shadow:-6px 0 28px #0000001a,-1px 0 4px #0000000a}.ai-resize-handle{cursor:col-resize;z-index:10;background:0 0;width:5px;transition:background .15s;position:absolute;top:0;bottom:0;left:0}.ai-resize-handle:hover{background:#dc262659}.ai-header{border-bottom:1px solid var(--border);background:var(--bg);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;height:58px;padding:0 10px 0 14px;display:flex}.ai-header-left{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.ai-header-icon{background:var(--accent);color:#fff;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex;box-shadow:0 2px 8px #dc262647}.ai-header-info{flex-direction:column;gap:2px;min-width:0;display:flex}.ai-header-title{color:var(--text-primary);letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:700;overflow:hidden}.ai-header-sub{color:var(--text-secondary);align-items:center;gap:6px;font-size:11px;font-weight:500;display:flex}.ai-hdr-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:5px;height:5px;animation:1.1s ease-in-out infinite ai-hdr-pulse}@keyframes ai-hdr-pulse{0%,to{opacity:1}50%{opacity:.25}}.ai-hdr-thinking{color:var(--text-secondary);letter-spacing:.01em;font-size:10.5px;font-weight:600}.ai-header-actions{align-items:center;gap:2px;display:flex}.ai-header-vsep{background:var(--border);flex-shrink:0;width:1px;height:18px;margin:0 3px}.ai-hbtn{border-radius:var(--radius-sm,7px);cursor:pointer;width:30px;height:30px;color:var(--text-muted);transition:background var(--t), color var(--t), border-color var(--t);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;display:flex}.ai-hbtn:hover{background:var(--bg);color:var(--text-primary);border-color:var(--border)}.ai-hbtn.ai-hbtn--active{background:var(--accent-dim);color:var(--accent);border-color:#dc262633}.ai-hbtn:disabled{opacity:.38;cursor:not-allowed}.ai-body{scroll-behavior:smooth;flex-direction:column;flex:1;gap:2px;padding:14px 14px 6px;display:flex;overflow-y:auto}.ai-body::-webkit-scrollbar{width:4px}.ai-body::-webkit-scrollbar-track{background:0 0}.ai-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.ai-daysep{align-items:center;gap:8px;padding:8px 0 4px;display:flex}.ai-daysep-line{background:var(--border);flex:1;height:1px}.ai-daysep-label{color:var(--text-muted);white-space:nowrap;font-size:10.5px;font-weight:500}.ai-empty{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:24px;padding:20px 16px 32px;display:flex}.ai-empty-hero{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.ai-empty-icon{border-radius:var(--radius-md,10px);background:var(--accent-dim);width:40px;height:40px;color:var(--accent);justify-content:center;align-items:center;display:flex}.ai-empty-title{color:var(--text-primary);letter-spacing:-.02em;font-size:14px;font-weight:700}.ai-empty-sub{color:var(--text-secondary);max-width:240px;font-size:12px;line-height:1.5}.ai-chips{grid-template-columns:1fr 1fr;gap:7px;width:100%;display:grid}.ai-chip{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md,10px);cursor:pointer;text-align:left;transition:background var(--t), border-color var(--t);flex-direction:column;align-items:flex-start;gap:6px;padding:10px 11px;display:flex}.ai-chip:hover{background:var(--accent-light);border-color:var(--accent-border)}.ai-chip-icon{background:var(--surface);border:1px solid var(--border);width:24px;height:24px;color:var(--accent);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.ai-chip:hover .ai-chip-icon{background:var(--accent-dim);border-color:#dc26262e}.ai-chip-text{color:var(--text-secondary);font-size:11.5px;font-weight:500;line-height:1.4}.ai-chip:hover .ai-chip-text{color:var(--text-primary)}@keyframes ai-msg-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.ai-msg-row{flex-direction:column;margin-bottom:10px;animation:.18s ease-out ai-msg-in;display:flex}.ai-msg-row--user{align-items:flex-end}.ai-msg-row--asst{align-items:flex-start}.ai-bubble{word-break:break-word;border-radius:var(--radius-md,10px);max-width:88%;padding:9px 12px;font-size:13px;line-height:1.55}.ai-bubble--user{background:var(--accent);color:#fff;border-bottom-right-radius:3px}.ai-bubble--asst{background:var(--bg);border:1px solid var(--border);color:var(--text-primary);border-bottom-left-radius:3px}.ai-msg-ts{color:var(--text-secondary);margin-top:3px;padding:0 3px;font-size:10px}.ai-bubble--error{align-items:flex-start;gap:8px;display:flex}.ai-error-ico{color:var(--danger);flex-shrink:0;margin-top:1px}.ai-retry-btn{color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm,7px);cursor:pointer;transition:background var(--t), color var(--t), border-color var(--t);align-items:center;gap:6px;margin-top:6px;padding:6px 10px;font-size:11.5px;font-weight:600;display:flex}.ai-retry-btn:hover{background:var(--accent-dim);color:var(--accent);border-color:#dc262640}.ai-bubble--with-think{padding:0;overflow:hidden}.ai-think-inline{border-bottom:1px solid var(--border)}.ai-think-toggle{cursor:pointer;text-align:left;width:100%;transition:background var(--t);background:0 0;border:none;align-items:center;gap:7px;padding:9px 12px;display:flex}.ai-think-toggle:hover{background:#00000008}:root.dark .ai-think-toggle:hover{background:#ffffff09}.ai-think-gear{color:var(--accent);opacity:.85;flex-shrink:0;align-items:center;display:flex}.ai-think-gear svg.spin{animation:.9s linear infinite ai-spin}@keyframes ai-spin{to{transform:rotate(360deg)}}.ai-think-tlabel{color:var(--text-muted);letter-spacing:.01em;flex:1;font-size:11px;font-weight:600}.ai-think-tlabel--active{color:var(--accent);animation:1.4s ease-in-out infinite ai-think-pulse}@keyframes ai-think-pulse{0%,to{opacity:1}50%{opacity:.55}}.ai-think-arrow{color:var(--text-muted);align-items:center;transition:transform .18s;display:flex}.ai-think-arrow.open{transform:rotate(90deg)}.ai-think-collapse{grid-template-rows:0fr;transition:grid-template-rows .22s;display:grid}.ai-think-collapse.open{grid-template-rows:1fr}.ai-think-content-wrap{min-height:0;overflow:hidden}.ai-think-content{color:var(--text-secondary);white-space:pre-wrap;background:#00000005;border-radius:6px;max-height:200px;margin:0 10px 10px;padding:8px 10px;font-size:11.5px;font-style:italic;line-height:1.6;overflow-y:auto}:root.dark .ai-think-content{background:#ffffff08}.ai-think-content::-webkit-scrollbar{width:3px}.ai-think-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.ai-think-dots{gap:4px;padding:10px 12px;display:flex}.ai-html--after-think{padding:10px 12px}.ai-bubble--asst:not(.ai-bubble--with-think) .ai-html{padding:0}.ai-typing{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md,10px);border-bottom-left-radius:3px;align-items:center;gap:4px;width:fit-content;padding:11px 14px;display:flex}.ai-dot{background:var(--text-muted);border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite ai-bounce}.ai-dot:nth-child(2){animation-delay:.16s}.ai-dot:nth-child(3){animation-delay:.32s}@keyframes ai-bounce{0%,60%,to{opacity:.45;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}.ai-html table{border-collapse:collapse;width:100%;margin:6px 0;font-size:12px}.ai-html th,.ai-html td{border:1px solid var(--border);text-align:left;padding:5px 8px}.ai-html thead tr{background:var(--surface);font-weight:600}.ai-html tbody tr:nth-child(2n){background:#00000006}:root.dark .ai-html tbody tr:nth-child(2n){background:#ffffff06}.ai-html pre{background:var(--sidebar-bg,#130606);color:#e2e8f0;border-radius:var(--radius-sm,7px);font-family:var(--font-mono,monospace);margin:6px 0;padding:10px 12px;font-size:11.5px;line-height:1.5;overflow-x:auto}.ai-html code{font-family:var(--font-mono,monospace);font-size:11.5px}.ai-html ul,.ai-html ol{margin:8px 0;padding-left:18px}.ai-html li{text-align:justify;margin:6px 0;line-height:1.5}.ai-html>ul>li,.ai-html>ol>li{margin:20px 0}.ai-html li:last-child{margin-bottom:0}.ai-html li>ul,.ai-html li>ol{margin:4px 0 2px}.ai-html li>ul>li,.ai-html li>ol>li{margin:6px 0}.ai-html strong{color:var(--text-primary);font-weight:700}.ai-html h4{color:var(--text-primary);margin:22px 0 8px;font-size:12.5px;font-weight:700}.ai-html h4:first-child{margin-top:0}.ai-html p{text-align:justify;margin:4px 0}.ai-html a{color:var(--accent);text-decoration:underline}.ai-input-bar{border-top:1px solid var(--border);background:var(--surface);flex-shrink:0;padding:10px 12px 12px}.ai-input-wrap{background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-md,10px);transition:border-color var(--t), box-shadow var(--t);align-items:center;gap:8px;padding:8px 8px 8px 12px;display:flex}.ai-input-wrap:focus-within{box-shadow:0 0 0 3px var(--accent-dim);border-color:#dc262673}.ai-textarea{resize:none;color:var(--text-primary);font-size:13px;font-family:var(--font);background:0 0;border:none;outline:none;flex:1;min-height:22px;max-height:110px;line-height:1.5;overflow-y:auto}.ai-textarea::placeholder{color:var(--text-muted)}.ai-send{border-radius:var(--radius-sm,7px);background:var(--accent);color:#fff;cursor:pointer;width:32px;height:32px;transition:opacity var(--t), transform 80ms ease;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.ai-send:hover:not(:disabled){opacity:.85}.ai-send:active:not(:disabled){transform:scale(.93)}.ai-send:disabled{opacity:.35;cursor:not-allowed}.ai-attach-btn{border-radius:var(--radius-sm,7px);cursor:pointer;width:28px;height:28px;color:var(--text-muted);transition:color var(--t), background var(--t);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.ai-attach-btn:hover:not(:disabled){color:var(--text-primary);background:#0000000a}:root.dark .ai-attach-btn:hover:not(:disabled){background:#ffffff0d}.ai-attach-btn:disabled{opacity:.38;cursor:not-allowed}.ai-attached{flex-wrap:wrap;gap:5px;margin-top:7px;display:flex}.ai-attached-chip{background:var(--accent-dim);color:var(--accent);border:1px solid #dc262633;border-radius:20px;align-items:center;gap:5px;padding:3px 8px 3px 7px;font-size:11.5px;font-weight:500;display:flex}.ai-attached-rm{cursor:pointer;color:var(--accent);opacity:.65;transition:opacity var(--t);background:0 0;border:none;align-items:center;margin-left:1px;padding:0;display:flex}.ai-attached-rm:hover{opacity:1}.ai-bubble-files{flex-wrap:wrap;justify-content:flex-end;gap:4px;margin-bottom:5px;display:flex}.ai-file-chip{background:var(--accent-hover,#b91c1c);border:1px solid var(--accent-hover,#b91c1c);color:#fff;border-radius:20px;align-items:center;gap:4px;padding:3px 9px;font-size:11px;font-weight:500;display:inline-flex}.ai-selectors{gap:6px;margin-top:8px;display:flex}.ai-sel-wrap{position:relative}.ai-sel-btn{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm,7px);cursor:pointer;transition:border-color var(--t), background var(--t);white-space:nowrap;align-items:center;gap:5px;padding:5px 9px;display:flex}.ai-sel-btn:hover:not(:disabled){background:var(--accent-dim);border-color:#dc262659}.ai-sel-btn.open{background:var(--accent-dim);border-color:#dc262673}.ai-sel-btn:disabled{opacity:.38;cursor:not-allowed}.ai-sel-label{color:var(--text-muted);letter-spacing:.01em;font-size:10.5px;font-weight:600}.ai-sel-val{color:var(--text-primary);font-size:12px;font-weight:600}.ai-sel-btn.open .ai-sel-val{color:var(--accent)}.ai-sel-arrow{color:var(--text-muted);align-items:center;transition:transform .15s;display:flex}.ai-sel-arrow.open{transform:rotate(180deg)}.ai-sel-menu{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md,10px);z-index:400;min-width:168px;padding:4px 0;animation:.12s ease-out ai-over-in;position:absolute;bottom:calc(100% + 5px);left:0;overflow:hidden;box-shadow:0 -8px 24px #0000001a,0 -2px 8px #0000000d}:root.dark .ai-sel-menu{box-shadow:0 -8px 24px #0006}.ai-sel-item{cursor:pointer;text-align:left;width:100%;transition:background var(--t);background:0 0;border:none;flex-direction:column;gap:1px;padding:8px 13px;display:flex}.ai-sel-item:hover{background:var(--bg)}.ai-sel-item.active{background:var(--accent-dim)}.ai-sel-item-name{color:var(--text-primary);font-size:12.5px;font-weight:600}.ai-sel-item.active .ai-sel-item-name{color:var(--accent)}.ai-sel-item-desc{color:var(--text-muted);font-size:11px}.ai-hist{z-index:20;background:var(--surface);flex-direction:column;display:flex;position:absolute;inset:51px 0 0}.ai-hist-hd{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;height:44px;padding:0 12px;display:flex}.ai-hist-hd-title{color:var(--text-primary);flex:1;font-size:12.5px;font-weight:700}.ai-hist-list{flex:1;overflow-y:auto}.ai-hist-list::-webkit-scrollbar{width:4px}.ai-hist-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.ai-hist-empty{text-align:center;color:var(--text-muted);padding:40px 20px;font-size:13px}.ai-hist-item{cursor:pointer;border-bottom:1px solid var(--border-light);transition:background var(--t);align-items:flex-start;gap:10px;padding:11px 12px;display:flex}.ai-hist-item:hover{background:var(--bg)}.ai-hist-item.cur{background:var(--accent-dim)}.ai-hist-item-body{flex:1;min-width:0}.ai-hist-item-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;overflow:hidden}.ai-hist-item-meta{color:var(--text-muted);margin-top:1px;font-size:10.5px}.ai-hist-item-preview{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:11.5px;overflow:hidden}.ai-hist-del{border-radius:var(--radius-sm,7px);cursor:pointer;width:26px;height:26px;color:var(--text-muted);opacity:0;transition:opacity var(--t), background var(--t), color var(--t);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;display:flex}.ai-hist-item:hover .ai-hist-del{opacity:1}.ai-hist-del:hover{background:var(--danger-bg);color:var(--danger);border-color:var(--danger-border)}.ai-overflow-anchor{position:relative}.ai-overflow{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md,10px);z-index:400;width:196px;animation:.14s ease-out ai-over-in;position:absolute;top:calc(100% + 4px);right:0;overflow:hidden;box-shadow:0 8px 24px #0000001f,0 2px 8px #0000000f}:root.dark .ai-overflow{box-shadow:0 8px 24px #0006,0 2px 8px #0003}@keyframes ai-over-in{0%{opacity:0;transform:translateY(-4px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.ai-overflow-section{padding:4px 0 2px}.ai-overflow-label{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;padding:4px 12px 3px;font-size:10px;font-weight:700}.ai-overflow-item{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;transition:background var(--t);background:0 0;border:none;align-items:center;gap:7px;padding:7px 12px;font-size:12.5px;font-weight:400;display:flex}.ai-overflow-item:hover{background:var(--bg)}.ai-overflow-item.active{color:var(--accent);font-weight:600}.ai-overflow-item--danger{color:var(--text-secondary)}.ai-overflow-item--danger:hover{color:var(--danger,#dc2626);background:#dc262612}:root.dark .ai-overflow-item--danger:hover{background:#dc26261f}.ai-overflow-item-name{flex:1}.ai-overflow-item-tag{color:var(--text-muted);font-size:10px;font-weight:500}.ai-overflow-item-ico{color:var(--text-muted);flex-shrink:0;align-items:center;display:flex}.ai-overflow-div{background:var(--border);height:1px;margin:2px 0}.ai-topbar-btn{border:1.5px solid var(--border);background:var(--surface);cursor:pointer;width:34px;height:34px;color:var(--text-muted);transition:border-color var(--t), background var(--t), color var(--t);border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.ai-topbar-btn:hover{background:var(--bg);color:var(--accent);border-color:#dc262659}.ai-topbar-btn.active{background:var(--accent-dim);color:var(--accent);border-color:#dc26264d}:root.dark .ai-panel{border-left-color:var(--border)}:root.dark .ai-header{background:var(--bg)}:root.dark .ai-panel.open{box-shadow:-6px 0 28px #0006,-1px 0 4px #0003}:root.dark .ai-chip{background:var(--bg)}:root.dark .ai-chip:hover{background:var(--accent-dim);border-color:#dc262640}:root.dark .ai-chip-icon{background:var(--surface)}:root.dark .ai-bubble--asst{background:var(--bg)}:root.dark .ai-input-wrap{background:var(--bg);border-color:var(--border)}:root.dark .ai-typing,:root.dark .ai-think{background:var(--bg)}:root.dark .ai-hist{background:var(--surface)}@media (width<=600px){.ai-panel{border-left:none;width:100vw!important}.ai-resize-handle{display:none}.content{padding-right:28px!important}}@media (prefers-reduced-motion:reduce){.ai-panel,.ai-think-arrow{transition:none}.ai-dot{opacity:.5;animation:none}svg.spin{opacity:.7;animation:none}.ai-msg-row{animation:none}.ai-think-collapse{transition:none}.ai-think-tlabel--active,.ai-overflow{animation:none}}:root{--bg:#f5f5f5;--surface:#fff;--border:#e5e5e5;--border-light:#f0f0f0;--text-primary:#111;--text-secondary:#555;--text-muted:#888;--text:var(--text-primary);--accent:#dc2626;--accent-hover:#b91c1c;--accent-dim:#dc26261f;--accent-light:#fef2f2;--accent-border:#fca5a5;--success:#15803d;--success-bg:#f0fdf4;--success-border:#6ee7b7;--danger:#dc2626;--danger-bg:#fef2f2;--danger-border:#fca5a5;--warning:#b45309;--warning-bg:#fffbeb;--warning-border:#fbbf24;--sidebar-w:272px;--topbar-h:56px;--sidebar-bg:#130606;--sidebar-bg-mid:#1c0909;--sidebar-text:#ffffff7a;--sidebar-hover-bg:#ffffff12;--sidebar-active-bg:#dc262638;--sidebar-active-text:#fff;--sidebar-border:#ffffff12;--radius-sm:7px;--radius-md:10px;--radius-lg:14px;--radius:var(--radius-md);--shadow-xs:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-sm:0 2px 6px #00000014, 0 1px 3px #0000000d;--shadow-md:0 4px 12px #0000001a;--shadow-lg:0 20px 40px #00000029, 0 8px 16px #0000001a;--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"SF Mono", "Cascadia Code", "Consolas", monospace;--t:.15s ease;--chip-qr:#15803d;--chip-email:#2563eb;--chip-ai:#7c3aed}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font);background:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.55}.layout{height:100vh;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-w);min-width:var(--sidebar-w);background:var(--sidebar-bg);flex-direction:column;display:flex;position:relative;overflow:hidden}.sidebar:after{content:"";pointer-events:none;background:linear-gradient(#0000 0%,#dc26268c 30%,#dc26264d 70%,#0000 100%);width:2px;height:100%;position:absolute;top:0;right:0}.sidebar-header{border-bottom:1px solid var(--sidebar-border);background:linear-gradient(160deg, #2e0f0f 0%, var(--sidebar-bg) 100%);padding:22px 18px 18px}.sidebar-logo-row{align-items:center;gap:13px;display:flex}.sidebar-logo-box{color:#fff;background:linear-gradient(135deg,#ef4444 0%,#991b1b 100%);border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex;box-shadow:0 3px 14px #dc26268c}.sidebar-brand-text{line-height:1.2}.sidebar-name{color:#f9fafb;letter-spacing:-.3px;font-size:15.5px;font-weight:800}.sidebar-sub{color:#ffffff80;letter-spacing:.4px;margin-top:2px;font-size:10.5px}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:10px 12px;display:flex;overflow-y:auto}.nav-group{flex-direction:column;gap:1px;display:flex}.nav-group+.nav-group{border-top:1px solid var(--sidebar-border);margin-top:4px;padding-top:8px}.nav-section-label{color:#ffffff80;text-transform:uppercase;letter-spacing:1.2px;padding:6px 10px;font-size:10px;font-weight:700}.nav-item{color:var(--sidebar-text);border-radius:var(--radius-md);transition:background var(--t), color var(--t), transform .1s ease;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;padding:11px 14px;font-size:14px;font-weight:500;text-decoration:none;display:flex;position:relative}.nav-item:hover{background:var(--sidebar-hover-bg);color:#ffffffe0;transform:translate(2px)}.nav-item.active{background:var(--sidebar-active-bg);color:var(--sidebar-active-text);font-weight:700;box-shadow:inset 0 0 0 1px #dc262659}.nav-item.active .nav-icon{opacity:1}.nav-icon{opacity:.55;transition:opacity var(--t);flex-shrink:0;align-items:center;display:flex}.nav-item:hover .nav-icon{opacity:.9}.nav-item.active .nav-icon{opacity:1;color:#fca5a5}.nav-label{flex:1}.nav-item.active:before{content:"";background:#ef4444;border-radius:0 3px 3px 0;width:3px;height:60%;position:absolute;top:50%;left:-12px;transform:translateY(-50%);box-shadow:0 0 10px #ef4444b3}.sidebar-footer{border-top:1px solid var(--sidebar-border);flex-direction:column;gap:10px;padding:14px 12px 16px;display:flex}.service-card{border-radius:var(--radius-md);background:#ffffff0d;border:1px solid #ffffff17;flex-direction:column;gap:10px;padding:12px 14px;display:flex}.service-header{align-items:center;gap:8px;display:flex}.service-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.service-dot.running{background:#4ade80;animation:2.2s ease-in-out infinite pulse;box-shadow:0 0 0 3px #4ade8038}@keyframes pulse{0%,to{box-shadow:0 0 0 3px #4ade8038}50%{box-shadow:0 0 0 6px #4ade801a}}.service-dot.stopped{background:#4b5563}.service-label{color:#ffffff8c;flex:1;font-size:12px;font-weight:500}.service-action-btn{border-radius:var(--radius-sm);cursor:pointer;width:100%;font-size:12.5px;font-weight:700;font-family:var(--font);transition:all var(--t);letter-spacing:.1px;border:none;padding:8px 10px}.service-action-btn:disabled{opacity:.4;cursor:not-allowed}.service-action-btn:not(:disabled):active{transform:scale(.97)}.service-action-btn.is-start{color:#86efac;background:#4ade802e;border:1px solid #4ade8047}.service-action-btn.is-start:hover:not(:disabled){color:#d1fae5;background:#4ade804d;border-color:#4ade8073}.service-action-btn.is-stop{color:#fca5a5;background:#ef444426;border:1px solid #ef444447}.service-action-btn.is-stop:hover:not(:disabled){color:#fecaca;background:#ef444447;border-color:#ef444473}.sidebar-company{color:#fff3;letter-spacing:.3px;justify-content:center;align-items:center;gap:8px;font-size:10.5px;display:flex}.sidebar-support-btn{cursor:pointer;color:#ffffff59;width:24px;height:24px;transition:background var(--t), color var(--t), border-color var(--t);background:#ffffff0f;border:1px solid #ffffff1a;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.sidebar-support-btn:hover{color:#ffffffbf;background:#ffffff1f;border-color:#fff3}.sidebar-support-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.main-wrapper{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.topbar{height:var(--topbar-h);min-height:var(--topbar-h);background:var(--surface);border-bottom:2px solid var(--accent);justify-content:space-between;align-items:center;padding:0 28px;display:flex;box-shadow:0 2px 12px #dc262614}.topbar-left{align-items:center;gap:14px;display:flex}.topbar-title{color:var(--text-primary);letter-spacing:-.4px;font-size:16px;font-weight:800}.topbar-right{align-items:center;gap:12px;display:flex}.topbar-status{border-radius:20px;align-items:center;gap:7px;padding:5px 12px;font-size:12px;font-weight:700;display:flex}.topbar-status.ok{color:#15803d;background:#dcfce7;border:1.5px solid #86efac}.topbar-status.off{color:var(--text-muted);border:1.5px solid var(--border);background:#f8fafc}.topbar-status-dot{background:currentColor;border-radius:50%;width:7px;height:7px}.topbar-status.ok .topbar-status-dot{animation:2s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.45}}.content{padding:26px 28px 40px;padding-right:calc(28px + var(--ai-panel-w,0px));flex-direction:column;flex:1;display:flex;overflow-y:auto}body.ai-ready .content{transition:padding-right .22s cubic-bezier(.32,0,.15,1)}body.ai-resizing .content{transition:none!important}.page{flex-direction:column;flex:1;gap:18px;min-height:0;display:flex}.page-header{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.page-title{color:var(--text-primary);letter-spacing:-.4px;font-size:21px;font-weight:800}.page-subtitle{color:var(--text-secondary);margin-top:3px;font-size:13px}.page-icon-box{background:var(--accent);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.stats-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);padding:20px 22px}.stat-card.green-card{background:#f0fdf4;border-color:#86efac}.stat-card.error-card{background:#fef2f2;border-color:#fca5a5}.stat-card.accent-card{background:var(--accent-light);border-color:var(--accent-border)}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;margin-bottom:10px;font-size:11.5px;font-weight:600}.stat-value{color:var(--text-primary);letter-spacing:-1.2px;font-variant-numeric:tabular-nums;font-size:30px;font-weight:800;line-height:1}.stat-value.red{color:var(--accent)}.stat-value.green{color:var(--success)}.stat-value.muted{color:var(--text-muted)}.stat-hint{color:var(--text-muted);margin-top:7px;font-size:12px;line-height:1.4}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:22px 26px}.card-title{color:var(--text-primary);align-items:center;gap:8px;margin-bottom:18px;font-size:13.5px;font-weight:700;display:flex}.card-title-icon{width:28px;height:28px;color:var(--accent);background:#dc262633;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.tabs{border-bottom:2px solid var(--border);gap:2px;display:flex}.tab-btn{cursor:pointer;color:var(--text-secondary);transition:color var(--t), border-color var(--t);white-space:nowrap;font-size:13.5px;font-weight:500;font-family:var(--font);background:0 0;border:none;border-bottom:2.5px solid #0000;margin-bottom:-2px;padding:10px 18px}.tab-btn:hover:not(.active){color:var(--text-primary)}.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:700}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.8px;font-size:11px;font-weight:700}.field input,.field select,.field textarea{border:1.5px solid var(--border);border-radius:var(--radius-sm);width:100%;font-size:13.5px;font-family:var(--font);background:var(--surface);color:var(--text-primary);transition:border-color var(--t), box-shadow var(--t);outline:none;padding:8px 11px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.field input[readonly]{background:var(--bg);color:var(--text-secondary);cursor:default}.field input::placeholder{color:var(--text-muted)}.field textarea{resize:vertical;min-height:80px}.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%2394a3b8'/%3E%3C/svg%3E");background-position:right 11px center;background-repeat:no-repeat;padding-right:30px}.field-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.field-row-3{grid-template-columns:1fr 1fr 1fr;gap:16px;display:grid}.toggle-field{align-items:center;gap:12px;padding:6px 0;display:flex}.toggle-label{color:var(--text-primary);-webkit-user-select:none;user-select:none;font-size:14px}.toggle{cursor:pointer;width:40px;height:22px;transition:background var(--t);border:none;border-radius:11px;flex-shrink:0;position:relative}.toggle.on{background:var(--accent);box-shadow:0 0 0 3px #dc262626}.toggle.off{background:#cbd5e1}.toggle:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:left .18s cubic-bezier(.4,0,.2,1);position:absolute;top:3px;box-shadow:0 1px 4px #00000040}.toggle.on:after{left:21px}.toggle.off:after{left:3px}.btn{border-radius:var(--radius-sm);font-size:13px;font-weight:600;font-family:var(--font);cursor:pointer;transition:all var(--t);white-space:nowrap;border:1.5px solid #0000;justify-content:center;align-items:center;gap:6px;padding:8px 16px;line-height:1.4;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:not(:disabled):active{transform:scale(.97)}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 2px 6px #dc262659}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 14px #dc262673}.btn-secondary{background:var(--surface);color:var(--text-primary);border-color:var(--border);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){background:var(--bg);border-color:#94a3b8}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger);box-shadow:0 2px 6px #dc26264d}.btn-danger:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:0 4px 12px #dc262666}.btn-ghost{color:var(--text-secondary);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--bg);color:var(--text-primary);border-color:var(--border)}.btn-sm{padding:5px 12px;font-size:12px}.btn-lg{padding:11px 22px;font-size:15px}.btn-row{align-items:center;gap:8px;margin-top:20px;display:flex}.table-wrap{flex:1;min-height:0;overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}.log-delete-btn{cursor:pointer;width:30px;height:30px;color:var(--text-muted);opacity:0;background:0 0;border:1px solid #0000;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s,background .15s,color .15s;display:flex}tr:hover .log-delete-btn{opacity:1}.log-delete-btn:hover{color:var(--danger);background:#dc26261a;border-color:#dc262640}.log-delete-btn:disabled{opacity:.4;cursor:default}.log-delete-btn svg{width:16px;height:16px}thead th{text-align:left;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.7px;border-bottom:2px solid var(--border);white-space:nowrap;z-index:1;background:#f8f8f8;padding:11px 16px;font-size:11px;font-weight:700;position:sticky;top:0}thead th:first-child{border-radius:var(--radius-sm) 0 0 0}thead th:last-child{border-radius:0 var(--radius-sm) 0 0}tbody td{border-bottom:1px solid var(--border-light);color:var(--text-primary);vertical-align:middle;padding:12px 16px}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background var(--t)}tbody tr:hover td{background:#f4f4f4}tbody tr.selected td{background:#fff5f5}tbody tr.row-success td{background:#f0fdf4}tbody tr.row-success:hover td{background:#dcfce7}tbody tr.row-error td{background:#fef8f8}tbody tr.row-error:hover td{background:#fef2f2}tbody tr.row-skipped td{opacity:.6;background:0 0}tbody tr.row-skipped:hover td{opacity:.85}.badge{white-space:nowrap;border-radius:20px;align-items:center;gap:4px;padding:3px 9px;font-size:11.5px;font-weight:700;display:inline-flex}.badge-ok{color:#166534;background:#dcfce7;border:1.5px solid #4ade80}.badge-error{color:#991b1b;background:#fee2e2;border:1.5px solid #f87171}.badge-warn{color:#92400e;background:#fef3c7;border:1.5px solid #fbbf24}.badge-neutral{color:#52525b;background:#f4f4f5;border:1.5px solid #d4d4d8}.badge-qr{color:#15803d;background:#dcfce7;border:1.5px solid #4ade80}.badge-email{color:#1e40af;background:#dbeafe;border:1.5px solid #93c5fd}.badge-ai{color:#6d28d9;background:#ede9fe;border:1.5px solid #c4b5fd}@keyframes alert-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes alert-toast-in{0%{opacity:0;transform:translate(-50%)translateY(-10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.alert-toast{top:calc(var(--topbar-h) + 14px);left:calc(var(--sidebar-w) + (100vw - var(--sidebar-w)) / 2);z-index:9999;min-width:460px;max-width:min(720px, calc(100vw - var(--sidebar-w) - 32px));padding:16px 20px;font-size:14px;animation:.18s cubic-bezier(.16,1,.3,1) alert-toast-in;position:fixed;transform:translate(-50%);box-shadow:0 8px 32px #00000038}@media (width<=768px){.alert-toast{min-width:min(460px,92vw);max-width:92vw;animation:.18s cubic-bezier(.16,1,.3,1) alert-toast-in;left:50%}@keyframes alert-toast-in{0%{opacity:0;transform:translate(-50%)translateY(-10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}}.alert{border-radius:var(--radius-md);align-items:center;gap:12px;padding:13px 16px;font-size:13px;font-weight:500;line-height:1.5;animation:.18s cubic-bezier(.16,1,.3,1) alert-in;display:flex;box-shadow:0 2px 8px #00000012,0 0 0 1px #0000000a}.alert svg{opacity:.85;flex-shrink:0}.alert-error{color:#991b1b;background:#fff5f5;border:1px solid #fecaca;box-shadow:0 2px 8px #dc262614,0 0 0 1px #dc26260f}.alert-success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;box-shadow:0 2px 8px #15803d14,0 0 0 1px #15803d0f}.alert-warn{color:#92400e;background:#fffbeb;border:1px solid #fde68a;box-shadow:0 2px 8px #b4530914,0 0 0 1px #b453090f}.alert button[onClick]{width:22px;height:22px;transition:background var(--t);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.alert-error button{color:#991b1b}.alert-success button{color:#166534}.alert-warn button{color:#92400e}.alert button:hover{background:#00000014}:root.dark .alert-error{color:#fca5a5;background:#dc26261f;border-color:#dc262640}:root.dark .alert-success{color:#86efac;background:#15803d1f;border-color:#15803d40}:root.dark .alert-warn{color:#fcd34d;background:#b453091f;border-color:#b4530940}:root.dark .alert-toast.alert-error{color:#fecaca;background:#7f1d1d;border-color:#b91c1c}:root.dark .alert-toast.alert-success{color:#bbf7d0;background:#14532d;border-color:#16a34a}:root.dark .alert-toast.alert-warn{color:#fde68a;background:#78350f;border-color:#b45309}.filters{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.filters .field{margin-bottom:0}.empty{text-align:center;color:var(--text-muted);padding:56px 24px;font-size:13.5px}.empty-icon{background:var(--border-light);width:48px;height:48px;color:var(--text-muted);border-radius:14px;justify-content:center;align-items:center;margin:0 auto 14px;display:flex}.empty-title{color:var(--text-secondary);margin-bottom:6px;font-size:15px;font-weight:700}.empty-sub{color:var(--text-muted);font-size:13px}.loading{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:52px;font-size:13px;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes notif-badge-in{0%{opacity:0;transform:scale(0)translateZ(0)}60%{transform:scale(1.2)translateZ(0)}to{opacity:1;transform:scale(1)translateZ(0)}}@keyframes notif-dropdown-in{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes notif-bell-ring{0%,to{transform:rotate(0)}12%{transform:rotate(13deg)}24%{transform:rotate(-11deg)}36%{transform:rotate(9deg)}48%{transform:rotate(-6deg)}60%{transform:rotate(3deg)}72%{transform:rotate(-1deg)}}.notif-badge-enter{animation:.25s cubic-bezier(.34,1.56,.64,1) both notif-badge-in}.notif-dropdown-in{animation:.18s cubic-bezier(.16,1,.3,1) both notif-dropdown-in}.notif-bell-ring{transform-origin:top;animation:.6s ease-in-out both notif-bell-ring}@media (prefers-reduced-motion:reduce){.notif-badge-enter,.notif-dropdown-in,.notif-bell-ring{animation:none!important}}.info-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px 32px;display:grid}.info-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;margin-bottom:4px;font-size:11px;font-weight:700}.info-value{color:var(--text-primary);align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex}.info-value.mono{font-family:var(--font-mono);font-size:13px}.divider{border:none;border-top:1px solid var(--border);margin:22px 0}.pagination{border-top:1px solid var(--border-light);justify-content:center;align-items:center;gap:8px;margin-top:16px;padding-top:16px;display:flex}.pagination-info{color:var(--text-muted);text-align:center;min-width:64px;padding:0 8px;font-size:12.5px;font-weight:600}.progress-bar-wrap{background:#e2e8f0;border-radius:4px;height:7px;margin-top:8px;overflow:hidden}.progress-bar-fill{background:var(--accent);transform-origin:0;width:100%;height:100%;transform:scaleX(var(--p,0));border-radius:4px;transition:transform .4s}.progress-bar-fill.green{background:var(--success)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff1a}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#ffffff2e}.sidebar-toolbar{gap:4px;padding:4px 0;display:flex}.sidebar-tool-btn{border-radius:var(--radius-md);cursor:pointer;color:#ffffff73;font-family:var(--font);letter-spacing:.3px;text-transform:uppercase;transition:background var(--t), color var(--t), border-color var(--t);background:#ffffff0a;border:1px solid #ffffff12;flex-direction:column;flex:1;align-items:center;gap:5px;padding:9px 6px;font-size:10px;font-weight:600;display:flex}.sidebar-tool-btn:hover{color:#fffc;background:#ffffff17;border-color:#ffffff24}.sidebar-tool-btn--danger:hover{color:#fca5a5;background:#ef444426;border-color:#ef444440}:root.dark{--bg:#0d0d0d;--surface:#181818;--border:#2a2a2a;--border-light:#1e1e1e;--text-primary:#ededed;--text-secondary:#a0a0a0;--text-muted:#666;--accent-dim:#dc26262e;--accent-light:#dc26261a;--accent-border:#7f1d1d;--success-bg:#15803d26;--success-border:#4ade8033;--danger-bg:#dc26261f;--danger-border:#f8717140;--warning-bg:#b4530926;--warning-border:#fbbf2433;--shadow-xs:0 1px 3px #0006;--shadow-sm:0 2px 6px #00000073, 0 1px 3px #0000004d;--shadow-md:0 4px 12px #00000080;--shadow-lg:0 20px 40px #000000a6, 0 8px 16px #0006;--success:#4ade80;--warning:#f59e0b;--chip-qr:#4ade80;--chip-email:#60a5fa;--chip-ai:#a78bfa}:root.dark body{background:var(--bg);color:var(--text-primary)}:root.dark input,:root.dark select,:root.dark textarea{color:var(--text-primary);border-color:var(--border);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#222}:root.dark input::placeholder,:root.dark textarea::placeholder{color:var(--text-muted)}:root.dark input:focus,:root.dark select:focus,:root.dark textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim);outline:none}:root.dark input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.6)}:root.dark thead th{background:var(--bg);color:var(--text-secondary);border-bottom-color:var(--border)}:root.dark tbody tr:hover td{background:#ffffff08}:root.dark tbody tr.row-success td{background:#15803d14}:root.dark tbody tr.row-error td{background:#dc262614}:root.dark tbody tr.row-skipped td{opacity:.5;background:0 0}:root.dark tbody tr.selected td{background:#dc26261f}:root.dark .topbar{background:var(--surface);border-bottom-color:var(--accent)}:root.dark .field input,:root.dark .field select,:root.dark .field textarea{background:var(--bg);color:var(--text-primary);border-color:var(--border)}:root.dark .field input[readonly]{background:var(--bg)}:root.dark .badge-neutral{background:var(--surface);color:var(--text-secondary);border-color:var(--border)}:root.dark .tabs{border-bottom-color:var(--border)}:root.dark .toggle.off{background:#3a3a3a}:root.dark .btn-secondary{background:var(--surface);color:var(--text-primary);border-color:var(--border)}:root.dark .btn-secondary:hover:not(:disabled){background:#222;border-color:#3d3d3d}:root.dark .btn-ghost:hover:not(:disabled),:root.dark .topbar-status.off{background:var(--surface);border-color:var(--border)}:root.dark .modal{border-color:var(--border);background:#1f1f1f}:root.dark .badge-ok{color:#4ade80;background:#4ade801a;border-color:#4ade8047}:root.dark .badge-error{color:#f87171;background:#f871711a;border-color:#f8717147}:root.dark .badge-warn{color:#f59e0b;background:#fbbf2417;border-color:#fbbf2447}:root.dark .badge-qr{color:#4ade80;background:#4ade801a;border-color:#4ade8047}:root.dark .badge-email{color:#60a5fa;background:#60a5fa1a;border-color:#60a5fa47}:root.dark .badge-ai{color:#a78bfa;background:#a78bfa1a;border-color:#a78bfa47}:root.dark .stat-card.green-card{background:#15803d1f;border-color:#4ade8047}:root.dark .stat-card.error-card{background:#dc26261f;border-color:#f8717147}:root.dark .stat-card.accent-card{background:#dc26261a;border-color:#dc262647}:root.dark .topbar-status.ok{color:#4ade80;background:#4ade801a;border-color:#4ade8047}:root.dark .progress-bar-wrap{background:var(--border)}:root.dark tbody tr.row-success:hover td{background:#15803d26}:root.dark tbody tr.row-error:hover td{background:#dc262626}:root.dark ::-webkit-scrollbar-thumb{background:#333}:root.dark ::-webkit-scrollbar-thumb:hover{background:#4a4a4a}.hamburger{cursor:pointer;border-radius:var(--radius-sm);width:36px;height:36px;transition:background var(--t);background:0 0;border:none;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:4px;padding:6px;display:none}.hamburger:hover{background:var(--bg)}.hamburger span{background:var(--text-primary);border-radius:2px;width:18px;height:2px;transition:transform .2s,opacity .2s;display:block}.sidebar-overlay{z-index:99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000073;display:none;position:fixed;inset:0}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=768px){.hamburger{display:flex}.topbar-status-text{display:none}.sidebar{z-index:100;height:100%;box-shadow:none;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.sidebar-open{transform:translate(0);box-shadow:4px 0 32px #00000059}.sidebar-overlay{display:block}.main-wrapper{width:100%}.content{padding:16px 16px 28px}.topbar{padding:0 16px}.stats-row{grid-template-columns:1fr 1fr}.filters{flex-direction:column;align-items:stretch}.filters .field{min-width:unset}.field-row,.field-row-3{grid-template-columns:1fr}.table-wrap{-webkit-overflow-scrolling:touch}.btn{min-height:42px;padding:10px 18px}.btn-sm{min-height:38px;padding:8px 14px}.nav-item{padding:13px 14px}.modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:90vh;width:100%!important;max-width:100%!important;margin:0!important}.modal-overlay{align-items:flex-end}}@media (width<=480px){.stats-row{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:flex-start}.page-header .btn-row{margin-top:8px}}.ia-limit-bar{letter-spacing:.01em;color:#fff;border-radius:8px;align-items:center;gap:8px;margin:6px 12px 2px;padding:8px 12px;font-size:12.5px;font-weight:700;text-decoration:none;display:flex}.ia-limit-bar .ia-limit-dot{background:#fff;border-radius:50%;flex:none;width:8px;height:8px}.ia-limit-bar .ia-limit-text{line-height:1.2}.ia-limit-bar:hover{filter:brightness(1.12)}.ia-limit-bar.near{background:#b45309}.ia-limit-bar.reached{background:#dc2626;animation:1s step-end infinite ia-limit-blink}@keyframes ia-limit-blink{0%,to{background:#dc2626}50%{background:#7f1d1d}}@media (prefers-reduced-motion:reduce){.ia-limit-bar.reached{animation:none}}.lig-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(390px,1fr));align-content:start;gap:16px;min-height:0;display:grid;overflow-y:auto}.lig-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;transition:box-shadow .22s cubic-bezier(.16,1,.3,1),transform .22s cubic-bezier(.16,1,.3,1),border-color .15s;display:flex;overflow:hidden}.lig-card:hover{border-color:#dc262638;transform:translateY(-2px);box-shadow:0 8px 28px #0000001f,0 2px 6px #00000012}.lig-card.incomplete{opacity:.9;border-style:dashed}.lig-card.incomplete:hover{border-style:dashed;border-color:#eab30866}.lig-head{align-items:center;gap:14px;padding:18px 20px 14px;display:flex}.lig-icon{border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex;position:relative}.lig-icon.type-folder{background:var(--accent-dim);color:var(--accent)}.lig-icon.type-email{color:#2563eb;background:#2563eb1a}.lig-icon.type-both{background:var(--accent-dim);color:var(--accent)}.lig-icon.type-none{background:var(--bg);border:1.5px dashed var(--border);color:var(--text-muted)}.lig-icon-badge{color:#2563eb;border:2px solid var(--surface);background:#2563eb26;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;display:flex;position:absolute;bottom:-3px;right:-3px}.lig-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.lig-db{color:var(--text-primary);letter-spacing:-.3px;white-space:nowrap;text-overflow:ellipsis;font-size:14.5px;font-weight:700;line-height:1.2;overflow:hidden}.lig-db.empty{color:var(--text-muted);text-align:left;padding:0;font-weight:500}.lig-subtitle{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.lig-subtitle.warn{color:#b45309;font-weight:500}.lig-status-wrap{flex-shrink:0}.lig-status{white-space:nowrap;border-radius:20px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.lig-status.active{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.lig-status.inactive{background:var(--bg);color:var(--text-muted);border:1px solid var(--border)}.lig-status.disabled,.lig-status.incomplete{color:#b45309;background:#eab3081a;border:1px solid #eab3084d}.lig-status-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.lig-status.active .lig-status-dot{animation:2.2s ease-in-out infinite lig-pulse}@keyframes lig-pulse{0%,to{opacity:1}50%{opacity:.35}}.lig-sources{flex-direction:column;gap:5px;padding:0 20px 4px;display:flex}.lig-source{background:var(--bg);border-radius:var(--radius-sm);align-items:center;gap:8px;min-width:0;padding:7px 10px;display:flex}.lig-source-icon{color:var(--text-muted);flex-shrink:0;display:flex}.lig-source-val{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;overflow:hidden}.lig-source-val.mono{font-family:var(--font-mono);color:var(--text-primary);font-size:11.5px}.lig-divider{background:var(--border-light);height:1px;margin:10px 0 0}.lig-actions{align-items:center;gap:6px;padding:10px 16px;display:flex}.lig-action-btns{flex-shrink:0;gap:6px;display:flex}.lig-actions .btn{opacity:.65;transition:opacity var(--t), background var(--t), color var(--t), border-color var(--t)}.lig-card:hover .lig-actions .btn{opacity:1}.lig-empty{background:var(--surface);border:2px dashed var(--border);border-radius:var(--radius-lg);text-align:center;flex-direction:column;grid-column:1/-1;align-items:center;gap:14px;padding:52px 32px;display:flex}.lig-empty-icon{background:var(--accent-dim);width:56px;height:56px;color:var(--accent);border-radius:16px;justify-content:center;align-items:center;display:flex}.lig-empty-title{color:var(--text-primary);font-size:16px;font-weight:700}.lig-empty-sub{color:var(--text-secondary);max-width:360px;font-size:13.5px;line-height:1.55}:root.dark .lig-card:hover{box-shadow:0 8px 28px #0006,0 2px 6px #00000040}:root.dark .lig-icon.type-email{color:var(--chip-email);background:#2563eb2e}:root.dark .lig-icon.type-none,:root.dark .lig-source{background:#ffffff0a}:root.dark .lig-icon-badge{color:var(--chip-email);background:#2563eb38}:root.dark .lig-subtitle.warn{color:var(--warning)}:root.dark .lig-status.disabled,:root.dark .lig-status.incomplete{color:var(--warning);background:#fbbf2414;border-color:#fbbf2440}@media (prefers-reduced-motion:reduce){.lig-card{transition:none}.lig-card:hover{transform:none}.lig-status.active .lig-status-dot{animation:none}}.dms{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);overflow:hidden}.dms-head{background:var(--bg);border-bottom:1px solid var(--border-light);align-items:center;gap:8px;padding:8px 8px 8px 12px;display:flex}.dms-count{color:var(--text-secondary);font-size:12px}.dms-count b{color:var(--accent);font-weight:700}.dms-actions{gap:4px;margin-left:auto;display:flex}.dms-act{color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;padding:3px 10px;font-size:11.5px;font-weight:600;transition:color .12s,border-color .12s,background .12s}.dms-act:hover:not(:disabled){color:var(--accent);border-color:var(--accent-border);background:var(--accent-dim)}.dms-act:disabled{opacity:.4;cursor:default}.dms-search{border-bottom:1px solid var(--border-light);padding:8px 10px;position:relative}.dms-search svg{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:21px;transform:translateY(-50%)}.dms-search input{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text-primary);padding:7px 10px 7px 32px;font-size:13px;transition:border-color .12s,box-shadow .12s}.dms-search input:focus{border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-dim);outline:none}.dms-list{max-height:234px;overflow-y:auto}.dms-row{cursor:pointer;border-bottom:1px solid var(--border-light);-webkit-user-select:none;user-select:none;align-items:center;gap:11px;padding:9px 12px;transition:background .1s;display:flex}.dms-row:last-child{border-bottom:none}.dms-row:hover{background:var(--bg)}.dms-row.on{background:var(--accent-dim)}.dms-row:focus-visible{background:var(--accent-dim);box-shadow:inset 0 0 0 2px var(--accent-border);outline:none}.dms-check{border:1.5px solid var(--border);background:var(--surface);border-radius:5px;flex:none;place-items:center;width:18px;height:18px;transition:background .12s,border-color .12s;display:grid}.dms-row:hover .dms-check{border-color:var(--text-muted)}.dms-row.on .dms-check{background:var(--accent);border-color:var(--accent)}.dms-check svg{color:#fff;opacity:0;transition:opacity .12s,transform .12s;transform:scale(.4)}.dms-row.on .dms-check svg{opacity:1;transform:scale(1)}.dms-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.dms-row.on .dms-name{font-weight:600}.dms-ndos{color:var(--text-muted);background:var(--bg);border:1px solid var(--border-light);border-radius:5px;flex:none;margin-left:auto;padding:2px 6px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;font-weight:600}.dms-row.on .dms-ndos{color:var(--accent);border-color:var(--accent-border);background:var(--surface)}.dms-empty,.dms-none{text-align:center;color:var(--text-muted);padding:18px 14px;font-size:12.5px;line-height:1.5}.dms-hint{color:var(--text-muted);margin-top:6px;font-size:11.5px;line-height:1.45}@media (prefers-reduced-motion:reduce){.dms-act,.dms-search input,.dms-row,.dms-check,.dms-check svg{transition:none}}.modal-overlay{-webkit-backdrop-filter:blur(6px);z-index:1000;background:#0206178c;justify-content:center;align-items:center;padding:24px;animation:.16s overlay-in;display:flex;position:fixed;inset:0}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border:1px solid var(--border);border-radius:18px;width:100%;max-width:580px;max-height:90vh;padding:26px 28px;animation:.22s cubic-bezier(.16,1,.3,1) modal-in;overflow-y:auto;box-shadow:0 32px 64px #0000002e,0 12px 24px #0000001a,0 0 0 1px #ffffff0f}@keyframes modal-in{0%{opacity:0;transform:translateY(-18px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-wide{max-width:880px}.modal-header{border-bottom:1px solid var(--border);background:var(--surface);z-index:1;border-radius:18px 18px 0 0;justify-content:space-between;align-items:flex-start;margin:-26px -28px 22px;padding:20px 26px 18px;display:flex;position:sticky;top:-26px}.modal-title{color:var(--text-primary);letter-spacing:-.25px;font-size:15px;font-weight:700;line-height:1.3}.modal-close{background:var(--bg);border:1px solid var(--border);cursor:pointer;width:30px;height:30px;color:var(--text-muted);transition:background var(--t), color var(--t), border-color var(--t);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:16px;font-size:14px;line-height:1;display:flex}.modal-close:hover{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.modal-footer{border-top:1px solid var(--border);background:var(--bg);border-radius:0 0 18px 18px;justify-content:flex-end;align-items:center;gap:8px;margin:24px -28px -26px;padding:16px 26px;display:flex}.modal-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;margin:16px 0 10px;font-size:11px;font-weight:700}:root.dark .modal{background:var(--surface);border-color:#ffffff14;box-shadow:0 32px 64px #00000080,0 12px 24px #0000004d,0 0 0 1px #ffffff0a}:root.dark .modal-overlay{background:#000000b3}:root.dark .modal-header{background:var(--surface);border-color:#ffffff14}:root.dark .modal-footer{background:var(--bg);border-color:#ffffff14}:root.dark .modal-close{background:#ffffff0d;border-color:#ffffff1a}:root.dark .modal-close:hover{background:#dc262633;border-color:#dc26264d}
