diff --git a/docs/crm.html b/docs/crm.html index b2abe03..389bf40 100644 --- a/docs/crm.html +++ b/docs/crm.html @@ -1,4 +1,4 @@ - + @@ -19,295 +19,225 @@ body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--text);displ .hdr-badge{background:rgba(16,185,129,.15);border:1px solid rgba(16,185,129,.25);color:var(--mid);font-size:10px;font-weight:700;letter-spacing:.05em;border-radius:6px;padding:2px 8px} .hdr-r{margin-left:auto;display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.6);font-size:13px} .layout{flex:1;display:flex;overflow:hidden} -/* Sidebar */ -.sb{width:280px;flex-shrink:0;background:var(--ink);display:flex;flex-direction:column;overflow:hidden} -.sb-top{padding:16px 16px 10px} -.sb-newbtn{width:100%;display:flex;align-items:center;justify-content:center;gap:7px;padding:11px;border-radius:10px;background:var(--primary);color:#fff;border:none;cursor:pointer;font-family:'Inter';font-weight:700;font-size:13px} -.sb-newbtn:hover{background:#065f46} -.sb-cap{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.25);padding:14px 18px 6px} +.sb{width:240px;flex-shrink:0;background:var(--ink);display:flex;flex-direction:column;overflow:hidden} +.sb-nav{padding:12px 10px} +.nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:9px;cursor:pointer;color:rgba(255,255,255,.6);font-size:13px;font-weight:600;margin-bottom:3px} +.nav-item:hover{background:rgba(255,255,255,.05);color:#fff} +.nav-item.active{background:rgba(4,120,87,.2);color:#fff} +.nav-item .ic{font-size:16px} +.sb-cap{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.25);padding:14px 14px 6px} .sb-list{flex:1;overflow-y:auto;padding:0 10px} -.proj{padding:12px 12px;border-radius:10px;cursor:pointer;margin-bottom:4px;border-left:2px solid transparent;transition:background .12s} -.proj:hover{background:rgba(255,255,255,.04)} -.proj.active{background:rgba(4,120,87,.18);border-left-color:var(--primary)} -.proj-top{display:flex;align-items:center;gap:8px;margin-bottom:5px} -.proj-av{width:30px;height:30px;border-radius:8px;background:#6366F1;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;color:#fff;flex-shrink:0} -.proj-name{font-size:13px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1} -.proj-niche{font-size:11px;color:rgba(255,255,255,.4);margin-bottom:6px;padding-left:38px} -.proj-flags{display:flex;gap:4px;padding-left:38px} -.flag{font-size:9px;font-weight:700;padding:2px 6px;border-radius:5px;background:rgba(255,255,255,.06);color:rgba(255,255,255,.3)} -.flag.on{background:rgba(16,185,129,.18);color:var(--mid)} -.sb-foot{padding:12px 14px;border-top:1px solid rgba(255,255,255,.07)} -.sb-elena{display:flex;align-items:center;gap:9px;padding:8px;border-radius:9px;background:rgba(4,120,87,.1);border:1px solid rgba(4,120,87,.2)} -.sb-elena-av{width:30px;height:30px;border-radius:50%;background:var(--primary);display:flex;align-items:center;justify-content:center;font-family:'Montserrat';font-weight:800;font-size:13px;color:#fff} -.sb-elena-n{font-size:12px;font-weight:600;color:#fff} -.sb-elena-s{font-size:10px;color:var(--mid)} -/* Main */ +.cl{padding:10px;border-radius:9px;cursor:pointer;margin-bottom:3px;display:flex;align-items:center;gap:9px} +.cl:hover{background:rgba(255,255,255,.04)} +.cl.active{background:rgba(4,120,87,.18)} +.cl-av{width:28px;height:28px;border-radius:7px;background:#6366F1;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;color:#fff;flex-shrink:0} +.cl-n{font-size:12px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1} +.cl-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0} +.sb-new{margin:8px 10px;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px;border-radius:9px;background:var(--primary);color:#fff;border:none;cursor:pointer;font-family:'Inter';font-weight:700;font-size:13px} .main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0} -.empty-main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#cbd5e1;gap:12px} -.topbar{height:60px;background:var(--white);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 26px;gap:14px;flex-shrink:0} -.tb-av{width:38px;height:38px;border-radius:10px;background:#6366F1;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:15px} -.tb-name{font-size:16px;font-weight:700;color:var(--text)} -.tb-meta{font-size:12px;color:var(--muted);margin-top:1px} -.tb-status{margin-left:auto;font-size:11px;font-weight:700;padding:5px 12px;border-radius:20px;background:var(--light);color:var(--primary)} -/* Tabs */ -.tabs{display:flex;gap:2px;background:var(--white);border-bottom:1px solid var(--border);padding:0 20px;flex-shrink:0} -.tab{padding:13px 18px;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2.5px solid transparent;display:flex;align-items:center;gap:7px;white-space:nowrap} -.tab:hover{color:var(--text)} -.tab.active{color:var(--primary);border-bottom-color:var(--primary)} -.tab-check{width:15px;height:15px;border-radius:50%;background:var(--mid);display:none;align-items:center;justify-content:center;font-size:9px;color:#fff} -.tab.done .tab-check{display:flex} -/* Content */ -.content{flex:1;overflow-y:auto;padding:24px 26px;background:var(--bg)} -.pane{display:none}.pane.active{display:block} -.run-card{background:var(--white);border:1.5px solid var(--border);border-radius:14px;padding:28px;text-align:center;max-width:560px;margin:20px auto} -.run-ic{font-size:36px;margin-bottom:14px} -.run-t{font-family:'Montserrat';font-weight:800;font-size:20px;color:var(--ink);margin-bottom:8px} -.run-d{font-size:14px;color:var(--muted);line-height:1.5;margin-bottom:20px} -.run-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:11px;background:linear-gradient(135deg,var(--dark),var(--primary));color:#fff;border:none;cursor:pointer;font-family:'Inter';font-weight:700;font-size:14px} -.run-btn:hover{opacity:.92}.run-btn:disabled{opacity:.5;cursor:default} -/* Checkpoint bar */ -.cpbar{position:sticky;bottom:0;background:var(--white);border:1.5px solid var(--border);border-radius:13px;padding:14px 18px;display:flex;align-items:center;gap:14px;margin-top:20px;box-shadow:0 -4px 16px rgba(0,0,0,.04)} -.cpbar.approved{background:#F0FDF4;border-color:rgba(16,185,129,.3)} -.cpbar-txt{flex:1;font-size:13px;color:var(--text);font-weight:600} -.cpbar-sub{font-size:11px;color:var(--muted);font-weight:400;margin-top:1px} -.cp-btn{padding:9px 18px;border-radius:9px;font-size:13px;font-weight:700;cursor:pointer;border:none;font-family:'Inter'} -.cp-approve{background:var(--primary);color:#fff}.cp-approve:hover{background:var(--dark)} -.cp-redo{background:transparent;border:1px solid var(--border);color:var(--muted)} -.cp-done{color:var(--primary);font-weight:700;font-size:13px;display:flex;align-items:center;gap:6px} -/* generic blocks (reused) */ -.blk{background:var(--white);border:1px solid var(--border);border-radius:13px;padding:16px;margin-bottom:12px} -.blk-title{font-size:14px;font-weight:700;color:var(--text)} -.blk-pain{font-size:12px;color:#92400e;line-height:1.45;padding-left:14px;position:relative;margin-bottom:3px} -.blk-pain::before{content:'•';position:absolute;left:3px;color:#f59e0b} -.blk-lbl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;margin-bottom:3px} -/* Canvas grid */ -.canvas-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-auto-rows:minmax(90px,auto);gap:8px} -.cv{background:var(--white);border:1px solid var(--border);border-radius:10px;padding:11px} -.cv-h{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--primary);margin-bottom:6px;display:flex;justify-content:space-between} -.cv-pct{color:#9ca3af} -.cv li{font-size:11.5px;color:#374151;line-height:1.35;list-style:none;padding-left:10px;position:relative;margin-bottom:3px} -.cv li::before{content:'';position:absolute;left:2px;top:7px;width:4px;height:4px;border-radius:50%;background:var(--mid)} -.cv-note{font-size:10px;color:#92400e;margin-top:6px;font-style:italic} -.cv.kp{grid-row:span 2}.cv.ka{}.cv.vp{grid-column:3;grid-row:span 2;border-color:var(--primary);border-width:1.5px}.cv.cr{}.cv.cs{grid-column:5;grid-row:span 2} -.cv-insight{grid-column:1/-1;background:var(--ink);color:#fff;border-radius:11px;padding:14px 18px;font-size:13px;line-height:1.5} -.cv-insight b{color:var(--mid)} -/* IDEF0 (reused compact) */ -.idef-lbl{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;margin:14px 0 8px} -.idef{margin-bottom:12px} -.idef-c,.idef-m{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;padding:4px 0} +.scroll{flex:1;overflow-y:auto;padding:24px 28px} +/* Dashboard */ +.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px} +.kpi{background:var(--white);border:1.5px solid var(--border);border-radius:14px;padding:20px} +.kpi-v{font-family:'Montserrat';font-weight:800;font-size:30px;color:var(--ink);letter-spacing:-1px} +.kpi-l{font-size:12px;color:var(--muted);margin-top:4px} +.kpi-sub{font-size:11px;color:var(--primary);font-weight:600;margin-top:6px} +.sec-h{font-family:'Montserrat';font-weight:800;font-size:18px;color:var(--ink);margin-bottom:14px} +/* Pipeline kanban */ +.kanban{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;align-items:flex-start} +.kcol{flex:1;min-width:200px;background:#eef0f3;border-radius:12px;padding:10px} +.kcol-h{font-size:12px;font-weight:700;color:var(--text);padding:6px 8px;display:flex;justify-content:space-between;align-items:center} +.kcol-c{font-size:11px;font-weight:700;color:#9ca3af;background:var(--white);border-radius:10px;padding:1px 8px} +.kcard{background:var(--white);border:1px solid var(--border);border-radius:10px;padding:12px;margin-top:8px;cursor:pointer;transition:box-shadow .15s} +.kcard:hover{box-shadow:0 4px 12px rgba(0,0,0,.08)} +.kcard-n{font-size:13px;font-weight:700;margin-bottom:3px} +.kcard-m{font-size:11px;color:var(--muted)} +.kcard-amt{font-size:12px;font-weight:700;color:var(--primary);margin-top:6px} +/* Client card */ +.cc-top{display:flex;align-items:center;gap:14px;margin-bottom:18px} +.cc-av{width:48px;height:48px;border-radius:12px;background:#6366F1;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:20px} +.cc-name{font-size:20px;font-weight:800;font-family:'Montserrat'} +.cc-meta{font-size:13px;color:var(--muted);margin-top:2px} +.cc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px} +.cc-field{background:var(--white);border:1.5px solid var(--border);border-radius:11px;padding:12px 14px} +.cc-fl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;margin-bottom:5px} +.cc-fi{width:100%;border:none;font-size:14px;font-weight:600;font-family:'Inter';color:var(--text);outline:none;background:transparent} +.cc-fi::placeholder{color:#cbd5e1;font-weight:400} +.cc-sel{width:100%;border:none;font-size:14px;font-weight:600;font-family:'Inter';outline:none;background:transparent;cursor:pointer} +.cc-actions{display:flex;gap:10px;margin-bottom:18px} +.btn{font-family:'Inter';font-weight:600;border:none;cursor:pointer;border-radius:9px;display:inline-flex;align-items:center;gap:7px;padding:9px 16px;font-size:13px} +.btn-p{background:var(--primary);color:#fff}.btn-p:hover{background:var(--dark)} +.btn-g{background:var(--white);border:1.5px solid var(--border);color:var(--muted)}.btn-g:hover{border-color:var(--primary);color:var(--primary)} +/* Tabs (analysis) */ +.tabs{display:flex;gap:2px;border-bottom:1.5px solid var(--border);margin-bottom:18px} +.tab{padding:11px 16px;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2.5px solid transparent;display:flex;align-items:center;gap:6px} +.tab:hover{color:var(--text)}.tab.active{color:var(--primary);border-bottom-color:var(--primary)} +.tab.done::after{content:'✓';color:var(--mid);font-weight:800} +.run-card{background:var(--white);border:1.5px solid var(--border);border-radius:14px;padding:26px;text-align:center;max-width:520px;margin:8px auto 14px} +.run-ic{font-size:32px;margin-bottom:12px}.run-t{font-family:'Montserrat';font-weight:800;font-size:18px;margin-bottom:8px} +.run-d{font-size:14px;color:var(--muted);line-height:1.5;margin-bottom:18px} +.run-btn{padding:11px 22px;border-radius:10px;background:linear-gradient(135deg,var(--dark),var(--primary));color:#fff;border:none;cursor:pointer;font-weight:700;font-size:14px;font-family:'Inter'} +.cpbar{background:var(--white);border:1.5px solid var(--border);border-radius:12px;padding:13px 16px;display:flex;align-items:center;gap:12px;margin-top:18px} +.cpbar.appr{background:#F0FDF4;border-color:rgba(16,185,129,.3)} +.cpbar-t{flex:1;font-size:13px;font-weight:600} +.cp-btn{padding:8px 16px;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer;border:none;font-family:'Inter'} +.cp-a{background:var(--primary);color:#fff}.cp-r{background:transparent;border:1px solid var(--border);color:var(--muted)} +.blk{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:14px;margin-bottom:10px} +.blk-pain{font-size:12px;color:#92400e;padding-left:14px;position:relative;margin-bottom:3px;line-height:1.4}.blk-pain::before{content:'•';position:absolute;left:3px;color:#f59e0b} +.canvas-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-auto-rows:minmax(80px,auto);gap:8px} +.cv{background:var(--white);border:1px solid var(--border);border-radius:10px;padding:10px} +.cv-h{font-size:10px;font-weight:700;text-transform:uppercase;color:var(--primary);margin-bottom:5px;display:flex;justify-content:space-between}.cv-h span{color:#9ca3af} +.cv li{font-size:11px;color:#374151;line-height:1.3;list-style:none;padding-left:9px;position:relative;margin-bottom:2px}.cv li::before{content:'';position:absolute;left:2px;top:6px;width:3px;height:3px;border-radius:50%;background:var(--mid)} +.cv.vp{grid-column:3;grid-row:span 2;border-color:var(--primary)}.cv.kp{grid-row:span 2}.cv.cs{grid-column:5;grid-row:span 2} +.cv-ins{grid-column:1/-1;background:var(--ink);color:#fff;border-radius:10px;padding:13px 16px;font-size:13px;line-height:1.5}.cv-ins b{color:var(--mid)} +.idef-lbl{font-size:11px;font-weight:700;text-transform:uppercase;color:#9ca3af;margin:14px 0 8px} +.idef{margin-bottom:12px}.idef-c,.idef-m{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;padding:4px 0} .idef-c{border-bottom:2px dashed #cbd5e1}.idef-m{border-top:2px dashed #cbd5e1} .idef-mid{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:stretch} -.idef-i,.idef-o{display:flex;flex-direction:column;gap:4px;justify-content:center;max-width:140px} -.idef-fn{background:var(--white);border:2px solid var(--primary);border-radius:10px;padding:11px 9px;text-align:center;font-size:12.5px;font-weight:700;color:var(--dark);display:flex;flex-direction:column;gap:3px;justify-content:center} -.idef-fn b{font-size:10px;color:var(--primary);font-family:'Montserrat'} -.idef-fn i{font-style:normal;font-size:10px;font-weight:700} -.ar{font-size:10px;line-height:1.3;padding:3px 7px;border-radius:6px;background:#F1F5F9;color:#475569} -.ar em{font-style:normal;color:#94a3b8;font-size:9px;margin-left:2px} +.idef-i,.idef-o{display:flex;flex-direction:column;gap:4px;justify-content:center;max-width:130px} +.idef-fn{background:var(--white);border:2px solid var(--primary);border-radius:10px;padding:10px 9px;text-align:center;font-size:12px;font-weight:700;color:var(--dark);display:flex;flex-direction:column;gap:3px;justify-content:center} +.idef-fn b{font-size:10px;color:var(--primary);font-family:'Montserrat'}.idef-fn i{font-style:normal;font-size:10px;font-weight:700} +.ar{font-size:10px;padding:3px 7px;border-radius:6px;background:#F1F5F9;color:#475569} .idef-c .ar{background:#FEF3C7;color:#92400E}.idef-c .ar.nomiss{background:#FEF2F2;color:#DC2626;border:1px dashed #FECACA} -.idef-i .ar{background:#EFF6FF;color:#1E40AF}.idef-o .ar{background:#ECFDF5;color:#047857}.idef-o .ar.dead{background:#FEF2F2;color:#DC2626} -.idef-m .ar{background:#F5F3FF;color:#6D28D9} -/* Spec */ -.spec-sec{margin-bottom:24px} -.spec-h{font-family:'Montserrat';font-weight:800;font-size:16px;color:var(--ink);margin-bottom:12px;display:flex;align-items:center;gap:8px} -.spec-h .pl{width:24px;height:24px;border-radius:7px;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800} -.mod{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:10px} -.mod-top{display:flex;align-items:center;gap:8px;margin-bottom:8px} -.mod-name{font-size:14px;font-weight:700;color:var(--text)} +.idef-i .ar{background:#EFF6FF;color:#1E40AF}.idef-o .ar{background:#ECFDF5;color:#047857}.idef-o .ar.dead{background:#FEF2F2;color:#DC2626}.idef-m .ar{background:#F5F3FF;color:#6D28D9} +.spec-h{font-family:'Montserrat';font-weight:800;font-size:15px;margin:16px 0 10px;display:flex;align-items:center;gap:8px}.spec-h .pl{width:22px;height:22px;border-radius:6px;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800} +.mod{background:var(--white);border:1px solid var(--border);border-radius:11px;padding:14px;margin-bottom:9px} .mod-node{font-size:10px;font-weight:700;color:var(--primary);background:var(--light);padding:2px 7px;border-radius:5px} -.mod-screens{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0} -.scr{font-size:11px;background:#EFF6FF;color:#1E40AF;border:1px solid #BFDBFE;border-radius:6px;padding:3px 9px} -.mod-data{font-size:12px;color:#374151;line-height:1.4;margin-top:4px} -.ent{background:var(--white);border:1px solid var(--border);border-radius:11px;padding:14px;margin-bottom:8px} -.ent-name{font-size:13px;font-weight:700;color:var(--text);margin-bottom:8px;font-family:'Montserrat'} -.ent-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:5px;margin-bottom:8px} -.fld{font-size:11px;background:var(--bg);border-radius:6px;padding:4px 8px} -.fld b{color:var(--text)}.fld em{font-style:normal;color:#6366F1;font-size:10px} -.ent-ex{font-size:10.5px;color:#6b7280;font-family:monospace;background:var(--bg);border-radius:6px;padding:6px 9px;line-height:1.4} -.chat-mini{max-width:760px} -.cm{display:flex;gap:9px;margin-bottom:12px;align-items:flex-end} -.cm.out{flex-direction:row-reverse} -.cm-av{width:28px;height:28px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;color:#fff} -.cm-av.e{background:var(--primary)}.cm-av.u{background:#6366F1} -.cm-b{padding:10px 14px;border-radius:14px;font-size:13px;line-height:1.5;white-space:pre-wrap;max-width:78%} -.cm-b.in{background:var(--white);border:1px solid var(--border);border-bottom-left-radius:4px} -.cm-b.out{background:var(--primary);color:#fff;border-bottom-right-radius:4px} +.scr{font-size:11px;background:#EFF6FF;color:#1E40AF;border:1px solid #BFDBFE;border-radius:6px;padding:3px 8px;display:inline-block;margin:3px 3px 0 0} +.ent{background:var(--white);border:1px solid var(--border);border-radius:10px;padding:12px;margin-bottom:7px} +.ent-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:5px;margin-bottom:7px} +.fld{font-size:11px;background:var(--bg);border-radius:5px;padding:4px 7px}.fld em{font-style:normal;color:#6366F1;font-size:10px} +.ent-ex{font-size:10px;color:#6b7280;font-family:monospace;background:var(--bg);border-radius:5px;padding:6px 8px} .spin{display:inline-block;animation:sp 1s linear infinite}@keyframes sp{to{transform:rotate(360deg)}} -::-webkit-scrollbar{width:6px}::-webkit-scrollbar-thumb{background:rgba(0,0,0,.12);border-radius:4px} +.empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#cbd5e1;gap:10px;height:100%} +::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:rgba(0,0,0,.12);border-radius:4px} -
-
@
-
wasrusgen1КОНСАЛТИНГ
-
CRM КОНСУЛЬТАНТА
-
Руслан
-
+
@
wasrusgen1КОНСАЛТИНГ
CRM
Руслан
-
-
📋
Выберите проект слева
или создайте новый
-
+