:root{--font: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;--c-brand: #24b18f;--c-brand-hover: #1fa582;--c-brand-ink: #0f7d62;--c-brand-ink-strong: #0a5a47;--c-brand-ink-soft: #11826a;--c-brand-tint: #e3f5ef;--c-brand-tint-2: #ddf3eb;--c-brand-wash: #f5fbf9;--c-brand-border: #cfe7df;--c-brand-border-2: #9ed8c6;--c-text: #1c2433;--c-text-2: #26303f;--c-muted: #5e6577;--c-placeholder: #9aa3af;--c-border: #d5e0dc;--c-border-soft: #e3eae7;--c-hairline: #eef3f1;--c-bg: #ecefef;--c-surface: #ffffff;--c-surface-2: #f8fbfa;--c-surface-3: #f3f6f5;--c-chip: #eef3f1;--c-chip-ink: #2e3d38;--c-warn: #b45d0b;--c-warn-bg: #fcebd6;--c-warn-border: #e9b77d;--c-warn-row: #fffaf2;--c-danger: #c0392b;--c-danger-bg: #fde8e5;--c-info: #1d5e99;--c-info-bg: #dceaf8;--r-sm: 8px;--r-md: 10px;--r-lg: 12px;--r-xl: 20px;--r-pill: 999px;--shadow-card: 0 10px 30px rgba(20, 48, 40, .06);--shadow-brand: 0 2px 6px rgba(36, 177, 143, .25);--shadow-drawer: -24px 0 60px rgba(20, 48, 40, .18);--shadow-pop: 0 16px 40px rgba(20, 48, 40, .18);--page-gradient: linear-gradient(135deg, #e3f6ef 0%, #f4f6f6 52%, #ecefef 100%);--panel-bg: rgba(255, 255, 255, .8);--panel-border: rgba(255, 255, 255, .9)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0}body{font:15px/1.4 var(--font);color:var(--c-text);background:var(--c-bg);-webkit-font-smoothing:antialiased}a{color:var(--c-brand-ink);text-decoration:none}a:hover{color:var(--c-brand-ink-strong);text-decoration:underline}h1,h2{margin:0}h1{font-size:30px;font-weight:500}h2{font-size:16px;font-weight:700}button,input,select,textarea{font:inherit;color:inherit}.muted{color:var(--c-muted)}.small{font-size:12.5px}.lbl{font-size:12px;color:var(--c-muted);font-weight:500}.spacer{flex:1}.row{display:flex;align-items:center;gap:10px}.row.wrap{flex-wrap:wrap}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.ico{flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.panel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--r-xl);box-shadow:var(--shadow-card)}.pad{padding:20px 22px}.shell{min-height:100vh;background:var(--page-gradient);padding:16px;display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}.sidebar{flex:1 1 260px;max-width:280px;background:#ffffff9e;padding:18px 14px;display:flex;flex-direction:column;gap:14px;align-self:stretch}.main{flex:999 1 640px;min-width:0;display:flex;flex-direction:column;gap:16px}.brand{display:flex;align-items:center;gap:10px;padding:2px 8px 8px}.brand-mark{width:38px;height:38px;border-radius:var(--r-lg);background:var(--c-brand);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px}.brand-name{font-weight:700;font-size:16px}.nav-list{display:flex;flex-direction:column;gap:4px}.nav{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--r-lg);color:var(--c-text-2);font-size:15px;font-weight:500;min-height:24px}.nav:hover{background:#24b18f1a;color:var(--c-text-2);text-decoration:none}.nav.on,.nav.on:hover{background:var(--c-brand);color:#fff;font-weight:600;box-shadow:var(--shadow-brand)}.topbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 14px}.search{flex:1 1 320px;display:flex;align-items:center;gap:10px;height:42px;padding:0 14px;border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface-2);color:var(--c-muted)}.search:focus-within{border-color:var(--c-brand);box-shadow:0 0 0 3px #24b18f26}.search input{flex:1;border:0;background:transparent;outline:none;min-width:0;font-size:14px;color:var(--c-text)}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:4px}.user-btn{display:inline-flex;align-items:center;gap:4px;background:transparent;border:0;border-radius:var(--r-lg);padding:4px 6px;cursor:pointer;color:var(--c-muted)}.user-btn:hover{background:var(--c-surface-3)}.avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--c-info-bg);color:var(--c-info);font-weight:600;flex:none}.avatar.big{width:40px;height:40px;font-size:14px;background:var(--c-brand-tint-2);color:var(--c-brand-ink-soft)}.avatar-on{position:absolute;right:-1px;bottom:-1px;width:10px;height:10px;border-radius:50%;background:var(--c-brand);border:2px solid #fff}.splash{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--c-muted)}.popover-wrap{position:relative;display:inline-block}.popover{position:absolute;top:calc(100% + 6px);z-index:30;min-width:240px;background:#fff;border:1px solid var(--c-border-soft);border-radius:var(--r-lg);box-shadow:var(--shadow-pop);padding:8px}.popover.left{left:0}.popover.right{right:0}.menu{display:flex;flex-direction:column;gap:2px}.menu-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:9px 12px;border:0;border-radius:var(--r-sm);background:transparent;cursor:pointer;font-size:14px}.menu-item:hover,.menu-item.on{background:var(--c-brand-tint);color:var(--c-brand-ink)}.menu-save{display:flex;gap:8px;padding:8px 4px 2px;border-top:1px solid var(--c-hairline);margin-top:4px}.user-menu{min-width:260px}.user-menu-head{display:flex;align-items:center;gap:12px;padding:8px 8px 12px;border-bottom:1px solid var(--c-hairline);margin-bottom:4px}.user-name{font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border-radius:var(--r-lg);border:1px solid var(--c-border);background:#fff;color:var(--c-text);font-weight:600;font-size:14px;cursor:pointer;white-space:nowrap}.btn:hover:not(:disabled){background:#f0f5f3}.btn.primary{background:var(--c-brand);border-color:var(--c-brand);color:#fff;box-shadow:var(--shadow-brand)}.btn.primary:hover:not(:disabled){background:var(--c-brand-hover)}.btn.quiet{border-color:transparent;background:transparent;color:var(--c-muted)}.btn.danger{background:var(--c-danger);border-color:var(--c-danger);color:#fff}.btn.danger:hover:not(:disabled){background:#a93226}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn.wide{width:100%}.btn:focus-visible,.nav:focus-visible,.menu-item:focus-visible,.tab:focus-visible,.seg:focus-visible{outline:2px solid var(--c-brand);outline-offset:2px}.icon-btn{width:36px;height:36px;border:0;border-radius:var(--r-md);background:transparent;color:var(--c-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:none}.icon-btn:hover{background:var(--c-surface-3);color:var(--c-text)}.link-btn{border:0;background:transparent;color:var(--c-brand-ink);cursor:pointer;font-size:13px;padding:0 4px}.link-btn:hover{text-decoration:underline}.form{display:flex;flex-direction:column;gap:14px}.field{display:flex;flex-direction:column;gap:6px}.input{height:42px;padding:0 12px;border:1px solid var(--c-border);border-radius:var(--r-md);background:#fff;font-size:14px;outline:none;width:100%}textarea.input{height:auto;padding:10px 12px;resize:vertical}.input:focus{border-color:var(--c-brand);box-shadow:0 0 0 3px #24b18f26}.input:disabled{background:var(--c-surface-3);color:var(--c-muted)}.code-input{letter-spacing:.3em;font-size:18px;text-align:center;max-width:220px}.field-error,.form-error{color:var(--c-danger);font-size:13px}.form-error{background:var(--c-danger-bg);border-radius:var(--r-md);padding:10px 12px}.cb{width:18px;height:18px;accent-color:var(--c-brand);cursor:pointer;margin:0}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.auth-page{min-height:100vh;background:var(--page-gradient);display:flex;align-items:center;justify-content:center;padding:16px}.auth-card{width:min(440px,100%);padding:28px;display:flex;flex-direction:column;gap:14px;background:#ffffffe6}.auth-card h1{font-size:24px}.auth-sub{margin:-6px 0 4px}.steps{margin:0;padding-left:20px;color:var(--c-muted);font-size:13.5px;display:flex;flex-direction:column;gap:4px}.qr{align-self:center;border:1px solid var(--c-border-soft);border-radius:var(--r-lg);padding:6px;background:#fff}.secret{display:flex;flex-direction:column;gap:4px;align-items:center}.secret code{background:var(--c-surface-3);padding:6px 10px;border-radius:var(--r-sm);font-size:13px;letter-spacing:.08em;word-break:break-all}.page-header{padding:20px 22px;display:flex;flex-wrap:wrap;align-items:center;gap:14px}.page-header-main{flex:1 1 300px;display:flex;flex-direction:column;gap:4px}.page-header-counters{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.page-header-actions{display:flex;gap:10px;flex-wrap:wrap}.page-header-actions .btn{height:44px}.chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:var(--r-pill);background:var(--c-chip);color:var(--c-chip-ink);font-size:12px;font-weight:500;white-space:nowrap}.chip.g{background:var(--c-brand-tint);color:var(--c-brand-ink)}.chip-x{border:0;background:transparent;color:inherit;cursor:pointer;display:inline-flex;padding:0}.chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.badge{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:var(--r-pill);font-size:12px;font-weight:600;white-space:nowrap}.pill{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:var(--r-pill);font-size:12.5px;font-weight:600;white-space:nowrap}.pill i{width:7px;height:7px;border-radius:50%;background:currentColor}.tone-neutral{background:var(--c-chip);color:var(--c-chip-ink)}.tone-green{background:var(--c-brand-tint);color:var(--c-brand-ink)}.tone-blue{background:var(--c-info-bg);color:var(--c-info)}.tone-amber{background:var(--c-warn-bg);color:var(--c-warn)}.tone-red{background:var(--c-danger-bg);color:var(--c-danger)}.cnt{margin-left:6px;font-size:12px;font-weight:700;background:#24b18f24;color:var(--c-brand-ink-soft);border-radius:var(--r-pill);padding:1px 8px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.kpi{background:var(--c-brand-wash);border:1px solid #d7eee6;border-radius:var(--r-lg);padding:14px 16px}.kpi.warn{background:var(--c-warn-row);border-color:var(--c-warn-border)}.kpi-value{font-size:28px;font-weight:600;margin:4px 0}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--c-border-soft)}.tab{border:0;background:transparent;padding:10px 14px;font-weight:500;color:var(--c-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.tab.on{color:var(--c-brand-ink);font-weight:600;border-bottom-color:var(--c-brand)}.empty{border:1.5px dashed #cbd8d3;border-radius:var(--r-lg);padding:24px 18px;text-align:center;font-size:13px;color:var(--c-muted);display:flex;flex-direction:column;gap:6px;align-items:center}.empty-title{font-size:15px;font-weight:600;color:var(--c-text)}.field-row{display:flex;flex-direction:column;gap:3px}.fields-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.seg-group{display:inline-flex;padding:3px;background:var(--c-chip);border-radius:var(--r-md)}.seg{display:inline-flex;align-items:center;height:34px;padding:0 14px;border-radius:var(--r-sm);border:0;background:transparent;font-weight:500;font-size:14px;color:var(--c-muted);cursor:pointer;white-space:nowrap}.seg.on{background:#fff;color:var(--c-brand-ink);font-weight:600;box-shadow:0 1px 2px #10201b1f}.stagebar{display:flex;gap:8px}.stage{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;border:0;background:transparent;padding:0;text-align:left;cursor:default}.stage:not(:disabled){cursor:pointer}.stage-seg{height:5px;border-radius:3px;background:var(--c-border-soft)}.stage.on .stage-seg{background:var(--c-brand)}.stage-name{font-size:12px;color:var(--c-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stage.cur .stage-name{color:var(--c-brand-ink);font-weight:600}.table-panel{overflow:hidden}.table-scroll{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table th{padding:12px 14px;font-size:12px;font-weight:600;color:var(--c-muted);text-transform:uppercase;letter-spacing:.04em;text-align:left;white-space:nowrap}.table td{padding:14px;font-size:14px;vertical-align:top;border-bottom:1px solid var(--c-hairline)}.table tbody tr:hover{background:var(--c-surface-2)}.table tr.clickable{cursor:pointer}.table tr.selected{background:var(--c-brand-wash)}.table tr.warn{background:var(--c-warn-row)}.cb-cell{width:44px}.th-sort{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;padding:0;cursor:pointer;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit}.th-sort.on{color:var(--c-brand-ink)}.th-arrow{display:inline-flex;opacity:.8}.bulkbar{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--c-brand-tint);border-bottom:1px solid var(--c-brand-border);flex-wrap:wrap}.pager{display:flex;align-items:center;gap:6px;padding:10px 14px;border-top:1px solid var(--c-hairline);font-size:13px}.pager .btn{height:34px;padding:0 8px}.pager-page{min-width:52px;text-align:center;font-weight:600}.table-panel .empty{margin:16px}.skeleton{display:block;height:14px;border-radius:6px;background:linear-gradient(90deg,var(--c-hairline),#f8fbfa,var(--c-hairline));background-size:200% 100%;animation:shimmer 1.2s infinite linear}@keyframes shimmer{to{background-position:-200% 0}}.filter-panel{padding:14px 16px;display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end}.filter-panel .field{min-width:180px;flex:1 1 180px}.kanban{display:flex;gap:14px;overflow-x:auto;padding-bottom:6px;align-items:flex-start}.kcol{flex:0 0 272px;display:flex;flex-direction:column;gap:10px;padding:6px;border-radius:var(--r-lg);min-height:120px}.kcol.over{background:#24b18f1a;outline:2px dashed var(--c-brand-border-2)}.kcol-head{display:flex;flex-direction:column;gap:6px;padding:12px 14px;background:#fff;border:1px solid var(--c-border-soft);border-top:3px solid var(--c-brand-border);border-radius:var(--r-lg)}.kcol-title{font-weight:600}.kcol-meta{display:flex;align-items:center;gap:8px;font-size:13px}.kcol-meta .cnt{margin-left:0}.kcard{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid var(--c-border-soft);border-radius:var(--r-lg);padding:14px;cursor:grab}.kcard:hover{border-color:var(--c-brand-border-2)}.kcard.dragging{opacity:.45}.kcol-empty{border:1.5px dashed #cbd8d3;border-radius:var(--r-lg);padding:18px;text-align:center;font-size:13px;color:var(--c-muted)}.feed ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.feed-item{display:flex;gap:12px;padding:12px 14px;border:1px solid var(--c-border-soft);border-radius:var(--r-lg);background:#fff}.feed-item.pinned{background:#fffdf3;border-color:#efdca0}.feed-item.system{background:var(--c-surface-2)}.feed-item.done .feed-text{text-decoration:line-through;color:var(--c-muted)}.feed-ico{width:30px;height:30px;border-radius:50%;background:var(--c-brand-tint-2);color:var(--c-brand-ink-soft);display:inline-flex;align-items:center;justify-content:center;flex:none}.feed-item.system .feed-ico{background:var(--c-chip);color:var(--c-muted)}.feed-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.feed-meta{display:flex;align-items:center;gap:8px;font-size:12.5px;flex-wrap:wrap}.feed-pin{display:inline-flex;align-items:center;gap:3px;color:var(--c-warn)}.feed-task{display:flex;align-items:center;gap:8px;font-size:13px}.feed-empty{padding:12px 0}.composer{display:flex;flex-direction:column;gap:10px;border:1px solid var(--c-border-soft);border-radius:var(--r-lg);padding:12px;background:#fff}.composer-foot{display:flex;align-items:center;gap:10px}.composer-foot .input{width:auto}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#1c243352;display:flex}.overlay.center{align-items:center;justify-content:center}.overlay.right{justify-content:flex-end}.modal{max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);display:flex;flex-direction:column;background:#fff;border-radius:var(--r-xl);box-shadow:var(--shadow-pop)}.modal-head,.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--c-border-soft)}.modal-head h2{font-size:18px}.modal-body{padding:20px;overflow:auto}.modal-text{margin:0}.modal-foot,.drawer-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--c-border-soft)}.drawer{height:100vh;display:flex;flex-direction:column;background:var(--c-surface-3);border-radius:var(--r-xl) 0 0 var(--r-xl);box-shadow:var(--shadow-drawer);overflow:hidden}.drawer-head{background:#fff}.drawer-title{font-size:22px;font-weight:500}.drawer-body{flex:1;overflow:auto;padding:20px}.drawer-foot{background:#fff}.toasts{position:fixed;right:20px;bottom:20px;z-index:80;display:flex;flex-direction:column;gap:8px;max-width:min(420px,calc(100vw - 40px))}.toast{display:flex;align-items:center;gap:10px;padding:10px 12px 10px 16px;border-radius:var(--r-lg);background:var(--c-text);color:#fff;box-shadow:var(--shadow-pop);font-size:14px}.toast span{flex:1}.toast.success{background:var(--c-brand-ink)}.toast.error{background:var(--c-danger)}.toast .icon-btn{color:#fff}.toast .icon-btn:hover{background:#fff3;color:#fff}.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px;align-items:start}.showcase-section{display:flex;flex-direction:column;gap:14px}.toolbar{padding:12px 14px;display:flex;flex-wrap:wrap;align-items:center;gap:12px}.search.grow{flex:1 1 280px}.toggle{display:inline-flex;align-items:center;gap:8px;font-size:14px;cursor:pointer;white-space:nowrap}.chips-row{min-height:0}.select-btn{display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer;background:#fff}.ms{display:flex;flex-direction:column;gap:8px;min-width:260px}.ms-list{max-height:260px;overflow:auto;display:flex;flex-direction:column;gap:2px}.ms-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--r-sm);cursor:pointer;font-size:14px}.ms-item:hover{background:var(--c-brand-tint)}.ms-item .small{margin-left:auto}.ms-empty{padding:8px}.brands-cell{display:flex;flex-wrap:wrap;gap:6px;align-items:center;max-width:280px}.chip-btn{border:0;cursor:pointer}.menu-row{display:flex;align-items:center;gap:2px;border-radius:var(--r-sm)}.menu-row.on,.menu-row:hover{background:var(--c-brand-tint)}.menu-row .menu-item{flex:1;background:transparent}.views-menu{min-width:340px}.icon-btn.sm{width:28px;height:28px}.fail-list{margin:8px 0 0;padding-left:18px}.grow{flex:1;min-width:0}.crumbs{font-size:13px;color:var(--c-muted);padding:0 4px}.card-head{display:flex;flex-direction:column;gap:16px}.card-head-main{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}.mark{width:56px;height:56px;border-radius:var(--r-lg);background:var(--c-brand-tint-2);color:var(--c-brand-ink-soft);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;flex:none}.card-title{font-size:26px;display:flex;align-items:center;gap:6px}.title-input{font-size:20px;max-width:480px}.name-source{margin:2px 0 8px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.head-meta{margin-bottom:8px}.head-actions{display:flex;gap:8px;flex-wrap:wrap}.card-head-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;border-top:1px solid var(--c-hairline);padding-top:14px}.input.slim{height:34px;width:auto;min-width:150px}.tag-input{height:26px;border:1px dashed var(--c-border);border-radius:var(--r-pill);padding:0 10px;font-size:12px;width:90px;background:transparent;outline:none}.owners{display:flex;flex-direction:column;gap:8px}.owner-row{display:flex;align-items:center;gap:10px}.info-banner,.warn-box{background:var(--c-warn-bg);color:var(--c-warn);border-radius:var(--r-md);padding:10px 12px;font-size:13.5px}.warn-box ul{margin:6px 0 0;padding-left:18px}.info-box{background:var(--c-surface-2);border-radius:var(--r-md);padding:10px 12px}.section{display:flex;flex-direction:column;gap:14px}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:16px}.two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px;align-items:start}.cat-line{margin-top:2px}.bars{display:flex;flex-direction:column;gap:8px}.bar-row{display:grid;grid-template-columns:minmax(110px,180px) 1fr 44px;gap:10px;align-items:center;font-size:14px}.bar{height:8px;border-radius:4px;background:var(--c-hairline);overflow:hidden}.bar i{display:block;height:100%;background:var(--c-brand);border-radius:4px}.bar-val{text-align:right}.table.compact td,.table.compact th{padding:10px 12px}.table td.actions{white-space:nowrap;text-align:right}.entity{display:flex;flex-direction:column;gap:10px}.chan-group{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.chan-row{display:flex;align-items:center;gap:12px;padding:6px 0;border-bottom:1px solid var(--c-hairline)}.link-list{display:flex;flex-direction:column;gap:8px}.task-list{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column}.task-row{display:flex;align-items:flex-start;gap:10px;padding:10px 4px;border-bottom:1px solid var(--c-hairline)}.task-row:last-child{border-bottom:0}.task-row.overdue{background:#fff6f5}.task-time{width:64px;flex:none;font-size:13px;padding-top:2px}.task-sum{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.task-text.done{text-decoration:line-through;color:var(--c-muted)}.day-head{margin:0 0 8px;font-size:15px}.overdue-text{color:#c0392b}.feed-item.overdue{background:#fff6f5;border-color:#f0c4be}.next-task{margin-top:6px}.mcal{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.mcal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.mcal-dow{text-align:center}.mcal-day{position:relative;height:38px;border:1px solid transparent;border-radius:var(--r-md);background:transparent;cursor:pointer;font:inherit}.mcal-day:hover{background:var(--c-surface-2)}.mcal-day.out{color:var(--c-muted);opacity:.55}.mcal-day.today{border-color:var(--c-brand-border-2);font-weight:700}.mcal-day.sel{background:var(--c-brand-tint-2)}.mcal-day .dot{position:absolute;left:50%;bottom:4px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--c-brand-ink-soft)}.wk{display:grid;grid-template-columns:56px repeat(7,minmax(110px,1fr));margin-top:12px;overflow-x:auto;border-top:1px solid var(--c-hairline)}.wk-head{padding:8px 6px;font-weight:600;text-align:center;border-bottom:1px solid var(--c-hairline)}.wk-head.today{color:var(--c-brand-ink-soft)}.wk-label{padding:6px 4px;border-bottom:1px solid var(--c-hairline)}.wk-cell{min-height:40px;padding:3px;border-left:1px solid var(--c-hairline);border-bottom:1px solid var(--c-hairline);display:flex;flex-direction:column;gap:3px}.wk-cell.allday{background:var(--c-surface-2)}.wk-task{text-align:left;border:0;border-radius:6px;padding:3px 6px;font-size:12px;background:var(--c-brand-tint-2);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wk-task.done{text-decoration:line-through;opacity:.6}.wk-task.overdue{background:#fde4e1}.pick-list{list-style:none;margin:0;padding:0;border:1px solid var(--c-border-soft);border-radius:var(--r-md);max-height:220px;overflow:auto;background:#fff}.pick-item{display:block;width:100%;text-align:left;padding:8px 10px;border:0;background:transparent;cursor:pointer;font:inherit}.pick-item:hover{background:var(--c-surface-2)}.history .old{color:#b03a2e}.history .new{color:#1e7d5f}.picker{position:relative;display:flex;flex-direction:column;gap:6px}.picker .row .input{flex:1}.picked{gap:10px}.pick-list{list-style:none;margin:0;padding:4px;border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface);max-height:240px;overflow:auto}.pick-list li{padding:4px 8px}.pick-item{display:flex;gap:8px;align-items:baseline;width:100%;border:0;background:transparent;text-align:left;padding:6px 4px;border-radius:var(--r-sm);cursor:pointer;font:inherit}.pick-item:hover{background:var(--c-brand-tint)}.chan-edit{gap:8px}.inline-contact{display:flex;flex-direction:column;gap:10px;margin-top:8px}.people-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.person-card{border:1px solid var(--c-border-soft);border-radius:var(--r-lg);padding:12px 14px;background:var(--c-surface-2);display:flex;flex-direction:column;gap:4px}.suggestions{margin-top:14px;padding-top:12px;border-top:1px dashed var(--c-border);display:flex;flex-direction:column;gap:6px}.completeness{display:flex;align-items:center;gap:10px;margin-top:8px;flex-wrap:wrap}.completeness .bar{width:120px;height:6px;border-radius:999px;background:var(--c-brand-tint-2);display:inline-block;overflow:hidden}.completeness .bar i{display:block;height:100%;background:var(--c-brand)}.drop-zones{display:flex;gap:14px;margin-top:14px}.drop-zone{flex:1;display:flex;flex-direction:column;gap:4px;padding:18px;border:2px dashed var(--c-border);border-radius:var(--r-lg);background:var(--c-surface-2)}.drop-zone.success{border-color:var(--c-brand-border-2)}.drop-zone.failure{border-color:var(--c-warn-border)}.drop-zone.over{background:var(--c-brand-tint);outline:2px solid var(--c-brand-border-2)}.stats-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.stage-progress{display:flex;flex-direction:column;gap:4px;min-width:140px}.progress{height:6px;border-radius:99px;background:var(--c-border-soft);overflow:hidden}.progress i{display:block;height:100%;background:var(--c-brand);border-radius:99px}.progress.won i{background:var(--c-success, #2e9e5b)}.progress.lost i{background:var(--c-danger)}.table tr.row-warn td{background:var(--c-warn-bg)}.kcard-warn{border-left:3px solid var(--c-danger);padding-left:8px}.item-row{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--c-border-soft)}.item-row .num{width:96px;text-align:right;flex:none}.item-row b.num{width:110px}.deal-amount{text-align:right;padding-right:12px}.deal-amount b{font-size:22px}.seg:disabled{opacity:.45;cursor:not-allowed}.export-cols{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;max-height:260px;overflow:auto;padding:4px 0}.link-btn.danger{color:var(--c-danger, #b42318)}.merge-grid{display:grid;grid-template-columns:140px minmax(0,1fr) minmax(0,1fr);gap:8px 12px;align-items:start}.merge-grid .head{font-weight:600;padding-bottom:6px;border-bottom:1px solid var(--c-hairline)}.merge-grid .cell{padding:6px 8px;border-radius:var(--r-sm);border:1px solid var(--c-hairline)}.merge-grid .cell.pick{border-color:var(--c-brand);background:var(--c-brand-tint)}.merge-grid label.cell{display:flex;gap:8px;align-items:flex-start;cursor:pointer}.expand-row td{background:var(--c-surface-2, #f7f7f9)}.expand-row pre{margin:0;white-space:pre-wrap;word-break:break-word;font-size:12px}.tag-row{display:flex;gap:6px;flex-wrap:wrap}
