@font-face{font-family:Geist;src:url(https://cdn.jsdelivr.net/npm/geist@1.3.1/dist/fonts/geist-sans/Geist-Regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Geist;src:url(https://cdn.jsdelivr.net/npm/geist@1.3.1/dist/fonts/geist-sans/Geist-Medium.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Geist;src:url(https://cdn.jsdelivr.net/npm/geist@1.3.1/dist/fonts/geist-sans/Geist-SemiBold.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Geist Mono;src:url(https://cdn.jsdelivr.net/npm/geist@1.3.1/dist/fonts/geist-mono/GeistMono-Regular.woff2) format("woff2");font-weight:400;font-display:swap}:root{--bg: #fafaf9;--surface: #ffffff;--surface-2: #f5f5f4;--surface-hover: #f4f4f3;--surface-active: #eeeeec;--border: #e8e8e6;--border-strong: #d8d8d5;--text: #17171a;--text-2: #52525b;--text-3: #8a8a93;--text-4: #b4b4bb;--accent: oklch(.32 .09 265);--accent-hover: oklch(.28 .1 265);--accent-soft: oklch(.95 .02 265);--accent-fg: #ffffff;--success: oklch(.55 .13 150);--success-bg: oklch(.96 .03 150);--success-border: oklch(.88 .06 150);--warn: oklch(.58 .13 75);--warn-bg: oklch(.97 .04 82);--warn-border: oklch(.88 .08 78);--danger: oklch(.53 .17 25);--danger-bg: oklch(.97 .03 25);--danger-border: oklch(.89 .08 25);--neutral-badge-bg: #f2f2f0;--neutral-badge-fg: #52525b;--neutral-badge-border: #e4e4e1;--ws-certypass: oklch(.55 .13 155);--ws-privaro: oklch(.5 .18 300);--ws-musicdibs: oklch(.62 .17 30);--ws-pruebas: oklch(.52 .1 220);--r-sm: 4px;--r-md: 6px;--r-lg: 8px;--r-xl: 10px;--shadow-sm: 0 1px 2px rgba(18,18,22,.04);--shadow-md: 0 2px 6px rgba(18,18,22,.06), 0 1px 2px rgba(18,18,22,.04);--shadow-lg: 0 8px 24px rgba(18,18,22,.08), 0 2px 6px rgba(18,18,22,.04);--row-h: 64px}[data-density=compact]{--row-h: 44px}[data-theme=dark]{--bg: #111113;--surface: #18181b;--surface-2: #1e1e21;--surface-hover: #232328;--surface-active: #2a2a30;--border: #2c2c32;--border-strong: #3a3a42;--text: #e4e4e8;--text-2: #a0a0aa;--text-3: #6b6b75;--text-4: #47474f;--accent: oklch(.65 .1 265);--accent-hover: oklch(.72 .1 265);--accent-soft: oklch(.2 .04 265);--accent-fg: #ffffff;--success: oklch(.65 .14 150);--success-bg: oklch(.18 .04 150);--success-border: oklch(.28 .07 150);--warn: oklch(.7 .14 75);--warn-bg: oklch(.18 .05 82);--warn-border: oklch(.28 .08 78);--danger: oklch(.65 .18 25);--danger-bg: oklch(.18 .04 25);--danger-border: oklch(.28 .09 25);--neutral-badge-bg: #232328;--neutral-badge-fg: #a0a0aa;--neutral-badge-border: #2c2c32;--shadow-sm: 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 2px 6px rgba(0,0,0,.4), 0 1px 2px rgba(0,0,0,.3);--shadow-lg: 0 8px 24px rgba(0,0,0,.5), 0 2px 6px rgba(0,0,0,.3);color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;font-family:Geist,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01";letter-spacing:-.005em}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea,select{font-family:inherit}a{text-decoration:none;color:inherit}.mono{font-family:Geist Mono,ui-monospace,monospace;font-feature-settings:"zero"}.kbd{font-family:Geist Mono,monospace;font-size:11px;padding:1px 5px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text-3);line-height:1}.badge{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:500;letter-spacing:-.005em;border:1px solid transparent;white-space:nowrap;line-height:1}.badge .count{font-family:Geist Mono,monospace;font-size:10.5px;opacity:.75;font-weight:500}.badge.success{background:var(--success-bg);color:var(--success);border-color:var(--success-border)}.badge.warn{background:var(--warn-bg);color:var(--warn);border-color:var(--warn-border)}.badge.danger{background:var(--danger-bg);color:var(--danger);border-color:var(--danger-border)}.badge.neutral{background:var(--neutral-badge-bg);color:var(--neutral-badge-fg);border-color:var(--neutral-badge-border)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 12px;border-radius:var(--r-md);font-size:13px;font-weight:500;color:var(--text);background:var(--surface);border:1px solid var(--border);transition:background .12s,border-color .12s;white-space:nowrap}.btn:hover{background:var(--surface-hover);border-color:var(--border-strong)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.primary:disabled{background:var(--accent);opacity:.5}.btn.accent-hover:hover{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.btn.accent-hover:active{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.ghost{background:transparent;border-color:transparent;color:var(--text-2)}.btn.ghost:hover{background:var(--surface-hover);color:var(--text)}.btn.danger{background:var(--danger-bg,#fef2f2);color:var(--danger);border-color:var(--danger-border,#fca5a5)}.btn.danger:hover{background:var(--danger,#ef4444);color:#fff;border-color:var(--danger,#ef4444)}.btn.danger:disabled{opacity:.5}.btn.sm{height:26px;padding:0 8px;font-size:12px}.btn.icon{width:28px;padding:0}.btn.icon.sm{width:26px;height:26px}.i{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.i-14{width:14px;height:14px}.i-16{width:16px;height:16px}.i-18{width:18px;height:18px}.app{display:grid;grid-template-columns:232px 1fr;height:100vh;overflow:hidden;background:var(--bg)}.sidebar{background:var(--bg);border-right:1px solid var(--border);display:flex;flex-direction:column;min-height:0;overflow:hidden}.ws-switcher{padding:12px 12px 10px;border-bottom:1px solid var(--border);position:relative}.ws-pill{width:100%;display:flex;align-items:center;gap:10px;padding:8px;border-radius:var(--r-md);transition:background .12s;text-align:left}.ws-pill:hover{background:var(--surface-hover)}.ws-mark{width:28px;height:28px;border-radius:6px;display:grid;place-items:center;color:#fff;font-weight:600;font-size:12px;letter-spacing:-.02em;flex-shrink:0}.ws-mark.certypass{background:var(--ws-certypass)}.ws-mark.privaro{background:var(--ws-privaro)}.ws-mark.musicdibs{background:var(--ws-musicdibs)}.ws-mark.pruebas{background:var(--ws-pruebas)}.ws-meta{min-width:0;flex:1}.ws-name{font-size:13px;font-weight:600;color:var(--text);line-height:1.2}.ws-sub{font-size:11.5px;color:var(--text-3);margin-top:1px;letter-spacing:0}.ws-chevron{color:var(--text-3)}.ws-dropdown{position:absolute;top:calc(100% + 4px);left:12px;right:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);z-index:100;padding:4px}.ws-option{display:flex;align-items:center;gap:10px;padding:8px;border-radius:var(--r-md);width:100%;text-align:left;transition:background .1s}.ws-option:hover{background:var(--surface-hover)}.ws-option.active{background:var(--accent-soft)}.nav{padding:6px 8px;flex:1;overflow-y:auto}.nav-section-title{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-4);padding:10px 8px 4px;font-weight:500}.nav-item{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:var(--r-md);color:var(--text-2);font-size:13.5px;font-weight:400;width:100%;text-align:left;transition:background .1s,color .1s;position:relative}.nav-item:hover{background:var(--surface-hover);color:var(--text)}.nav-item.active{background:var(--surface-active);color:var(--text);font-weight:500}.nav-item .i{color:var(--text-3)}.nav-item.active .i{color:var(--text)}.nav-item .count{margin-left:auto;font-family:Geist Mono,monospace;font-size:11px;color:var(--text-3);background:var(--surface-2);padding:1px 6px;border-radius:4px;min-width:20px;text-align:center}.nav-item.active .count{background:var(--accent);color:var(--accent-fg)}.user-card{display:flex;align-items:center;gap:10px;padding:10px 12px;border-top:1px solid var(--border)}.avatar{width:26px;height:26px;border-radius:999px;background:linear-gradient(135deg,#009fc1,#0e99c2,#1c94c2 25%,#2c88c2 50%,#3e6fc2);background:linear-gradient(135deg,color(xyz 0.22 0.287 0.551),#0e99c2,#1c94c2 25%,#2c88c2 50%,#3e6fc2);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:600;flex-shrink:0;overflow:hidden}.avatar.sm{width:22px;height:22px;font-size:10px}.avatar.lg{width:40px;height:40px;font-size:14px}.main{display:flex;flex-direction:column;min-width:0;min-height:0}.topbar{display:flex;align-items:center;gap:12px;padding:0 20px;height:52px;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}.topbar-title{font-size:14px;font-weight:600;color:var(--text);letter-spacing:-.01em}.topbar-crumb{color:var(--text-3);font-size:13px}.topbar-spacer{flex:1}.topbar-theme-toggle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--r-md);color:var(--text-3);transition:background .15s,color .15s;flex-shrink:0}.topbar-theme-toggle:hover{background:var(--surface-hover);color:var(--text)}.search{display:flex;align-items:center;gap:8px;height:30px;padding:0 10px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);width:280px;transition:border-color .12s,box-shadow .12s}.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search input{border:none;background:transparent;outline:none;width:100%;font-size:13px;color:var(--text)}.search input::placeholder{color:var(--text-4)}.content{flex:1;overflow:auto;min-height:0;position:relative}.filterbar{display:flex;align-items:center;gap:8px;padding:10px 20px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:5;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);font-size:12.5px;color:var(--text-2);transition:background .12s,border-color .12s}.chip:hover{background:var(--surface-hover)}.chip.dashed{border-style:dashed;color:var(--text-3)}.chip .i{color:var(--text-3);width:13px;height:13px}.chip .v{color:var(--text);font-weight:500}.filterbar .sep{width:1px;height:20px;background:var(--border);margin:0 4px}.table-wrap{background:var(--surface)}table.crm{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}table.crm thead th{position:sticky;top:49px;background:var(--surface);z-index:4;text-align:left;font-size:11.5px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);padding:10px 14px;border-bottom:1px solid var(--border);white-space:nowrap}table.crm thead th .sort-indicator{margin-left:4px;opacity:.5}table.crm tbody tr{height:var(--row-h);border-bottom:1px solid var(--border);transition:background .08s}table.crm tbody tr:hover{background:var(--surface-hover)}table.crm tbody tr.selected{background:var(--accent-soft)}table.crm tbody tr.selected:hover{background:#dee8fd}table.crm tbody td{padding:0 14px;border-bottom:1px solid var(--border);vertical-align:middle;font-size:13.5px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}table.crm td.checkbox-col{padding:0 0 0 18px;width:32px}table.crm td.company .cname{font-weight:500;color:var(--text)}table.crm td.company .cdomain{font-size:11.5px;color:var(--text-3);margin-top:2px;font-family:Geist Mono,monospace}table.crm td.sector{color:var(--text-2);font-size:13px}table.crm td.contact .name{font-weight:500}table.crm td.contact .role{font-size:11.5px;color:var(--text-3);margin-top:2px}table.crm td.last{color:var(--text-2);font-size:13px}.row-actions{display:inline-flex;align-items:center;gap:2px;opacity:.45;transition:opacity .12s;position:relative}table.crm tr:hover .row-actions{opacity:1}.row-action{width:24px;height:24px;border-radius:4px;color:var(--text-3);display:grid;place-items:center;background:transparent;border:none;cursor:pointer}.row-action:hover{background:var(--surface-active);color:var(--text)}.row-actions .note-icon{color:var(--text-3);display:grid;place-items:center;width:24px;height:24px}.row-actions .note-icon.has-note{color:var(--accent)}.cbox{width:14px;height:14px;border:1.5px solid var(--border-strong);border-radius:3px;display:inline-block;vertical-align:middle;background:var(--surface);position:relative;cursor:pointer}.cbox.checked{background:var(--accent);border-color:var(--accent)}.cbox.checked:after{content:"";position:absolute;left:3px;top:0;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.cbox.indeterminate{background:var(--accent);border-color:var(--accent)}.cbox.indeterminate:after{content:"";position:absolute;left:2px;top:5px;width:8px;height:2px;background:#fff}tr.row-checked>td{background:var(--accent-soft)}.col-check{width:36px}.col-company{width:22%}.col-sector{width:14%}.col-contact{width:24%}.col-email-state{width:16%}.col-last{width:12%}.col-actions{width:110px;text-align:right}.skeleton{display:inline-block;background:linear-gradient(90deg,var(--surface-2) 0%,var(--surface-hover) 50%,var(--surface-2) 100%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:4px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.detail-panel{position:absolute;top:0;right:0;bottom:0;width:75%;background:#fff;border-left:1px solid var(--border);display:flex;flex-direction:column;box-shadow:-8px 0 32px #0000002e;z-index:10}[data-theme=dark] .detail-panel{background:#27272a;box-shadow:-8px 0 32px #0000008c;--text: #f2f2f6;--text-2: #c4c4ce;--text-3: #96969f;--text-4: #6e6e78}.dp-header{padding:16px 20px 14px;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;gap:12px}.dp-logo{width:44px;height:44px;border-radius:8px;background:var(--surface-2);border:1px solid var(--border);display:grid;place-items:center;font-weight:600;color:var(--text-2);font-size:15px;flex-shrink:0}.dp-title{font-size:16px;font-weight:600;letter-spacing:-.01em;line-height:1.2}.dp-subtitle{font-size:12.5px;color:var(--text-3);margin-top:3px;font-family:Geist Mono,monospace}.dp-tabs{display:flex;gap:2px;padding:0 12px;border-bottom:1px solid var(--border);background:var(--surface)}.dp-tab{padding:10px 12px;font-size:13px;color:var(--text-3);border-bottom:2px solid transparent;font-weight:500;margin-bottom:-1px}.dp-tab.active{color:var(--text);border-bottom-color:var(--accent)}.dp-tab:hover{color:var(--text)}.dp-body{flex:1;overflow-y:auto;padding:16px 20px 24px}.dp-section{padding:14px 0;border-bottom:1px solid var(--border)}.dp-section:last-child{border-bottom:none}.dp-section-title{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-4);font-weight:500;margin-bottom:10px}.dp-field{display:grid;grid-template-columns:96px 1fr;gap:8px;padding:5px 0;font-size:13px}.dp-field .l{color:var(--text-3)}.dp-field .v{color:var(--text)}.dp-field .v.link{color:var(--accent);cursor:pointer}.stage-track{display:flex;align-items:center;margin:8px 0 4px}.stage-step{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;position:relative}.stage-step:after{content:"";position:absolute;top:6px;left:50%;right:-50%;height:1.5px;background:var(--border);z-index:0}.stage-step:last-child:after{display:none}.stage-dot{width:13px;height:13px;border-radius:999px;background:var(--surface);border:2px solid var(--border-strong);z-index:1}.stage-step.done .stage-dot{background:var(--success);border-color:var(--success)}.stage-step.done:after{background:var(--success)}.stage-step.current .stage-dot{background:var(--warn);border-color:var(--warn);box-shadow:0 0 0 4px var(--warn-bg)}.stage-label{font-size:11px;color:var(--text-3);text-align:center;line-height:1.2;max-width:70px}.stage-step.done .stage-label,.stage-step.current .stage-label{color:var(--text)}.tl{list-style:none;padding:0;margin:0;position:relative}.tl:before{content:"";position:absolute;left:11px;top:8px;bottom:8px;width:1.5px;background:var(--border)}.tl-item{position:relative;padding:6px 0 14px 36px}.tl-dot{position:absolute;left:5px;top:10px;width:15px;height:15px;border-radius:999px;background:var(--surface);border:2px solid var(--border-strong);display:grid;place-items:center}.tl-dot .i{width:8px;height:8px;stroke-width:2.5;color:var(--text-3)}.tl-item.email .tl-dot{border-color:var(--accent)}.tl-item.email .tl-dot .i{color:var(--accent)}.tl-item.linkedin .tl-dot{border-color:#0079b3;border-color:oklch(.55 .13 240)}.tl-item.linkedin .tl-dot .i{color:#0079b3;color:oklch(.55 .13 240)}.tl-item.meeting .tl-dot{border-color:var(--success)}.tl-item.meeting .tl-dot .i{color:var(--success)}.tl-item.reply .tl-dot{border-color:var(--success);background:var(--success)}.tl-item.reply .tl-dot .i{color:#fff}.tl-head{display:flex;align-items:baseline;gap:8px;font-size:12.5px}.tl-title{font-weight:500;color:var(--text)}.tl-time{color:var(--text-3);font-size:11.5px;font-family:Geist Mono,monospace;margin-left:auto}.tl-body{font-size:12.5px;color:var(--text-2);margin-top:3px;line-height:1.5}.tl-preview{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:8px 10px;font-size:12px;color:var(--text-2);margin-top:6px;line-height:1.5}.notes-field{padding:10px 12px;background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:var(--r-md);font-size:13px;color:var(--text);line-height:1.5;min-height:64px;outline:none;width:100%}.notes-field:focus{border-color:var(--warn);box-shadow:0 0 0 3px var(--warn-bg)}.inbox-grid{display:grid;grid-template-columns:380px 1fr;height:100%}.inbox-list{border-right:1px solid var(--border);background:var(--surface);overflow-y:auto;min-height:0}.inbox-tabs{display:flex;padding:8px 6px 0;gap:0;position:sticky;top:0;background:var(--surface);z-index:2;border-bottom:1px solid var(--border)}.inbox-tab{padding:7px 8px;font-size:12.5px;color:var(--text-3);border-bottom:2px solid transparent;margin-bottom:-1px;font-weight:500;display:flex;align-items:center;gap:5px;white-space:nowrap}.inbox-tab.active{color:var(--text);border-bottom-color:var(--accent)}.inbox-tab:hover{color:var(--text)}.inbox-tab .count{font-family:Geist Mono,monospace;font-size:10.5px;padding:1px 5px;background:var(--surface-2);border-radius:4px;color:var(--text-3)}.inbox-tab.active .count{background:var(--accent);color:var(--accent-fg)}.inbox-tab svg{flex-shrink:0}.inbox-item{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-bottom:1px solid var(--border);cursor:pointer;position:relative;transition:background .1s}.inbox-item:hover{background:var(--surface-hover)}.inbox-item.selected{background:var(--accent-soft)}.inbox-item.selected:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;background:var(--accent);border-radius:0 2px 2px 0}.inbox-item .row-1{display:flex;align-items:center;gap:8px}.inbox-item .sender{font-weight:500;font-size:13px;color:var(--text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inbox-item .time{font-size:11px;color:var(--text-3);font-family:Geist Mono,monospace;flex-shrink:0}.inbox-item .subj{font-size:13px;color:var(--text);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inbox-item .preview{font-size:12px;color:var(--text-3);overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.inbox-item .meta{display:flex;align-items:center;gap:6px;margin-top:4px}.inbox-preview{display:flex;flex-direction:column;background:var(--bg);min-height:0;overflow:hidden}.preview-head{padding:18px 24px 14px;background:var(--surface);border-bottom:1px solid var(--border)}.preview-subj{font-size:18px;font-weight:600;letter-spacing:-.015em;color:var(--text)}.preview-from-row{display:flex;align-items:center;gap:10px;margin-top:10px}.from-meta{display:flex;flex-direction:column;gap:2px}.from-name{font-size:13px;font-weight:500}.from-addr{font-size:12px;color:var(--text-3);font-family:Geist Mono,monospace}.preview-badges{display:flex;gap:6px;margin-left:auto;align-items:center}.preview-context{padding:10px 24px;background:#f5f8ff;border-bottom:1px solid var(--border);display:flex;gap:20px;font-size:12px;color:var(--text-2);align-items:center;flex-wrap:wrap}.preview-context .ctx-item{display:flex;gap:6px;align-items:center}.preview-context .ctx-item .l{color:var(--text-3)}.preview-context .ctx-item .v{color:var(--text);font-weight:500}.editor-wrap{flex:1;overflow-y:auto;padding:24px 24px 12px;background:var(--bg)}.editor-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);max-width:760px;margin:0 auto;padding:28px 32px;box-shadow:var(--shadow-sm)}.editor-field{display:grid;grid-template-columns:60px 1fr;gap:12px;padding:8px 0;border-bottom:1px solid var(--border);align-items:center}.editor-field .l{font-size:12px;color:var(--text-3)}.editor-field input{width:100%;border:none;outline:none;font-size:13.5px;background:transparent;color:var(--text)}.editor-body{min-height:260px;padding:16px 0;font-size:14px;line-height:1.65;color:var(--text);outline:none}.editor-body p{margin:0 0 14px}.var{display:inline-block;background:var(--accent-soft);color:var(--accent);padding:0 5px;border-radius:3px;font-weight:500;font-size:13px;border:1px dashed oklch(.75 .07 265);font-family:Geist Mono,monospace}.editor-toolbar{display:flex;align-items:center;gap:4px;padding:10px 16px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface-2)}.tb-btn{width:28px;height:28px;border-radius:4px;display:grid;place-items:center;color:var(--text-2)}.tb-btn:hover{background:var(--surface);color:var(--text)}.tb-sep{width:1px;height:16px;background:var(--border);margin:0 4px}.action-bar{display:flex;align-items:center;gap:8px;padding:14px 24px;background:var(--surface);border-top:1px solid var(--border)}.action-bar .hint{font-size:12px;color:var(--text-3);margin-left:auto;display:flex;align-items:center;gap:6px}.inbox-cards{padding:14px;display:flex;flex-direction:column;gap:10px;overflow-y:auto}.inbox-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:14px 16px;display:flex;flex-direction:column;gap:8px;transition:border-color .12s,box-shadow .12s;cursor:pointer}.inbox-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.inbox-card.selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.inbox-card .head{display:flex;align-items:center;gap:10px}.inbox-card .chip-small{font-size:11px;color:var(--text-3);font-family:Geist Mono,monospace;padding:1px 6px;background:var(--surface-2);border-radius:4px}.login-page{min-height:100vh;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center}.login-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:32px;box-shadow:var(--shadow-md)}.login-logo{display:flex;align-items:center;gap:10px;margin-bottom:28px}.login-logo .ws-mark{width:32px;height:32px;font-size:14px}.login-logo span{font-size:15px;font-weight:600}.login-card h1{font-size:22px;font-weight:600;letter-spacing:-.02em;margin:0 0 6px}.login-card p{font-size:13.5px;color:var(--text-3);margin:0 0 28px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field label{font-size:12.5px;font-weight:500;color:var(--text-2)}.field input{height:38px;padding:0 12px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);font-size:13.5px;color:var(--text);outline:none;transition:border-color .12s,box-shadow .12s}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.login-submit{width:100%;height:38px;font-size:13.5px;margin-top:8px}.login-error{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger);font-size:12.5px;padding:10px 12px;border-radius:var(--r-md);margin-bottom:14px}.tip{position:relative}.tip:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--text);color:var(--surface);font-size:11px;padding:4px 7px;border-radius:4px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .12s}.tip:hover:after{opacity:1}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flex-1{flex:1}.gap-6{gap:6px}.gap-8{gap:8px}
