:root{--bg:#fafafa;--chrome:#f4f4f5;--surface:#fff;--surface-2:#f8f8f8;--border:#e9e9eb;--border-strong:#dcdcdf;--text:#18181b;--text-2:#51525c;--muted:#8e8f99;--primary:#5048e5;--primary-hover:#4338ca;--primary-soft:#eeedfd;--success:#16a34a;--warn:#d97706;--danger:#dc2626;--danger-soft:#fdecec;--radius-sm:8px;--radius:12px;--radius-lg:16px;--ring:0 0 0 3px rgba(80,72,229,.16);--shadow-xs:0 1px 2px rgba(24,24,27,.05);--shadow-sm:0 1px 3px rgba(24,24,27,.07),0 1px 2px rgba(24,24,27,.04);--shadow-md:0 8px 20px -6px rgba(24,24,27,.12),0 3px 8px -3px rgba(24,24,27,.06);--shadow-lg:0 32px 64px -16px rgba(24,24,27,.3)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,Roboto,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit}a,a:hover{text-decoration:none}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#d8d8db;border-radius:9px;border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#c2c2c7;background-clip:padding-box}.app{display:flex;min-height:100vh}.sidebar{width:248px;flex-shrink:0;background:var(--chrome);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:14px 12px;position:-webkit-sticky;position:sticky;top:0;height:100vh}.brand{gap:10px;padding:4px 8px 10px}.brand,.brand-mark{display:flex;align-items:center}.brand-mark{width:30px;height:30px;border-radius:8px;flex-shrink:0;background:linear-gradient(135deg,#6d65f6,#5048e5 60%,#4338ca);justify-content:center;color:#fff;font-weight:800;font-size:14px;box-shadow:0 2px 6px rgba(80,72,229,.35)}.brand-name{font-weight:700;font-size:14px;letter-spacing:-.01em;line-height:1.15}.brand-name small{display:block;font-weight:500;font-size:11px;color:var(--muted)}.sidebar-search{position:relative;margin:2px 0 6px}.sidebar-search input{width:100%;padding:8px 10px 8px 31px;border-radius:var(--radius-sm);font-family:inherit;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-size:13px;transition:border-color .13s,box-shadow .13s}.sidebar-search input::placeholder{color:var(--muted)}.sidebar-search input:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.sidebar-search:before{content:"";position:absolute;left:10px;top:50%;width:14px;height:14px;transform:translateY(-50%);pointer-events:none;background:var(--muted);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") center/contain no-repeat}.nav{display:flex;flex-direction:column;gap:1px}.nav-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);padding:16px 9px 5px;font-weight:600}.nav a{color:var(--text-2);padding:7px 9px;border-radius:var(--radius-sm);font-weight:500;display:flex;align-items:center;gap:10px;font-size:13.5px;transition:background .12s,color .12s}.nav a svg{width:16px;height:16px;flex-shrink:0;color:var(--muted);transition:color .12s}.nav a:hover{background:rgba(24,24,27,.05);color:var(--text)}.nav a:hover svg{color:var(--text-2)}.nav a.active{background:var(--surface);color:var(--text);font-weight:600;box-shadow:var(--shadow-xs);border:1px solid var(--border);padding:6px 8px}.nav a.active svg{color:var(--primary)}.sidebar-foot{margin-top:auto;font-size:11px;color:var(--muted);padding:10px 9px 2px}.sidebar-account{gap:6px;padding:10px 4px 2px;border-top:1px solid var(--border);margin-top:auto}.account-chip,.sidebar-account{display:flex;align-items:center}.account-chip{gap:9px;flex:1 1;min-width:0;padding:6px 8px;border-radius:8px;text-decoration:none;color:var(--text);transition:background .12s}.account-chip:hover{background:var(--surface)}.account-avatar{width:30px;height:30px;flex-shrink:0;border-radius:8px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-size:12px;font-weight:700}.account-meta{display:flex;flex-direction:column;min-width:0;line-height:1.25}.account-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-role{font-size:11px;color:var(--muted);text-transform:capitalize}.account-logout{flex-shrink:0;background:none;border:none;color:var(--muted);cursor:pointer;padding:7px;border-radius:7px;display:grid;place-items:center;transition:all .12s}.account-logout:hover{color:var(--danger,#dc2626);background:var(--surface)}@media (max-width:960px){.account-logout,.account-meta{display:none}.sidebar-account{justify-content:center;padding:10px 0 2px}}.main{flex:1 1;min-width:0}.content{padding:26px 34px 48px;max-width:1180px;margin:0 auto}@media (max-width:960px){.sidebar{width:60px;padding:14px 8px}.brand-name,.nav a span,.nav-label,.sidebar-foot,.sidebar-search{display:none}.nav a{justify-content:center;padding:9px}.content{padding:20px 18px 40px}}.page-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:20px;gap:16px;flex-wrap:wrap}.page-head h1{font-size:22px;font-weight:700;margin:0;letter-spacing:-.025em}.page-head .sub{color:var(--muted);font-size:13px;margin-top:3px}.head-actions{display:flex;gap:8px;align-items:center}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-xs)}.card-pad{padding:18px 20px}.card+.card{margin-top:14px}.card-title{font-size:13px;font-weight:600;color:var(--text);margin:0 0 12px;letter-spacing:-.01em}.card-title .count{color:var(--muted);font-weight:500}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:12px;gap:12px;margin-bottom:18px}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-xs);display:flex;gap:13px;align-items:flex-start;transition:box-shadow .15s}.kpi-icon{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--primary-soft);color:var(--primary)}.kpi-icon svg{width:17px;height:17px}.kpi .label{font-size:12px;color:var(--muted);font-weight:500}.kpi .value{font-size:24px;font-weight:700;letter-spacing:-.03em;line-height:1.15;margin-top:1px}a:hover .kpi{box-shadow:var(--shadow-md)}.widgets{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px;align-items:start}@media (max-width:900px){.widgets{grid-template-columns:1fr}}.funnel-bar{display:flex;height:34px;border-radius:9px;overflow:hidden;margin:4px 0 14px}.funnel-seg{min-width:6px;transition:filter .12s}.funnel-seg:hover{filter:brightness(.94)}.funnel-legend{display:flex;flex-wrap:wrap;gap:7px}.funnel-chip{display:inline-flex;align-items:center;gap:7px;padding:5px 11px 5px 8px;border:1px solid var(--border);border-radius:999px;font-size:12.5px;color:var(--text-2);background:var(--surface);transition:border-color .12s,box-shadow .12s}.funnel-chip:hover{border-color:var(--border-strong);box-shadow:var(--shadow-xs)}.funnel-dot{width:8px;height:8px;border-radius:50%}.funnel-chip b{color:var(--text);font-weight:600}.entity{display:flex;align-items:center;gap:11px;min-width:0}.entity-avatar{width:32px;height:32px;border-radius:8px;flex-shrink:0;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;letter-spacing:.01em}.entity-avatar.lg{width:52px;height:52px;border-radius:14px;font-size:18px}.entity-text{min-width:0}.entity-name{font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}a.entity:hover .entity-name{color:var(--primary)}.entity-sub{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-xs)}.table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:10px 16px;background:var(--surface-2);font-weight:600}.table td,.table th{border-bottom:1px solid var(--border)}.table td{padding:11px 16px;color:var(--text-2);font-size:13.5px}.table tbody tr:last-child td{border-bottom:none}.table tbody tr{transition:background .1s}.table tbody tr:hover{background:var(--surface-2)}.table a{font-weight:600;color:var(--text)}.table a:hover{color:var(--primary)}.badge{display:inline-flex;align-items:center;gap:5px;padding:2.5px 9px;border-radius:999px;font-size:11.5px;font-weight:600;line-height:1.5;white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.75}.btn{display:inline-flex;align-items:center;gap:6px;padding:7.5px 14px;border-radius:var(--radius-sm);font-weight:600;font-size:13.5px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);cursor:pointer;text-decoration:none;white-space:nowrap;font-family:inherit;transition:background .12s,border-color .12s,box-shadow .12s,transform .05s;box-shadow:var(--shadow-xs)}.btn:hover{background:var(--surface-2);border-color:#c9c9ce}.btn:active{transform:translateY(.5px)}.btn:focus-visible{outline:none;box-shadow:var(--ring)}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 1px 2px rgba(80,72,229,.4)}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn-danger{color:var(--danger);border-color:#f0caca}.btn-danger:hover{background:var(--danger-soft);border-color:#e8b6b6}.btn-sm{padding:5px 11px;font-size:12.5px}.btn:disabled{opacity:.55;cursor:not-allowed}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:15px;gap:15px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:12.5px;font-weight:600;color:var(--text-2)}.field input,.field select,.field textarea{padding:8.5px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:14px;background:var(--surface);color:var(--text);font-family:inherit;transition:border-color .12s,box-shadow .12s}.field input::placeholder,.field textarea::placeholder{color:var(--muted)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.checkbox{flex-direction:row;align-items:center;gap:8px}.checkbox input{width:16px;height:16px;accent-color:var(--primary)}.form-actions{display:flex;gap:10px;margin-top:18px;grid-column:1/-1}.toolbar{display:flex;gap:8px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.toolbar input,.toolbar select{padding:7.5px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:13.5px;background:var(--surface);font-family:inherit;box-shadow:var(--shadow-xs);transition:border-color .12s,box-shadow .12s}.toolbar input:focus,.toolbar select:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.empty,.muted{color:var(--muted)}.empty{padding:44px;text-align:center;font-size:14px}.empty-state{padding:52px 24px;text-align:center}.empty-state .glyph{width:44px;height:44px;margin:0 auto 12px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--muted)}.empty-state .glyph svg{width:20px;height:20px}.empty-state h3{margin:0 0 4px;font-size:14.5px;font-weight:600;color:var(--text)}.empty-state p{margin:0 0 14px;font-size:13px;color:var(--muted)}.record{display:grid;grid-template-columns:320px 1fr;grid-gap:16px;gap:16px;align-items:start}@media (max-width:1000px){.record{grid-template-columns:1fr}}.record-rail{position:-webkit-sticky;position:sticky;top:26px;gap:14px}.rail-head,.record-rail{display:flex;flex-direction:column}.rail-head{align-items:flex-start;gap:12px;padding:20px}.rail-name{font-size:18px;font-weight:700;letter-spacing:-.02em;line-height:1.2}.rail-sub{font-size:13px;color:var(--muted);margin-top:2px}.rail-badges{gap:6px;margin-top:4px}.rail-actions,.rail-badges{display:flex;flex-wrap:wrap}.rail-actions{gap:7px;padding:0 20px 18px}.rail-props{border-top:1px solid var(--border);padding:14px 20px 16px}.rail-props h4{margin:0 0 8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.prop-row-v{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:6.5px 0;font-size:13px;border-bottom:1px solid var(--surface-2)}.prop-row-v:last-child{border-bottom:none}.prop-row-v .k{color:var(--muted);flex-shrink:0}.prop-row-v .v{color:var(--text);font-weight:500;text-align:right;min-width:0;overflow-wrap:anywhere}.record-main{display:flex;flex-direction:column;gap:14px;min-width:0}.record-main .card+.card{margin-top:0}.modal-overlay{position:fixed;inset:0;background:rgba(24,24,27,.45);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding:56px 16px;z-index:50;overflow-y:auto;animation:overlayIn .14s ease-out}.modal{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:660px;box-shadow:var(--shadow-lg);border:1px solid var(--border);animation:modalIn .18s cubic-bezier(.16,1,.3,1)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:17px 22px;border-bottom:1px solid var(--border)}.modal-head h3{margin:0;font-size:15.5px;font-weight:700;letter-spacing:-.01em}.modal-x{background:none;border:none;font-size:17px;cursor:pointer;color:var(--muted);line-height:1;border-radius:6px;padding:4px 7px;transition:background .12s,color .12s}.modal-x:hover{background:var(--surface-2);color:var(--text)}.modal-body{padding:22px}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}.form-error{color:var(--danger);background:var(--danger-soft);border:1px solid #f1caca;border-radius:var(--radius-sm);padding:9px 13px;margin-top:12px;font-size:13px;grid-column:1/-1}@keyframes grxSpin{to{transform:rotate(1turn)}}@keyframes grxSlide{0%{transform:translateX(-110%)}to{transform:translateX(260%)}}.sync-spinner{display:inline-block;width:12px;height:12px;border:2px solid var(--border-strong);border-top-color:var(--primary);border-radius:50%;animation:grxSpin .7s linear infinite;vertical-align:-2px;flex:none}.sync-row{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--muted);margin-top:12px}.sync-bar{height:2px;background:var(--surface-2);border-radius:2px;overflow:hidden;margin-top:8px}.sync-bar>span{display:block;height:100%;width:38%;background:var(--primary);border-radius:2px;animation:grxSlide 1.1s ease-in-out infinite}.sig-editor{min-height:120px;max-height:340px;overflow-y:auto;border:1px solid var(--border-strong);border-radius:8px;padding:10px 12px;font-size:14px;line-height:1.5;background:var(--surface)}.sig-editor:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.sig-editor:empty:before{content:attr(data-placeholder);color:var(--muted)}.sig-editor img{max-width:100%;height:auto}.sig-editor a{color:var(--primary)}.composer{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:13px;margin-bottom:16px}.composer-row{display:flex;gap:8px;margin-bottom:8px}.composer-date,.composer-type{padding:7.5px 10px;font-size:13px}.composer-body,.composer-date,.composer-type{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);font-family:inherit}.composer-body{width:100%;padding:9.5px 12px;font-size:14px;resize:vertical}.composer-body:focus,.composer-date:focus,.composer-type:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.composer-actions{display:flex;justify-content:flex-end;margin-top:9px}.timeline{list-style:none;margin:0;padding:0}.timeline-item{display:flex;gap:13px;padding:12px 0;border-bottom:1px solid var(--border)}.timeline-item:last-child{border-bottom:none;padding-bottom:2px}.timeline-icon{width:32px;height:32px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.timeline-body{flex:1 1;min-width:0}.timeline-meta{font-size:13px;display:flex;align-items:center;gap:4px}.timeline-text{font-size:13.5px;margin-top:3px;white-space:pre-wrap;color:var(--text-2)}.timeline-del{margin-left:auto}.task-del button,.timeline-del button{background:none;border:none;color:#c9c9ce;cursor:pointer;font-size:13px;padding:3px 7px;border-radius:6px;transition:all .12s}.task-del button:hover,.timeline-del button:hover{color:var(--danger);background:var(--danger-soft)}.prop-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));grid-gap:14px;gap:14px;align-items:start}.prop-list{list-style:none;margin:0 0 12px;padding:0}.prop-row{display:flex;align-items:center;gap:8px;padding:6.5px 0;border-bottom:1px solid var(--surface-2)}.prop-rename{display:flex;gap:6px;flex:1 1;min-width:0}.prop-rename input{flex:1 1;min-width:0;padding:6.5px 10px;border:1px solid var(--border-strong);border-radius:7px;font-size:13px;font-family:inherit}.prop-token{font-size:10.5px;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);padding:2.5px 7px;border-radius:6px;white-space:nowrap;font-family:ui-monospace,monospace}.prop-add{display:flex;gap:6px;margin-top:6px}.prop-add input{flex:1 1;padding:7.5px 11px;border:1px solid var(--border-strong);border-radius:7px;font-size:13px;font-family:inherit}.tasklist{list-style:none;margin:0;padding:0}.task-row{display:flex;align-items:center;gap:12px;padding:10.5px 0;border-bottom:1px solid var(--border)}.task-row:last-child{border-bottom:none}.task-main{flex:1 1;min-width:0}.task-title{font-size:13.5px;font-weight:500}.task-meta{font-size:12px;color:var(--muted);margin-top:1px}.task-meta a{color:var(--text-2);font-weight:500}.task-meta a:hover{color:var(--primary)}.task-done .task-title{text-decoration:line-through;color:var(--muted)}.task-due{font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap}.due-over{color:var(--danger)}.due-today{color:var(--warn)}.checkbox-btn{width:19px;height:19px;border-radius:6px;border:1.5px solid var(--border-strong);background:var(--surface);cursor:pointer;font-size:11px;line-height:1;color:#fff;display:inline-flex;align-items:center;justify-content:center;transition:all .12s;flex-shrink:0}.checkbox-btn.checked,.checkbox-btn:hover{border-color:var(--primary)}.checkbox-btn.checked{background:var(--primary)}.task-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:18px 0 4px}.board{display:flex;gap:12px;overflow-x:auto;align-items:flex-start;padding-bottom:12px}.board-col{min-width:250px;width:250px;flex-shrink:0;background:var(--chrome);border:1px solid var(--border);border-radius:var(--radius);padding:10px}.board-col-head{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;font-weight:600;padding:2px 4px 9px}.deal-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:11px 12px;box-shadow:var(--shadow-xs);margin-bottom:9px}.deal-title{font-size:13.5px;font-weight:600;line-height:1.3}.deal-meta{font-size:12px;color:var(--muted);margin-top:3px}.deal-meta a{color:var(--text-2);font-weight:500}.deal-meta a:hover{color:var(--primary)}.deal-foot{display:flex;justify-content:space-between;align-items:baseline;margin-top:8px;font-size:12px}.deal-amount{font-weight:700;font-size:13.5px}.deal-actions{display:flex;gap:5px;margin-top:9px;flex-wrap:wrap}.deal-actions .btn-sm{padding:3px 8px;font-size:11.5px}