/* HK Dashboard — metrics editor, widgets board, picker modal, AI chat view */
  /* ===== metrics (definition) view ===== */
  .mx-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}
  .mx-head h2{font-size:20px;color:var(--navy);font-weight:600;display:flex;align-items:center;gap:8px}
  .mx-head h2 span{color:var(--muted);font-size:15px}
  .mx-add{margin-inline-start:auto;width:42px;height:42px;border-radius:50%;background:var(--blue);color:#fff;
    border:none;cursor:pointer;font-size:24px;display:flex;align-items:center;justify-content:center;
    box-shadow:0 4px 12px rgba(57,171,226,.3);flex:0 0 auto}
  .mx-add:hover{background:#2f9ad0}
  .mx-days{font-size:14px;color:var(--navy);margin-bottom:20px;display:flex;align-items:center;gap:8px}
  .mx-days svg{color:var(--blue)}
  .mx-days input{width:58px;border:1px solid var(--line);border-radius:8px;padding:6px 8px;
    font-family:inherit;font-size:14px;font-weight:600;color:var(--navy);text-align:center}
  .mx-days input:focus{outline:none;border-color:var(--blue)}

  .mcards{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
  @media(max-width:1050px){.mcards{grid-template-columns:1fr}}
  .mcard{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:18px 20px}
  .mc-head{display:flex;align-items:center;gap:12px;margin-bottom:26px}
  .mc-title{font-size:15px;font-weight:600;color:var(--navy);flex:1;min-width:0;display:flex;align-items:center;gap:8px}
  .mc-title svg{color:var(--blue);flex:0 0 auto}
  .mc-name{outline:none;border-radius:6px;padding:1px 3px}
  .mc-name:focus{background:var(--blue-bg)}
  .mc-val{display:flex;align-items:center;gap:4px;flex:0 0 auto}
  .mc-val input{width:96px;border:1px solid var(--line);border-radius:8px;padding:6px 9px;
    font-family:inherit;font-size:15px;font-weight:700;color:var(--navy);text-align:left}
  .mc-val input:focus{outline:none;border-color:var(--blue);background:var(--blue-bg)}
  .mc-val .cur{font-size:13px;color:var(--muted)}
  .mc-act{display:flex;gap:9px;color:var(--muted);flex:0 0 auto}
  .mc-act svg{cursor:pointer;transition:.12s}
  .mc-act svg:hover{color:var(--coral)}
  .mcard .mc-head{margin-bottom:14px}
  .mc-cur{font-size:15px;font-weight:700;color:var(--navy);flex:0 0 auto;direction:ltr;white-space:nowrap}
  .mc-cur.bad{color:var(--coral-deep)}
  .mc-alert{display:flex;align-items:center;gap:12px;background:var(--bg);border:1px solid var(--line);border-radius:11px;padding:11px 14px}
  .mc-alert.off{opacity:.55}
  .mc-tog{position:relative;flex:0 0 auto;width:38px;height:22px;cursor:pointer}
  .mc-tog input{position:absolute;opacity:0;width:0;height:0}
  .mc-tog span{position:absolute;inset:0;background:#d5dde6;border-radius:20px;transition:.18s}
  .mc-tog span::after{content:"";position:absolute;top:2px;inset-inline-start:2px;width:18px;height:18px;background:#fff;border-radius:50%;transition:.18s;box-shadow:0 1px 2px rgba(0,0,0,.2)}
  .mc-tog input:checked+span{background:var(--green)}
  .mc-tog input:checked+span::after{inset-inline-start:18px}
  .mc-arow{flex:1;min-width:0;display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:13px;color:var(--muted)}
  .mc-albl{font-weight:600;color:var(--navy);background:#fff;border:1px solid var(--line);border-radius:20px;padding:3px 10px;font-size:11px}
  .mc-th{width:64px;font-family:inherit;font-size:13px;font-weight:600;color:var(--navy);text-align:center;border:1px solid var(--line);border-radius:8px;padding:5px 6px;background:#fff}
  .mc-th:focus{outline:none;border-color:var(--blue)}
  .mc-type{margin-inline-start:auto;font-family:inherit;font-size:12px;color:var(--navy);border:1px solid var(--line);border-radius:8px;padding:5px 8px;background:#fff;cursor:pointer}

  .mc-bar{height:12px;border-radius:20px;background:#deeef8;position:relative;margin-bottom:22px;direction:ltr}
  .mc-fill{height:100%;border-radius:20px;background:var(--blue);transition:width .3s}
  .mc-bubble{position:absolute;top:-25px;transform:translateX(-50%);background:var(--navy);color:#fff;
    font-size:11px;padding:2px 8px;border-radius:6px;white-space:nowrap;font-weight:500}
  .mc-bubble::after{content:"";position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);
    border:4px solid transparent;border-top-color:var(--navy);border-bottom:none}

  /* ===== metric cards v2 — 3 kinds + bell-driven alerts ===== */
  .mcard2{display:flex;flex-direction:column;gap:10px;padding:16px 18px}
  .mc2-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
  .mkind{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;border-radius:999px;padding:3px 11px}
  .mkind.manual{background:var(--blue-bg);color:#1668a0}
  .mkind.calc{background:#f0edfb;color:#6b4fd6}
  .mkind.cats{background:var(--green-bg);color:var(--green)}
  .mkind.auto{background:#f1f4f7;color:var(--muted)}
  .mbell{position:relative;width:30px;height:30px;border-radius:9px;border:1px solid var(--line);background:#fff;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.12s;padding:0}
  .mbell:hover{color:var(--navy);border-color:var(--blue)}
  .mbell.on{color:var(--blue);border-color:var(--blue);background:var(--blue-bg)}
  .mbell.del:hover{color:var(--coral);border-color:var(--coral)}
  .mbell-dot{position:absolute;top:-3px;inset-inline-end:-3px;width:9px;height:9px;border-radius:50%;background:var(--coral-ink);border:2px solid #fff}
  .mc2-name{font-size:15px;font-weight:600;color:var(--navy);cursor:pointer}
  .mc2-name:hover{color:#1668a0}
  .mc2-val{font-size:24px;font-weight:700;color:var(--navy);line-height:1;display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
  .mc2-val.bad{color:var(--coral-deep)}
  .mc2-val.mut{color:var(--muted);font-weight:500}
  .mc2-sub{font-size:12px;color:var(--muted);font-weight:400}
  .mcard2 .mc-bar{margin-bottom:6px;margin-top:14px}
  .mc-fill.bad{background:var(--coral)}
  .mc2-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted);border-top:1px solid #f2f5f8;padding-top:10px;flex-wrap:wrap}
  .mc2-src{display:inline-flex;align-items:center;gap:6px}
  .mc2-src b{color:var(--navy)}
  .src-bz{font-size:10px;font-weight:700;color:var(--green);background:var(--green-bg);border-radius:20px;padding:1px 8px}
  .mc2-foot b{color:var(--navy)}
  /* ===== metric editor + alert config modals ===== */
  .mx-ov{position:fixed;inset:0;background:rgba(12,64,104,.45);backdrop-filter:blur(2px);display:none;align-items:center;justify-content:center;z-index:92;padding:20px}
  .mx-ov.show{display:flex}
  .mx2{background:#fff;border-radius:18px;box-shadow:var(--shadow-lg);width:520px;max-width:96vw;max-height:92vh;overflow-y:auto;padding:24px 26px;position:relative}
  .mx2.ac{width:430px}
  .mx2-x{position:absolute;inset-inline-end:16px;top:14px;background:none;border:none;font-size:15px;color:var(--muted);cursor:pointer}
  .mx2-title{font-size:18px;font-weight:600;color:var(--navy);margin-bottom:14px}
  .ac-name{font-size:13px;color:var(--muted);background:var(--bg);border-radius:9px;padding:8px 12px;margin-bottom:12px}
  .mx2-lbl{display:block;font-size:12.5px;font-weight:600;color:var(--navy);margin:13px 0 6px}
  .mx2-inp{width:100%;font-family:inherit;font-size:13.5px;color:var(--navy);border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff}
  .mx2-inp:focus{outline:none;border-color:var(--blue);background:var(--blue-bg)}
  textarea.mx2-inp{resize:vertical;min-height:64px;line-height:1.55}
  .mx2-row{display:flex;align-items:center;gap:10px}
  .mx2-radio{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;color:var(--navy);cursor:pointer;flex:0 0 auto}
  .mx2-radio input{accent-color:var(--blue);width:16px;height:16px}
  .mx2-tglrow{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0 4px;padding:11px 13px;background:var(--bg);border:1px solid var(--line);border-radius:11px}
  .mx2-note{font-size:11.5px;color:var(--muted);background:var(--blue-bg);border-radius:9px;padding:9px 12px;margin-top:12px;line-height:1.5}
  .mx2-err{font-size:11.5px;color:var(--red);margin-top:5px}
  .mx2-cats{border:1px solid var(--line);border-radius:11px;padding:8px 12px;max-height:220px;overflow-y:auto}
  .cat-grp+.cat-grp{border-top:1px solid #f2f5f8;margin-top:6px;padding-top:6px}
  .cat-row{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--ink);padding:7px 2px;cursor:pointer}
  .cat-row.grp{font-weight:700;color:var(--navy)}
  .cat-row input{accent-color:var(--blue);width:15px;height:15px}
  .cat-row:not(.grp){padding-inline-start:22px}
  .mx2-foot{display:flex;align-items:center;gap:10px;margin-top:20px}
  .mx2-btn{font-family:inherit;font-size:13.5px;font-weight:600;border-radius:999px;padding:9px 24px;cursor:pointer;border:1.5px solid var(--blue);background:#fff;color:var(--blue)}
  .mx2-btn.primary{background:var(--blue);color:#fff}
  .mx2-btn:hover{filter:brightness(.96)}
  .mx2-daily{margin-inline-start:auto;font-size:12px;color:var(--muted)}
  /* alert rules list (multiple alerts per metric) */
  .mx2.ac{width:600px}
  .ac-head,.ac-rule{display:grid;grid-template-columns:44px 118px 118px 74px 96px 34px;gap:8px;align-items:center}
  .ac-head{font-size:10.5px;font-weight:700;color:var(--muted);padding:0 2px 7px;border-bottom:1px solid var(--line)}
  .ac-rule{padding:9px 2px;border-bottom:1px solid #f2f5f8}
  .ac-rule.off>*:not(label){opacity:.45}
  .ac-rule .mx2-inp.s{padding:7px 8px;font-size:12.5px;border-radius:8px}
  .ac-rule .mx2-inp.th{text-align:center;font-weight:600}
  .mc-tog.sm{width:34px;height:20px}
  .mc-tog.sm span::after{width:16px;height:16px}
  .mc-tog.sm input:checked+span::after{inset-inline-start:16px}
  .ac-empty{padding:22px;text-align:center;font-size:12.5px;color:var(--muted)}
  .ac-add{display:block;width:100%;margin-top:10px;font-family:inherit;font-size:12.5px;font-weight:600;color:var(--blue);background:var(--blue-bg);border:1px dashed var(--blue);border-radius:10px;padding:9px;cursor:pointer}
  .mbell-dot.n{width:15px;height:15px;font-size:9.5px;font-weight:800;color:#fff;display:flex;align-items:center;justify-content:center;top:-5px;inset-inline-end:-5px}
  .mc-meta{display:flex;flex-direction:column;gap:0}
  .mc-mrow{display:flex;align-items:center;justify-content:space-between;font-size:13px;padding:11px 0}
  .mc-mrow+.mc-mrow{border-top:1px solid #f0f4f8}
  .mc-mrow .ml{color:var(--muted)}
  .mc-mrow .mv{color:var(--navy);font-weight:600}
  .mc-mrow select{font-family:inherit;font-size:13px;color:var(--navy);font-weight:600;
    border:1px solid var(--line);border-radius:8px;padding:5px 10px;background:#fff;cursor:pointer}
  .mc-mrow select:focus{outline:none;border-color:var(--blue)}

  /* ===== widgets board ===== */
  .wboard{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:8px;column-gap:18px}
  .wframe{position:relative;min-height:120px;grid-column:span 2;grid-row-end:span 60}
  .wframe.sm{grid-column:span 1}
  .wframe.xl{grid-column:1/-1}
  /* rows mode (portfolio) — ordered pairs, natural row heights, no masonry holes */
  .wboard.rows{grid-auto-rows:auto;row-gap:18px;align-items:start}
  #wboardTop{margin-bottom:18px}   /* שורת ה-KPI שמעל כרטיסי הלקוח */
  .wboard.rows .wframe{grid-row-end:auto;min-height:0}
  @media(max-width:1250px){.wboard{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:900px){.wboard{grid-template-columns:1fr}.wframe,.wframe.sm{grid-column:1/-1}}
  .wframe iframe{width:100%;border:0;display:block;background:transparent}
  .wframe.loading::before{content:"טוען ווידג'ט…";position:absolute;inset:0;display:flex;
    align-items:center;justify-content:center;color:var(--muted);font-size:13px;
    background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
  .wf-tools{position:absolute;top:14px;inset-inline-start:14px;z-index:3;display:none;gap:6px}
  .wboard.editing .wf-tools{display:flex}
  .wboard.editing .wframe{outline:1.5px dashed #cdd8e3;outline-offset:3px;border-radius:12px}
  .wf-btn{background:#fff;border:1px solid var(--line);color:var(--muted);width:28px;height:28px;
    border-radius:8px;cursor:pointer;font-size:13px;box-shadow:var(--shadow);line-height:1;
    display:flex;align-items:center;justify-content:center;padding:0}
  .wf-grip{cursor:grab}
  .wf-grip:active{cursor:grabbing}
  .wf-grip:hover{color:var(--navy);border-color:var(--blue)}
  .wf-x:hover{color:var(--coral);border-color:var(--coral)}
  .wframe.drag-src{opacity:.35}
  .wframe.drop-before::before,.wframe.drop-after::after{content:"";position:absolute;
    inset-inline:0;height:3px;background:var(--blue);border-radius:2px;z-index:4}
  .wframe.drop-before::before{top:-10px}
  .wframe.drop-after::after{bottom:-10px}
  body.dragging .wframe iframe{pointer-events:none}
  body.dragging{cursor:grabbing;user-select:none}
  .wb-empty{padding:56px 20px;text-align:center;color:var(--muted);font-size:14px;
    border:1px dashed var(--line);border-radius:14px;background:#fff}

  /* ===== picker modal ===== */
  .pk-ov{position:fixed;inset:0;background:rgba(12,64,104,.42);backdrop-filter:blur(2px);
    opacity:0;pointer-events:none;transition:.2s;z-index:80}
  .pk-ov.show{opacity:1;pointer-events:auto}
  .pk{position:fixed;top:50%;left:50%;transform:translate(-50%,-46%);width:740px;max-width:94vw;max-height:86vh;
    background:#fff;border-radius:16px;box-shadow:var(--shadow-lg);z-index:81;display:flex;flex-direction:column;
    opacity:0;pointer-events:none;transition:.2s}
  .pk.show{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)}
  .pk-head{display:flex;align-items:center;gap:12px;padding:18px 22px;border-bottom:1px solid var(--line)}
  .pk-title{font-size:18px;font-weight:600;color:var(--navy)}
  .pk-title span{color:var(--muted);font-weight:400;font-size:14px}
  .pk .x{margin-inline-start:auto;background:var(--bg);border:1px solid var(--line);color:var(--muted);
    width:32px;height:32px;border-radius:9px;cursor:pointer;font-size:16px}
  .pk .x:hover{color:var(--navy);border-color:var(--blue)}
  .pk-search{padding:14px 22px 4px}
  .pk-search input{width:100%;border:1px solid var(--line);border-radius:11px;padding:10px 14px;
    font-family:inherit;font-size:14px;outline:none}
  .pk-search input:focus{border-color:var(--blue)}
  .pk-grid{padding:14px 22px 22px;overflow-y:auto;display:grid;
    grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
  .pkcard{border:1.5px solid var(--line);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:9px;transition:.15s}
  .pkcard:hover{border-color:var(--blue);box-shadow:0 6px 20px rgba(57,171,226,.12)}
  .pkcard.added{border-color:var(--blue);background:var(--blue-bg)}
  .pkcard-cat{font-size:11px;font-weight:500;color:var(--blue);background:#fff;border:1px solid #d4ecfb;
    padding:2px 9px;border-radius:10px;width:fit-content}
  .pkcard-title{font-size:15px;font-weight:600;color:var(--navy)}
  .pkcard-desc{font-size:12px;color:var(--muted);line-height:1.5;flex:1}
  .pkcard-btn{border:1px solid var(--blue);background:#fff;color:var(--blue);font-family:inherit;
    font-weight:600;font-size:13px;border-radius:9px;padding:8px;cursor:pointer;transition:.12s}
  .pkcard-btn:hover{background:var(--blue-bg)}
  .pkcard.added .pkcard-btn{background:var(--blue);color:#fff;border-color:var(--blue)}

  /* pinned portfolio row in rail */
  .rail-portfolio{margin:0 10px 8px;display:flex;align-items:center;gap:10px;padding:10px;border-radius:11px;
    cursor:pointer;border:1px solid #d4ecfb;background:#f4fbfe}
  .rail-portfolio:hover{background:var(--blue-bg)}
  .rail-portfolio.on{background:var(--navy);border-color:var(--navy)}
  .rp-ico{width:30px;height:30px;border-radius:9px;background:#e6f1fb;color:var(--navy);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
  .rail-portfolio.on .rp-ico{background:rgba(255,255,255,.2);color:#fff}
  .rail-portfolio.on .cn,.rail-portfolio.on .cs{color:#fff}
  .rail-portfolio.on .cs{opacity:.8}
  .rail-portfolio .cn{font-size:13.5px;font-weight:600;color:var(--navy)}
  .rail-portfolio .cs{font-size:11px;color:var(--muted)}
  .shell.collapsed .rail-portfolio .ci{display:none}
  .shell.collapsed .rail-portfolio{justify-content:center;margin:0 8px 8px;padding:10px 0}

  /* placeholder view */
  .placeholder{background:#fff;border:1px dashed var(--line);border-radius:14px;padding:60px 20px;
    text-align:center;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:14px}
  .placeholder svg{opacity:.4}
  .placeholder .pt{font-size:15px;color:var(--navy);font-weight:600}

  /* ===== AI chat view ===== */
  .chat{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);
    display:flex;flex-direction:column;height:calc(100vh - 215px);min-height:460px;overflow:hidden}
  .chat-body{flex:1;overflow-y:auto;padding:22px 26px;display:flex;flex-direction:column;gap:22px}
  .cmsg{max-width:82%}
  .cmsg.bot{align-self:flex-start}
  .cmsg.user{align-self:flex-end}
  .think{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);
    cursor:pointer;user-select:none;padding:2px 0}
  .think svg{opacity:.55}
  .think .chev{transition:.2s}
  .think.open .chev{transform:rotate(180deg)}
  .think-content{font-size:12.5px;color:var(--muted);background:var(--bg);border:1px solid var(--line);
    border-radius:10px;padding:11px 13px;margin:6px 0 10px;line-height:1.65;max-width:520px;display:none}
  .think.open + .think-content{display:block}
  .bot-text{font-size:14.5px;color:var(--navy);line-height:1.75}
  .bot-text .greet{color:var(--blue);font-weight:500}
  .bot-text b{color:var(--navy);font-weight:600}
  .user-bubble{background:var(--blue-bg);color:var(--navy);border:1px solid #d4ecfb;
    border-radius:16px;padding:12px 18px;font-size:14.5px;line-height:1.6}
  .cmsg-time{font-size:11px;color:var(--muted);margin-top:7px;display:flex;align-items:center;gap:6px}
  .cmsg.user .cmsg-time{justify-content:flex-end}
  .cmsg-time svg{opacity:.5}
  .chat-input{display:flex;align-items:center;gap:12px;padding:14px 18px;border-top:1px solid var(--line);background:#fbfdff}
  .chat-input input{flex:1;border:1px solid var(--line);border-radius:24px;padding:12px 18px;
    font-family:inherit;font-size:14px;outline:none;background:#fff}
  .chat-input input:focus{border-color:var(--blue)}
  .chat-send{width:46px;height:46px;border-radius:50%;background:var(--blue);color:#fff;border:none;
    cursor:pointer;flex:0 0 auto;display:flex;align-items:center;justify-content:center}
  .chat-send:hover{background:#2f9ad0}


  /* confirm dialog + undo toast */
  .mx2.cf{width:400px}
  .cf-msg{font-size:13.5px;color:var(--ink);line-height:1.6;margin-top:4px}
  .mx2-btn.danger{background:var(--red);border-color:var(--red);color:#fff}
  .toast-undo{font-family:inherit;font-size:12px;font-weight:700;color:#fff;background:rgba(255,255,255,.22);border:none;border-radius:999px;padding:3px 13px;cursor:pointer;margin-inline-start:10px}
  .toast-undo:hover{background:rgba(255,255,255,.34)}

  /* month picker (working) + hover-reveal card actions */
  .mx-month{font-family:inherit;font-size:15px;font-weight:600;color:var(--navy);border:1px solid var(--line);border-radius:10px;padding:7px 12px;background:#fff;cursor:pointer}
  .mx-month:focus{outline:none;border-color:var(--blue)}
  .mcard2 .mbell.rev{opacity:0}
  .mcard2:hover .mbell.rev,.mcard2 .mbell.rev:focus-visible{opacity:1}
