  :root{
    --paper:#f7f5f0;--paper-2:#fbfaf7;--card:#ffffff;
    --ink:#1c1d1a;--ink-soft:#5c5e58;--ink-faint:#9a9b94;
    --line:#e6e3da;--line-soft:#efece4;
    --teal:#1f6f6b;--teal-soft:#e7f0ef;--teal-fill:#1f6f6b;
    --amber:#bd8334;--amber-soft:#f6ecdc;
    --rose:#b1554f;--rose-soft:#f5e3e0;
    --violet:#7a5ea8;--violet-soft:#f0ebf7;
    --green:#3c8a4c;--green-soft:#e3f3e5;
    --mention:#2563eb;
    --radius:14px;
    --shadow:0 1px 2px rgba(28,29,26,.04), 0 4px 16px rgba(28,29,26,.05);
    --shadow-lift:0 6px 28px rgba(28,29,26,.12);
    color-scheme:light;
  }
  /* ── Dark mode: muutujate ülekirjutus (süsteem vaikimisi + käsitsi data-theme) ──
     color-scheme annab brauserile teada, et natiivsed juhtelemendid (select'i rippmenüü,
     kuupäevavalija, checkbox jms) tuleb renderdada tumedas toonis — muidu jäävad need
     autori CSS-ist sõltumata alati heledaks ja tekst muutub neis loetamatuks. */
  :root[data-theme='dark']{
    --paper:#16191c;--paper-2:#1c2024;--card:#21262c;
    --ink:#e9ebe6;--ink-soft:#b3b8b0;--ink-faint:#969b93;
    --line:#2d333a;--line-soft:#262c32;
    --teal:#34a79d;--teal-soft:#0e2a27;--teal-fill:#17756d;
    --amber:#d09a4a;--amber-soft:#2c2616;
    --rose:#d2746c;--rose-soft:#311e1c;
    --violet:#a98fd6;--violet-soft:#2a2440;
    --green:#5cb670;--green-soft:#1b2e1f;
    --mention:#7fb3ff;
    --shadow:0 1px 2px rgba(0,0,0,.4),0 4px 16px rgba(0,0,0,.45);
    --shadow-lift:0 8px 30px rgba(0,0,0,.6);
    color-scheme:dark;
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme='light']){
      --paper:#16191c;--paper-2:#1c2024;--card:#21262c;
      --ink:#e9ebe6;--ink-soft:#b3b8b0;--ink-faint:#969b93;
      --line:#2d333a;--line-soft:#262c32;
      --teal:#34a79d;--teal-soft:#0e2a27;--teal-fill:#17756d;
      --amber:#d09a4a;--amber-soft:#2c2616;
      --rose:#d2746c;--rose-soft:#311e1c;
      --violet:#a98fd6;--violet-soft:#2a2440;
      --green:#5cb670;--green-soft:#1b2e1f;
      --mention:#7fb3ff;
      --shadow:0 1px 2px rgba(0,0,0,.4),0 4px 16px rgba(0,0,0,.45);
      --shadow-lift:0 8px 30px rgba(0,0,0,.6);
      color-scheme:dark;
    }
  }
  /* Avatari-initsiaalid — väike tekstivari loetavuse jaoks (valge tekst keskheledatel värvidel) */
  .av,.txm-av,.ch-ic.dm,.deal-owner,.rh-ava,.seen-av,.reg-chbadge,.txp,.txf-trow-h .av,.cd-header-row .ava{text-shadow:0 1px 2px rgba(0,0,0,.4)}
  *{box-sizing:border-box;margin:0;padding:0}
  html,body{height:100%}
  body{font-family:'Hanken Grotesk',sans-serif;background:var(--paper);color:var(--ink);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;display:flex;height:100vh;overflow:hidden}
  ::selection{background:var(--teal-fill);color:#fff}

  /* Sidebar */
  .sidebar{width:236px;flex-shrink:0;background:var(--paper-2);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:22px 16px;overflow:hidden}
  .brand{display:flex;align-items:center;gap:10px;padding:4px 8px 22px}
  .brand .mark{width:30px;height:30px;border-radius:9px;background:var(--teal-fill);color:#fff;display:grid;place-items:center;font-family:'Instrument Serif',serif;font-size:20px;box-shadow:var(--shadow)}
  .brand .name{font-family:'Instrument Serif',serif;font-size:23px;letter-spacing:.2px;line-height:1}
  .brand .sub{font-size:11px;color:var(--ink-faint);letter-spacing:.4px;text-transform:uppercase;margin-top:1px}
  .nav{display:flex;flex-direction:column;gap:2px;margin-top:6px;flex:1 1 auto;min-height:0;overflow-y:auto}
  .nav-label{font-size:10.5px;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-faint);padding:14px 10px 6px}
  .nav a{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:9px;color:var(--ink-soft);text-decoration:none;font-weight:500;cursor:pointer;transition:background .15s,color .15s}
  .nav a svg{width:17px;height:17px;stroke-width:1.7;flex-shrink:0}
  .nav a:hover{background:var(--line-soft);color:var(--ink)}
  .nav a.active{background:var(--teal-fill);color:#fff;box-shadow:var(--shadow)}
  .nav a .count{margin-left:auto;font-size:11px;background:rgba(0,0,0,.06);padding:1px 7px;border-radius:20px;font-weight:600}
  .nav a.active .count{background:rgba(255,255,255,.22)}
  .nav a .count.count-alert,.nav a.active .count.count-alert{background:var(--rose);color:#fff}
  .team-box{margin-top:18px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--card);flex-shrink:0}
  .team-box #teamList{max-height:24vh;overflow-y:auto}
  .team-box .tt{font-size:10.5px;letter-spacing:1px;text-transform:uppercase;color:var(--ink-faint);margin-bottom:9px}
  .team-row{display:flex;align-items:center;gap:9px;padding:4px 0;font-size:12.5px;color:var(--ink-soft)}
  .team-row .dotc{width:9px;height:9px;border-radius:50%}
  .user{margin-top:12px;flex-shrink:0;display:flex;align-items:center;gap:10px;padding:10px;border-radius:11px;border:1px solid var(--line);background:var(--card)}
  .avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:13px;overflow:hidden}
  .avatar img{width:100%;height:100%;object-fit:cover}
  .user .meta{line-height:1.2;overflow:hidden}
  .user .meta b{font-size:13px;font-weight:600;display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
  .user .meta span{font-size:11px;color:var(--ink-faint)}

  .nav-collapse{margin-top:10px;flex-shrink:0;display:flex;align-items:center;gap:8px;justify-content:center;padding:8px;border-radius:9px;border:1px solid var(--line);background:transparent;color:var(--ink-faint);font-family:inherit;font-size:12px;cursor:pointer;transition:.15s}
  .nav-collapse:hover{background:var(--line-soft);color:var(--ink)}
  .nav-collapse svg{width:15px;height:15px;stroke-width:2;transition:transform .2s}
  @media(max-width:760px){.nav-collapse{display:none}}
  /* Kitsas menüü: ainult ikoonid (desktop) */
  @media(min-width:761px){
    body.nav-mini .sidebar{width:66px;padding:22px 10px}
    body.nav-mini .brand{justify-content:center;padding:4px 0 18px}
    body.nav-mini .brand>div:not(.mark){display:none}
    body.nav-mini .nav-label{display:none}
    body.nav-mini .nav a{justify-content:center;padding:10px 0;gap:0;font-size:0}
    body.nav-mini .nav a svg{width:19px;height:19px}
    body.nav-mini .nav a .count{display:none}
    body.nav-mini .team-box{display:none}
    body.nav-mini .user{justify-content:center;padding:8px 4px}
    body.nav-mini .user .meta{display:none}
    body.nav-mini .nav-collapse svg{transform:rotate(180deg)}
    body.nav-mini .nav-collapse span{display:none}
  }

  /* Main */
  .main{flex:1;display:flex;flex-direction:column;overflow:hidden}
  /* min-height + flex-wrap (mitte fikseeritud height+nowrap): kui aken on kitsam kui kogu sisu vajab (nt Electroni
     lauarakendus, mis pole brauseriga sama laiusega), murduvad nupud teisele reale selle asemel, et akna servast välja jääda */
  .topbar{min-height:54px;flex-shrink:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;padding:8px 26px;border-bottom:1px solid var(--line);background:var(--paper-2)}
  .topbar h1{font-family:'Instrument Serif',serif;font-size:23px;font-weight:400;letter-spacing:.2px}
  .search{margin-left:auto;display:flex;align-items:center;gap:9px;background:var(--card);border:1px solid var(--line);padding:8px 14px;border-radius:10px;width:186px;color:var(--ink-faint)}
  .search svg{width:15px;height:15px;stroke-width:1.8}
  .search input{border:0;outline:0;background:transparent;font-family:inherit;font-size:13px;color:var(--ink);width:100%}
  .gs-clear{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:0;background:transparent;color:var(--ink-faint);cursor:pointer;flex-shrink:0}
  .gs-clear:hover{color:var(--ink)}
  .gs-clear svg{width:13px;height:13px;stroke-width:2.4}
  .gs-clear.hidden{display:none}
  .btn{display:inline-flex;align-items:center;gap:7px;background:var(--teal-fill);color:#fff;border:0;cursor:pointer;font-family:inherit;font-weight:600;font-size:13px;padding:9px 15px;border-radius:10px;box-shadow:var(--shadow);transition:transform .12s, filter .15s}
  .btn:hover{filter:brightness(1.07)}
  .btn:active{transform:translateY(1px)}
  .btn svg{width:15px;height:15px;stroke-width:2}
  .btn.ghost{background:var(--card);color:var(--ink);border:1px solid var(--line);box-shadow:none}
  .btn:disabled{opacity:.5;cursor:default;filter:none}
  .view{flex:1;overflow:auto;padding:26px 30px 40px}
  #view-meetings{padding-top:0}
  body.view-meetings-active .topbar{border-bottom-color:transparent}
  .view::-webkit-scrollbar{height:11px;width:11px}
  .view::-webkit-scrollbar-thumb{background:#dcd8cd;border-radius:20px;border:3px solid var(--paper)}
  .hidden{display:none !important}

  /* metrics */
  .metrics{display:flex;gap:14px;margin-bottom:24px;flex-wrap:wrap}
  .metric{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:15px 18px;min-width:158px;box-shadow:var(--shadow)}
  .metric .k{font-size:11px;letter-spacing:.4px;text-transform:uppercase;color:var(--ink-faint)}
  .metric .v{font-family:'Instrument Serif',serif;font-size:30px;line-height:1.1;margin-top:4px}
  .metric .v small{font-size:15px;color:var(--ink-faint)}
  .metric .d{font-size:12px;color:var(--teal);font-weight:600;margin-top:2px}

  /* Kanban */
  .board{display:flex;gap:16px;align-items:stretch;min-height:0}
  .col{width:262px;flex-shrink:0;display:flex;flex-direction:column}
  .col-head{display:flex;align-items:center;gap:8px;padding:0 12px 12px 18px;position:relative}
  .col-head .dot{width:8px;height:8px;border-radius:50%;background:var(--teal-fill);flex-shrink:0}
  .col-head h3{font-size:12.5px;font-weight:700;letter-spacing:.2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex-shrink:1}
  .col-head .sum{font-size:11px;color:var(--ink-faint);background:var(--line-soft);padding:1px 8px;border-radius:20px;font-weight:600;flex-shrink:0}
  .col-body{display:flex;flex-direction:column;gap:10px;min-height:120px;flex:1;padding:4px;border-radius:12px}
  .col.drop .col-body{background:var(--teal-soft);outline:1.5px dashed var(--teal)}
  .deal{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:13px 14px;box-shadow:var(--shadow);cursor:grab;transition:box-shadow .15s, transform .15s, border-color .15s;position:relative;overflow:hidden}
  .deal:hover{box-shadow:var(--shadow-lift);border-color:#d8d4c8;transform:translateY(-1px)}
  .deal.dragging{opacity:.4}
  .deal .title{font-weight:600;font-size:13.5px;line-height:1.3;margin-bottom:2mm;padding-right:18px}
  .deal .org{display:flex;align-items:center;gap:7px;color:var(--ink-soft);font-size:12px;margin-bottom:11px}
  .deal .org .ic{width:21px;height:21px;border-radius:6px;background:var(--teal-soft);color:var(--teal);display:grid;place-items:center;font-weight:700;font-size:10px;flex-shrink:0}
  .deal .foot{display:flex;align-items:center;justify-content:space-between;padding-top:2mm;border-top:1px solid var(--line-soft)}
  .deal .val{font-weight:700;font-size:12px;white-space:nowrap;flex-shrink:0}
  .deal .val.zero{color:var(--ink-faint);font-weight:500}
  .deal.touch-green{background:var(--teal-soft);border-color:var(--teal)}
  .deal.touch-orange{background:var(--amber-soft);border-color:var(--amber)}
  .deal.touch-red{background:var(--rose-soft);border-color:var(--rose)}
  .deal-touch-sep{display:inline-block;width:1px;height:12px;background:var(--ink-faint);vertical-align:middle;opacity:.5;flex-shrink:0}
  .deal-touch{font-size:11px;font-weight:600;color:var(--ink-faint);white-space:nowrap}
  .deal-touch.red{color:var(--rose)}
  .deal .del-deal{position:absolute;top:8px;right:8px;width:20px;height:20px;border-radius:6px;border:0;background:transparent;cursor:pointer;color:var(--ink-faint);opacity:0;display:grid;place-items:center;transition:.15s}
  .deal:hover .del-deal{opacity:1}
  .deal .del-deal:hover{color:var(--rose)}
  .deal .del-deal svg{width:13px;height:13px;stroke-width:2}
  .tag{font-size:10.5px;font-weight:600;padding:2px 8px;border-radius:20px;display:inline-flex;align-items:center;gap:4px}
  .tag.due{background:var(--rose-soft);color:var(--rose)}
  .tag.ok{background:var(--teal-soft);color:var(--teal)}
  .tag.soon{background:var(--amber-soft);color:var(--amber)}
  .col-x{position:absolute;top:-4px;right:6px;width:20px;height:20px;border-radius:6px;border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);cursor:pointer;display:grid;place-items:center;color:var(--ink-faint);opacity:0;transition:.15s;z-index:2}
  .col:hover .col-x{opacity:1}
  .col-x:hover{border-color:var(--rose);color:var(--rose)}
  .col-x svg{width:12px;height:12px;stroke-width:2.2}
  .add-deal{display:flex;align-items:center;gap:7px;padding:9px;border:1.5px dashed var(--line);border-radius:10px;color:var(--ink-faint);cursor:pointer;font-size:12.5px;font-weight:600;justify-content:center;transition:.15s}
  .add-deal:hover{border-color:var(--teal);color:var(--teal);background:var(--teal-soft)}
  .add-deal svg{width:13px;height:13px;stroke-width:2.4}
  .add-stage{width:50px;flex-shrink:0;border:1.6px dashed var(--line);border-radius:12px;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ink-faint);min-height:160px;transition:.15s;font-family:inherit}
  .add-stage:hover{border-color:var(--teal);color:var(--teal);background:var(--teal-soft)}
  .add-stage svg{width:20px;height:20px;stroke-width:2}

  /* Contacts grid */
  .contacts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}
  .contact{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:2mm 18px 2mm;box-shadow:var(--shadow);transition:box-shadow .15s,transform .15s;cursor:pointer;overflow:hidden}
  .contact:hover{box-shadow:var(--shadow-lift);transform:translateY(-1px)}
  .contact .row1{display:flex;align-items:center;gap:12px;margin-bottom:3mm}
  .contact .ava{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-family:'Instrument Serif',serif;font-size:15px;flex-shrink:0}
  .contact .ct-namewrap{flex:1;min-width:0}
  .contact h3{font-size:15px;font-weight:600;line-height:1.2}
  .contact .role{font-size:12px;color:var(--ink-faint)}
  /* Kiirkustutuse nupu ümbris paremas ülanurgas; align-self hoiab selle üleval, kuigi .row1 ise tsentreerib
     avatari ja nime omavahel (vt align-items:center ülal) */
  .contact .ct-side{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0;align-self:flex-start}
  /* Kiirkustutuse ✕ — vaikimisi peidus, ilmub kaardi hoverimisel (samamoodi nagu tehingukaardi del-deal) */
  .contact .del-contact{width:16px;height:16px;padding:0;border:0;border-radius:5px;background:transparent;cursor:pointer;color:var(--ink-faint);opacity:0;display:grid;place-items:center;transition:.15s}
  .contact:hover .del-contact{opacity:1}
  .contact .del-contact:hover{color:var(--rose)}
  .contact .del-contact svg{width:12px;height:12px;stroke-width:2}
  .contact .info{display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:var(--ink-soft);min-width:0}
  /* flex-wrap+overflow-wrap: kui "+N veel" avab pikema e-posti/telefoni loetelu, murdub see uuele reale
     kaardi sees, mitte ei uju üle kaardi piiri naaberkaardi peale (vt multiValueFieldHtml/wireMultiValueMore) */
  .contact .info div{display:flex;align-items:center;gap:3mm;flex-wrap:wrap;row-gap:2px;overflow-wrap:anywhere;min-width:0}
  .contact .info svg{width:14px;height:14px;stroke-width:1.7;color:var(--ink-faint);flex-shrink:0}
  .contact .pills{display:flex;gap:6px;margin-top:1mm;padding-top:1mm;border-top:1px solid var(--line-soft);flex-wrap:wrap}
  .pill{font-size:11px;font-weight:600;padding:3px 9px;border-radius:8px;background:var(--line-soft);color:var(--ink-soft)}

  /* Contact detail */
  .back-btn{display:inline-flex;align-items:center;gap:7px;background:none;border:0;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;color:var(--ink-soft);margin-bottom:18px;padding:4px 0}
  .back-btn:hover{color:var(--teal)}
  .back-btn svg{width:16px;height:16px;stroke-width:2}
  #cdContent,#ddContent{max-width:none}
  .sc-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
  .sc-head h4{margin:0}
  .sc-edit{border:0;background:transparent;color:var(--teal);font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;padding:3px 8px;border-radius:6px}
  .sc-edit:hover{background:var(--teal-soft)}
  /* Kontakti vaate päis: ainult duplikaadi-märge (kui on); nimi ja tegevusnupud elavad topbar's */
  .cd-header-row{display:flex;align-items:center;gap:8px;margin-bottom:14px}
  .cd-tab-list-narrow{max-width:640px}
  .cd-deals-wide{max-width:900px}
  .cd-deals-table{width:100%;border-collapse:collapse}
  .cd-deals-table th{text-align:left;font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:var(--ink-faint);font-weight:700;padding:0 10px 8px;border-bottom:1px solid var(--line)}
  .cd-deals-table td{padding:11px 10px;border-bottom:1px solid var(--line);font-size:13.5px;vertical-align:middle}
  .cd-deals-table th:nth-child(3),.cd-deals-table td:nth-child(3){padding-right:calc(10px + 3mm)}
  .cd-deals-table tr:last-child td{border-bottom:0}
  .cd-deals-table tr.clickable{cursor:pointer}
  .cd-deals-table tr.clickable:hover td{background:var(--line-soft)}
  .cd-deals-table .deal-owner{margin-right:8px}
  .cd-deal-add-row td{padding:8px 10px}
  .cd-deal-add-btn,.cd-task-add-btn{display:inline-flex;align-items:center;gap:6px;border:0;background:var(--teal-soft);color:var(--teal);font-family:inherit;font-weight:600;font-size:12.5px;padding:8px 14px;border-radius:8px;cursor:pointer}
  .cd-deal-add-btn svg,.cd-task-add-btn svg{width:14px;height:14px;stroke-width:2.2}
  .cd-task-add-wrap{display:flex;justify-content:flex-end;margin-top:10px}
  .cd-deal-add-wrap{display:flex;align-items:center}
  .cd-deal-add-wrap .cd-deal-add-btn{margin-left:auto}
  .cd-kontakt-grid{display:flex;gap:16px;align-items:flex-start}
  .cd-kontakt-grid > .side-card,.cd-kontakt-grid > .cd-kontakt-right{flex:1;min-width:0}
  .cd-kontakt-right{display:flex;flex-direction:column;gap:16px}
  .cd-hr{height:1px;background:var(--line);margin:14px 0}
  .cd-note-add{display:flex;gap:8px;margin-bottom:14px}
  .cd-note-add input{flex:1;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-family:inherit;font-size:13px;color:var(--ink);background:var(--paper)}
  .cd-note-add input:focus{outline:none;border-color:var(--teal)}
  .cd-note-add .btn{flex-shrink:0;padding:8px 14px}
  .cd-note-item{display:flex;align-items:center;gap:16px;padding:9px 0;border-bottom:1px solid var(--line-soft)}
  .cd-note-item:last-child{border-bottom:0}
  .cd-note-text{flex:1;min-width:0;font-size:13px;color:var(--ink);line-height:1.5}
  .cd-note-text::before{content:"•";margin-right:7px;color:var(--ink-faint)}
  .cd-note-meta{flex-shrink:0;display:flex;align-items:center;gap:6px;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:4px 8px;font-size:10.5px;color:var(--ink-faint);white-space:nowrap}
  .cd-note-del{flex-shrink:0;margin-left:auto;border:0;background:transparent;color:var(--rose);cursor:pointer;font-size:16px;line-height:1;padding:0 2px}
  .cd-note-del:hover{opacity:.7}
  .cd-note-del:hover{color:var(--rose)}
  #cdAttach .att-add{background:var(--teal-soft);color:var(--teal);border-color:transparent}
  .next-step{background:linear-gradient(110deg,#15514e,#1f6f6b);color:#fff;border-radius:var(--radius);padding:16px 20px;margin-bottom:24px;display:flex;align-items:center;gap:15px;box-shadow:var(--shadow)}
  .next-step .ic{width:38px;height:38px;border-radius:11px;background:rgba(255,255,255,.16);display:grid;place-items:center;flex-shrink:0}
  .next-step .ic svg{width:19px;height:19px;stroke-width:2}
  .next-step .ns-label{font-size:11px;letter-spacing:.6px;text-transform:uppercase;opacity:.8}
  .next-step .ns-text{font-size:15px;font-weight:600;margin-top:2px}
  .next-step .ns-text em{font-style:normal;opacity:.85;font-weight:500}
  .next-step .ns-when{margin-left:auto;text-align:right;flex-shrink:0}
  .next-step .ns-when b{font-family:'Instrument Serif',serif;font-size:18px;font-weight:400;display:block}
  .next-step .ns-when span{font-size:11px;opacity:.8}
  .feed-sub{font-size:12.5px;color:var(--ink-faint);margin-bottom:18px}
  .feed{position:relative;padding-left:6px}
  .feed::before{content:"";position:absolute;left:19px;top:8px;bottom:8px;width:2px;background:var(--line)}
  .fitem{display:grid;grid-template-columns:40px 1fr;gap:14px;margin-bottom:18px;position:relative}
  .fitem .fico{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:var(--card);border:1px solid var(--line);z-index:1;flex-shrink:0}
  .fitem .fico svg{width:17px;height:17px;stroke-width:1.8}
  .fico.email{color:var(--teal)} .fico.call{color:var(--amber)} .fico.meet{color:var(--violet)} .fico.note{color:var(--ink-faint)} .fico.stage{color:#37b07a} .fico.task{color:#bd8334}
  .fcard{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:13px 16px;box-shadow:var(--shadow)}
  .fcard .fc-top{display:flex;align-items:center;gap:9px;margin-bottom:5px;flex-wrap:wrap}
  .fcard .fc-type{font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--ink-soft)}
  .fc-dir-icon{width:22px;height:14px;vertical-align:-3px;stroke-width:1.7}
  .fc-dir-icon.fc-dir-in{color:var(--teal)}
  .fc-dir-icon.fc-dir-out{width:26px;color:#3a7ca5}
  .fc-dir-icon.fc-dir-sched{color:var(--amber)}
  .fcard .who-chip{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;color:var(--ink-soft)}
  .fcard .who-chip .av{width:17px;height:17px;border-radius:50%;display:grid;place-items:center;font-size:8.5px;font-weight:700;color:#fff}
  .fcard .fc-time{font-size:11.5px;color:var(--ink-faint)}
  .fcard .auto-badge{margin-left:auto}
  .fc-del{margin-left:auto;flex-shrink:0;border:none;background:transparent;color:var(--ink-faint);cursor:pointer;font-size:13px;padding:2px 5px;border-radius:5px}
  .fc-del:hover{color:var(--rose);background:var(--paper-2)}
  .fcard .fc-body{font-size:13px;color:var(--ink);line-height:1.45}
  .fcard .fc-body .subj{font-weight:600}
  .fcard .fc-snip{font-size:12.5px;color:var(--ink-soft);margin-top:3px;line-height:1.45}
  .fc-snip-clamp{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis}
  .fc-expand{display:block;margin-top:6px;border:0;background:transparent;color:var(--teal);font-size:12px;font-weight:600;cursor:pointer;padding:0;font-family:inherit}
  .fc-expand:hover{text-decoration:underline}
  .auto-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;background:var(--teal-soft);color:var(--teal);padding:2px 7px;border-radius:6px}
  .auto-badge svg{width:11px;height:11px;stroke-width:2.4}
  .auto-badge.sched-badge{background:var(--amber-soft);color:var(--amber);text-transform:none;letter-spacing:0}
  /* Tehingu vaate „Tehing" vahekaart: etapp/tüüp/vastutaja vasakul, klient+organisatsioon paremal */
  .dd-deal-tab{display:flex;gap:16px;align-items:flex-start}
  .dd-deal-tab-l{flex:1;min-width:0;display:flex;flex-direction:column;gap:16px}
  .dd-deal-tab-r{flex:1;min-width:0;display:flex;flex-direction:column;gap:16px}
  .side-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow)}
  .side-card h4{font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:var(--ink-faint);margin-bottom:12px}
  .cd-tabs{margin-top:14px}
  .side-card .field{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink-soft);padding:5px 0}
  .side-card .field svg{width:15px;height:15px;stroke-width:1.7;color:var(--ink-faint);flex-shrink:0}
  .phone-more{border:0;background:none;padding:0;margin-left:6px;font-size:11.5px;font-weight:600;color:var(--teal);cursor:pointer}
  .mv-fit{display:inline}
  .side-deal{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line-soft)}
  .side-deal:last-child{border-bottom:0}
  .side-deal .sd-stage{width:8px;height:8px;border-radius:50%;background:var(--teal-fill);flex-shrink:0}
  .side-deal .sd-name{font-size:13px;font-weight:500;flex:1;line-height:1.25}
  .side-deal .sd-meta{font-size:11px;color:var(--ink-faint)}
  .side-deal .sd-val{font-size:12.5px;font-weight:700;color:var(--ink)}
  .side-task{display:flex;align-items:flex-start;gap:9px;padding:7px 0;font-size:12.5px}
  .side-task .tb{width:15px;height:15px;border-radius:5px;border:1.6px solid var(--line);flex-shrink:0;margin-top:1px}
  .side-task.done .tb{background:var(--teal-fill);border-color:var(--teal)}
  .side-task.done span{text-decoration:line-through;color:var(--ink-faint)}
  .involved .av{width:28px;height:28px;border-radius:50%;display:inline-grid;place-items:center;font-size:10px;font-weight:700;color:#fff;border:2px solid var(--card);margin-left:-6px}
  .involved .av:first-child{margin-left:0}

  /* Tasks */
  .tasks-toolbar{display:flex;align-items:center;gap:14px;margin-bottom:18px;flex-wrap:wrap}
  .filter-chips{display:flex;flex-wrap:wrap;gap:7px;align-items:center;max-width:100%}
  .chip{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:20px;border:1px solid var(--line);background:var(--card);font-size:12.5px;font-weight:600;color:var(--ink-soft);cursor:pointer;transition:.15s}
  .chip .av{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:9px;font-weight:700;color:#fff}
  .chip:hover{border-color:#d3cfc3}
  .chip.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
  .chip.all.on{background:var(--teal-fill);border-color:var(--teal);color:#fff}
  .tasks-wrap{display:grid;grid-template-columns:1fr 1fr;gap:20px}
  .task-col{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:visible}
  .task-col .head{padding:16px 20px;border-bottom:1px solid var(--line-soft);display:flex;align-items:center;gap:10px}
  .task-col .head .ic{width:26px;height:26px;border-radius:8px;display:grid;place-items:center}
  .task-col .head h3{font-family:'Instrument Serif',serif;font-size:19px;font-weight:400}
  .task-col .head .n{margin-left:auto;font-size:12px;color:var(--ink-faint);font-weight:600}
  .task-list{padding:8px}
  .task{display:flex;align-items:flex-start;gap:11px;padding:12px;border-radius:11px;transition:background .12s;border-left:3px solid transparent}
  .task:hover{background:var(--paper)}
  .task:hover .task-actions{opacity:1}
  .task .box{width:21px;height:21px;border-radius:7px;border:2px solid var(--line);flex-shrink:0;margin-top:0;cursor:pointer;transition:.15s;display:grid;place-items:center}
  .task .box svg{width:13px;height:13px;stroke-width:3;color:#fff;opacity:0}
  .task.done .box{background:var(--teal-fill);border-color:var(--teal)}
  .task.done .box svg{opacity:1}
  .task.done .t-main{color:var(--ink-faint);text-decoration:line-through}
  .task .t-body{flex:1;min-width:0}
  .task .t-main{font-size:13.5px;font-weight:500}
  .task .t-meta{display:flex;align-items:center;gap:8px;margin-top:7px;flex-wrap:wrap}
  .due-tag{font-size:11px;font-weight:600;color:var(--ink-faint);display:inline-flex;align-items:center;gap:5px}
  .due-tag svg{width:12px;height:12px;stroke-width:2}
  .due-tag.urgent{color:var(--rose)}
  .due-tag.sched{color:var(--teal)}
  .assignee{position:relative}
  .assignee-btn{display:inline-flex;align-items:center;gap:6px;padding:3px 9px 3px 4px;border-radius:20px;border:1px solid var(--line);background:var(--paper-2);cursor:pointer;font-size:11.5px;font-weight:600;color:var(--ink-soft);transition:.15s}
  .assignee-btn:hover{border-color:var(--teal);color:var(--teal)}
  .assignee-btn .av{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:9px;font-weight:700;color:#fff}
  .assignee-btn .car{width:9px;height:9px;stroke-width:2.4;opacity:.5}
  .assignee-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:30;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lift);padding:6px;min-width:172px;display:none}
  .assignee-menu.open{display:block;animation:pop .12s ease}
  @keyframes pop{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
  .assignee-menu .mlabel{font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:var(--ink-faint);padding:6px 8px 4px}
  .assignee-menu .opt{display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500}
  .assignee-menu .opt:hover{background:var(--paper)}
  .assignee-menu .opt .av{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:700;color:#fff}
  .assignee-menu .opt .chk{margin-left:auto;width:14px;height:14px;stroke-width:3;color:var(--teal);opacity:0}
  .assignee-menu .opt.sel .chk{opacity:1}
  .task-actions{margin-left:auto;display:flex;gap:5px;opacity:0;transition:opacity .15s}
  .icon-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:8px;border:1px solid var(--line);background:var(--card);cursor:pointer;font-size:11px;font-weight:600;color:var(--ink-soft);transition:.15s}
  .icon-btn svg{width:13px;height:13px;stroke-width:1.9}
  .icon-btn.cal:hover{background:var(--teal-fill);color:#fff;border-color:var(--teal)}
  .task-add{display:flex;align-items:center;gap:10px;padding:11px 12px;color:var(--ink-faint);cursor:pointer;border-radius:10px;font-size:13px}
  .task-add:hover{background:var(--paper);color:var(--teal)}
  .task-add .plus{width:18px;height:18px;border-radius:6px;border:1.8px dashed var(--line);display:grid;place-items:center}
  .task-add .plus svg{width:11px;height:11px;stroke-width:2.4}
  .section-title{font-family:'Instrument Serif',serif;font-size:21px;font-weight:400;margin-bottom:16px;display:flex;align-items:baseline;gap:10px}
  .section-title span{font-size:13px;color:var(--ink-faint);font-family:'Hanken Grotesk'}

  /* AI sources */
  .ai-sources{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:18px}
  .ai-sources .lbl{font-size:12px;color:var(--ink-faint);font-weight:600}
  .src-chip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:var(--ink-soft);background:var(--card);border:1px solid var(--line);padding:5px 11px;border-radius:20px}
  .src-chip svg{width:13px;height:13px;stroke-width:1.9;color:var(--teal)}
  .src-chip .on-dot{width:7px;height:7px;border-radius:50%;background:#37b07a}

  /* editable controls */
  .tl-card .tc-edit{position:absolute;top:10px;right:10px;display:flex;gap:4px;opacity:0;transition:.15s}
  .tl-card:hover .tc-edit{opacity:1}
  .mini-btn{width:24px;height:24px;border-radius:7px;border:1px solid var(--line);background:var(--card);cursor:pointer;display:grid;place-items:center;color:var(--ink-faint);transition:.15s}
  .mini-btn svg{width:13px;height:13px;stroke-width:2}
  .mini-btn:hover{border-color:var(--teal);color:var(--teal)}
  .mini-btn.del:hover{border-color:var(--rose);color:var(--rose)}
  [contenteditable]{outline:none;border-radius:5px;transition:background .12s,box-shadow .12s;cursor:text}
  [contenteditable]:hover{background:var(--line-soft)}
  [contenteditable]:focus{background:var(--card);box-shadow:0 0 0 2px var(--teal)} /* teemapõhine — #fff tegi tumedas heleda-helel */
  .tl-block.drag-handle .tl-card{cursor:grab}
  .tl-block.dragging{opacity:.4}
  .add-block{display:inline-flex;align-items:center;gap:8px;margin:6px 0 0 72px;padding:9px 14px;border:1.6px dashed var(--line);border-radius:10px;background:transparent;color:var(--ink-faint);cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;transition:.15s}
  .add-block:hover{border-color:var(--teal);color:var(--teal);background:var(--teal-soft)}
  .add-block svg{width:14px;height:14px;stroke-width:2.4}

  /* AI day plan */
  .ai-banner{display:flex;align-items:center;gap:16px;background:linear-gradient(110deg,#15514e,#1f6f6b);color:#fff;border-radius:var(--radius);padding:18px 22px;margin-bottom:22px;box-shadow:var(--shadow);position:relative;overflow:hidden}
  .ai-banner::after{content:"";position:absolute;right:-40px;top:-40px;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.06)}
  .ai-banner .spark{width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.16);display:grid;place-items:center;flex-shrink:0}
  .ai-banner .spark svg{width:22px;height:22px;stroke-width:1.8}
  .ai-banner .bt{flex:1}
  .ai-banner .bt b{font-family:'Instrument Serif',serif;font-size:20px;font-weight:400;display:block;line-height:1.15}
  .ai-banner .bt span{font-size:12.5px;opacity:.82}
  .ai-banner .gen{background:#fff;color:var(--teal-fill);border:0;cursor:pointer;font-family:inherit;font-weight:700;font-size:13px;padding:11px 18px;border-radius:10px;display:inline-flex;align-items:center;gap:8px;z-index:1;transition:transform .12s}
  .ai-banner .gen:hover{transform:translateY(-1px)}
  .ai-banner .gen svg{width:15px;height:15px;stroke-width:2.2}
  .ai-banner .gen.loading{pointer-events:none;opacity:.7}
  .ai-meta{font-size:12px;color:var(--ink-faint);margin-bottom:16px;display:flex;align-items:center;gap:7px}
  .ai-meta svg{width:13px;height:13px;stroke-width:2;color:var(--teal)}
  .timeline{max-width:760px;position:relative;padding-left:8px}
  .timeline::before{content:"";position:absolute;left:62px;top:6px;bottom:0;width:2px;background:var(--line)}
  .tl-block{display:grid;grid-template-columns:54px minmax(0,1fr);gap:18px;margin-bottom:14px;position:relative;opacity:0;transform:translateY(8px);animation:rise .4s ease forwards}
  @keyframes rise{to{opacity:1;transform:none}}
  .tl-time{text-align:right;font-size:12px;font-weight:700;color:var(--ink-soft);padding-top:14px}
  .tl-time small{display:block;font-size:10px;font-weight:500;color:var(--ink-faint)}
  .tl-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:13px 16px;box-shadow:var(--shadow);border-left:4px solid var(--teal);position:relative}
  .tl-card::before{content:"";position:absolute;left:-26px;top:18px;width:11px;height:11px;border-radius:50%;background:var(--card);border:3px solid var(--teal)}
  .tl-card.task{border-left-color:var(--amber)}
  .tl-card.task::before{border-color:var(--amber)}
  .tl-card.brk{border-left-color:var(--ink-faint);background:var(--paper-2)}
  .tl-card.brk::before{border-color:var(--ink-faint)}
  .tl-card .tc-head{display:flex;align-items:center;gap:9px;margin-bottom:3px}
  .tl-card .tc-head .typ{font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;padding:2px 7px;border-radius:6px}
  .typ.meet{background:var(--teal-soft);color:var(--teal)}
  .typ.task{background:var(--amber-soft);color:var(--amber)}
  .typ.brk{background:var(--line-soft);color:var(--ink-faint)}
  .tl-card h4{font-size:14px;font-weight:600;line-height:1.3;padding-right:28px}
  .tl-card .tc-sub{font-size:12px;color:var(--ink-faint);margin-top:5px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
  .tl-card .who-chip{display:inline-flex;align-items:center;gap:5px;font-weight:600;color:var(--ink-soft)}
  .tl-card .who-chip .av{width:16px;height:16px;border-radius:50%;display:grid;place-items:center;font-size:8px;font-weight:700;color:#fff}
  .skeleton{background:linear-gradient(90deg,var(--line-soft) 25%,#f3f0e8 50%,var(--line-soft) 75%);background-size:200% 100%;animation:shimmer 1.2s infinite;border-radius:12px;height:70px;margin-bottom:14px;margin-left:72px}
  @keyframes shimmer{to{background-position:-200% 0}}

  /* Calendar */
  .cal-controls-top .wk{font-family:'Instrument Serif',serif;font-size:16px;font-weight:700;white-space:nowrap}
  .cal-nav{display:flex;gap:4px}
  .cal-nav button{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:var(--card);cursor:pointer;display:grid;place-items:center;color:var(--ink-soft)}
  .cal-nav button:hover{border-color:var(--teal);color:var(--teal)}
  .cal-nav button svg{width:15px;height:15px;stroke-width:2}
  .cal-view-tog{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--card)}
  .cal-view-tog button{border:0;background:transparent;padding:7px 14px;font-family:inherit;font-size:12.5px;font-weight:600;cursor:pointer;color:var(--ink-soft)}
  .cal-view-tog button+button{border-left:1px solid var(--line)}
  .cal-view-tog button.on{background:var(--teal-fill);color:#fff}
  .cal-today{padding:7px 14px;font-size:12.5px}
  /* ── Kuuvaade (Google-laadne) ── */
  .cal-grid.month-mode{display:block;grid-template-columns:none;overflow:visible;background:transparent;border:0;box-shadow:none}
  .cm-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
  .cm-dow{background:var(--paper-2);text-align:center;padding:9px 4px;font-size:11px;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.03em}
  .cm-day{background:var(--card);min-height:112px;min-width:0;padding:5px 6px;cursor:pointer;display:flex;flex-direction:column;gap:2px;transition:background .12s}
  .cm-day:hover{background:var(--paper-2)}
  .cm-day.other{background:var(--paper-2);opacity:.45;cursor:default}
  .cm-day.other:hover{background:var(--paper-2)}
  .cm-num{font-size:12.5px;font-weight:600;color:var(--ink-soft);align-self:flex-start;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;margin-bottom:1px}
  .cm-day.today .cm-num{background:var(--teal-fill);color:#fff;font-weight:700}
  .cm-ev{font-size:11px;line-height:1.3;padding:2px 5px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;color:var(--ink)}
  /* Kindla kellaajaga sündmus — värviline punkt + kellaaeg + pealkiri (Google-laadne) */
  .cm-ev.timed{display:flex;align-items:center;gap:5px;background:transparent;padding:1px 4px}
  .cm-ev.timed:hover{background:rgba(127,127,127,.13)}
  .cm-ev.timed .cm-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:var(--ec,#4285f4)}
  .cm-ev.timed .cm-et{font-weight:700;font-size:10px;color:var(--ink-soft);flex-shrink:0}
  .cm-ev.timed .cm-tt{overflow:hidden;text-overflow:ellipsis}
  /* Terve-päeva sündmus — täidetud värviline riba (ilma punktita) */
  .cm-ev.allday{font-weight:600;border:0;text-shadow:0 1px 1px rgba(0,0,0,.35)}
  .cm-ev.allday:hover{filter:brightness(.94)}
  .cm-more{font-size:10.5px;color:var(--ink-faint);font-weight:600;padding:1px 5px;cursor:pointer}
  .cm-more:hover{color:var(--teal)}
  .cal-grid{display:grid;grid-template-columns:54px repeat(7,1fr);background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
  .cal-col-h.weekend,.cm-dow.weekend{color:var(--rose)}
  .cal-cell.weekend,.cm-day.weekend{background:var(--paper-2)}
  .cal-grid .corner{border-bottom:1px solid var(--line-soft);border-right:1px solid var(--line-soft)}
  .cal-col-h{padding:11px 10px;text-align:center;border-bottom:1px solid var(--line-soft);border-right:1px solid var(--line-soft)}
  .cal-col-h .dname{font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:var(--ink-faint)}
  .cal-col-h .dnum{font-family:'Instrument Serif',serif;font-size:19px;margin-top:1px}
  .cal-col-h.today .dnum{color:var(--teal)}
  .cal-time{padding:7px 8px;text-align:right;font-size:10.5px;color:var(--ink-faint);border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
  .cal-cell{min-height:54px;border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);padding:3px;position:relative}
  .ev{border-radius:7px;padding:5px 7px;font-size:11px;font-weight:600;line-height:1.25;margin-bottom:3px;cursor:grab;border-left:3px solid}
  .ev.meet{background:var(--teal-soft);color:#15514e;border-color:var(--teal)}
  .ev.task{background:var(--amber-soft);color:#7d551c;border-color:var(--amber)}
  .ev .et{font-size:9.5px;font-weight:600;opacity:.7;display:block}
  .ev .who-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:4px;vertical-align:middle}

  /* toast */
  .toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%) translateY(20px);background:#20252b;color:#fff;padding:12px 18px;border-radius:12px;font-size:13px;font-weight:500;box-shadow:var(--shadow-lift);opacity:0;pointer-events:none;transition:.25s;z-index:100;display:flex;align-items:center;gap:9px}
  .toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
  .toast svg{width:16px;height:16px;stroke-width:2.2;color:#7fd6c7}

  /* notify-nudge — proaktiivne teavituste luba-küsimine, ei nõua Seadetesse minekut */
  .notify-nudge{position:fixed;right:20px;bottom:20px;z-index:410;width:300px;max-width:calc(100vw - 32px);background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lift);padding:16px 18px;animation:nn-in .25s ease}
  @keyframes nn-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
  .notify-nudge .nn-x{position:absolute;top:8px;right:8px;background:none;border:0;cursor:pointer;color:var(--ink-faint);font-size:13px;padding:4px;line-height:1}
  .notify-nudge .nn-x:hover{color:var(--ink)}
  .notify-nudge .nn-head{display:flex;align-items:center;gap:8px;margin-bottom:6px;padding-right:16px}
  .notify-nudge .nn-emoji{font-size:18px}
  .notify-nudge .nn-title{font-weight:700;font-size:14px;color:var(--ink)}
  .notify-nudge .nn-sub{font-size:12.5px;color:var(--ink-soft);line-height:1.45;margin:0 0 12px}
  .notify-nudge .nn-acts{display:flex;gap:8px;justify-content:flex-end}
  .notify-nudge .nn-acts .btn{font-size:12.5px;padding:7px 12px}
  @media(max-width:760px){.notify-nudge{right:12px;left:12px;width:auto;bottom:calc(76px + env(safe-area-inset-bottom))}}

/* ---------- LOGIN ---------- */
.auth-screen{position:fixed;inset:0;display:grid;place-items:center;background:var(--paper);z-index:200}
.auth-card{width:380px;max-width:92vw;background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-lift);padding:34px 32px}
.auth-card .brand{justify-content:center;padding:0 0 8px}
.auth-card h2{font-family:'Instrument Serif',serif;font-size:25px;font-weight:400;text-align:center;margin-bottom:4px}
.auth-card .sub{text-align:center;color:var(--ink-faint);font-size:13px;margin-bottom:22px}
.auth-card label{display:block;font-size:12px;font-weight:600;color:var(--ink-soft);margin:12px 0 5px}
.auth-card input{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:10px;font-family:inherit;font-size:14px;outline:none;transition:.15s;background:var(--paper-2);color:var(--ink)}
.auth-card input:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-soft);background:var(--card)}
.auth-card .btn{width:100%;justify-content:center;margin-top:20px;padding:12px}
.auth-err{background:var(--rose-soft);color:var(--rose);font-size:12.5px;font-weight:600;padding:9px 12px;border-radius:9px;margin-top:14px;text-align:center;display:none}
.auth-err.show{display:block}
.auth-toggle{text-align:center;font-size:12.5px;color:var(--ink-faint);margin-top:16px}
.auth-toggle a{color:var(--teal);font-weight:600;cursor:pointer}
.auth-hint{text-align:center;font-size:11.5px;color:var(--ink-faint);margin-top:18px;line-height:1.5;border-top:1px solid var(--line-soft);padding-top:14px}

/* google connect bar */
.gbar{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin-bottom:18px;box-shadow:var(--shadow)}
.gbar .gi{width:34px;height:34px;border-radius:9px;background:var(--teal-soft);color:var(--teal);display:grid;place-items:center;flex-shrink:0}
.gbar .gi svg{width:18px;height:18px;stroke-width:1.8}
.gbar .gt{flex:1;font-size:13px}
.gbar .gt b{display:block;font-weight:600}
.gbar .gt span{color:var(--ink-faint);font-size:12px}
.gbar .gbtn{background:var(--teal-fill);color:#fff;border:0;border-radius:9px;padding:8px 14px;font-family:inherit;font-weight:600;font-size:12.5px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.gbar .gbtn.ghost{background:var(--card);color:var(--ink-soft);border:1px solid var(--line)}
.logout-link{cursor:pointer}
.empty{color:var(--ink-faint);font-size:13px;padding:30px;text-align:center}
.board-empty{width:100%;padding:48px 20px}
.board-empty .btn{margin-top:14px}

/* ---------- CALL MODULE ---------- */
.call-build{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 16px;box-shadow:var(--shadow)}
.call-build select{font-family:inherit;font-size:13px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--paper-2);color:var(--ink)}
.call-build select.invalid{border-color:var(--rose);box-shadow:0 0 0 2px var(--rose-soft)}
.call-build .field-err{font-size:12px;color:var(--rose);font-weight:600}
.call-build .prog{margin-left:auto;font-size:13px;color:var(--ink-soft);font-weight:600}
.call-card{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:13px 16px;box-shadow:var(--shadow);margin-bottom:10px;border-left:4px solid var(--teal)}
.call-card.done{opacity:.55;border-left-color:var(--ink-faint)}
.call-card.callback{border-left-color:var(--amber)}
.call-card .ci{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;font-family:'Instrument Serif',serif;font-size:20px;flex-shrink:0;background:var(--teal-soft);color:var(--teal)}
.call-card .cmeta{flex:1;min-width:0}
.call-card .cname{font-weight:600;font-size:14px;cursor:pointer}
.call-card .cname:hover{color:var(--teal)}
.call-card .csub{font-size:12px;color:var(--ink-faint);margin-top:2px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.call-card .cphone{font-size:16px;font-weight:700;color:var(--teal);text-decoration:none;white-space:nowrap;margin-right:6px}
.call-card .cact{display:flex;gap:6px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;max-width:320px}
.spec-pill{font-size:11px;font-weight:600;padding:2px 8px;border-radius:7px;background:var(--teal-soft);color:var(--teal)}
.cbtn{display:inline-flex;align-items:center;gap:5px;padding:7px 11px;border-radius:9px;border:1px solid var(--line);background:var(--card);cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;color:var(--ink-soft);transition:.15s}
.cbtn svg{width:13px;height:13px;stroke-width:2}
.cbtn.ok:hover{background:var(--teal-fill);color:#fff;border-color:var(--teal)}
.cbtn.no:hover{background:var(--rose);color:#fff;border-color:var(--rose)}
.cbtn.later:hover{background:var(--amber);color:#fff;border-color:var(--amber)}
.cbtn:hover{border-color:var(--teal);color:var(--teal)}
.cbtn.rm:hover{border-color:var(--rose);color:var(--rose)}
.nc-dup-warn{margin:0 0 16px;padding:11px 13px;background:var(--amber-soft);border:1px solid var(--amber);border-radius:12px}
.ncw-head{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;color:var(--amber);margin-bottom:7px}
.ncw-head svg{width:16px;height:16px;flex-shrink:0}
.ncw-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:1px solid var(--line-soft);background:var(--card);border-radius:9px;padding:8px 11px;margin-top:5px;cursor:pointer;font-family:inherit}
.ncw-item:hover{background:var(--paper);border-color:var(--line)}
.ncw-nm{display:flex;flex-direction:column;min-width:0}
.ncw-nm b{font-size:13px;color:var(--ink)}
.ncw-nm small{font-size:11.5px;color:var(--ink-soft)}
.ncw-open{margin-left:auto;color:var(--teal);font-weight:700;font-size:12.5px;flex-shrink:0}

.mark .logomark{width:18px;height:18px}
.auth-card .mark .logomark{width:18px;height:18px}

/* ---------- INTEGRATIONS ---------- */
.integ-block{padding:14px 0;border-bottom:1px solid var(--line-soft)}
.integ-block:last-child{border-bottom:0}
.integ-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.integ-head b{font-size:13.5px}
.integ-head .stat{font-size:11px;font-weight:700;padding:2px 9px;border-radius:20px}
.integ-head .stat.on{background:var(--teal-soft);color:var(--teal)}
.integ-head .stat.off{background:var(--line-soft);color:var(--ink-faint)}
.integ-head a{margin-left:auto;font-size:11.5px;color:var(--teal);font-weight:600;text-decoration:none}
.integ-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:8px}
.integ-row input{flex:1;min-width:160px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:13px;background:var(--paper-2);color:var(--ink)}
.integ-row input:focus{border-color:var(--teal);outline:none;background:var(--card)}
.integ-hint{font-size:11.5px;color:var(--ink-faint);margin-bottom:8px;line-height:1.5}

/* ---------- CHAT (Discord) ---------- */
.chat-wrap{display:flex;flex-direction:column;height:calc(100vh - 190px);max-width:760px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.chat-msgs{flex:1;overflow-y:auto;padding:18px 20px;display:flex;flex-direction:column;gap:12px}
.chat-day-divider{display:flex;align-items:center;gap:12px;margin:6px 0;color:var(--ink-faint);font-size:11px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;align-self:stretch}
.chat-day-divider::before,.chat-day-divider::after{content:'';flex:1;height:1px;background:var(--line)}
.chat-msg{display:flex;flex-direction:column;max-width:100%;align-items:flex-start;align-self:flex-start}
.chat-msg.cont{margin-top:-8px} /* sama autori sama minuti järg — päiseta, tihedalt */
.chat-msg.has-rx{margin-bottom:10px} /* hõljuv reaktsioonimärk ulatub mulli alla — jäta ruumi, et see ei kattuks järgmise sõnumiga */
.chat-msg.mine{align-self:flex-end;align-items:flex-end}
.chat-msg .meta{font-size:11px;color:var(--ink-faint);margin-bottom:3px;display:flex;align-items:center;gap:6px}
.chat-msg .meta .src{font-size:9px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;padding:1px 6px;border-radius:6px}
.chat-msg .meta .src.discord{background:#e8e6f6;color:#5865F2}
.chat-msg .meta .src.crm{background:var(--teal-soft);color:var(--teal)}
.chat-msg .bubble{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:9px 13px;font-size:13.5px;line-height:1.45;word-break:break-word}
.chat-msg.mine .bubble{background:var(--teal-fill);color:#fff;border-color:var(--teal)}
/* Teksti valik rohelises mullis: muidu teal-teal peal nähtamatu */
.chat-msg.mine .bubble::selection,.chat-msg.mine .bubble *::selection{background:#fff;color:var(--teal-fill)}
.asst-msg.user .asst-bubble::selection,.asst-msg.user .asst-bubble *::selection{background:#fff;color:var(--teal-fill)}
.bubble a{color:var(--teal);text-decoration:underline;word-break:break-all}
.chat-msg.mine .bubble a{color:#fff;font-weight:600}
.chat-mention{color:var(--mention);font-weight:700}
.chat-msg.mine .bubble .chat-mention{color:#bfe3ff}
mark.search-hl{background:#ffe066;color:#3d2e00;padding:0 1px;border-radius:2px}
.chat-mention.me{background:var(--amber-soft);color:#8a5a1e;border-radius:5px;padding:0 3px}
.chat-msg.mine .bubble .chat-mention.me{background:rgba(255,255,255,.28);color:#3d2a06}
.bubble ul,.bubble ol{margin:4px 0 4px 22px;padding:0}
.bubble li{margin:1px 0}
.chat-fmt-pop{position:absolute;z-index:9999;display:flex;align-items:center;gap:1px;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.16);padding:4px}
.chat-input{display:flex;gap:10px;padding:14px 16px;border-top:1px solid var(--line-soft);background:var(--paper-2);align-items:flex-end}
.chat-input.drag-over{background:var(--teal-soft);outline:1.5px dashed var(--teal);outline-offset:-4px}
.chat-input input{flex:1;padding:11px 14px;border:1px solid var(--line);border-radius:10px;font-family:inherit;font-size:14px;outline:none;background:var(--card);color:var(--ink)}
.chat-input input:focus{border-color:var(--teal)}
.chat-text-rich{flex:1;padding:11px 14px;border:1px solid var(--line);border-radius:10px;font-family:inherit;font-size:14px;outline:none;background:var(--card);color:var(--ink);line-height:1.45;min-height:44px;max-height:140px;overflow-y:auto;word-break:break-word}
.chat-text-rich:focus{border-color:var(--teal)}
.chat-text-rich:empty:before{content:attr(data-ph);color:var(--ink-faint);pointer-events:none}
.chat-text-rich ul,.chat-text-rich ol{margin:4px 0 4px 22px;padding:0}
.chat-text-rich li{margin:1px 0}
.msg-edited{font-size:10.5px;color:var(--ink-faint);font-style:italic}
.msg-edit-box{position:relative;min-width:240px}
.msg-edit{width:100%;min-height:38px;max-height:140px;border-color:var(--teal);padding-right:66px}
.msg-edit-acts{position:absolute;top:-11px;right:4px;display:flex;gap:4px;z-index:2}
.msg-edit-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--ink-soft);cursor:pointer;box-shadow:var(--shadow)}
.msg-edit-btn svg{width:13px;height:13px}
.msg-edit-btn.save{background:var(--teal);border-color:var(--teal);color:#fff}
.chat-msgs.msgs-editing{justify-content:flex-end}
.chat-empty{margin:auto;text-align:center;color:var(--ink-faint);font-size:13px;max-width:380px;line-height:1.6}
/* Vanema kirjavahetuse juurdelaadimine — istub sõnumite kohal, kaob ära kui algus on käes */
.chat-older{align-self:center;flex-shrink:0;margin:2px 0 10px;padding:7px 16px;border:1px solid var(--line);border-radius:20px;background:var(--card);color:var(--teal);font-family:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:.15s}
.chat-older:hover{background:var(--teal-soft);border-color:var(--teal)}
.chat-older:disabled{opacity:.6;cursor:default}
#view-chat{padding-top:12px}
.chat-shell{display:flex;gap:16px;height:calc(100vh - 136px)}
.chat-side{width:240px;flex-shrink:0;display:flex;flex-direction:column;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px;overflow:hidden}
.chat-chans{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:3px}
.chat-chan{display:flex;align-items:center;gap:10px;padding:8px 9px;border:0;background:transparent;border-radius:10px;cursor:pointer;text-align:left;width:100%;transition:background .12s;position:relative}
.ch-dot-live{position:absolute;left:31px;top:26px;width:10px;height:10px;border-radius:50%;background:#33b871;border:2px solid var(--card);pointer-events:none}
.ch-live-txt{color:#2ca05f;font-weight:700}
.csh-live{color:#2ca05f;font-weight:700}
.chat-mytime{font-size:11px;color:var(--ink-faint);padding:10px 12px 6px;border-top:1px solid var(--line-soft);margin-top:8px}
.chat-chan:hover{background:var(--paper)}
/* Valitud vestlus — sama selge täidisega stiil mis vasakmenüü aktiivsel kirjel (.nav a.active), mitte pastelne
   --teal-soft, mis tumedas režiimis juba niigi tumeda külgriba taustaga praktiliselt ühte sulab. */
.chat-chan.on{background:var(--teal-fill);color:#fff}
.chat-chan.on .ch-name{color:#fff}
.chat-chan.on .ch-ic.team{box-shadow:0 0 0 2px rgba(255,255,255,.35)}
.chat-chan .ch-ic{width:30px;height:30px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;font-size:11px;font-weight:700;color:#fff}
.chat-chan .ch-ic.team{background:var(--teal-fill);font-size:15px}
.chat-chan .ch-ic.grp{background:var(--ink-soft)}
.chat-chan .ch-ic svg{width:15px;height:15px;stroke-width:2}
.chat-chan .ch-body{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}
.chat-chan .ch-name{font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-chan.has-unread .ch-name{font-weight:800;color:var(--ink)}
.ch-unread{background:var(--rose);color:#fff;font-size:10px;font-weight:700;padding:1px 6px;border-radius:20px;flex-shrink:0;min-width:16px;text-align:center;line-height:1.5}
.chat-notify{display:flex;align-items:center;gap:8px;padding:8px 6px;border-top:1px solid var(--line-soft);font-size:11.5px;color:var(--ink-soft);cursor:pointer;flex-shrink:0}
.chat-notify input{width:14px;height:14px;accent-color:var(--teal);cursor:pointer;margin:0;flex-shrink:0}
.chat-notify svg{width:14px;height:14px;stroke-width:1.8;color:var(--ink-faint)}
.chat-shell .chat-wrap{flex:1;max-width:none;height:auto}
.chat-head{display:flex;align-items:center;gap:11px;padding:13px 18px;border-bottom:1px solid var(--line-soft);background:var(--paper-2)}
.chat-head .ch-ic{width:34px;height:34px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;font-size:12px;font-weight:700;color:#fff}
.chat-head .ch-ic.team{background:var(--teal-fill);font-size:17px}
.chat-head .ch-ic.grp{background:var(--ink-soft)}
.chat-head .ch-ic svg{width:17px;height:17px;stroke-width:2}
.chat-head .ch-head-name{font-size:15px;font-weight:600}
.chat-head .ch-head-sub{font-size:11.5px;color:var(--ink-faint)}
.team-row .tr-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.team-row .tr-chat{opacity:0;width:24px;height:24px;border:0;background:transparent;border-radius:7px;cursor:pointer;color:var(--ink-faint);display:grid;place-items:center;transition:.12s;flex-shrink:0}
.team-row .tr-chat svg{width:14px;height:14px;stroke-width:1.9}
.team-row:hover .tr-chat{opacity:1}
.team-row .tr-chat:hover{background:var(--teal-soft);color:var(--teal)}
/* chat: reply, pin, pildid, halda */
.chat-msg{position:relative}
.msg-acts{position:absolute;top:-12px;left:6px;display:none;gap:1px;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:2px;box-shadow:var(--shadow);z-index:5}
.chat-msg:hover .msg-acts{display:flex}
.chat-msg.mine .msg-acts{left:auto;right:6px}
.msg-act{width:26px;height:26px;border:0;background:transparent;border-radius:6px;cursor:pointer;color:var(--ink-soft);display:grid;place-items:center}
.msg-act svg{width:14px;height:14px;stroke-width:1.9}
.msg-act:hover{background:var(--paper);color:var(--teal)}
.msg-quote{border-left:3px solid var(--teal);background:var(--paper);padding:5px 9px;border-radius:0 8px 8px 0;font-size:12px;color:var(--ink-soft);margin-bottom:4px;max-width:90%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.msg-quote b{color:var(--teal);font-weight:600}
.msg-img{max-width:260px;max-height:240px;border-radius:10px;border:1px solid var(--line);margin:2px 0;cursor:pointer;display:block}
.msg-file{display:inline-flex;align-items:center;gap:6px;padding:8px 8px 8px 12px;background:var(--paper);border:1px solid var(--line);border-radius:10px;font-size:13px;color:var(--ink);margin:2px 0;max-width:290px}
.msg-file:hover{border-color:var(--teal)}
.msg-file>svg{width:18px;height:18px;flex-shrink:0;color:var(--ink-faint)}
.msg-file-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}
.msg-file-act{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;color:var(--ink-faint);flex-shrink:0;text-decoration:none;background:none;border:0;padding:0;margin:0;font:inherit;cursor:pointer}
.msg-file-act:hover{background:var(--paper-2);color:var(--teal)}
.msg-file-act svg{width:15px;height:15px;stroke-width:2}
.pinned-dot{font-size:10px}
.chat-toolbar{display:flex;align-items:stretch;background:var(--paper-2);border-bottom:1px solid var(--line-soft)}
.chat-pinned{display:flex;align-items:center;gap:8px;padding:8px 16px;font-size:12px;cursor:pointer;position:relative;flex:1;min-width:0;border-left:1px solid var(--line-soft)}
.chat-pinned.hidden{display:none}
.chat-pinned:hover{background:var(--paper)}
.pin-label{color:var(--ink-soft);font-weight:600}
.pin-count{background:var(--rose);color:#fff;border-radius:9px;font-size:10.5px;font-weight:700;padding:0 6px;min-width:16px;text-align:center}
.ctb-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border:0;border-left:1px solid var(--line-soft);background:transparent;color:var(--ink-soft);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0;font-family:inherit}
.ctb-btn:hover{background:var(--paper);color:var(--ink)}
.ctb-btn svg{width:14px;height:14px;flex-shrink:0}
.pin-menu{position:absolute;top:100%;left:16px;right:16px;margin-top:4px;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-lift);padding:4px;z-index:30;max-height:280px;overflow-y:auto}
.pin-mi-row{display:flex;align-items:center;gap:2px;border-radius:8px}
.pin-mi-row:nth-child(even){background:var(--paper-2)}
.pin-mi{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;text-align:left;padding:8px 12px;border:0;background:transparent;border-radius:7px;cursor:pointer;font-family:inherit}
.pin-mi:hover{background:var(--paper)}
.pin-mi-head{display:flex;align-items:baseline;gap:6px}
.pin-mi b{font-size:12.5px;color:var(--ink)}
.pin-mi-time{font-size:10.5px;color:var(--ink-faint);flex-shrink:0;display:flex}
.pin-mi-clock{margin-left:9px}
.pin-mi-txt{font-size:12px;color:var(--ink-faint);white-space:normal;overflow-wrap:break-word;word-break:break-word}
.pin-mi-unpin{width:26px;height:26px;padding:0;border:0;background:transparent;color:var(--rose);border-radius:7px;display:grid;place-items:center;cursor:pointer;flex-shrink:0}
.pin-mi-unpin:hover{background:rgba(190,18,60,.1)}
.pin-mi-unpin svg{width:14px;height:14px}
@keyframes chatFlash{0%{box-shadow:0 0 0 3px var(--amber)}100%{box-shadow:0 0 0 0px transparent}}
.chat-msg.flash-highlight .bubble{animation:chatFlash 1.6s ease}
.chat-replybar{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--teal-soft);border-top:1px solid var(--line-soft);font-size:12.5px;color:var(--teal)}
.chat-replybar.hidden{display:none}
.chat-replybar>svg{width:15px;height:15px;flex-shrink:0}
.chat-replybar span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-reply-x{width:22px;height:22px;border:0;background:transparent;cursor:pointer;color:var(--teal);display:grid;place-items:center}
.chat-reply-x svg{width:13px;height:13px}
.chat-attach-preview{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--paper-2);border-top:1px solid var(--line-soft);font-size:12.5px;overflow-x:auto}
.chat-attach-preview.hidden{display:none}
.chat-attach-preview .cap-item{display:flex;align-items:center;gap:6px;flex-shrink:0;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:4px 8px 4px 4px}
.chat-attach-preview .cap-thumb{width:28px;height:28px;border-radius:6px;overflow:hidden;flex-shrink:0;display:grid;place-items:center;background:var(--paper);color:var(--ink-faint)}
.chat-attach-preview .cap-thumb img{width:100%;height:100%;object-fit:cover}
.chat-attach-preview .cap-thumb svg{width:14px;height:14px}
.chat-attach-preview .cap-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-soft);font-weight:500}
.chat-attach-preview .chat-reply-x{color:var(--ink-faint);flex-shrink:0}
.chat-attach-preview .chat-reply-x:hover{color:var(--rose)}
.chat-attach-group{display:contents}
.chat-attach-toggle{display:none}
.chat-attach{width:42px;height:42px;border:1px solid var(--line);background:var(--card);border-radius:10px;cursor:pointer;color:var(--ink-soft);display:grid;place-items:center;flex-shrink:0}
.chat-attach svg{width:18px;height:18px;stroke-width:1.8}
.chat-attach:hover{border-color:var(--teal);color:var(--teal)}
.chat-attach.recording{border-color:var(--rose);color:#fff;background:var(--rose);animation:recpulse 1.2s ease-in-out infinite}
@keyframes recpulse{0%,100%{box-shadow:0 0 0 0 rgba(177,85,79,.5)}50%{box-shadow:0 0 0 6px rgba(177,85,79,0)}}
.chat-rec{flex:1;display:flex;align-items:center;gap:9px;padding:0 14px;border:1px solid var(--rose);border-radius:10px;background:var(--rose-soft);font-size:13px;color:var(--ink)}
.chat-rec .rec-dot{width:10px;height:10px;border-radius:50%;background:var(--rose);animation:recpulse 1.2s infinite}
.chat-rec .rec-hint{color:var(--ink-faint);font-size:12px}
.chat-rec .chat-rec-x{margin-left:auto;border:0;background:transparent;color:var(--ink-soft);cursor:pointer;font-size:16px;line-height:1}
.msg-audio-wrap{display:flex;align-items:center;gap:2px;margin:4px 0}
.msg-audio{display:block;max-width:260px;height:40px}
.msg-audio-wrap .msg-file-act{flex-shrink:0}
.chat-head{position:relative}
.ch-head-actions{display:flex;gap:10px;margin-left:auto;flex-shrink:0}
.ch-cog{width:30px;height:30px;border:0;background:transparent;border-radius:8px;cursor:pointer;color:var(--ink-faint);display:grid;place-items:center;flex-shrink:0}
.ch-cog:hover{background:var(--paper);color:var(--ink)}
.ch-mi{display:block;width:100%;text-align:left;padding:8px 12px;border:0;background:transparent;border-radius:7px;cursor:pointer;font-family:inherit;font-size:13px;color:var(--ink)}
.ch-mi:hover{background:var(--paper)}
.ch-mi.danger{color:var(--rose)}
.ch-mi-sep{height:1px;background:var(--line);margin:4px 2px}
.ch-mi.disabled{color:var(--ink-faint);cursor:default;font-size:12px}
.ch-mi.disabled:hover{background:transparent}
.dm-picker-list{display:flex;flex-direction:column;gap:2px;max-height:320px;overflow-y:auto}
.dm-picker-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:8px 10px;border:0;background:transparent;border-radius:8px;cursor:pointer;font-family:inherit;font-size:13.5px;font-weight:500;color:var(--ink)}
.dm-picker-row:hover{background:var(--paper)}
.dm-picker-row .ch-ic{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:700;color:#fff;flex-shrink:0}
.dm-picker-name{display:flex;flex-direction:column;gap:1px;min-width:0}
.dm-picker-hint{font-size:10.5px;font-weight:400;color:var(--ink-faint)}
.modal-head.ch-panel-head{padding:10px 14px 0;border-bottom:0}
/* ülesande lisamise vaates pole pealkirja — Sulge-nupu riba jäägu nii madalaks kui saab, et TEEMA tõuseks üles */
#txAddOverlay .modal-head{padding:4px 14px 0}
#txAddOverlay .modal-body{padding-top:2px}
#txAddOverlay .txd-fldlbl:first-of-type{margin-top:4px}
/* toote lisamise vaates pole samuti pealkirja — sama muster */
#whAddOverlay .modal-head{padding:4px 14px 0;border-bottom:0}
#whAddOverlay .modal-body{padding-top:2px}
#whAddOverlay .txd-fldlbl:first-of-type{margin-top:4px}
/* Uus tehing -modaalis samuti pole pealkirja vaja — sama muster */
#dealOverlay .modal-head{padding:4px 14px 0;border-bottom:0}
#dealOverlay .modal-body{padding-top:2px}
/* Kirja koostamine — samuti pole pealkirja, Saaja tõusku kohe X-nupu rea alla */
#gmComposeOverlay .modal-head{padding:4px 14px 0}
#gmComposeOverlay .modal-body{padding-top:2px}
/* Saaja/Teema/Mall/Sõnum lahtri kirjeldus ja lahtri ise 1mm vahega (mitte 6px nagu .fld-lbl mujal rakenduses) */
#gmComposeOverlay .fld-lbl{margin-bottom:1mm}
#dealOverlay .nd-prod-search-wrap input{margin-bottom:0}
#ndProdList .dp-item:first-child{border-top:1px solid var(--line-soft);margin-top:4px}
#ndProdList:empty{display:none}
#ndProdList:not(:empty){margin-bottom:8px}
#chPanelOverlay .modal-body{padding-top:0}
.ch-panel-profile{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 0 16px}
.ch-panel-av{width:76px;height:76px;border-radius:50%;overflow:hidden;margin-bottom:10px}
.ch-panel-av img{width:100%;height:100%;object-fit:cover}
.ch-panel-init{width:100%;height:100%;display:grid;place-items:center;font-size:24px;font-weight:700;color:#fff}
.ch-panel-init svg{width:32px;height:32px}
.ch-panel-name{font-size:16px;font-weight:700;color:var(--ink)}
.ch-panel-sub{font-size:12.5px;color:var(--ink-faint);margin-top:2px}
.ch-panel-actrow{display:flex;gap:8px;margin-bottom:14px}
.ch-panel-star{width:40px;height:40px;flex-shrink:0;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--ink-soft);cursor:pointer}
.ch-panel-star:hover{background:var(--paper)}
.ch-panel-star.on{color:#e0a30a;border-color:#e0a30a}
.ch-panel-star svg{width:17px;height:17px}
.ch-panel-act{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;height:40px;padding:0 8px;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--ink-soft);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit}
.ch-panel-act:hover{background:var(--paper)}
.ch-panel-act.on{color:var(--rose);border-color:var(--rose)}
.ch-panel-act svg{width:15px;height:15px;flex-shrink:0}
.ch-panel-list{border-top:1px solid var(--line-soft);padding-top:6px}
.ch-muted-ic{font-size:10px;margin-left:4px;flex-shrink:0;opacity:.75}
.ch-files-list{display:flex;flex-direction:column;gap:2px;max-height:400px;overflow-y:auto}
.ch-files-row{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:8px;text-decoration:none;color:inherit}
.ch-files-row:hover{background:var(--paper)}
.ch-search-row{width:100%;text-align:left;border:0;background:transparent;cursor:pointer;font-family:inherit}
.ch-files-thumb{width:38px;height:38px;border-radius:7px;object-fit:cover;flex-shrink:0}
.ch-files-icon{width:38px;height:38px;border-radius:7px;background:var(--paper-2);display:grid;place-items:center;color:var(--ink-faint);flex-shrink:0}
.ch-files-icon svg{width:17px;height:17px}
.ch-files-meta{display:flex;flex-direction:column;gap:1px;min-width:0}
.ch-files-meta b{font-size:12.5px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-files-meta span{font-size:11px;color:var(--ink-faint)}
/* loetud-kviitungid (Nähtud) */
.chat-seen{display:flex;align-items:center;gap:3px;align-self:flex-end;margin:2px 2px 6px;opacity:.85}
.seen-av{width:17px;height:17px;border-radius:50%;display:grid;place-items:center;font-size:7.5px;font-weight:700;color:#fff;box-shadow:0 0 0 1.5px var(--card)}
/* kalender: klikitav + Google sündmused */
.cal-cell{cursor:pointer;transition:background .1s}
.cal-cell:hover{background:var(--teal-soft)}
.cal-grid .ev{cursor:pointer}
.cal-grid .ev.google{background:var(--paper-2);border:1px dashed var(--ink-faint);color:var(--ink-soft);opacity:.92}
.cal-grid .ev.google .et svg{vertical-align:-1px}
.cal-grid .ev.synced{box-shadow:inset 3px 0 0 var(--teal)}
.cal-nav button{cursor:pointer}

/* ---------- MODAL (compose) ---------- */
.modal-overlay{position:fixed;inset:0;background:rgba(28,29,26,.45);display:none;align-items:center;justify-content:center;z-index:120;padding:20px}
.modal-overlay.show{display:flex}
.modal{background:var(--card);border-radius:16px;box-shadow:var(--shadow-lift);width:560px;max-width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}
.modal-head{display:flex;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line-soft)}
.modal-head h3{font-family:'Instrument Serif',serif;font-size:20px;font-weight:400}
.modal-x{margin-left:auto;width:28px;height:28px;border-radius:8px;border:1px solid var(--line);background:var(--card);cursor:pointer;display:grid;place-items:center;color:var(--ink-soft)}
.modal-x svg{width:14px;height:14px;stroke-width:2}
.modal-x:hover{border-color:var(--rose);color:var(--rose)}
.modal-body{padding:18px 20px;overflow-y:auto}
/* Vestluse .docx eelvaade (docx-preview.js) — laiem/kõrgem modaal, hall taust nagu Google Docsi eelvaates */
.doc-preview-modal{width:820px;max-height:92vh}
/* docx-preview'i enda .docx-wrapper juba tsentreerib oma lehed sisemiselt (display:flex;flex-flow:column;
   align-items:center) — väline flex siin oleks üleliigne ja riskantne (võib takistada .modal-body kerimist) */
.doc-preview-body{background:var(--paper-2);padding:24px}
.doc-preview-body .docx-wrapper{background:transparent;padding:0}
.doc-preview-body .docx{box-shadow:var(--shadow-lift);margin-bottom:16px}
.doc-preview-loading{padding:40px 20px;text-align:center;color:var(--ink-faint);font-size:13px}
.doc-preview-error{padding:40px 20px;text-align:center;color:var(--rose);font-size:13px}
/* Arve PDF-i eelvaade (#invoicePreviewOverlay) — brauseri natiivne PDF-vaade iframe'is, sama modaali-karkass mis .docx eelvaatel */
.inv-preview-frame{width:100%;height:72vh;border:0;border-radius:6px;background:#fff;display:block}
/* "Saada ka Meritisse" linnuke + "Saada" nupp koos paremas servas, 4mm vahega */
.inv-send-group{display:flex;align-items:center;gap:4mm;margin-left:auto}
.inv-merit-chk{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--ink-soft);cursor:pointer;user-select:none}
.inv-merit-chk input{width:15px;height:15px;cursor:pointer;accent-color:var(--teal)}
.modal-body label{display:block;font-size:12px;font-weight:600;color:var(--ink-soft);margin:12px 0 5px}
.modal-body label:first-child{margin-top:0}
.modal-body input,.modal-body textarea,.modal-body select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:9px;font-family:inherit;font-size:13.5px;outline:none;background:var(--paper-2);color:var(--ink)}
.modal-body input:focus,.modal-body textarea:focus{border-color:var(--teal);background:var(--card)}
.modal-body input[readonly]{color:var(--ink-faint)}
.modal-body textarea{resize:vertical;line-height:1.5}
.ai-compose{display:flex;gap:8px;margin:12px 0 4px}
.ai-compose input{flex:1}
.ai-compose .btn{white-space:nowrap}
.ai-compose .btn.loading{opacity:.7;pointer-events:none}
.modal-foot{display:flex;align-items:center;gap:10px;padding:14px 20px;border-top:1px solid var(--line-soft);background:var(--paper-2)}
.modal-foot #cmStatus{font-size:12px;color:var(--ink-faint);margin-right:auto}

/* ---------- DEAL DETAIL ---------- */
.deal-value{margin-left:auto;text-align:right;flex-shrink:0}
.deal-value span{display:block;font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:var(--ink-faint)}
.deal-value b{font-family:'Instrument Serif',serif;font-size:26px;font-weight:400}
.log-activity{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;box-shadow:var(--shadow);margin-bottom:20px}
.la-types{display:flex;gap:6px;margin-bottom:10px;flex-wrap:wrap}
.la-type{padding:5px 12px;border-radius:20px;border:1px solid var(--line);background:var(--paper-2);font-family:inherit;font-size:12px;font-weight:600;color:var(--ink-soft);cursor:pointer;transition:.15s}
.la-type:hover{border-color:var(--teal);color:var(--teal)}
.la-type.on{background:var(--teal-fill);color:#fff;border-color:var(--teal)}
.log-activity textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px 12px;font-family:inherit;font-size:13.5px;resize:vertical;min-height:75px;outline:none;background:var(--paper-2);color:var(--ink)}
.log-activity textarea:focus{border-color:var(--teal);background:var(--card)}
/* "Ülesanne" valikul jaguneb tekstiala: vasak 1/3 vastutaja+tähtaeg, ülejäänud jääb vabaks tekstiks (vt ddLogFormHtml) */
.ddlog-body{display:flex;gap:10px}
.ddlog-body textarea{flex:1;min-width:0}
.ddlog-note-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.ddlog-note-col label{font-size:11px;font-weight:600;color:var(--ink-faint)}
.ddlog-note-col label.hidden{display:none}
.ddlog-note-col.inst textarea{flex:0 0 auto;min-height:48px;height:52px}
.ddlog-county{display:flex;align-items:center;gap:8px;margin-top:2px}
.ddlog-county.hidden{display:none}
.ddlog-county>span{font-size:12.5px;font-weight:600;color:var(--ink-soft);white-space:nowrap}
.ddlog-county .combo-wrap{flex:1;min-width:0}
.ddlog-county .fld-in{width:100%;padding:7px 34px 7px 10px;font-size:12.5px}
.ddlog-task-col{flex:0 0 33%;display:flex;flex-direction:column;gap:4px}
.ddlog-task-col.hidden{display:none}
.ddlog-task-col label{font-size:11px;font-weight:600;color:var(--ink-faint);margin-top:2px}
.ddlog-task-col label:first-child{margin-top:0}
.ddlog-task-col select{width:100%;padding:7px 9px;border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:12.5px;background:var(--paper-2);color:var(--ink)}
.ddlog-task-col select:focus{border-color:var(--teal);background:var(--card)}
.ddlog-task-col .hdt{width:100%}
.ddlog-task-col .hdt-date,.ddlog-task-col .hdt-timewrap{font-size:12.5px}
.la-foot{display:flex;align-items:center;gap:10px;margin-top:10px}
.la-foot input[type=date]{font-family:inherit;font-size:12.5px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--paper-2);color:var(--ink-soft)}
.la-foot .btn{margin-left:auto}
/* Manuse- ja Logi tegevus-nupp koos ühe rühmana paremas servas */
.la-foot-actions{margin-left:auto;display:flex;align-items:center;gap:8px}
.la-foot-actions .btn{margin-left:0}
.dd-select{width:100%;font-family:inherit;font-size:13px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--paper-2);cursor:pointer;color:var(--ink)}
.dd-contact{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.dd-contact .ava-sm{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-family:'Instrument Serif',serif;font-size:17px;flex-shrink:0}
.ddc-name{font-weight:600;font-size:14px}
.ddc-role{font-size:12px;color:var(--ink-faint)}
.ddc-namelink{font-weight:600;font-size:14px;color:var(--teal);cursor:pointer;margin-bottom:6px}
.ddc-namelink:hover{text-decoration:underline}
.ddc-name-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ddc-name-row .ddc-namelink{margin-bottom:0}
.ddc-org{font-size:12px;color:var(--ink-faint);margin:1px 0 8px}
.ddc-unlink{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;color:var(--ink-faint);cursor:pointer;border:1px solid transparent;background:none;padding:0}
.ddc-unlink svg{width:13px;height:13px}
.ddc-unlink:hover{background:var(--rose-soft);color:var(--rose);border-color:var(--rose-soft)}
.side-card .btn.ghost{width:100%;justify-content:center;margin-top:10px}
.dd-picker input{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:9px;font-family:inherit;font-size:13px;outline:none;background:var(--paper-2);color:var(--ink)}
.dd-picker input:focus{border-color:var(--teal);background:var(--card)}
.dd-results{margin-top:2mm;max-height:230px;overflow:auto;display:flex;flex-direction:column;gap:2px}
.dd-results:empty{margin-top:0}
.picker-empty{padding:0 8px 8px;font-size:12px;color:var(--rose)}
.dd-results .ddr{display:flex;align-items:center;gap:9px;padding:8px;border-radius:8px;cursor:pointer;font-size:13px}
.dd-results .ddr:hover{background:var(--paper)}
.dd-results .ddr .av{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:700;color:#fff;flex-shrink:0;background:var(--teal-fill)}
.dd-results .ddr .av-org,.ndr .av-org{background:var(--amber);font-size:12px}
.dd-results .ddr small{color:var(--ink-faint);margin-left:auto;white-space:nowrap}
.dd-add-client-btn,.nd-add-client-btn{margin-top:6px;margin-bottom:2mm;align-self:flex-start;background:var(--teal-soft);color:var(--teal);border:1.5px solid var(--teal);box-shadow:none}
.dd-add-client-btn:hover,.nd-add-client-btn:hover{filter:brightness(0.97)}
/* Tumedas režiimis on teal-toonis kiri tumeda taustaga kastis vähem loetav — valge tekst/ikoon parema kontrasti jaoks */
:root[data-theme='dark'] .dd-add-client-btn,:root[data-theme='dark'] .nd-add-client-btn,:root[data-theme='dark'] .btn-soft-teal{color:#fff}
@media(prefers-color-scheme:dark){:root:not([data-theme='light']) .dd-add-client-btn,:root:not([data-theme='light']) .nd-add-client-btn,:root:not([data-theme='light']) .btn-soft-teal{color:#fff}}
/* Otsi kontakti otsinguväli + Lisa klient nüüd samal real, sama kõrgusega */
.nd-search-row .dd-add-client-btn{margin:0;flex-shrink:0;white-space:nowrap}
.ddo-name{font-size:14px;font-weight:600;margin-bottom:8px}
.muted{color:var(--ink-faint)}
.dd-file{display:flex;align-items:center;gap:9px;padding:8px 0;border-bottom:1px solid var(--line-soft);font-size:12.5px;color:var(--ink-soft);text-decoration:none}
.dd-file:last-child{border-bottom:0}
.dd-file:hover{color:var(--teal)}
.dd-file svg{width:15px;height:15px;stroke-width:1.7;color:var(--ink-faint);flex-shrink:0}
.dd-file .fn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dd-file .fs{margin-left:auto;font-size:11px;color:var(--ink-faint);flex-shrink:0}
.side-deal.clickable{cursor:pointer}
.side-deal.clickable:hover .sd-name{color:var(--teal)}

/* ---------- TASKS v2 ---------- */
.tasks-board{display:flex;gap:14px;align-items:flex-start;overflow-x:auto;padding-bottom:10px}
.tcol{width:304px;flex-shrink:0;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;max-height:calc(100vh - 200px)}
.tcol-head{display:flex;align-items:center;gap:9px;padding:14px 16px;border-bottom:1px solid var(--line-soft);flex-shrink:0}
.tcol-head .tcol-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.tcol-head h3{font-family:'Instrument Serif',serif;font-size:18px;font-weight:400;flex:1;line-height:1}
.tcol-head .tcol-n{font-size:12px;color:var(--ink-faint);font-weight:600;background:var(--line-soft);padding:1px 9px;border-radius:20px}
.tcol-list{padding:8px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}
.task.overdue{background:linear-gradient(90deg,var(--rose-soft),transparent 60%)}
.task.overdue{border-left-color:var(--rose)!important}
.task.done{opacity:.62}
.task .box:hover{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-soft)}
/* ülesande inline-muutmine */
.task .t-text{outline:none;cursor:text;border-radius:5px;padding:1px 4px;margin:-1px -4px;flex:1;min-width:0}
.task .t-text:hover{background:var(--paper)}
.task .t-text:focus{background:var(--card);box-shadow:0 0 0 1.5px var(--teal)}
.task.done .t-text{text-decoration:line-through;color:var(--ink-faint)}
.task .t-prio{border:0;cursor:pointer;font-family:inherit;padding:0;flex-shrink:0}
.task .due-tag{border:0;background:transparent;font-family:inherit;cursor:pointer;padding:2px 5px;margin:-2px -3px;border-radius:6px}
.task .due-tag:hover{background:var(--paper);color:var(--teal)}
.task .due-tag.empty{opacity:0;transition:.15s}
.task:hover .due-tag.empty{opacity:.55}
.t-due-edit{border:1.5px solid var(--teal);border-radius:7px;padding:3px 6px;font-family:inherit;font-size:11px;outline:none}
.task .t-main{display:flex;align-items:center;gap:8px}
/* ülesannete tööriistariba */
.tasks-bar{display:flex;align-items:center;gap:14px;margin-bottom:14px;flex-wrap:wrap}
.tb-left{display:flex;align-items:center;gap:14px;margin-right:auto}
.tb-right{display:flex;align-items:center;gap:12px}
.tb-stat{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--ink-faint)}
.tb-stat svg{width:14px;height:14px;stroke-width:2}
.tb-stat.over{color:var(--rose)}
.tb-people{display:flex;align-items:center;gap:6px}
.tb-plbl{font-size:11.5px;color:var(--ink-faint);font-weight:600}
.tb-person{width:28px;height:28px;border-radius:50%;border:1.5px dashed var(--line);background:transparent;cursor:pointer;display:grid;place-items:center;padding:0;transition:.14s;position:relative}
.tb-person:hover{border-color:var(--teal);border-style:solid}
.tb-person .av{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:9px;font-weight:700;color:#fff;opacity:.75}
.tb-person:hover .av{opacity:1}
.tb-newlist{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border:1px solid var(--line);border-radius:9px;background:var(--card);font-family:inherit;font-size:12.5px;font-weight:600;color:var(--ink-soft);cursor:pointer;transition:.14s;box-shadow:var(--shadow)}
.tb-newlist svg{width:15px;height:15px;stroke-width:2.2}
.tb-newlist:hover{border-color:var(--teal);color:var(--teal);background:var(--teal-soft)}
.prio{width:19px;height:19px;border-radius:6px;display:inline-grid;place-items:center;font-size:11px;font-weight:800;flex-shrink:0}
.due-tag.over{color:var(--rose);font-weight:700}
.task-add-wrap{padding:4px 2px}
.task-form{display:none;flex-direction:column;gap:8px;padding:11px;border:1px solid var(--line);border-radius:11px;margin-top:4px;background:var(--paper-2)}
.task-form.open{display:flex}
.task-form .tf-text{padding:9px 11px;border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:13px;outline:none;background:var(--card);color:var(--ink)}
.task-form .tf-text:focus{border-color:var(--teal)}
.task-form .tf-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.task-form .tf-date,.task-form .tf-time{padding:7px 8px;border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:12px;background:var(--card);color:var(--ink-soft)}
.task-form .tf-prio{display:flex;gap:4px;margin-left:auto}
.task-form .pbtn{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:var(--card);font-family:inherit;font-weight:800;font-size:12px;cursor:pointer;color:var(--ink-soft);transition:.12s}
.task-form .pbtn[data-p=A].on{background:var(--rose);color:#fff;border-color:var(--rose)}
.task-form .pbtn[data-p=B].on{background:var(--amber);color:#fff;border-color:var(--amber)}
.task-form .pbtn[data-p=C].on{background:var(--teal-fill);color:#fff;border-color:var(--teal)}
.task-form .tf-foot{display:flex;gap:8px}
.task-form .tf-foot .btn{padding:8px 13px;font-size:12.5px}
.task-form .tf-foot .tf-add{flex:1;justify-content:center}
.icon-btn.del-task:hover{border-color:var(--rose);color:var(--rose)}
.task-form select{padding:7px 8px;border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:12px;background:var(--card);color:var(--ink-soft)}
.tcol.drop{outline:2px dashed var(--teal);outline-offset:-4px;background:var(--teal-soft)}
.task[draggable=true]{cursor:grab}
.task.dragging{opacity:.4}
/* tühi suhtlusajalugu */
.feed-empty{text-align:center;padding:46px 24px;color:var(--ink-faint);max-width:440px;margin:0 auto}
.feed-empty svg{width:42px;height:42px;stroke-width:1.3;color:#d8d4c8;margin-bottom:12px}
.feed-empty p{font-family:'Instrument Serif',serif;font-size:19px;color:var(--ink-soft);margin-bottom:5px}
.feed-empty span{font-size:13px;line-height:1.5;display:block}
.feed:has(.feed-empty)::before{display:none}

/* ═══════════ ÜLESANDED — uus disain (Maatriks + Minu fookus) ═══════════ */
/* globaalne, sest Maatriks/Minu fookus lüliti + arhiiv elavad nüüd topbar'is, väljaspool #view-tasks skoopi */
:root{--tx-surface:var(--card);--tx-primary:#1e8a66;--tx-ink:var(--ink);--tx-muted:var(--ink-soft);--tx-subtle:var(--ink-faint);--tx-border:var(--line);--tx-line:var(--line-soft);--tx-over:var(--rose);--tx-over-bg:var(--rose-soft);--tx-mine:var(--teal-soft);--tx-ootel:#8a948d;--tx-toos:#c8893a;--tx-tehtud:#2e9e6b}
#view-tasks{color:var(--tx-ink)}
.txm-filter-bar{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--tx-muted);margin-bottom:10px}
.txm-filter-bar button{border:1px solid var(--tx-border);background:var(--tx-surface);color:var(--tx-ink);border-radius:8px;padding:3px 9px;cursor:pointer;font-size:12px}
.txm-filter-bar button:hover{border-color:var(--tx-primary);color:var(--tx-primary)}
.txm-empty-all{padding:20px;text-align:center;color:var(--tx-muted);font-size:13px}
.tx-arch-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--tx-border);background:var(--tx-surface);color:var(--tx-muted);border-radius:10px;cursor:pointer;flex-shrink:0}
.tx-arch-btn:hover{color:var(--tx-primary);border-color:var(--tx-primary)}
.tx-arch-btn svg{width:17px;height:17px;stroke-width:1.9}
.ta-row{display:flex;align-items:center;gap:12px;padding:11px 4px;border-bottom:1px solid var(--line-soft);cursor:pointer}
.ta-row:last-child{border-bottom:none}
.ta-row:hover{background:var(--paper-2)}
.ta-check{width:17px;height:17px;flex-shrink:0;color:var(--teal);stroke-width:2.4}
.ta-mid{flex:1;min-width:0}
.ta-text{font-size:13.5px;color:var(--ink);text-decoration:line-through;text-decoration-color:var(--ink-faint)}
.ta-meta{display:flex;align-items:center;gap:8px;margin-top:3px;font-size:11.5px;color:var(--ink-faint)}
.ta-who{padding:1px 7px;border-radius:8px;font-weight:600;font-size:10.5px}
.tx-tabs{display:flex;background:var(--line-soft);border-radius:11px;padding:3px}
.tx-tab{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;font-family:inherit;font-size:13px;font-weight:700;color:var(--tx-muted);padding:8px 16px;border-radius:9px;cursor:pointer;transition:.14s}
.tx-tab svg{width:15px;height:15px;stroke-width:2.2;flex-shrink:0}
.tx-tab.on{background:var(--tx-surface);color:var(--tx-ink);box-shadow:0 1px 3px rgba(20,60,45,.1)}
.gmail-top-tools{display:flex;flex-wrap:wrap;gap:8px;margin-right:0;padding:0;min-width:0;width:auto;position:relative;flex:0 1 auto}
.gmail-top-row-main{display:flex;align-items:center;gap:8px;flex-shrink:0}
#gmailFolderTabs{display:flex;align-items:center;gap:2px;background:var(--line-soft);border-radius:11px;padding:3px;flex:0 0 auto}
#gmailFolderTabs .tx-tab{justify-content:center;width:40px;height:40px;padding:0;border-radius:9px;background:transparent}
#gmailFolderTabs .tx-tab.on{background:var(--card);color:var(--ink);box-shadow:none;border:1px solid var(--line)}
#gmailFolderTabs .tx-tab svg{width:18px;height:18px}
.gmail-search-btn{width:40px;height:40px;display:grid;place-items:center;padding:0;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--ink);flex-shrink:0}
.gmail-search-btn svg{width:18px;height:18px;stroke-width:2}
.gmail-actions-group{display:flex;align-items:center;gap:8px;flex-shrink:0}
.gmail-scheduled-btn,.gmail-refresh-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:40px;padding:0 14px;border-radius:10px;border:1px solid var(--line);box-shadow:none;background:var(--card);color:var(--ink);font-weight:600;font-size:13px;flex-shrink:0}
.gmail-scheduled-btn svg,.gmail-refresh-btn svg{width:15px;height:15px;stroke-width:2}
.gmail-scheduled-btn .count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--teal-soft);color:var(--teal);font-size:10.5px;font-weight:700}
.gmail-add-btn{position:relative;display:grid;place-items:center;width:44px;height:44px;margin-left:auto;padding:0;border-radius:12px;background:var(--teal-fill);border:0;color:#fff;box-shadow:var(--shadow);flex-shrink:0}
.gmail-add-btn svg{width:21px;height:21px;stroke-width:2}
.tx-newlist{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--tx-border);background:var(--tx-surface);font-family:inherit;font-size:13px;font-weight:600;color:var(--tx-muted);padding:9px 14px;border-radius:10px;cursor:pointer}
.tx-newlist svg{width:15px;height:15px;stroke-width:2.2}
.tx-newlist:hover{color:var(--tx-primary);border-color:var(--tx-primary)}
/* maatriks */
.tx-matrix{background:var(--tx-surface);border:1px solid var(--tx-border);border-radius:13px;overflow:hidden}
.txm-head{display:flex;background:var(--paper-2);border-bottom:1px solid var(--tx-line)}
.txm-head .txm-team{width:200px;padding:13px 15px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--tx-subtle);flex:none}
.txm-head .txm-col{flex:1;padding:13px 15px;display:flex;align-items:center;gap:8px;border-left:1px solid var(--tx-line);font-size:13px;font-weight:700}
.txm-head .txm-col .dot{width:8px;height:8px;border-radius:50%}
.txm-head .txm-col .cnt{margin-left:auto;font-size:12px;color:var(--tx-subtle);font-weight:600}
.txm-row{display:flex;border-top:2px solid var(--tx-border)}
.txm-row.mine{background:var(--tx-mine)}
.txm-person{width:200px;padding:14px 15px;display:flex;align-items:center;gap:9px;flex:none;cursor:pointer;border-right:1px solid var(--tx-line);transition:background .12s}
.txm-person:hover{background:rgba(20,60,45,.04)}
.txm-chev{width:14px;height:14px;stroke-width:2.4;color:var(--tx-subtle);flex:none}
.txm-cell-collapsed{align-items:center;justify-content:center}
.txm-ccount{color:var(--tx-subtle);font-size:14px;font-weight:700;align-self:center}
.txm-check{width:18px;height:18px;border:2px solid var(--tx-subtle);border-radius:5px;flex:none;cursor:pointer;display:flex;align-items:center;justify-content:center;background:var(--card);margin-top:1px;transition:.12s}
.txm-check:hover{border-color:var(--tx-primary)}
.txm-check.on{background:var(--tx-tehtud);border-color:var(--tx-tehtud)}
.txm-check svg{width:11px;height:11px;stroke:#fff;stroke-width:3}
.txm-adv{margin-left:auto;width:24px;height:24px;border:1px solid var(--tx-border);background:var(--card);border-radius:6px;cursor:pointer;color:var(--tx-muted);display:flex;align-items:center;justify-content:center;flex:none;opacity:0;transition:.12s}
.txm-chip:hover .txm-adv{opacity:1}
.txm-adv:hover{border-color:var(--tx-primary);color:var(--tx-primary)}
.txm-adv svg{width:13px;height:13px}
@media(max-width:760px){.txm-adv{opacity:.65}}
/* manused (kontakt/tehing/ülesanne) */
.att-block .att-list{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.att-row{display:flex;align-items:center;gap:4px}
.att-row .dd-file{flex:1;min-width:0}
.att-del{border:0;background:transparent;color:var(--ink-faint);cursor:pointer;font-size:18px;line-height:1;width:26px;height:26px;border-radius:6px;flex:none}
.att-del:hover{background:var(--rose-soft);color:var(--rose)}
.att-block .att-add{width:100%;justify-content:center;font-size:12.5px;padding:8px}
/* AI suhtluse kokkuvõte */
.aid-load{padding:30px 18px;text-align:center;color:var(--ink-faint);font-size:14px}
.aid-spin{display:inline-block;width:14px;height:14px;border:2px solid var(--line);border-top-color:var(--teal);border-radius:50%;animation:aidspin .7s linear infinite;vertical-align:-2px;margin-right:7px}
@keyframes aidspin{to{transform:rotate(360deg)}}
.aid-sec{margin-bottom:16px}
.aid-lbl{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:6px}
.aid-text{font-size:14px;line-height:1.5;color:var(--ink)}
.aid-next{background:var(--teal-soft);border-left:3px solid var(--teal);padding:10px 12px;border-radius:8px}
.aid-facts{margin:0;padding-left:18px;font-size:13.5px;line-height:1.6;color:var(--ink-soft)}
.aid-foot{display:flex;align-items:center;gap:12px;justify-content:flex-end;border-top:1px solid var(--line-soft);padding-top:14px;margin-top:4px}
.aid-note{font-size:12px;color:var(--ink-faint);margin-right:auto}
.aid-deal{background:#f4f1fa;border:1px solid #e4dcf2;border-radius:10px;padding:12px 14px}
.aid-deal .aid-lbl{color:var(--violet)}
.aid-deal .btn{margin-top:10px}
.aid-reason{color:var(--ink-faint);font-size:12.5px}
.cc-list{display:flex;flex-direction:column;gap:5px;max-height:320px;overflow:auto}
.cc-row{display:flex;align-items:center;justify-content:space-between;padding:8px 13px;border:1px solid var(--line);border-radius:9px;background:var(--card)}
.cc-cat{font-size:13.5px;font-weight:600;color:var(--ink)}
.cc-n{font-size:13px;font-weight:700;color:var(--teal);background:var(--teal-soft);padding:2px 11px;border-radius:20px}
.cc-srow{padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:var(--card)}
.cc-from{font-size:12px;color:var(--ink-faint);text-decoration:line-through;margin-bottom:5px}
.cc-into{display:flex;flex-wrap:wrap;gap:5px}
.cc-pill{font-size:12px;font-weight:600;background:var(--teal-soft);color:var(--teal);padding:2px 9px;border-radius:20px}
.ct-orgfilter{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--teal-soft);border-radius:10px;padding:9px 14px;margin-bottom:14px;font-size:13.5px}
.ct-orgfilter button{border:0;background:var(--card);color:var(--ink-soft);font-family:inherit;font-size:12px;font-weight:600;padding:5px 11px;border-radius:7px;cursor:pointer}
.ct-suggest{grid-column:1/-1;display:flex;align-items:center;gap:8px;background:var(--paper-2);border:1px solid var(--line);border-radius:10px;padding:9px 14px;margin-bottom:14px;font-size:13px;color:var(--ink-soft);cursor:pointer}
.ct-suggest svg{width:16px;height:16px;stroke-width:1.8;color:var(--teal)}
.ct-suggest:hover{border-color:var(--teal);color:var(--teal)}
.org-card{cursor:pointer}
.org-card-filter{display:inline-flex;align-items:center;gap:5px;background:var(--teal-soft);color:var(--teal)}
.camp-deliver{margin:10px 0;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:var(--paper-2)}
.cd-score{display:flex;align-items:center;gap:12px}
.cd-meter{flex:1;height:8px;background:var(--line-soft);border-radius:20px;overflow:hidden}
.cd-bar{height:100%;border-radius:20px;transition:width .3s}
.cd-num{font-size:18px;font-weight:900}
.cd-num span{font-size:11px;color:var(--ink-faint);font-weight:600}
.cd-label{font-size:12.5px;font-weight:600;margin-top:5px}
.cd-issues{margin:8px 0 0;padding-left:18px;font-size:12.5px;line-height:1.6}
.cd-issues li.warn{color:var(--rose)}
.cd-issues li.info{color:var(--ink-soft)}
.cd-ok{font-size:12.5px;color:var(--teal);margin-top:6px}
/* Mobiili alumine navigatsiooniriba */
.mnav{display:none}
@media(max-width:760px){
  .mnav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:95;background:var(--card);border-top:1px solid var(--line);justify-content:space-around;padding:7px 4px;padding-bottom:calc(7px + env(safe-area-inset-bottom))}
  .mnav button{flex:1;background:none;border:0;display:flex;flex-direction:column;align-items:center;gap:3px;font-family:inherit;font-size:10.5px;font-weight:600;color:var(--ink-faint);cursor:pointer;padding:4px 2px;border-radius:9px}
  .mnav button svg{width:23px;height:23px;stroke-width:1.8}
  .mnav button.on{color:var(--teal)}
  .mnav button.on svg{stroke-width:2.1}
  #appRoot .main{padding-bottom:70px}
}
.txm-av{width:30px;height:30px;border-radius:50%;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none;color:#fff}
.txm-pname{font-size:13.5px;font-weight:700;display:flex;align-items:center;gap:6px}
.txm-mine-badge{font-size:9.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--teal);background:var(--teal-soft);padding:2px 6px;border-radius:5px}
.txm-psub{font-size:11px;color:var(--tx-muted);margin-top:2px}
.txm-psub .over{color:var(--tx-over);font-weight:600}
.txm-cell{flex:1;min-width:0;padding:9px;border-left:1px solid var(--tx-line);display:flex;flex-direction:column;gap:6px}
.txm-empty{color:#cfd6cf;font-size:16px;align-self:center;padding:4px}
.txm-chip{display:flex;align-items:flex-start;gap:8px;padding:8px 9px;border-radius:8px;cursor:pointer;background:var(--paper-2);border:1px solid transparent;transition:.12s}
.txm-chip:hover{border-color:var(--tx-border);background:var(--card)}
.txm-chip.over{background:var(--tx-over-bg)}
.txm-chip.done{align-items:center;border:1px solid var(--tx-border);background:var(--paper-2);opacity:.62}
.txm-chip-body{flex:1;min-width:0}
.txm-chip-t{font-size:12.5px;line-height:1.32;word-break:break-word}
.txm-chip.done .txm-chip-t{text-decoration:line-through;color:var(--tx-muted)}
.txm-chip-over{display:flex;align-items:center;gap:3px;font-size:10.5px;font-weight:600;color:var(--tx-over);margin-top:2px}
.txm-chip-over svg{width:11px;height:11px;stroke-width:2.2}
.txp{width:18px;height:18px;border-radius:5px;color:#fff;font-size:10.5px;font-weight:800;display:flex;align-items:center;justify-content:center;flex:none}
.txp.A{background:#d9483a}.txp.B{background:#c8893a}.txp.C{background:#5a8f6f}
.txm-done-check{width:16px;height:16px;flex:none;stroke:#2e9e6b;stroke-width:2.4}
/* minu fookus */
.txf-col{display:flex;flex-direction:column;gap:16px;overflow-x:auto;margin-top:10px}
/* jagatud grid-tulbad kaardi ja päiserea vahel — nii joonduvad KUUPÄEV jne alati täpselt andmetulpadega, sõltumata teksti pikkusest.
   Fikseeritud (mitte minmax) laiused, sest .txf-grp-info kattub 3 esimese tulbaga (grid-column:1/4) — minmax ei lahenda
   kahe eraldi grid-konteineri vahel sama väärtuseni, kui üks pool on tühi/kattuv, fikseeritud px aga alati */
/* Kirjeldus ja Kommentaar venivad võrdselt (mõlemad 1fr) ja jagavad vaba ruumi pooleks, nii jääb Manused alati parema äärde kleepuma */
.txf-grid{display:grid;grid-template-columns:20px 18px 270px 130px minmax(160px,1fr) 78px minmax(160px,1fr) 64px;column-gap:9px;align-items:center}
.txf-grp-h{display:flex;align-items:center;gap:7px;margin-bottom:9px}
.txf-grp-h.txf-grid{display:grid;column-gap:9px;margin-bottom:5px;padding:0 14px}
.txf-grp-info{grid-column:1/4;display:flex;align-items:center;gap:7px;min-width:0}
.txf-grp-h .dot,.txf-grp-info .dot{width:7px;height:7px;border-radius:50%}
.txf-grp-h .lbl,.txf-grp-info .lbl{font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.txf-grp-h .cnt,.txf-grp-info .cnt{font-size:11.5px;color:var(--tx-subtle)}
.txf-cell-h{font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--tx-subtle);min-width:0}
.txf-list{display:flex;flex-direction:column;gap:9px}
.txf-card{background:var(--tx-surface);border:1px solid var(--tx-border);border-radius:11px;padding:13px 14px;cursor:pointer}
.txf-card.over{border-color:#f3d6cd;border-left:3px solid var(--tx-over)}
.txf-box{width:20px;height:20px;border-radius:6px;border:2px solid var(--tx-subtle);flex:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.12s}
.txf-box:hover{border-color:var(--tx-primary)}
.txf-box.done{background:var(--tx-primary);border-color:var(--tx-primary)}
.txf-box svg{width:12px;height:12px;stroke:#fff;stroke-width:3}
.txf-t{min-width:0;font-size:13.5px;font-weight:600;line-height:1.35;word-break:break-word}
.txf-card.done .txf-t{text-decoration:line-through;color:var(--tx-muted)}
.txf-due{font-size:11.5px;color:var(--tx-muted);display:inline-flex;align-items:center;gap:4px}
.txf-due svg{width:12px;height:12px;stroke-width:2.2;flex-shrink:0}
.txf-due.over{color:var(--tx-over);font-weight:600}
.txf-status{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:600;flex-shrink:0}
.txf-status .dot{width:6px;height:6px;border-radius:50%}
.txf-empty{text-align:center;padding:30px 18px;color:var(--tx-subtle);font-size:13px}
/* selged tulbad: Kuupäev / Kirjeldus / Staatus / Viimane kommentaar / Manused — laiused tulevad .txf-grid mallist, et read joonduksid */
.txf-cell{display:flex;align-items:center;min-width:0;font-size:12px;color:var(--tx-muted)}
.txf-cell-desc,.txf-cell-comment{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-height:1.35;align-self:center}
.txf-cell-h.txf-cell-desc{text-align:center}
.txf-cell-h.txf-cell-comment{text-align:center}
.txf-cell-h.txf-cell-files{text-align:center}
.txf-cell-empty{color:var(--tx-subtle);display:block;width:100%;text-align:center}
.txf-cell-files{justify-content:center}
.txf-files-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;border:1px solid var(--tx-border);background:transparent;color:var(--tx-muted);cursor:pointer;transition:.12s}
.txf-files-btn:hover{border-color:var(--teal);color:var(--teal);background:var(--teal-soft)}
.txf-files-btn svg{width:13px;height:13px;stroke-width:2}
.txf-settings-pop{position:absolute;z-index:60;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lift);padding:10px;width:200px}
.txf-settings-lbl{font-size:11px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:var(--ink-faint);margin-bottom:6px}
.txf-settings-row{display:flex;align-items:center;gap:9px;padding:6px 4px;border-radius:8px;cursor:pointer;font-size:12.5px;font-weight:500;color:var(--ink)}
.txf-settings-row:hover{background:var(--paper)}
.txf-settings-row input{width:15px;height:15px;accent-color:var(--teal);cursor:pointer;margin:0}
/* meeskond paneel */
.txf-team{background:var(--tx-surface);border:1px solid var(--tx-border);border-radius:14px;overflow:hidden}
.txf-team-h{display:flex;align-items:center;justify-content:flex-end;padding:16px 18px;border-bottom:1px solid var(--tx-line)}
.txf-team-h .o{font-size:11.5px;color:var(--tx-over);font-weight:600}
.txf-trow{border-bottom:1px solid var(--tx-line)}
.txf-trow-h{display:flex;align-items:center;gap:10px;padding:14px 18px;cursor:pointer}
.txf-trow-h .av{width:30px;height:30px;border-radius:50%;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none;color:#fff}
.txf-trow-h .nm{flex:1;min-width:0}
.txf-trow-h .nm b{font-size:13.5px;font-weight:700;display:block}
.txf-trow-h .nm span{font-size:11px;color:var(--tx-muted)}
.txf-trow-h .nm .over{color:var(--tx-over);font-weight:600}
.txf-trow-h .chev{width:16px;height:16px;stroke:var(--tx-subtle);stroke-width:2.4;flex:none}
.txf-tlist{display:flex;flex-direction:column;gap:8px;padding:0 18px 14px 58px}
.txf-titem{display:flex;align-items:center;gap:8px;font-size:12.5px;cursor:pointer}
.txf-titem .nm{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.txf-titem.done .nm{text-decoration:line-through;color:var(--tx-muted)}
.txf-titem .over{font-size:10.5px;font-weight:600;color:var(--tx-over)}
/* ülesande modaalid (lisa + detail) */
.tx-modal .modal-body{background:var(--card)}
.txprio{display:flex;gap:8px}
.txprio-opt{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:9px;border:1px solid var(--line);border-radius:9px;font-size:12.5px;font-weight:600;color:var(--ink-soft);cursor:pointer;background:var(--paper-2);transition:.12s}
.txprio-opt .sq{width:8px;height:8px;border-radius:3px}
.txprio-opt[data-p=A] .sq{background:#d9483a}.txprio-opt[data-p=B] .sq{background:#c8893a}.txprio-opt[data-p=C] .sq{background:#5a8f6f}
.txprio-opt.on{border-color:var(--teal);background:var(--teal-soft);color:var(--teal)}
.txd-quickrow{margin-bottom:14px}
.txd-creator{font-size:11.5px;color:var(--ink-faint);margin:-6px 0 14px}
.txd-creator:empty{display:none}
.txd-deal-link{display:block;font-size:12px;font-weight:600;color:var(--teal);margin:-8px 0 14px;cursor:pointer}
.txd-deal-link:hover{text-decoration:underline}
.txd-deal-link.hidden{display:none}
.txd-quickrow .txprio-opt .av{width:18px;height:18px;border-radius:50%;font-size:8px;font-weight:700;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}
.txd-quickrow .txprio-opt .dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.txd-fldlbl{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);margin:16px 0 8px}
.modal-body .txd-fldlbl:first-child{margin-top:0}
.fld-req{color:var(--rose);font-weight:700}
/* Kombobox (input[list]) juurde nähtav rippmenüü-noole ikoon, et oleks selge, et väljast saab nimekirjast valida */
.combo-wrap{position:relative}
.combo-wrap .fld-in{padding-right:34px}
.combo-chevron{position:absolute;top:50%;right:12px;transform:translateY(-50%);width:15px;height:15px;stroke-width:2;color:var(--ink-faint);pointer-events:none}
/* Asutus-välja kõrval nupp Äriregistrist otsimiseks — tulemuste loend laiub kogu rea alla */
.nc-org-row{position:relative;display:flex;gap:6px;align-items:center}
.nc-org-row .combo-wrap{flex:1;min-width:0}
.nc-org-row .icon-btn{flex-shrink:0}
.nc-org-row .txa-asg-row small{display:block;color:var(--ink-faint);font-weight:400;margin-top:1px}
.txd-due-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.btn-soft-teal{background:var(--teal-soft);color:var(--teal);border:0;font-weight:700;cursor:pointer;padding:8px 14px;border-radius:9px;font-size:12.5px;display:inline-flex;align-items:center;gap:6px;flex-shrink:0;font-family:inherit;transition:filter .12s}
.btn-soft-teal:hover{filter:brightness(.95)}
.btn-soft-teal svg{width:14px;height:14px}
/* need popover'id avanevad tx-modal seest — peavad olema .modal-overlay(z-index:120) PEAL, muidu näivad "ei tööta" */
.txd-quick-pop{position:absolute;z-index:9999;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lift);padding:6px;min-width:170px}
.txd-quick-pop-row{display:flex;align-items:center;gap:9px;width:100%;padding:7px 9px;border-radius:8px;cursor:pointer;font-size:12.5px;font-weight:500;color:var(--ink);border:0;background:transparent;font-family:inherit;text-align:left}
.txd-quick-pop-row:hover{background:var(--paper)}
.txd-quick-pop-row .av{width:20px;height:20px;border-radius:50%;font-size:8.5px;font-weight:700;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}
.txd-quick-pop-row .dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.txd-quick-pop-row .sq{width:8px;height:8px;border-radius:3px;flex-shrink:0}
#txaDueSlot{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
/* Vastutaja väljaga ühtlane kõrgus + laius ulatub veeru parema servani (nagu Vastutaja oma) —
   hdtField() ümbritseb kuupäeva+kellaaja ühise .hdt span'iga, mis peab ise laienema #txaDueSlot täieks laiuseks */
#txaDueSlot .hdt{flex:1;width:100%}
#txaDueSlot .hdt-date{flex:1;min-width:0;height:40px;box-sizing:border-box}
#txaDueSlot .hdt-timewrap{height:40px;box-sizing:border-box}
/* Dünaamiliselt kasvav kirjeldus ei tohi kokku kahaneda algsest (rows=3 / rows=2) väiksemaks — muidu jääb placeholder nähtamatuks */
#txaDesc{min-height:76px}
#txdDesc{min-height:58px}
.txa-attach-btn{font-size:12.5px;padding:8px 14px;flex-shrink:0;background:var(--teal-soft);color:var(--teal);border:1px solid var(--teal);box-shadow:none}
.txa-attach-btn:hover{filter:brightness(.97)}
.txa-attach-list{display:flex;flex-wrap:wrap;gap:6px;width:100%;margin-top:8px}
.txa-attach-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:var(--teal-soft);color:var(--teal);border-radius:7px;font-size:12px;font-weight:500;max-width:100%}
.txa-attach-rm{border:0;background:transparent;color:var(--teal);cursor:pointer;font-size:13px;line-height:1;padding:0;font-family:inherit}
/* Vastutaja + Tähtaeg samal real, kumbki poole laiusega */
.txa-row2{display:flex;gap:12px;align-items:flex-start}
.txa-row2 .txa-col{flex:1;min-width:0}
.txa-asg-list{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-lift);max-height:200px;overflow-y:auto;z-index:50;padding:4px}
.txa-asg-row{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:7px;cursor:pointer;font-size:13px;color:var(--ink)}
.txa-asg-row:hover,.txa-asg-row.sel{background:var(--paper)}
.txa-asg-row .av{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:700;color:#fff;flex-shrink:0}
.txa-asg-empty{padding:8px 9px;font-size:12.5px;color:var(--ink-faint)}
.txa-asg-row.combo-add{color:var(--teal-fill);font-weight:600;border-top:1px solid var(--line-soft);margin-top:4px;padding-top:9px;border-radius:0 0 7px 7px}
.txa-asg-row.combo-add:hover{background:var(--teal-soft)}
.txa-attach-rm:hover{color:var(--rose)}
.txd-comments{display:flex;flex-direction:column;gap:12px;max-height:240px;overflow:auto;margin-top:6px}
.txdc{display:flex;gap:9px}
.txdc .av{width:26px;height:26px;border-radius:50%;font-size:9.5px;font-weight:700;display:flex;align-items:center;justify-content:center;color:#fff;flex:none}
.txdc-b{flex:1;min-width:0}
.txdc-top{display:flex;align-items:center;gap:8px}
.txdc-top b{font-size:12.5px}
.txdc-date{font-size:10.5px;color:#9aa39c}
.txdc-del{margin-left:auto;border:0;background:transparent;color:#9aa39c;cursor:pointer;font-size:15px;line-height:1}
.txdc-text{font-size:13px;line-height:1.4;color:var(--ink);margin-top:2px}
.txd-cadd{margin-top:14px;display:flex;gap:8px;align-items:flex-end}
.txd-cadd textarea{flex:1;min-width:0;background:var(--paper-2);border:1px solid var(--line);border-radius:14px;padding:11px 16px;font-size:13px;color:var(--ink);outline:none;font-family:inherit;resize:none;overflow-y:hidden;line-height:1.4;max-height:160px}
.txd-cadd textarea:focus{border-color:var(--teal);background:var(--card)}
.txd-mention-pop{position:absolute;z-index:9999;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lift);padding:6px;min-width:170px;max-height:220px;overflow:auto}
.txd-mention-row{display:flex;align-items:center;gap:9px;width:100%;padding:7px 9px;border-radius:8px;cursor:pointer;font-size:12.5px;font-weight:500;color:var(--ink);border:0;background:transparent;font-family:inherit;text-align:left}
.txd-mention-row:hover{background:var(--paper)}
.txd-mention-row .av{width:20px;height:20px;border-radius:50%;font-size:8.5px;font-weight:700;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}
.txd-title-in{width:100%;font-size:18px;font-weight:700;border:none;outline:none;font-family:inherit;color:var(--ink);background:transparent;line-height:1.3;resize:none;overflow:hidden;display:block;min-height:26px}
@media(max-width:760px){.txm-head .txm-team,.txm-person{width:54px;padding-left:10px;padding-right:10px}.tx-matrix{overflow-x:auto;-webkit-overflow-scrolling:touch}.txm-head,.txm-row{min-width:624px}
  /* mobiilis jääb Tiim-veergu ainult avatar — nimi + "X aktiivset" tekst kollideerus kõrvalveergudega; ka noolekesele
     enam ruumi ei jää (rea klõpsatavus säilib, ikoon lihtsalt ei mahu enam kitsasse veergu) */
  .txm-pname,.txm-psub,.txm-chev{display:none}
  .txm-person{justify-content:center;gap:0}
  /* kirjeldus/viimane kommentaar/manused tulbad on liiga laiad kitsale ekraanile — mobiilis peidus, kuupäev+staatus jäävad */
  .txf-grid{grid-template-columns:20px 18px minmax(70px,1fr) 86px 64px}
  .txf-cell-desc,.txf-cell-comment,.txf-cell-files{display:none}
  .txf-cell-due{font-size:11px}
  .txf-status{padding:3px 7px;font-size:10px;gap:4px}
}

/* ---------- PIPELINE filter + owner ---------- */
.pipe-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.nns-banner{margin-bottom:16px;border:1px solid var(--amber);background:var(--amber-soft);border-radius:12px;overflow:hidden}
.nns-head{display:flex;align-items:center;gap:9px;padding:11px 14px;cursor:pointer;user-select:none}
.nns-head svg{width:18px;height:18px;color:var(--amber);flex-shrink:0}
.nns-head b{font-size:13.5px;color:var(--ink)}
.nns-sub{font-size:12px;color:var(--ink-soft);flex:1}
.nns-toggle{font-size:12px;font-weight:600;color:var(--amber)}
.nns-list{padding:0 10px 10px;display:flex;flex-direction:column;gap:6px;max-height:340px;overflow-y:auto}
.nns-row{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line-soft);border-radius:9px;padding:7px 10px}
.nns-quick{display:flex;gap:4px;flex-shrink:0}
.nns-q{border:1px solid var(--line);background:var(--card);border-radius:8px;padding:5px 8px;font-size:13px;line-height:1;cursor:pointer;color:var(--ink-soft);transition:.12s}
.nns-q:hover{background:var(--line-soft);color:var(--ink)}
.nns-q[data-o="won"]:hover{background:var(--teal-soft);border-color:var(--teal)}
.nns-q[data-o="lost"]:hover{background:var(--rose-soft);border-color:var(--rose);color:var(--rose)}
.nns-open{flex:1;min-width:0;display:flex;flex-direction:column;text-align:left;border:0;background:transparent;cursor:pointer;font-family:inherit;padding:0}
.nns-open b{font-size:13px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nns-open small{font-size:11.5px;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nns-add{flex-shrink:0;font-size:12px;padding:6px 11px}
.nns-sub{display:none}
@media(min-width:700px){.nns-sub{display:block}}
/* Cockpit „Minu päev" */
.cockpit{max-width:none}
.ck-hero{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;margin-bottom:20px}
.ck-greet h2{font-family:'Instrument Serif',serif;font-size:30px;font-weight:400;line-height:1.1}
.ck-greet span{font-size:13px;color:var(--ink-faint);text-transform:capitalize}
.ck-focus{display:flex;align-items:center;gap:12px;background:var(--teal-soft);border:1px solid var(--teal);border-radius:14px;padding:12px 18px;flex:1;min-width:260px;max-width:580px}
.ck-fi{font-size:22px;flex-shrink:0}
.ck-focus>div{font-size:14px;line-height:1.4;color:var(--ink)}
.ck-focus b{color:var(--teal)}
.ck-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-bottom:16px}
.ck-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px 18px;box-shadow:var(--shadow)}
.ck-ct{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;color:var(--ink);margin-bottom:10px}
.ck-n{margin-left:auto;background:var(--paper);color:var(--ink-soft);font-size:12px;font-weight:700;min-width:22px;height:22px;padding:0 7px;border-radius:11px;display:grid;place-items:center}
.ck-item{display:flex;align-items:flex-start;gap:10px;width:100%;text-align:left;border:0;background:transparent;padding:8px 6px;border-radius:8px;cursor:pointer;font-family:inherit;border-bottom:1px solid var(--line-soft)}
.ck-item:last-child{border-bottom:0}
.ck-item:hover{background:var(--paper)}
.ck-txt{flex:1;min-width:0;font-size:13.5px;color:var(--ink);line-height:1.35;white-space:normal;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ck-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:5px}
.ck-dot.a{background:var(--rose)}.ck-dot.b{background:var(--amber)}.ck-dot.c{background:var(--ink-faint)}
.ck-due{font-size:11px;color:var(--ink-faint);flex-shrink:0;padding-top:2px}
.ck-time{font-size:12px;font-weight:700;color:var(--teal);flex-shrink:0;min-width:40px;padding-top:1px}
.ck-empty{font-size:12.5px;color:var(--ink-faint);padding:10px 4px;text-align:center}
.ck-nns{margin-bottom:16px}
.ck-deal{justify-content:space-between}
.ck-dealopen{flex:1;min-width:0;display:flex;flex-direction:column;text-align:left;border:0;background:transparent;cursor:pointer;font-family:inherit;padding:0}
.ck-dealopen b{font-size:13.5px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ck-dealopen small{font-size:11.5px;color:var(--ink-soft)}
.ck-add{flex-shrink:0;font-size:12px;padding:6px 11px}
.ck-more{width:100%;border:0;background:transparent;color:var(--teal);font-weight:600;font-size:12.5px;padding:8px;cursor:pointer;font-family:inherit;margin-top:4px}
.ck-more:hover{text-decoration:underline}
/* Cockpiti päevaplaani kaart */
.ck-plan{margin-bottom:16px}
.ck-pl-acts{margin-left:auto;display:flex;gap:6px}
.ck-pl-btn{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);background:var(--card);color:var(--ink-soft);font-family:inherit;font-size:12px;font-weight:600;padding:5px 10px;border-radius:8px;cursor:pointer}
.ck-pl-btn:hover{color:var(--teal);border-color:var(--teal)}
.ck-pl-btn svg{width:13px;height:13px}
.ck-pl-row{display:flex;align-items:center;gap:10px;padding:7px 6px;border-bottom:1px solid var(--line-soft)}
.ck-pl-row:last-child{border-bottom:0}
.ck-pl-row.done .ck-pl-title{text-decoration:line-through;color:var(--ink-faint)}
.ck-pl-time{font-size:12px;font-weight:700;color:var(--teal);min-width:42px;flex-shrink:0}
.ck-pl-chk{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--line);background:var(--card);display:grid;place-items:center;cursor:pointer;flex-shrink:0;color:transparent;padding:0}
.ck-pl-chk svg{width:12px;height:12px;stroke-width:3}
.ck-pl-chk.on{background:var(--teal-fill);border-color:var(--teal-fill);color:#fff}
.ck-pl-spacer{width:20px;flex-shrink:0}
.ck-pl-title{flex:1;min-width:0;font-size:13.5px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ck-pl-typ{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:10px;flex-shrink:0;background:var(--paper);color:var(--ink-soft)}
.ck-pl-typ.meet{background:var(--teal-soft);color:var(--teal)}
.ck-pl-typ.urgent{background:var(--rose-soft);color:var(--rose)}
.ck-pl-typ.brk{background:var(--amber-soft);color:var(--amber)}
/* Tehingu riskiskoor (viimane kontakt) */
.deal-risk{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;flex-shrink:0;vertical-align:baseline}
.deal-risk.green{background:#33b871}
.deal-risk.yellow{background:var(--amber)}
.deal-risk.red{background:var(--rose);box-shadow:0 0 0 3px var(--rose-soft)}
.risk-legend{display:flex;align-items:center;gap:5px;font-size:11.5px;color:var(--ink-faint);font-weight:600;cursor:default}
.risk-legend .deal-risk{margin-right:0}
/* Nädala normid (cockpit) */
.ck-goal{margin-bottom:10px}
.ck-goal-l{display:flex;justify-content:space-between;font-size:12.5px;color:var(--ink-soft);margin-bottom:4px}
.ck-goal-l b{color:var(--ink);white-space:nowrap}
.ck-goal-bar{height:8px;background:var(--line-soft);border-radius:6px;overflow:hidden}
.ck-goal-fill{height:100%;background:var(--teal-fill);border-radius:6px;transition:width .4s}
.ck-goal-fill.ok{background:#33b871}
.ck-goal-fill.over{background:repeating-linear-gradient(45deg,var(--amber),var(--amber) 6px,#ffb238 6px,#ffb238 12px)}
.ck-goal-form{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin-top:10px;padding-top:10px;border-top:1px solid var(--line-soft)}
.ck-goal-form label{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--ink-faint);flex:1;min-width:70px}
.ck-goal-form input{width:100%;border:1px solid var(--line);border-radius:8px;padding:6px 8px;font-family:inherit;font-size:13px;background:var(--card);color:var(--ink)}
.ck-goal-save{font-size:12px;padding:7px 12px}
/* Fookusrežiim + Pomodoro */
.focus-overlay{position:fixed;inset:0;background:var(--paper);z-index:300;display:flex;align-items:center;justify-content:center}
.focus-overlay[hidden]{display:none}
.focus-exit{position:absolute;top:18px;right:22px;display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--card);color:var(--ink-soft);font-family:inherit;font-size:13px;padding:8px 14px;border-radius:10px;cursor:pointer}
.focus-exit:hover{color:var(--ink)}
.focus-exit svg{width:14px;height:14px}
.focus-inner{text-align:center;max-width:640px;padding:0 24px}
.focus-label{font-size:12px;font-weight:700;letter-spacing:2px;color:var(--ink-faint);margin-bottom:14px}
.focus-inner h2{font-family:'Instrument Serif',serif;font-size:32px;font-weight:400;line-height:1.25;margin-bottom:24px;color:var(--ink)}
.focus-timer{font-size:84px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--teal);line-height:1;margin-bottom:18px}
.fdur-row{display:flex;gap:7px;justify-content:center;align-items:center;margin-bottom:20px;flex-wrap:wrap}
.fdur{border:1px solid var(--line);background:var(--card);border-radius:20px;padding:6px 13px;font-size:12.5px;font-weight:600;color:var(--ink-soft);cursor:pointer;font-family:inherit;transition:.12s}
.fdur:hover{border-color:var(--teal);color:var(--teal)}
.fdur.on{background:var(--teal-fill);border-color:var(--teal-fill);color:#fff}
#focusCustomMin{width:64px;border:1px solid var(--line);background:var(--card);border-radius:20px;padding:6px 10px;font-size:12.5px;font-family:inherit;color:var(--ink);text-align:center}
.focus-dnd{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12.5px;color:var(--ink-soft);cursor:pointer;margin-bottom:14px}
.focus-dnd input{accent-color:var(--teal)}
.focus-pill{position:fixed;right:22px;bottom:22px;z-index:290;display:flex;align-items:center;gap:9px;background:var(--teal-fill);color:#fff;border-radius:30px;padding:10px 16px;box-shadow:0 8px 26px rgba(0,0,0,.28);cursor:pointer;font-variant-numeric:tabular-nums}
.focus-pill b{font-size:16px}
.fp-ico{font-size:15px}
.fp-btn{border:none;background:rgba(255,255,255,.18);color:#fff;border-radius:50%;width:26px;height:26px;line-height:1;font-size:12px;cursor:pointer;display:grid;place-items:center}
.fp-btn:hover{background:rgba(255,255,255,.32)}
.fp-badge{position:absolute;top:-7px;right:-4px;background:var(--rose);color:#fff;border-radius:10px;font-size:10.5px;font-weight:700;padding:2px 6px;min-width:18px;text-align:center}
.focus-acts{display:flex;gap:10px;justify-content:center;margin-bottom:20px}
.focus-hint{font-size:12.5px;color:var(--ink-faint)}
/* Pausi-meeldetuletus — nurgakaart, ei blokeeri ekraani (nt pooleliolev kõne) */
.break-overlay{position:fixed;inset:auto 22px 22px auto;top:auto;left:auto;width:360px;max-width:calc(100vw - 32px);background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 36px rgba(0,0,0,.22);z-index:300;display:block;padding:20px 22px;animation:breakIn .25s ease}
@keyframes breakIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.break-overlay .focus-inner{text-align:left;max-width:none;padding:0}
.break-emoji{font-size:30px;line-height:1;margin-bottom:8px}
.break-sub{font-size:13px;color:var(--ink-soft);max-width:none;margin:0 0 14px;line-height:1.5}
.break-overlay .focus-inner h2{font-size:18px;margin-bottom:8px}
.break-overlay .focus-acts{justify-content:flex-start;flex-wrap:wrap;margin-bottom:12px}
.break-overlay .focus-acts .btn{font-size:12.5px;padding:8px 12px}
.break-overlay .focus-hint{font-size:11px}
@media(max-width:760px){.break-overlay{right:12px;left:12px;bottom:12px;width:auto;max-width:none}}
/* ── Raamatupidamise kontod (Seaded) ── */
.acc-account{border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:12px;background:var(--paper-2)}
.acca-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.acca-head .acca-name{flex:1;font-weight:600}
.acca-def{border:1px solid var(--line);background:var(--card);border-radius:50%;width:28px;height:28px;color:var(--ink-faint);cursor:pointer;font-size:14px;line-height:1}
.acca-def.on{color:var(--teal);border-color:var(--teal);background:var(--teal-soft)}
.acca-del{border:1px solid var(--line);background:var(--card);border-radius:8px;width:28px;height:28px;color:var(--ink-faint);cursor:pointer}
.acca-del:hover{color:var(--rose);border-color:var(--rose)}
.acca-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 14px}
@media(max-width:760px){.acca-grid{grid-template-columns:1fr}}
.acca-adv{margin-top:8px}
.acca-adv summary{font-size:12px;color:var(--ink-soft);cursor:pointer}
.acca-adv textarea{font-family:ui-monospace,monospace;font-size:12px;margin-top:6px}
.acc-acc-sel{margin:8px 0 4px;font-size:12.5px}
/* ── Raamatupidamise dokumendid tehingul ── */
.acc-wrap{border-top:1px solid var(--line-soft);margin-top:12px;padding-top:2px}
.acc-doc{padding:8px 0;border-bottom:1px solid var(--line-soft);font-size:13px}
.acc-doc:last-child{border-bottom:none}
.acc-doc-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.acc-doc-num{color:var(--ink);font-weight:400}
.acc-doc-who{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:8.5px;font-weight:700;color:#fff;flex-shrink:0}
.acc-doc small{color:var(--ink-faint);font-size:inherit}
.acc-doc-seg:not(:last-child)::after{content:'·';display:inline-block;margin:0 2mm;color:var(--ink-faint)}
.acc-kind{font-size:13px;font-weight:400;color:var(--ink-soft);white-space:nowrap}
/* Toimingunupud (Vaata PDF/Loo arve/Saada) samas reas dokumendi info taga — .side-card .btn.ghost{width:100%} üle kirjutamiseks vajab võrdset või suuremat spetsiifilisust */
.acc-doc-top .btn.ghost.acc-pdf,.acc-doc-top .btn.ghost.acc-to-inv,.acc-doc-top .btn.ghost.acc-send{width:auto;padding:4px 10px;font-size:11.5px;margin-top:0;text-decoration:none;flex:0 0 auto;white-space:nowrap;gap:5px}
.acc-doc-top .btn.ghost.acc-to-inv{background:var(--green-soft);color:var(--green);border-color:var(--green)}
.acc-doc-top .btn.ghost.acc-to-inv:hover{filter:brightness(0.96)}
/* Compose: manuse-chipid */
.cmp-attach{display:flex;flex-wrap:wrap;gap:7px;padding:8px 0 2px}
.cmp-att-chip{display:inline-flex;align-items:center;gap:6px;background:var(--paper-2);border:1px solid var(--line);border-radius:16px;padding:4px 10px;font-size:12.5px;color:var(--ink)}
.cmp-att-chip small{color:var(--ink-faint)}
.cmp-att-chip button{border:none;background:transparent;color:var(--ink-faint);cursor:pointer;font-size:11px;padding:0 2px}
.cmp-att-chip button:hover{color:var(--rose)}
/* ── Kutsed + Google'i sündmuse muutmine ── */
.cal-inv-btn .count{background:var(--rose);color:#fff;font-size:10.5px;padding:1px 7px;border-radius:12px;font-weight:700;margin-left:2px}
.cal-inv-panel{min-width:290px;max-width:360px}
.cinv{padding:10px 12px;border-bottom:1px solid var(--line-soft);display:flex;flex-direction:column;gap:3px}
.cinv:last-child{border-bottom:none}
.cinv b{font-size:13px;color:var(--ink)}
.cinv small{font-size:11.5px;color:var(--ink-soft)}
.cinv-acts{display:flex;gap:6px;margin-top:6px}
.cinv-b{border:1px solid var(--line);background:var(--paper-2);border-radius:8px;padding:5px 10px;font-size:12px;font-weight:600;color:var(--ink-soft);cursor:pointer;font-family:inherit;transition:.12s}
.cinv-b.yes:hover{background:var(--teal-soft);border-color:var(--teal);color:var(--teal)}
.cinv-b.no:hover{background:var(--rose-soft);border-color:var(--rose);color:var(--rose)}
.cinv-b:hover{background:var(--line-soft)}
.cinv-empty{padding:14px;font-size:12.5px;color:var(--ink-faint)}
.gev-cal{font-size:11px;font-weight:600;color:var(--ink-faint);margin-left:8px}
.gev-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.gev-link{text-decoration:none;font-size:12.5px}
.ar-archsec{margin-top:6px}
.ar-archsec summary{font-size:11.5px;color:var(--ink-faint);cursor:pointer;padding:4px 2px}
.ar-thread .art-ren,.ar-thread .art-arc,.ar-thread .art-unarc{border:none;background:transparent;cursor:pointer;font-size:11px;color:var(--ink-faint);padding:2px 3px;opacity:0;transition:opacity .12s}
.ar-thread:hover .art-ren,.ar-thread:hover .art-arc,.ar-thread:hover .art-unarc{opacity:1}
.ar-thread .art-ren:hover,.ar-thread .art-arc:hover,.ar-thread .art-unarc:hover{color:var(--ink)}
.ar-thread.archived{opacity:.72}
.btn.ghost.gev-del{color:var(--rose);border-color:var(--rose-soft)}
.btn.ghost.gev-del:hover{background:var(--rose-soft)}
.txd-del-mini{font-size:12px;padding:6px 10px;gap:5px}
.txd-del-mini svg{width:14px;height:14px}
.ev.google[data-gid]{cursor:pointer}
/* ── Mobiilikalender (Google Calendar telefonistiil) ── */
.mc-mode{display:block!important;overflow-y:auto}
.mc-seg{position:sticky;top:0;z-index:5;display:flex;gap:0;background:var(--paper-2);border:1px solid var(--line);border-radius:11px;padding:3px;margin-bottom:12px}
.mc-seg button{flex:1;border:none;background:transparent;border-radius:8px;padding:8px 4px;font-size:13px;font-weight:600;color:var(--ink-soft);cursor:pointer;font-family:inherit}
.mc-seg button.on{background:var(--card);color:var(--ink);box-shadow:var(--shadow)}
.mc-row{display:flex;gap:10px;padding:7px 2px;border-bottom:1px solid var(--line-soft)}
.mc-date{flex-shrink:0;width:46px;display:flex;flex-direction:column;align-items:center;gap:1px;padding-top:3px;cursor:pointer}
.mc-dn{font-size:10.5px;font-weight:700;letter-spacing:.5px;color:var(--ink-faint);text-transform:uppercase}
.mc-num{font-size:17px;font-weight:600;color:var(--ink);width:32px;height:32px;display:grid;place-items:center;border-radius:50%}
.mc-date.today .mc-num{background:var(--teal-fill);color:#fff}
.mc-mo{font-size:10px;color:var(--ink-faint)}
.mc-evs{flex:1;display:flex;flex-direction:column;gap:5px;min-width:0}
.mc-ev{border-radius:10px;padding:8px 12px;cursor:pointer;line-height:1.3}
.mc-ev b{display:block;font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mc-ev span{font-size:11.5px;opacity:.85}
.mc-empty{padding:26px 10px;text-align:center;color:var(--ink-faint);font-size:13px}
.mc-allday{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}
.mc-hours{border-top:1px solid var(--line-soft)}
.mc-hour{position:relative;display:flex;gap:8px;min-height:52px;border-bottom:1px solid var(--line-soft);padding:2px 0}
.mc-ht{flex-shrink:0;width:48px;font-size:11px;color:var(--ink-faint);padding-top:2px}
.mc-hevs{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0;padding:2px 0}
.mc-now{position:absolute;left:44px;right:0;height:2px;background:#ea4335;border-radius:2px;z-index:2}
.mc-now::before{content:'';position:absolute;left:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background:#ea4335}
.mcm-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:14px}
.mcm-dow{text-align:center;font-size:10.5px;font-weight:700;color:var(--ink-faint);padding:4px 0;text-transform:uppercase}
.mcm-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:10px;cursor:pointer}
.mcm-day span{font-size:13.5px;font-weight:600;color:var(--ink);width:28px;height:28px;display:grid;place-items:center;border-radius:50%}
.mcm-day.today span{background:var(--teal-fill);color:#fff}
.mcm-day.sel{background:var(--teal-soft)}
.mcm-day.other{cursor:default}
.mcm-dots{display:flex;gap:2px;height:5px}
.mcm-dots i{width:5px;height:5px;border-radius:50%}
.mcm-sel{border-top:1px solid var(--line);padding-top:12px;display:flex;flex-direction:column;gap:6px}
.mcm-selh{font-size:13px;font-weight:700;color:var(--ink-soft);margin-bottom:2px}
.mcm-add{margin-top:6px;align-self:flex-start}
@media(max-width:760px){
  #calControlsTop2 .cal-view-tog{display:none}
}
.spec-filter-combo{width:auto;max-width:220px;min-width:150px;padding:9px 12px}
/* ── Ladu ── */
.wh-toolbar-top{display:flex;align-items:center;gap:8px;margin-left:calc(3cm - 18px)}
.wh-summary{font-size:12.5px;color:var(--ink-soft)}
.wh-bulk{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-soft)}
.wh-bulk .btn{padding:5px 12px;font-size:12.5px}
.wh-table{border:1px solid var(--line);border-radius:12px;background:var(--card);overflow:hidden}
.wh-row{display:grid;grid-template-columns:24px 170px 1fr 130px 70px 100px 110px 90px 40px;gap:10px;align-items:center;padding:9px 14px;border-bottom:1px solid var(--line-soft);font-size:13px}
.wh-row.sel{background:var(--teal-soft)}
.wh-chk{width:15px;height:15px;cursor:pointer;accent-color:var(--teal)}
.wh-row:last-child{border-bottom:none}
.wh-row.wh-head{background:var(--paper-2);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}
.wh-row .num{text-align:right}
.wh-code{font-family:ui-monospace,monospace;font-size:12px;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wh-name{color:var(--ink)}
.wh-name-btn{color:var(--ink);background:transparent;border:0;padding:0;font:inherit;text-align:left;cursor:pointer}
.wh-name-btn:hover{color:var(--teal);text-decoration:underline}
.wh-mfr{color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wh-price[contenteditable]:hover{background:var(--paper-2);border-radius:5px;cursor:text}
.wh-stock{font-weight:700;font-size:12.5px;padding:2px 8px;border-radius:10px}
.wh-stock.ok{background:var(--teal-soft);color:var(--teal)}
.wh-stock.zero{background:var(--line-soft);color:var(--ink-faint)}
.wh-stock.neg{background:var(--rose-soft);color:var(--rose)}
.wh-stock.none{color:var(--ink-faint)}
.wh-src{font-size:11px;font-weight:600;padding:2px 8px;border-radius:8px}
.wh-src.merit{background:var(--teal-soft);color:var(--teal)}
.wh-src.manual{background:var(--line-soft);color:var(--ink-soft)}
.wh-del{border:none;background:transparent;color:var(--ink-faint);cursor:pointer;font-size:14px}
.wh-del:hover{color:var(--rose)}
@media(max-width:900px){.wh-row{grid-template-columns:1fr 80px 90px;gap:6px}.wh-row>input.wh-chk,.wh-row>span:nth-child(2),.wh-row>span:nth-child(4),.wh-row>span:nth-child(5),.wh-row>span:nth-child(8){display:none}}
.wh-lead-row{display:flex;gap:6px}
.wh-lead-row #whNewLeadNum{width:70px;flex-shrink:0}
.wh-lead-row #whNewLeadUnit{flex:1}
/* Lõpetatud tehingud — müüdud seadmete ülevaade (filtrid elavad topbar's, vt .wp-toolbar-top) */
.wp-toolbar-top{display:flex;align-items:center;gap:8px;margin-left:calc(2cm - 18px)}
.wp-toolbar-top #wpProductWrap{width:calc(4cm + 22px);flex-shrink:0}
.wp-toolbar-top #wpClient{width:4cm;flex-shrink:0}
/* Kitsal ekraanil ei mahu filtrid ühele reale: fikseeritud sentimeetrilaiused ja 2cm vasak veeris lükkasid
   kliendiotsingu, kuupäevavahemiku ja lähtestuse ekraanist välja, ilma et neid saanuks kerida */
@media(max-width:760px){
  .wp-toolbar-top{flex-wrap:wrap;margin-left:0;width:100%}
  .wp-toolbar-top #wpProductWrap,.wp-toolbar-top #wpClient{width:auto;flex:1 1 140px;min-width:0}
  .wp-toolbar-top #wpDateRangeBtn{flex:1 1 120px;min-width:0}
}
#wpDateRangeBtn{width:220px;flex-shrink:0;text-align:left;cursor:pointer;font-family:inherit;color:var(--ink)}
.wp-daterange-btn.empty{color:var(--ink-faint)}
.wp-summary{font-size:12.5px;color:var(--ink-soft);margin-bottom:10px}
.wp-table{border:1px solid var(--line);border-radius:12px;background:var(--card);overflow:hidden}
.wp-row{display:grid;grid-template-columns:10cm 10cm 1.5fr 1fr 1fr 1fr 1fr;gap:10px;align-items:center;padding:9px 14px;border-bottom:1px solid var(--line-soft);font-size:13px;cursor:pointer}
.wp-row:last-child{border-bottom:none}
.wp-row:hover{background:var(--paper)}
.wp-row.wp-head{background:var(--paper-2);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);cursor:default}
.wp-row.wp-head:hover{background:var(--paper-2)}
.wp-row .num{text-align:center}
.wp-row>span:nth-child(4){text-align:center}
.wp-name{font-weight:600;color:var(--ink)}
.wp-sum{font-weight:700;color:var(--ink)}
.wp-owner{display:flex;justify-content:center;align-items:center}
@media(max-width:760px){.wp-row{grid-template-columns:1.4fr 1fr 70px;gap:6px}.wp-row>span:nth-child(3),.wp-row>span:nth-child(4),.wp-row>span:nth-child(5),.wp-row>span:nth-child(7){display:none}}
/* Paigaldus-vaade — sama .wp-row/.wp-table karkass mis Lõpetatud tehingutel, aga 5 veeruga (Seade/Klient/
   Maakond/Kommentaar/Tehtud-nupp) 7 asemel */
.wp-row.inst-row{grid-template-columns:0.7fr 1.2fr 1.1fr 0.8fr 1.7fr auto;cursor:pointer}
.wp-row.inst-row.wp-head{cursor:default}
.wp-row.inst-row>span:nth-child(4){text-align:left}
.inst-due{color:var(--ink-soft);white-space:nowrap}
.inst-comment{color:var(--ink-soft);white-space:normal;overflow-wrap:anywhere;line-height:1.4}
.inst-done-btn{white-space:nowrap}
@media(max-width:760px){.wp-row.inst-row{grid-template-columns:0.8fr 1.3fr auto;gap:6px}.wp-row.inst-row>span:nth-child(3),.wp-row.inst-row>span:nth-child(4),.wp-row.inst-row>span:nth-child(5){display:none}}
/* Tehingu toodete modaal (Meriti-stiilis ridade tabel) */
.dpm-open{width:100%;margin-top:11px;justify-content:center;font-size:13px}
.btn.ghost.dpm-open{background:var(--teal-fill);color:#fff;border:0}
.btn.ghost.dpm-open:hover{filter:brightness(0.96)}
.dpm-open svg{width:14px;height:14px}
.dpm-table{border:1px solid var(--line);border-radius:12px;background:var(--card)}
.dpm-row{display:grid;grid-template-columns:150px 1fr 62px 44px 88px 55px 88px 28px;gap:8px;align-items:center;padding:7px 12px;border-bottom:1px solid var(--line-soft)}
.dpm-row.dpm-head{background:var(--paper-2);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);border-radius:12px 12px 0 0;padding:9px 12px}
.dpm-row .num{text-align:right}
.dpm-row>*:nth-child(3),.dpm-row>*:nth-child(7){text-align:center}
.dpm-row input{padding:7px 9px;border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:13px;background:var(--paper-2);outline:none;color:var(--ink);width:100%;min-width:0}
.dpm-row input:focus{border-color:var(--teal)}
/* Käsitsi sisestamiseks piisab — spinner-nooled (kerimisriba) segavad rohkem kui aitavad */
.dpm-row input[type=number]::-webkit-inner-spin-button,.dpm-row input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.dpm-row input[type=number]{-moz-appearance:textfield}
.dpm-art{display:flex}
.dpm-art .dpma-in{border-radius:8px 0 0 8px;font-family:ui-monospace,monospace;font-size:12px}
.dpm-desc{min-width:0}
.dpma-dd{border:1px solid var(--line);border-left:none;border-radius:0 8px 8px 0;background:var(--paper-2);color:var(--ink-soft);cursor:pointer;padding:0 8px;flex-shrink:0;font-size:11px}
.dpma-dd:hover{background:var(--line-soft)}
.dpm-unit{font-size:12px;color:var(--ink-faint);text-align:center;margin-left:calc(2mm - 8px)}
.dpm-disc{text-align:center}
.dpm-sum{font-size:13px;font-weight:600;color:var(--ink);text-align:center}
.dpm-del{border:none;background:transparent;color:var(--ink-faint);cursor:pointer;font-size:13px;border-radius:6px}
.dpm-del:hover{color:var(--rose)}
.dpm-total{display:flex;justify-content:flex-end;gap:14px;align-items:center;padding:12px 4px 2px;font-size:13px;color:var(--ink-soft)}
.dpm-total b{font-size:17px;color:var(--teal)}
.dpm-drop{position:fixed;z-index:1200;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 34px rgba(0,0,0,.2);max-height:300px;overflow-y:auto}
/* Esimene veerg (kood) vastab täpselt .dpm-row Artikkel-veeru laiusele (150px) ja gap samuti (8px), et
   rippmenüü kood/nimi joonduksid alati päris ARTIKKEL/KIRJELDUS veergude alla — vt dpmShowDrop */
.dpmd-hit{display:grid;grid-template-columns:150px 1fr 72px 76px;gap:8px;align-items:center;padding:7px 11px;cursor:pointer;border-bottom:1px solid var(--line-soft);font-size:12.5px}
.dpmd-hit:last-child{border-bottom:none}
.dpmd-hit:hover{background:var(--paper-2)}
.dpmd-code{font-family:ui-monospace,monospace;font-size:11.5px;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dpmd-name{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dpmd-stock{font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:9px;white-space:nowrap;text-align:center}
.dpmd-stock.ok{background:var(--teal-soft);color:var(--teal)}
.dpmd-stock.zero{background:var(--rose-soft);color:var(--rose)}
.dpmd-hit.zero-stock .dpmd-name{color:var(--rose)}
.dpmd-price{text-align:right;font-weight:600;color:var(--ink);white-space:nowrap}
.dpmd-none{padding:9px 11px;font-size:12px;color:var(--ink-faint)}
@media(max-width:760px){
  .dpm-row{grid-template-columns:1fr 55px 55px 45px 88px 28px;grid-template-areas:"art art art art art del" "name name name name name name" "qty unit price disc . sum";row-gap:6px}
  .dpm-row.dpm-head{display:none}
  .dpm-art{grid-area:art}
  .dpm-desc{grid-area:name}
  .dpm-qty{grid-area:qty}
  .dpm-unit{grid-area:unit;align-self:center;margin-left:0}
  .dpm-price{grid-area:price}
  .dpm-disc{grid-area:disc;align-self:center}
  .dpm-sum{grid-area:sum;align-self:center;text-align:right}
  .dpm-del{grid-area:del;justify-self:end}
  .dpmd-hit{grid-template-columns:1fr 72px 70px}
  .dpmd-code{display:none}
}
/* Kampaania saajagrupid */
.camp-groups{margin-top:8px}
.cg-row{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--line-soft);border-radius:10px;background:var(--card);margin-bottom:7px}
.cg-main{flex:1;min-width:0}
.cg-main b{font-size:13.5px;color:var(--ink);display:block}
.cg-main small{font-size:11.5px;color:var(--ink-soft)}
.cg-acts{display:flex;gap:6px}
.cg-acts .btn{padding:5px 10px;font-size:12px}
.cg-new{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}
.cg-sup{margin-top:14px}
.cg-sup summary{font-size:12.5px;color:var(--ink-soft);cursor:pointer;padding:4px 0}
.cg-suplist{max-height:220px;overflow-y:auto;margin-top:6px}
.cg-suprow{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;color:var(--ink-soft);padding:4px 8px;border-bottom:1px solid var(--line-soft)}
.changelog-list{display:flex;flex-direction:column;gap:16px;max-height:520px;overflow-y:auto}
.chl-day b{font-size:13px;color:var(--ink)}
.chl-day ul{margin:6px 0 0 18px;padding:0;display:flex;flex-direction:column;gap:4px}
.chl-day li{font-size:13px;color:var(--ink-soft);line-height:1.45}
.dcp-list{display:flex;flex-direction:column;gap:7px}
.dcp-list label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-soft);cursor:pointer}
.dcp-list input{accent-color:var(--teal)}
.break-fact{max-width:520px;margin:0 auto 24px;padding:16px 20px;border:1px solid var(--line);border-radius:14px;background:var(--card);text-align:left}
.bf-label{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px}
.bf-dice{border:1px solid var(--line);background:var(--paper-2);border-radius:8px;font-size:15px;line-height:1;padding:4px 8px;cursor:pointer;transition:transform .15s}
.bf-dice:hover{transform:rotate(20deg) scale(1.1)}
.bf-act{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:6px}
.bf-why{font-size:13px;color:var(--ink-soft);line-height:1.55}
.bf-joke{font-size:12.5px;color:var(--ink-faint);line-height:1.5;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line);font-style:italic}
/* Järgmine parim tegevus (cockpit hero) */
.ck-na{gap:12px}
.ck-na-txt{flex:1;min-width:0}
.ck-na-txt b{display:block;font-size:14px;color:var(--ink)}
.ck-na-txt small{font-size:12px;color:var(--ink-soft)}
.ck-na-acts{display:flex;gap:6px;flex-shrink:0}
.ck-pl-fk{width:24px;height:24px;border-radius:7px;border:0;background:transparent;color:var(--ink-faint);display:grid;place-items:center;cursor:pointer;flex-shrink:0;padding:0}
.ck-pl-fk:hover{background:var(--teal-soft);color:var(--teal)}
.ck-pl-fk svg{width:14px;height:14px}
/* Tunneli-rajad (projekt vs korduvtellimus) */
.chip-grp{display:flex;flex-wrap:wrap;gap:7px;align-items:center;background:var(--line-soft);border-radius:22px;padding:3px}
.chip-sep{width:1px;height:22px;background:var(--ink-faint);opacity:.5;margin:0 6px;flex-shrink:0;align-self:center}
.deal-sort-sel{padding:6px 10px;border-radius:20px;border:1px solid var(--line);background:var(--card);font-size:12.5px;font-weight:600;color:var(--ink-soft);cursor:pointer;font-family:inherit}
.nd-track{display:flex;gap:8px;margin:4px 0 10px}
.modal-body .ndt{flex:1;display:flex;align-items:center;gap:2mm;border:1px solid var(--line);border-radius:10px;padding:9px 12px 9px 3mm;font-size:13px;font-weight:500;cursor:pointer;background:var(--card);color:var(--ink);margin:0;white-space:nowrap}
.ndt:has(input:checked){border-color:var(--teal);background:var(--teal-soft)}
.ndt input{appearance:none;-webkit-appearance:none;width:14px;height:14px;margin:0;padding:0;border:1.5px solid var(--line);border-radius:50%;background:var(--card);flex-shrink:0;cursor:pointer;position:relative}
.ndt input:checked{border-color:var(--teal)}
.ndt input:checked::after{content:'';position:absolute;top:2.5px;left:2.5px;width:7px;height:7px;border-radius:50%;background:var(--teal)}
.deal-track{font-size:12px;line-height:1;display:inline-flex;align-items:center;gap:3px;max-width:110px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink-soft);font-weight:600}
/* Kliendisuhte terviseindeks */
.ch-health{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:12px;vertical-align:middle;cursor:default}
.ch-health.ok{background:#e3f4ea;color:#1e7a4e}
.ch-health.warm{background:var(--amber-soft);color:var(--amber)}
.ch-health.cold{background:var(--rose-soft);color:var(--rose)}
:root[data-theme='dark'] .ch-health.ok{background:#14301f;color:#5ecb8f}
@media (prefers-color-scheme: dark){:root:not([data-theme='light']) .ch-health.ok{background:#14301f;color:#5ecb8f}}
/* Dupli-tuvastus: sama täpne nimega teine kontaktikirje (ainult märguanne, ei ühenda) */
.dup-badge{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:12px;vertical-align:middle;background:var(--rose-soft);color:var(--rose);cursor:pointer;border:0;font-family:inherit}
.dup-badge svg{width:13px;height:13px;flex-shrink:0}
.dup-badge:hover{filter:brightness(0.96)}
/* Duplikaatide ühendamise nupp/modaal */
.dup-merge-btn{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:12px;vertical-align:middle;background:var(--teal-soft);color:var(--teal);cursor:pointer;border:0;font-family:inherit}
.dup-merge-btn svg{width:13px;height:13px;flex-shrink:0}
.dup-merge-btn:hover{filter:brightness(0.96)}
.merge-cand{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid var(--line-soft)}
.merge-cand:first-child{border-top:0}
/* Näitab selgelt, KUMB duplikaatkirje (nimi üksi ei erista, kui mõlemal sama nimi) jääb alles — vt openMergePicker */
.merge-keep-card{background:var(--teal-soft);border:1px solid var(--teal);border-radius:10px;padding:10px 12px}
.mkc-lbl{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--teal);margin-bottom:3px}
.pipe-toolbar .lbl{font-size:12px;color:var(--ink-faint);font-weight:600}
.deal .foot{gap:5px}
/* Ei margin-left:auto — see sõi kogu vaba ruumi ühte kohta (suur tühimik enne ikooni), jättes hinna/päevade
   vahed liiga kitsaks. .foot'i justify-content:space-between jaotab nüüd ruumi ühtlaselt kõigi elementide vahel */
.deal .foot-r{display:flex;align-items:center;gap:6px;flex-shrink:0}
.deal-owner{width:23px;height:23px;border-radius:50%;display:inline-grid;place-items:center;font-size:9.5px;font-weight:700;color:#fff;flex-shrink:0;border:2px solid var(--card);box-shadow:0 0 0 1px var(--line)}

/* ---------- LISA TEGEVUS modal ---------- */
.modal-body .la-types{margin-bottom:8px}
.act-opt{margin-top:14px;padding-top:12px;border-top:1px solid var(--line-soft)}
/* .modal-body label{display:block} on üldreegel spetsiifilisemate klassidega — .cbx peab olema .modal-body kontekstis vähemalt sama spetsiifiline, muidu jääb block-kujule ja tekst ei tsentreeru checkboxi suhtes */
.modal-body .cbx{display:flex;align-items:center;gap:4mm;font-size:13px;font-weight:600;color:var(--ink-soft);cursor:pointer}
.cbx input{width:16px;height:16px;margin:0;accent-color:var(--teal);cursor:pointer;flex-shrink:0}
.act-sub{display:none;gap:8px;margin-top:10px;flex-wrap:wrap;align-items:center}
.act-sub.show{display:flex}
.act-sub select,.act-sub input{padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:13px;background:var(--paper-2);color:var(--ink)}
.act-sub .tf-prio{display:flex;gap:4px}
.act-sub .pbtn{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:var(--card);font-family:inherit;font-weight:800;font-size:12px;cursor:pointer;color:var(--ink-soft)}
.act-sub .pbtn[data-p=A].on{background:var(--rose);color:#fff;border-color:var(--rose)}
.act-sub .pbtn[data-p=B].on{background:var(--amber);color:#fff;border-color:var(--amber)}
.act-sub .pbtn[data-p=C].on{background:var(--teal-fill);color:#fff;border-color:var(--teal)}

/* ---------- KOOSOLEKUD / DAILY ---------- */
.series-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;overflow:hidden}
/* aktiivne tab "kasvab" otse sellest kaardist välja — oma ülemine raam ja nurgad välja lülitatud, et miski ei eralda neid */
body.view-meetings-active .series-general{border-top-color:transparent;border-top-left-radius:0;border-top-right-radius:0;box-shadow:none}
.series-general .sn-label{padding:16px 18px 0}
.series-head{display:flex;align-items:flex-start;gap:16px;padding:9px 18px 16px}
.series-head .series-del{opacity:0;transition:.15s}
.series-card:hover .series-del{opacity:1}
.series-meetings{padding:8px 10px}
.mtg-row{display:flex;align-items:center;gap:12px;padding:10px 10px;border-radius:9px;cursor:pointer;transition:background .12s}
.mtg-row:hover{background:var(--paper)}
.mtg-row .mtg-date{font-weight:700;font-size:12.5px;color:var(--teal);min-width:92px}
.mtg-row .mtg-title{font-size:13.5px;color:var(--ink-soft);display:flex;flex-direction:column;gap:2px;min-width:0}
.mtg-title-main{font-weight:600;color:var(--ink)}
.mtg-title-empty{font-style:italic;color:var(--ink-faint)}
.mtg-prev{display:flex;flex-direction:column;gap:1px;min-width:0}
.mtg-prev-line{font-size:11.5px;font-weight:400;color:var(--ink);word-break:break-word}
.mtg-prev-name{font-weight:700;text-transform:uppercase}
.mtg-prev.empty{font-style:italic;opacity:.7}
.mtg-next-divider{display:flex;align-items:center;gap:4px;font-size:10px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:var(--teal);padding:8px 10px 4px}
/* Eraldusjoon Tänaste ja Varasemate vahele */
.mtg-next-divider.past{color:var(--ink-faint);border-top:1px solid var(--line);margin:10px 10px 0;padding:12px 0 4px}
.mtg-past-filter{display:flex;align-items:center;gap:8px;padding:0 10px 8px}
/* Ühtlane kõrgus: natiivsel <select>-il on oma sisemine polster, seega fikseeritud kõrgus + horisontaalne 2mm */
.mtg-past-sel,.mtg-past-date{font-family:inherit;font-size:11.5px;line-height:1.15;height:30px;padding:0 2mm;border:1px solid var(--line);border-radius:7px;background:var(--paper-2);color:var(--ink-soft)}
/* Kuupäevaväli on hdt-vidin — sisemisel nupul oma raam/taust teeks kasti kasti sisse; sama kuju mis rippmenüül */
.mtg-past-date.hdt .hdt-date{border:0;background:transparent;padding:0;min-width:auto;font:inherit;color:inherit;border-radius:0}
.mtg-past-date{color-scheme:light}
.mtg-row.past .mtg-date{color:var(--ink)}
.mtg-row.past .mtg-title{color:var(--ink-soft)}
/* meetings: series tabs (ühendatud-tab stiil — aktiivne tab sulab kaardiga kokku, mitteaktiivsed jäävad omaette raamiga "tabideks") + panel */
.series-tabs{display:flex;flex-wrap:wrap;gap:0;align-items:flex-end;margin-bottom:0;padding-bottom:0}
.series-tab{display:inline-flex;align-items:center;align-self:flex-end;gap:7px;padding:9px 15px;border-radius:8px 8px 0 0;border:1px solid var(--line);background:var(--card);color:var(--ink);font-family:inherit;font-size:13.5px;font-weight:600;cursor:pointer;transition:.15s;margin-left:-1px}
.series-tab:first-child{margin-left:0}
.series-tab:hover{background:var(--paper-2);color:var(--ink-soft)}
.series-tab .st-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;opacity:.55}
.series-tab.on{background:var(--teal-soft);border-color:var(--line);color:var(--ink);font-weight:700;position:relative;z-index:2}
.series-tab.on:hover{background:var(--teal-soft);color:var(--ink)}
.series-tab.on .st-dot{opacity:1}
.series-tab.add{background:var(--paper);color:var(--ink-faint)}
.series-tab.add svg{width:14px;height:14px;stroke-width:2.2}
.series-tab.add:hover{background:var(--paper-2);color:var(--ink-soft)}
/* topbar variant — sama ühendatud-tab trikk, aga riba enda joon "kaob" aktiivse tabi all,
   nii et tab sulab otse alloleva kaardiga kokku (vt .series-general :first-child ülemine serv) */
.topbar-series-wrap{display:flex;align-items:flex-end;align-self:flex-end;flex:1 1 0%;min-width:0;gap:0;margin-bottom:-1px;margin-left:4px}
.search{flex-shrink:0}
.topbar-series-tabs{display:flex;flex-wrap:nowrap;align-items:flex-end;gap:0;margin:0;padding:10px 0 0;border:0;overflow-x:auto;overflow-y:hidden;flex:0 1 auto;min-width:0;scrollbar-width:thin;align-self:stretch}
.topbar-series-tabs .series-tab{padding:7px 12px;font-size:12.5px;flex-shrink:0;white-space:nowrap;border-radius:8px 8px 0 0;border-bottom:1px solid var(--line)}
.topbar-series-tabs .series-tab.on{border-bottom-color:transparent}
.topbar-series-wrap .series-tab.add{flex-shrink:0;margin-left:-1px;border-bottom:1px solid var(--line);padding:7px 12px;font-size:12.5px}
.sn-label{font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--ink-faint);margin-bottom:7px}
.sn-label span{text-transform:none;letter-spacing:0;font-weight:500;font-size:11px;margin-left:6px}
/* Seeria märkmed + lingid: kaks eraldi kasti, muudetavad otse kastis */
.sn2-head{padding-top:2mm;padding-left:2mm;padding-right:2mm}
.sn2-wrap .sn-label{padding:0}
.sn2-wrap{flex:1 1 0;min-width:0}
.sn2-w-notes{flex:1 1 0}
.sn2-w-links{flex:0 0 clamp(200px,16%,260px)}
.sn2-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:0 28px;align-items:start}
.sn2-col{display:flex;flex-direction:column;gap:3px;min-width:0}
.sn2-box{border:1px solid var(--line);border-radius:10px;background:var(--paper-2);padding:8px 12px;min-height:50px;cursor:text;transition:.15s;display:flex;flex-direction:column;gap:3px;justify-content:center}
.sn2-box:hover,.sn2-box:focus-within{border-color:var(--teal);background:var(--card)}
.sn2-empty{font-size:13px;color:var(--ink-faint);padding:4px 0}
.sn2-row{display:flex;align-items:flex-start;gap:8px;transition:opacity .25s}
.sn2-row.done{opacity:0}
.sn2-chk{margin:4px 0 0;width:15px;height:15px;accent-color:var(--teal);cursor:pointer;flex-shrink:0}
.sn2-in,.sn2-lin{flex:1;min-width:0;border:0;outline:0;background:transparent;font-family:inherit;font-size:13.5px;line-height:1.5;color:var(--ink);padding:1px 0}
.sn2-in{resize:none;overflow:hidden}
.sn2-bullet{width:15px;flex-shrink:0;text-align:center;color:var(--ink-faint);line-height:1.55}
.sn2-link{flex:1;min-width:0;color:var(--teal);font-size:13.5px;line-height:1.5;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sn2-link:hover{text-decoration:underline}
.sn2-lacts{display:none;gap:2px;flex-shrink:0}
.sn2-lrow:hover .sn2-lacts{display:flex}
.sn2-lbtn{border:0;background:transparent;color:var(--ink-faint);cursor:pointer;font-size:12px;line-height:1;padding:3px 5px;border-radius:5px}
.sn2-lbtn:hover{background:var(--line-soft);color:var(--teal)}
@media(max-width:1100px){.sn2-head{flex-wrap:wrap}.sn2-w-notes{flex:1 1 240px}.sn2-cols{gap:0 18px}}
/* koosolekute plokk — eraldi kaart, oma päis + "+ Koosolek" nupp */
.series-meetings-card{overflow:visible}
.smc-head{display:flex;align-items:center;justify-content:space-between;padding:2mm 18px;border-bottom:1px solid var(--line-soft)}
.smc-head h4{margin:0;font-family:inherit;font-size:15px;font-weight:700;letter-spacing:.2px;color:var(--ink)}
.smc-head .btn{font-size:12.5px;padding:8px 14px}
/* avatud koosolek — samas kaardis, seeria-nimekirja asemel */
.series-active-mtg{position:relative;padding:20px 20px 4px;background:var(--paper);border-radius:0 0 var(--radius) var(--radius)}
#seriesListWrap.hidden{display:none}
.sn-join{flex-shrink:0;padding:8px 16px}
.sn-join.off{opacity:.45;pointer-events:none}
.sn-link{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:var(--teal-soft);color:var(--teal);border-radius:7px;font-size:12px;text-decoration:none;font-weight:500;max-width:100%}
.sn-link:hover{background:var(--teal-fill);color:#fff}
.sn-link svg{width:13px;height:13px}
/* topbar'i kompaktne koosolekuga-liitumise klaster — kaamera-ikoon avab lingi-popover'i,
   Liitu + kopeeri jäävad alati nähtavale; ei sisalda URL-teksti, ei saa kunagi üle ääre minna */
/* Ilma ümbritseva kastita — kaamera- ja Liitu-nupp istuvad otse topbar'il */
.topbar-meet{position:relative;display:flex;align-items:center;gap:6px;background:transparent;border:0;padding:0;height:31px;flex-shrink:0}
.topbar-meet .tm-cam{width:29px;height:29px;display:grid;place-items:center;color:var(--teal);background:var(--teal-soft);border:1.5px solid var(--teal);border-radius:7px;cursor:pointer;flex-shrink:0;transition:.12s}
.topbar-meet .tm-cam svg{width:15px;height:15px}
.topbar-meet .tm-cam:hover{background:var(--teal);color:#fff}
.topbar-meet .sn-join{height:29px;padding:0 12px;display:inline-flex;align-items:center;gap:5px;font-size:12.5px;flex-shrink:0}
.topbar-meet .sn-join svg{width:12px;height:12px}
/* Koosolekute vaate topbar: Otsing · (1mm) ⚙ · (4mm) 📹 Liitu — topbari vahe on 18px, seega negatiivne varu */
#seriesSettingsTopBtn{width:36px;height:36px;justify-content:center;flex-shrink:0;margin-left:calc(1mm - 18px);margin-right:calc(4mm - 18px)}
#seriesSettingsTopBtn svg{width:17px;height:17px}
.mtg-row .mtg-title{flex:1}
.mtg-row .mtg-chev{width:15px;height:15px;stroke-width:2;color:var(--ink-faint);opacity:0;transition:.12s}
.mtg-row:hover .mtg-chev{opacity:1}
.color-row{display:flex;flex-wrap:wrap;gap:8px}
.swatch{width:26px;height:26px;border-radius:8px;border:2px solid transparent;cursor:pointer;transition:.12s;position:relative;display:inline-flex;align-items:center;justify-content:center}
.swatch.on{transform:scale(1.1);box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--ink)}
.swatch.on::after{content:'';width:9px;height:9px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translate(1px,-1px);filter:drop-shadow(0 1px 1px rgba(0,0,0,.5))}
/* osalejate valik — mitmeveeruline, et 15-20 inimest ei võtaks tohutult püstsuunalist ruumi */
.chk-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:2px 8px;max-height:230px;overflow:auto}
.chk-list .chk{display:flex;align-items:center;gap:9px;margin:0;padding:7px 9px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;color:var(--ink);text-transform:none;letter-spacing:0;transition:background .12s}
.chk-list .chk:hover{background:var(--paper)}
.chk-list .chk input{width:16px;height:16px;accent-color:var(--teal);cursor:pointer;margin:0;flex-shrink:0}
.chk-list .chk .av{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:9px;font-weight:700;color:#fff;flex-shrink:0}
.lbl-hint{text-transform:none;letter-spacing:0;font-weight:500;color:var(--ink-faint);font-size:11px;margin-left:6px}
/* seeria seaded — nime placeholder heledam, toimumisaja päeva-nupud + kellaaeg samal real */
#seriesNameInp::placeholder{color:var(--ink-faint);opacity:.7}
.recur-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.recur-days{display:flex;gap:6px}
.rday{width:34px;height:34px;border-radius:8px;border:1px solid var(--line);background:var(--card);font-family:inherit;font-weight:700;font-size:12.5px;color:var(--ink-soft);cursor:pointer;transition:.12s;flex-shrink:0}
.rday:hover{border-color:var(--teal)}
.rday.on{background:var(--teal-fill);border-color:var(--teal);color:#fff}
.recur-time-inp{flex:0 0 auto;width:110px}
/* .modal-body label{display:block} on üldreegel spetsiifilisemate klassidega — .chk-row peab olema .modal-body kontekstis vähemalt sama spetsiifiline, muidu jääb block-kujule ja checkbox kattub tekstiga */
.modal-body .chk-row{display:flex;align-items:center;gap:10px;cursor:pointer;text-transform:none;letter-spacing:0;font-weight:500;color:var(--ink);font-size:13px;margin:12px 0}
.chk-row input{width:16px;height:16px;accent-color:var(--teal);cursor:pointer;margin:0;flex-shrink:0}
.recur-until-wrap{margin-bottom:10px}
.recur-until-wrap.hidden{display:none}
.recur-until-wrap label{margin-top:0}
#seriesArchiveZone.hidden{display:none}
.btn.ghost.danger{color:var(--rose);border-color:transparent}
.btn.ghost.danger:hover{border-color:var(--rose)}
.btn.danger-fill{background:var(--rose);color:#fff}
.btn.danger-fill:hover{filter:brightness(1.07)}
.confirm-text{font-size:14px;line-height:1.55;color:var(--ink)}
.perms-note{font-size:12px;color:var(--ink-faint);margin-bottom:12px;line-height:1.5}
.perms-user{font-size:11px}
/* koosolek: korduv-sektsioon, read-nupud, reaalaja-kohalolek */
.ms-recur{color:var(--ink-faint)}
.ms-recur.on{color:var(--rose)}
.ms-recur:hover{color:var(--ink-soft)}
.ms-recur.on:hover{color:var(--rose)}
.mtg-acts{display:none;gap:2px}
.mtg-row:hover .mtg-acts{display:flex}
.mtg-act{width:26px;height:26px;border:0;background:transparent;border-radius:6px;cursor:pointer;color:var(--ink-faint);display:grid;place-items:center}
.mtg-act svg{width:14px;height:14px;stroke-width:1.9}
.mtg-act:hover{background:var(--card);color:var(--teal)}
.mtg-del:hover{color:var(--rose)!important}
.mtg-presence{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:8px 14px;background:var(--teal-soft);border-radius:10px;margin:0 0 14px;font-size:12.5px}
.mtg-presence.hidden{display:none}
.pres-label{display:flex;align-items:center;gap:6px;font-weight:600;color:var(--teal)}
.pres-live{width:8px;height:8px;border-radius:50%;background:var(--teal-fill);animation:presPulse 1.5s infinite}
@keyframes presPulse{0%,100%{opacity:1}50%{opacity:.25}}
.pres-user{display:inline-flex;align-items:center;gap:6px;color:var(--ink-soft)}
.pres-user .av{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:9px;font-weight:700;color:#fff}
.pres-typing{color:var(--teal);font-style:italic}
.mtg-arch-toggle{display:inline-flex;align-items:center;gap:7px;margin:8px 10px;padding:6px 10px;font-size:12px;color:var(--ink-faint);cursor:pointer;border-radius:8px}
.mtg-arch-toggle svg{width:14px;height:14px}
.mtg-arch-toggle:hover,.mtg-arch-toggle.on{color:var(--teal);background:var(--teal-soft)}
.mtg-row.arch{opacity:.7}
.mtg-row.arch .mtg-restore{margin-left:auto;font-size:11.5px;padding:5px 10px}
/* meeting detail */
.mtg-topbar{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.mtg-topbar-meta{font-size:13px;color:var(--ink-soft);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.mtg-date-in{font-family:inherit;font-size:13px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--paper-2);color:var(--ink-soft)}
/* seeria nimi + kuupäev — ilma kastita, suurem, must — kasutusel nii salvestatud kui mustandi vaates */
.mtg-topbar-meta.mtg-date-box{border:0;padding:0;background:transparent;gap:6px}
.mtg-date-box-name{font-weight:700;color:var(--ink);font-size:16px}
.mtg-date-box .mtg-date-in{border:0;padding:0;background:transparent;min-width:auto}
/* #mtgDate/#mtgDraftDate-skoop (id) võidab .hdt .hdt-date baasreegli sõltumata failis olevast järjekorrast — muidu jääb kast alles */
#mtgDate.hdt-date,#mtgDate .hdt-date,#mtgDraftDate.hdt-date,#mtgDraftDate .hdt-date{border:0;padding:0;background:transparent;min-width:auto;font-weight:700;color:var(--teal);font-size:16px}
.mtg-topbar-acts{display:flex;align-items:center;gap:8px;margin-left:auto;position:relative}
.mtg-topbar-acts .btn,.mtg-topbar-acts .icon-btn{height:38px}
.mtg-topbar-acts .icon-btn svg{width:18px;height:18px}
#mtgInlineClose svg{stroke-width:2.8}
.mtg-del-btn{background:var(--rose);border-color:var(--rose);color:#fff}
.mtg-del-btn:hover{filter:brightness(1.08)}
.mtg-att-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.mtg-att-bar-inline{margin-bottom:0;margin-left:8px}
.mtg-att-lbl{font-size:11px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:var(--ink-faint)}
.mtg-att-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.mtg-att-av{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;color:#fff;position:relative;flex-shrink:0}
.mtg-att-av.removable{padding:0}
.mtg-att-av .av-rm{position:absolute;top:-4px;right:-4px;width:15px;height:15px;border-radius:50%;background:var(--rose);color:#fff;border:1.5px solid var(--card);display:grid;place-items:center;cursor:pointer;font-size:10px;line-height:1;padding:0}
.mtg-att-av .av-rm:hover{filter:brightness(1.15)}
.mtg-att-add{width:30px;height:30px;border-radius:50%;border:1.5px dashed var(--line);background:transparent;color:var(--ink-faint);display:grid;place-items:center;cursor:pointer;flex-shrink:0}
.mtg-att-add:hover{border-color:var(--teal);color:var(--teal)}
.mtg-att-pop{position:absolute;z-index:60;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lift);padding:8px;width:230px;max-height:300px;display:flex;flex-direction:column}
.mtg-att-search{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--paper-2);font-family:inherit;font-size:12.5px;color:var(--ink);margin-bottom:6px;flex-shrink:0}
.mtg-att-search:focus{outline:none;border-color:var(--teal)}
.mtg-att-pop-list{overflow-y:auto;min-height:0}
.mtg-att-pop-row{display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:8px;cursor:pointer;font-size:12.5px;font-weight:500;color:var(--ink);width:100%;border:0;background:transparent;font-family:inherit;text-align:left}
.mtg-att-pop-row:hover{background:var(--paper)}
.mtg-att-pop-row .av{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:9px;font-weight:700;color:#fff;flex-shrink:0}
.mtg-att-pop-row .map-tick{margin-left:auto;width:14px;height:14px;stroke-width:2.6;color:var(--teal);opacity:0;flex-shrink:0}
.mtg-att-pop-row:hover .map-tick{opacity:1}
.mtg-layout{display:grid;grid-template-columns:minmax(0,1fr) 460px;gap:24px;align-items:start;max-width:1560px;margin-top:18px}
.mtg-main{min-width:0}
.mtg-prev-divider{display:flex;align-items:center;gap:12px;margin:26px 0 16px;color:var(--ink-faint);font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase}
.mtg-prev-divider::before,.mtg-prev-divider::after{content:'';flex:1;height:1px;background:var(--line)}
.mtg-prev-card{margin-top:0;position:relative}
/* märkmete sektsioonid: responsive grid — kasutab laiust, ei jäta tühja ala */
#mtgSections{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;align-content:start}
#mtgSections .add-section{min-height:64px}
#mtgSections .mtg-section{margin-bottom:0}
/* tegevuspunktid: vorm üleval, nimekiri all täislaiuses (tekst ei murdu kitsalt) */
.ma-grid{display:block}
.ma-form{display:flex;flex-direction:column;gap:10px;min-width:0}
.ma-listcol{min-width:0;margin-top:10px}
.ma-add input,.ma-add select{width:100%}
.ma-add #maDue{flex:1;min-width:0}
.ma-add .ma-due-time{flex:0 0 auto;width:84px}
.ma-add .ma-row{justify-content:space-between}
@media(max-width:1100px){.mtg-layout{grid-template-columns:1fr}.mtg-side{margin-top:4px}}
@media(max-width:760px){#mtgSections{grid-template-columns:1fr}}
/* reaalaja: kes mis sektsiooni toimetab */
.mtg-section.editing{border-color:var(--ed-color,var(--teal));box-shadow:0 0 0 2px var(--ed-color,var(--teal)),var(--shadow);transition:box-shadow .2s}
.ms-editors{display:flex;gap:5px;flex-shrink:0;margin-left:4px}
.ms-ed-chip{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:700;color:#fff;padding:2px 9px;border-radius:20px;white-space:nowrap}
.ed-pulse{width:6px;height:6px;border-radius:50%;background:#fff;animation:edpulse 1.1s infinite}
@keyframes edpulse{0%,100%{opacity:1}50%{opacity:.25}}
/* Google-Docs-laadne kaaskirjutaja kursor */
.mtg-cursors{position:fixed;inset:0;pointer-events:none;z-index:60}
.mtg-caret{position:fixed;width:2px;border-radius:1px;animation:caretBlink 1.05s step-end infinite}
@keyframes caretBlink{0%,100%{opacity:1}50%{opacity:.15}}
.mc-label{position:absolute;top:-14px;left:-1px;font-size:9px;font-weight:700;color:#fff;padding:1px 5px;border-radius:4px 4px 4px 0;white-space:nowrap;line-height:1.5;animation:none}
/* järgmise koosoleku popover */
#mtgNext{font-size:12.5px;padding:7px 12px}
#mtgNext svg{width:15px;height:15px}
.mtg-next-pop{position:absolute;top:calc(100% + 8px);right:0;z-index:40;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lift);padding:14px;width:290px}
.mtg-next-pop.hidden{display:none}
.mnp-label{font-size:12px;font-weight:700;color:var(--ink-soft);margin-bottom:9px}
.mtg-next-pop .fld-in{width:100%}
.mnp-foot{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}
/* eelmise koosoleku ülevaade */
/* kuupäeva-valik nurgas — ei võta enam oma tühja rida, sisu tõuseb üles */
.mp-head{position:absolute;top:14px;right:16px}
.mp-head .mp-date{text-transform:none;letter-spacing:0;font-weight:500;color:var(--ink-faint);font-size:11px}
.mp-sel{width:auto;max-width:130px;font-size:12.5px;padding:6px 8px}
.mp-notes{display:flex;flex-direction:column;gap:12px;margin-bottom:14px}
.mp-notes:first-child .mp-note:first-child .mp-note-title{padding-right:74px}
.mp-note-title{font-size:11px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:var(--ink);margin-bottom:4px}
.mp-note-body{font-size:13px;color:var(--ink-soft);white-space:pre-wrap;line-height:1.5}
.mtg-prev-card .mp-date{text-transform:none;letter-spacing:0;font-weight:500;color:var(--ink-faint);margin-left:6px;font-size:11px}
.mp-sum{display:flex;gap:14px;font-size:12px;font-weight:700;margin-bottom:10px;padding-top:10px;border-top:1px solid var(--line-soft)}
.mp-open{color:var(--rose)}
.mp-item{display:flex;align-items:center;gap:9px;padding:6px 0;border-bottom:1px solid var(--line-soft);font-size:13px}
.mp-item:last-of-type{border-bottom:0}
.mp-item.done .mp-text{text-decoration:line-through;color:var(--ink-faint)}
.mp-check{width:16px;height:16px;flex-shrink:0;cursor:pointer;accent-color:var(--teal)}
.mp-text{flex:1;min-width:0}
.mp-item .av{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:8.5px;font-weight:700;color:#fff;flex-shrink:0}
.mp-carry-all{margin-top:12px;width:100%;justify-content:center;font-size:12.5px}
.mp-carry-all svg{width:14px;height:14px}
/* ── Custom kella-väli (24h/12h, asendab natiivse datetime-local/time) ── */
.hdt{display:inline-flex;align-items:center;gap:6px;vertical-align:middle;flex-wrap:wrap}
.hdt .hdt-date{font:inherit;font-size:13px;padding:7px 11px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);cursor:pointer;text-align:left;min-width:104px}
.hdt .hdt-date:hover{border-color:var(--teal)}
.hdt .hdt-date.empty{color:var(--ink-faint)}
.hdt .hdt-timewrap{display:inline-flex;align-items:center;gap:1px;border:1px solid var(--line);border-radius:9px;background:var(--card);padding:3px 6px}
/* Eesti kuukalender (popup) */
.hdt-cal-pop{position:fixed;z-index:9999;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.16);padding:12px;width:252px;font-size:13px}
.hcp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.hcp-title{font-weight:700;color:var(--ink)}
.hcp-nav{width:28px;height:28px;border:0;background:var(--line-soft);border-radius:8px;cursor:pointer;display:grid;place-items:center;color:var(--ink-soft)}
.hcp-nav:hover{background:var(--teal-fill);color:#fff}
.hcp-nav svg{width:15px;height:15px}
.hcp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.hcp-dow{text-align:center;font-size:10.5px;font-weight:700;color:var(--ink-faint);padding:3px 0}
.hcp-day{border:0;background:transparent;border-radius:7px;padding:6px 0;cursor:pointer;font:inherit;font-size:12.5px;color:var(--ink)}
.hcp-day:hover{background:var(--teal-soft)}
.hcp-day.today{font-weight:700;color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal)}
.hcp-day.sel{background:var(--teal-fill);color:#fff;font-weight:700}
.hcp-foot{display:flex;justify-content:space-between;margin-top:8px;padding-top:8px;border-top:1px solid var(--line-soft)}
.hcp-today,.hcp-clear{border:0;background:transparent;font:inherit;font-size:12px;font-weight:600;cursor:pointer;color:var(--teal);padding:4px 8px;border-radius:7px}
.hcp-today:hover,.hcp-clear:hover{background:var(--line-soft)}
.hcp-clear{color:var(--ink-faint)}
.hcp-day.range-mid{background:var(--teal-soft);border-radius:0}
.hcp-confirm{border:0;background:var(--teal-fill);color:#fff;font:inherit;font-size:12px;font-weight:700;cursor:pointer;padding:4px 10px;border-radius:7px}
.hcp-confirm:hover{filter:brightness(1.08)}
/* Tunni/minuti/AM-PM kerimisaken (openHdtTimePopup) — kitsas, fikseeritud kõrgusega (~9 rida näha
   korraga, valitud väärtus keskel), aga täielikult keritav kõigi väärtusteni */
.hdt-time-pop{width:64px;max-height:260px;overflow-y:auto;padding:4px;display:flex;flex-direction:column;gap:1px}
.htp-opt{border:0;background:transparent;border-radius:7px;padding:6px 0;cursor:pointer;font:inherit;font-size:13px;color:var(--ink);text-align:center;flex-shrink:0}
.htp-opt:hover{background:var(--line-soft)}
.htp-opt.sel{background:var(--teal-fill);color:#fff;font-weight:700}
/* Tunni/minuti/AM-PM nupud (varem <select>, vt hdtField/makeTimeBtn) — natiivse rippmenüü asemel avavad
   need klõpsul openHdtTimePopup'i oma väikese kerimisakna, mis ei sõltu OS-i renderdusest ega saa
   avaneda üle brauseri akna serva */
.hdt .hdt-h,.hdt .hdt-m,.hdt .hdt-ap{border:0;background:transparent;font:inherit;font-size:13px;padding:4px 2px;cursor:pointer;color:var(--ink);text-align:center;border-radius:5px}
.hdt .hdt-h:hover,.hdt .hdt-m:hover,.hdt .hdt-ap:hover{background:var(--line-soft)}
.hdt .hdt-colon{color:var(--ink-faint);font-weight:700;padding:0 1px}
.hdt .hdt-h,.hdt .hdt-m{min-width:26px}
.hdt .hdt-ap{min-width:42px;color:var(--teal);font-weight:600}
.hdt .hdt-timewrap:focus-within{border-color:var(--teal);box-shadow:0 0 0 2px var(--teal-soft)}
.hdt.fld-in{padding:0;border:0;background:transparent;width:auto} /* neutraliseeri input-stiil span-wrapperil */
/* segment-toggle (ajaformaadi valik) */
.seg-toggle{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--card)}
.seg-toggle button{border:0;background:transparent;padding:9px 16px;font:inherit;font-size:13px;cursor:pointer;color:var(--ink-soft);font-weight:600;transition:background .15s,color .15s}
.seg-toggle button+button{border-left:1px solid var(--line)}
.seg-toggle button:hover{background:var(--line-soft)}
.seg-toggle button.on{background:var(--teal-fill);color:#fff}
.seg-toggle button.on:hover{background:var(--teal-fill)}
.mtg-section{background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);margin-bottom:12px;overflow:hidden}
.mtg-section .ms-head{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--paper-2);border-bottom:1px solid var(--line-soft)}
.mtg-section .ms-title{flex:1;border:0;background:transparent;font-family:'Hanken Grotesk';font-size:12.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--teal);outline:none}
.mtg-section .ms-del{opacity:.4}
.mtg-section .ms-del:hover{opacity:1}
.mtg-section .ms-body{width:100%;border:0;outline:none;padding:12px 14px;font-family:inherit;font-size:13.5px;line-height:1.55;resize:none;overflow:hidden;min-height:64px;background:var(--card);display:block}
.add-section{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1.5px dashed var(--line);border-radius:10px;background:transparent;color:var(--ink-faint);cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;transition:.15s}
.add-section:hover{border-color:var(--teal);color:var(--teal);background:var(--teal-soft)}
.add-section svg{width:14px;height:14px;stroke-width:2.4}
.ai-suggest-btn{height:38px;font-size:12.5px;padding:8px 14px;border-radius:9px;border:1px solid var(--teal);background:var(--teal-soft);color:var(--teal);font-weight:700;cursor:pointer;text-transform:none;letter-spacing:0}
.ai-suggest-btn:hover{background:var(--teal-fill);color:#fff}
.mtg-action{animation:mtgAppear .25s ease}
@keyframes mtgAppear{from{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:none}}
.mtg-action{display:flex;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid var(--line-soft);font-size:13px}
.mtg-action:last-of-type{border-bottom:0}
.mtg-action .box{width:18px;height:18px;border-radius:6px;border:1.8px solid var(--line);flex-shrink:0;cursor:pointer;display:grid;place-items:center}
.mtg-action .box svg{width:11px;height:11px;stroke-width:3;color:#fff;opacity:0}
.mtg-action.done .box{background:var(--teal-fill);border-color:var(--teal)}
.mtg-action.done .box svg{opacity:1}
.mtg-action.done .ma-text{text-decoration:line-through;color:var(--ink-faint)}
.mtg-action .ma-text{flex:1;min-width:0;border-radius:5px;padding:2px 4px;margin:-2px -4px;outline:none;cursor:text}
.mtg-action .ma-text:hover{background:var(--paper)}
.mtg-action .ma-text:focus{background:var(--card);box-shadow:0 0 0 1.5px var(--teal)}
.mtg-action .ma-prio{flex-shrink:0;width:19px;height:19px;border:0;border-radius:6px;font-family:inherit;font-size:11px;font-weight:800;cursor:pointer;display:grid;place-items:center;padding:0}
.mtg-action .who-chip{border:0;background:transparent;cursor:pointer;padding:0;display:flex;align-items:center}
.mtg-action .who-chip .av{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:9px;font-weight:700;color:#fff}
.mtg-action .ma-asg{position:relative;flex-shrink:0}
.mtg-action .ma-due-btn{flex-shrink:0;border:0;background:transparent;font-family:inherit;font-size:11px;color:var(--ink-faint);cursor:pointer;padding:2px 6px;border-radius:6px;white-space:nowrap}
.mtg-action .ma-due-btn:hover{background:var(--paper);color:var(--teal)}
.mtg-action .ma-due-btn.empty{opacity:0;transition:.15s}
.mtg-action:hover .ma-due-btn.empty{opacity:.6}
.ma-due-edit{border:1.5px solid var(--teal);border-radius:7px;padding:3px 6px;font-family:inherit;font-size:11.5px;outline:none}
.mtg-action .ma-del{opacity:0;transition:.15s}
.mtg-action:hover .ma-del{opacity:1}
.ma-add{display:flex;flex-direction:column;gap:8px}
.ma-add input,.ma-add select{padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:13px;background:var(--paper-2);color:var(--ink)}
.ma-add .ma-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.ma-add .tf-prio{display:flex;gap:4px}
.ma-add .pbtn{width:28px;height:28px;border-radius:7px;border:1px solid var(--line);background:var(--card);font-family:inherit;font-weight:800;font-size:12px;cursor:pointer;color:var(--ink-soft)}
.ma-add .pbtn[data-p=A].on{background:var(--rose);color:#fff;border-color:var(--rose)}
.ma-add .pbtn[data-p=B].on{background:var(--amber);color:#fff;border-color:var(--amber)}
.ma-add .pbtn[data-p=C].on{background:var(--teal-fill);color:#fff;border-color:var(--teal)}
.ai-sug{background:var(--teal-soft);border:1px solid #cfe3e0;border-radius:10px;padding:10px 12px;margin-top:10px}
.ai-sug .ais-item{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:12.5px}
.ai-sug .ais-item .ais-add{margin-left:auto;font-size:11px;padding:3px 9px;border-radius:7px;border:1px solid var(--teal);background:#fff;color:var(--teal);font-weight:700;cursor:pointer}
.ai-sug .ais-item .ais-add:hover{background:var(--teal-fill);color:#fff}
.ai-sug .ais-item .ais-dismiss{width:22px;height:22px;flex-shrink:0;border:0;background:transparent;color:var(--ink-faint);cursor:pointer;display:grid;place-items:center;border-radius:6px}
.ai-sug .ais-item .ais-dismiss:hover{background:rgba(0,0,0,.06);color:var(--rose)}
.ai-sug .ais-item .ais-dismiss svg{width:13px;height:13px;stroke-width:2.2}

/* ---------- ÄRIREGISTER ---------- */
.ar-bar{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.ar-search{width:480px;max-width:100%}
.reg-filter{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--ink-soft);cursor:pointer;white-space:nowrap;user-select:none}
.reg-filter input{width:15px;height:15px;cursor:pointer;accent-color:var(--rose)}
.ar-table{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.ar-row{display:grid;grid-template-columns:30px 1fr 120px 150px 1.4fr 110px;gap:14px;align-items:center;padding:12px 18px;border-bottom:1px solid var(--line-soft);font-size:13px}
.ar-row.sel{background:var(--teal-soft)}
.ar-check{display:flex;align-items:center}
.ar-check input{width:16px;height:16px;accent-color:var(--teal);cursor:pointer;margin:0}
.ar-selbar{display:flex;align-items:center;gap:14px;margin:-6px 0 16px;padding:10px 16px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
.ar-selbar.hidden{display:none}
.ar-selall{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--ink-soft);cursor:pointer}
.ar-selall input{width:15px;height:15px;accent-color:var(--teal);cursor:pointer;margin:0}
#arSelCount{font-size:12.5px;font-weight:700;color:var(--teal);margin-right:auto}
.ar-row:last-child{border-bottom:0}
.ar-row:hover{background:var(--paper)}
.ar-row.ar-clickable{cursor:pointer}
.ar-row.ar-clickable:hover .ar-name{color:var(--teal)}
.ar-name{font-weight:600;display:flex;flex-direction:column;gap:2px}
.ar-name .ar-form{font-size:11.5px;color:var(--ink-faint);font-weight:500}
.ar-rk{font-family:'Hanken Grotesk';font-weight:600;color:var(--ink-soft)}
.ar-st{font-size:11.5px;font-weight:600;padding:2px 9px;border-radius:20px;justify-self:start}
.ar-st.on{background:var(--teal-soft);color:var(--teal)}
.ar-st.off{background:var(--rose-soft);color:var(--rose)}
.ar-addr{font-size:12px;color:var(--ink-soft);line-height:1.35}
.ar-link{font-size:12px;font-weight:600;color:var(--teal);text-decoration:none;justify-self:end;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}
.ar-link:hover{text-decoration:underline}
.ar-link svg{width:12px;height:12px;flex:none}
@media(max-width:1100px){.ar-row{grid-template-columns:30px 1fr 110px 130px;gap:10px}.ar-addr,.ar-link{display:none}}
.ar-row.ar-skel{pointer-events:none}
.ar-row.ar-skel .ar-skel-bar{height:12px;border-radius:6px;background:linear-gradient(90deg,var(--line-soft) 25%,#f3f0e8 50%,var(--line-soft) 75%);background-size:200% 100%;animation:shimmer 1.2s infinite}

/* kampaaniad */
.camp-row{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:14px 18px;margin-bottom:10px;cursor:pointer;transition:.12s}
.camp-row:hover{border-color:var(--teal)}
.camp-main{flex:1;min-width:0}
.camp-name{font-weight:600;font-size:14.5px}
.camp-sub{font-size:12px;color:var(--ink-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.camp-chev{width:16px;height:16px;stroke-width:2;color:var(--ink-faint)}
.camp-badge{font-size:11px;font-weight:700;padding:4px 10px;border-radius:8px;white-space:nowrap}
.camp-badge.draft{background:var(--paper-2);color:var(--ink-soft)}
.camp-badge.sent{background:var(--teal-soft);color:var(--teal)}
.camp-badge.sending{background:#fae9cf;color:#9a6a12}
.camp-build{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start;margin-top:14px}
.camp-recip,.camp-compose{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px}
.cb-head{font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--ink-faint);margin-bottom:12px;display:flex;justify-content:space-between}
#campCount{color:var(--teal);text-transform:none;letter-spacing:0}
.camp-filters{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}
.camp-filters input,.camp-filters select{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:13px;background:var(--card);outline:none;color:var(--ink)}
.cb-chk{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--ink-soft);cursor:pointer}
.cb-chk input{width:15px;height:15px;accent-color:var(--teal);margin:0}
.camp-selrow{display:flex;gap:8px;margin-bottom:10px}
.camp-selrow .btn{font-size:11.5px;padding:6px 10px}
.camp-list{max-height:440px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}
.recip{display:flex;align-items:center;gap:10px;padding:7px 9px;border-radius:8px;cursor:pointer;font-size:12.5px;transition:background .1s}
.recip:hover{background:var(--paper)}
.recip.on{background:var(--teal-soft)}
.recip input{width:15px;height:15px;accent-color:var(--teal);margin:0;flex-shrink:0}
.recip-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:90px}
.recip-mail{flex:1;color:var(--ink-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.recip-tag{font-size:10px;font-weight:700;padding:2px 7px;border-radius:6px;background:var(--paper-2);color:var(--ink-soft);flex-shrink:0}
.recip-tag.client{background:var(--teal-soft);color:var(--teal)}
.recip-more{padding:10px;text-align:center;font-size:11.5px;color:var(--ink-faint)}
.camp-compose label{display:block;font-size:12px;font-weight:600;color:var(--ink-soft);margin:12px 0 5px}
.camp-compose label:first-of-type{margin-top:0}
.cb-hint{font-weight:500;color:var(--ink-faint);text-transform:none;letter-spacing:0}
.camp-compose input,.camp-compose select,.camp-compose textarea{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:13.5px;background:var(--card);outline:none;resize:vertical;color:var(--ink)}
.camp-compose input:focus,.camp-compose textarea:focus{border-color:var(--teal)}
.camp-actions{display:flex;gap:10px;margin-top:14px}
.camp-note{font-size:11px;color:var(--ink-faint);margin-top:10px;line-height:1.5}
.camp-detail{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px 24px;margin-top:14px;max-width:760px}
.cd-head{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.cd-head h2{font-family:'Instrument Serif',serif;font-size:24px;font-weight:400;flex:1}
.cd-meta{font-size:13px;margin-bottom:10px}
.cd-body{background:var(--paper);border:1px solid var(--line-soft);border-radius:10px;padding:14px 16px;font-size:13.5px;line-height:1.5;margin-bottom:12px;white-space:normal}
.cd-stats{font-size:12.5px;color:var(--ink-soft);margin-bottom:14px}
.cd-actions{display:flex;gap:10px;margin-bottom:16px}
.cd-recips{display:flex;flex-direction:column;gap:1px;max-height:340px;overflow-y:auto;border-top:1px solid var(--line-soft);padding-top:10px}
.cd-recip{display:flex;align-items:center;gap:12px;padding:7px 6px;font-size:12.5px;border-radius:6px}
.cd-recip .cd-rn{font-weight:600;min-width:120px}
.cd-recip .cd-mail{flex:1;color:var(--ink-faint)}
.cd-recip .cd-st{font-size:11.5px;font-weight:600}
.cd-recip.sent .cd-st{color:var(--teal)}
.cd-recip.failed .cd-st{color:var(--rose)}
.cd-recip.failed{background:#fbeeee}
@media(max-width:900px){.camp-build{grid-template-columns:1fr}}

/* registrid: tabid + MEDRE */
.reg-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line-soft);margin-bottom:18px}
.reg-tab{padding:10px 16px;border:0;background:transparent;font-family:inherit;font-size:13.5px;font-weight:600;color:var(--ink-faint);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:.15s}
.reg-tab:hover{color:var(--ink-soft)}
.reg-tab.on{color:var(--teal);border-bottom-color:var(--teal)}
/* topbar's — pealkirja asemel, oma eraldusjoont pole vaja (topbar'il on juba) */
#regTabsTop{border-bottom:0;margin-bottom:0}
#regTabsTop .reg-tab{padding:9px 12px;font-size:13px}
.reg-chbadge{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 5px;border-radius:9px;background:var(--rose);color:#fff;font-size:10px;font-weight:700;margin-left:5px}
.reg-pane.hidden{display:none}
.reg-status{margin-left:auto;font-size:12px;color:var(--ink-faint);white-space:nowrap}
.med-row{display:grid;grid-template-columns:30px 1.3fr 100px 1.4fr 1.6fr;gap:14px;align-items:center;padding:11px 18px;border-bottom:1px solid var(--line-soft);font-size:13px}
.med-row:last-child{border-bottom:0}
.med-row:hover{background:var(--paper)}
.med-row.sel{background:var(--teal-soft)}
.med-row.gp{grid-template-columns:30px 1.2fr 2.6fr 132px;align-items:start}
.med-row.gp .ar-check{padding-top:2px}
.med-row.gp .med-name{padding-top:1px}
.med-row.gp .med-as{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;line-height:1.45;max-height:5.4em}
.med-row.gp.miss{box-shadow:inset 3px 0 0 var(--rose)}
.gp-flag{justify-self:end;align-self:start;padding-top:1px}
.gp-miss{display:inline-block;font-size:10.5px;font-weight:700;color:var(--rose);background:var(--rose-soft);padding:3px 9px;border-radius:20px;white-space:nowrap}
.gp-has{display:inline-block;font-size:10.5px;font-weight:600;color:var(--teal);background:var(--teal-soft);padding:3px 9px;border-radius:20px;white-space:nowrap}
.reg-eriala{padding:9px 11px;border:1px solid var(--line);border-radius:9px;font-family:inherit;font-size:13px;background:var(--card);color:var(--ink);outline:none;max-width:230px;cursor:pointer}
.reg-eriala:focus{border-color:var(--teal)}
.reg-more{display:block;width:100%;padding:11px;border:0;border-top:1px solid var(--line-soft);background:var(--paper);color:var(--teal);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer}
.reg-more:hover{background:var(--teal-soft)}
.reg-end{padding:11px;text-align:center;font-size:12px;color:var(--ink-faint)}
#ndNotes{width:100%;border:1px solid var(--line);border-radius:9px;padding:9px 11px;font-family:inherit;font-size:13.5px;line-height:1.5;resize:vertical;background:var(--card);color:var(--ink);outline:none}
#ndNotes:focus{border-color:var(--teal)}
/* Gmaili kahe-paneeli vaade — Saabunud/Saadetud tabid elavad topbar's, kasutavad .tx-tabs/.tx-tab (sama mustur mis Kontaktide Inimesed/Ettevõtted) */
.gmail-shell{display:flex;height:calc(100vh - 130px);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--card);box-shadow:var(--shadow)}
.gmail-list{width:360px;flex-shrink:0;overflow-y:auto;border-right:1px solid var(--line-soft)}
.gmail-item{padding:12px 16px;border-bottom:1px solid var(--line-soft);cursor:pointer;transition:background .1s}
.gmail-item:hover{background:var(--paper)}
.gmail-item.active{background:var(--teal-soft)}
.gmail-item.unread .gi-from,.gmail-item.unread .gi-subj{font-weight:700}
.gmail-item.unread{background:#eaf5ec;box-shadow:inset 3px 0 0 #58a876}
.gmail-item.unread:hover{background:#e1f0e5}
.gmail-item.unread.active{background:#dcefe1}
.gi-top{display:flex;justify-content:space-between;gap:8px;margin-bottom:2px}
.gi-from{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gi-date{font-size:11px;color:var(--ink-faint);flex-shrink:0}
.gi-subj{font-size:13px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gi-snip{font-size:12px;color:var(--ink-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.gmail-read{flex:1;overflow-y:auto;display:flex}
.gmail-empty{margin:auto;text-align:center;color:var(--ink-faint);font-size:13px;padding:40px 20px;line-height:1.6}
.gmail-msg{padding:24px 28px;width:100%}
.gm-subj{font-family:'Instrument Serif',serif;font-size:24px;font-weight:400;margin-bottom:12px}
.gm-meta{display:flex;justify-content:space-between;align-items:center;font-size:13px;margin-bottom:4px}
.gm-meta b{font-weight:600}
.gm-meta span{color:var(--ink-faint)}
.gm-to{font-size:12px;color:var(--ink-faint);margin-bottom:14px}
.gm-acts{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--line-soft)}
.gm-act{font-size:12.5px;padding:7px 12px}
.gm-act svg{width:14px;height:14px}
.gm-body{font-size:14px;line-height:1.6;word-break:break-word}
.gm-frame{width:100%;border:0;min-height:120px;background:#fff;border-radius:8px}
.gm-plain{font-family:inherit;font-size:14px;line-height:1.6;white-space:pre-wrap;word-break:break-word;margin:0}
/* Kiri-vahekaardi automaatselt avatud kirja sisu (Tegevused/Kiri logis) — piiratud kõrgus, kerib */
.fc-inline-frame-wrap{max-height:340px;overflow-y:auto;border:1px solid var(--line);border-radius:8px;margin-top:4px}
/* Kirja täisvaate modaal (kontakt/tehing) */
.ev-modal .modal-head{align-items:flex-start;justify-content:space-between;gap:10px}
.ev-meta{font-size:12px;color:var(--ink-faint);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ev-attach{display:flex;flex-wrap:wrap;gap:7px;padding:0 20px 14px}
.ev-att-chip{display:inline-flex;align-items:center;gap:6px;background:var(--paper-2);border:1px solid var(--line);border-radius:16px;padding:5px 11px;font-size:12.5px;color:var(--ink);text-decoration:none}
.ev-att-chip:hover{border-color:var(--teal);color:var(--teal)}
.ev-att-chip small{color:var(--ink-faint)}
.ev-body{max-height:60vh;overflow-y:auto}
/* koosta-modaal: ajasta */
.cmp-sched{display:flex;align-items:center;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line-soft)}
.cmp-sched.hidden{display:none}
.cmp-schedtoggle{display:flex;align-items:center;gap:7px;margin-right:auto;font-size:12.5px;font-weight:600;color:var(--ink-soft);cursor:pointer;user-select:none}
.cmp-schedtoggle[hidden]{display:none}
.cmp-schedtoggle input{width:15px;height:15px;cursor:pointer;accent-color:var(--teal)}
/* koosta: saaja-rida + cc/bcc + autocomplete */
.cmp-torow{display:flex;align-items:center;justify-content:space-between;margin-bottom:1mm}
/* Rikas tekstiredaktor (e-kirja sisu — 1:1 Gmaili-laadne vormindus) */
.cmp-rte{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--card);transition:border-color .15s}
.cmp-rte:focus-within{border-color:var(--teal)}
.cmp-toolbar{display:flex;align-items:center;gap:1px;padding:5px 7px;border-bottom:1px solid var(--line-soft);background:var(--paper-2);flex-wrap:wrap}
.cmp-tb{min-width:29px;height:29px;display:grid;place-items:center;border:0;background:transparent;border-radius:6px;cursor:pointer;color:var(--ink-soft);font-size:15px;font-weight:600;font-family:inherit;line-height:1;padding:0 6px}
.cmp-tb:hover{background:var(--line-soft);color:var(--ink)}
.cmp-tb.on{background:var(--teal-soft);color:var(--teal)}
.cmp-tb svg{width:17px;height:17px;stroke-width:1.9}
.cmp-tbsep{width:1px;height:18px;background:var(--line);margin:0 4px;flex-shrink:0}
.cmp-body{min-height:150px;max-height:320px;overflow-y:auto;padding:11px 13px;font-size:14px;line-height:1.55;color:var(--ink);outline:none;word-break:break-word}
.cmp-body:empty:before{content:attr(data-ph);color:var(--ink-faint);pointer-events:none}
.cmp-body a{color:var(--teal);text-decoration:underline}
.cmp-body ul,.cmp-body ol{margin:6px 0 6px 24px}
.cmp-body li{margin:2px 0}
.cmp-cctoggle{display:flex;gap:4px;margin-right:8px}
#gmComposeOverlay .modal-x{border-color:var(--rose);color:var(--rose)}
.cmp-to-in.field-err{border-color:var(--rose);background:var(--rose-soft)}
.cmp-err-msg{color:var(--rose);font-size:11.5px;margin-top:4px}
.cmp-cctoggle button{border:0;background:transparent;font-family:inherit;font-size:12px;font-weight:600;color:var(--ink-faint);cursor:pointer;padding:2px 7px;border-radius:6px}
.cmp-cctoggle button:hover{background:var(--paper);color:var(--teal)}
.cmp-fldrow{display:flex;align-items:center;justify-content:space-between}
.cmp-cc-rm{border:0;background:transparent;font-family:inherit;font-size:12px;color:var(--ink-faint);cursor:pointer;padding:2px 6px;border-radius:6px;line-height:1}
.cmp-cc-rm:hover{background:var(--rose-soft,#fbe3e3);color:var(--rose)}
.cmp-acwrap{position:relative}
.cmp-to-in{padding-right:32px}
.cmp-to-clear{position:absolute;top:50%;right:8px;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:0;background:transparent;color:var(--ink-faint);cursor:pointer;font-size:12px;border-radius:5px}
.cmp-to-clear:hover{background:var(--rose-soft,#fbe3e3);color:var(--rose)}
.cmp-ac{position:absolute;top:calc(100% + 3px);left:0;right:0;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-lift);z-index:30;overflow:hidden;max-height:250px;overflow-y:auto}
.cmp-ac.hidden{display:none}
.cmp-acitem{display:flex;align-items:center;gap:10px;padding:8px 11px;cursor:pointer}
.cmp-acitem:hover{background:var(--paper)}
.cmp-acitem .av{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:700;flex-shrink:0}
.cmp-acmeta{min-width:0}
.cmp-acn{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cmp-ace{font-size:11.5px;color:var(--ink-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* ---------- AI müügiassistent ---------- */
/* Assistent 2.0: rail + kest */
.asst-layout{display:flex;gap:18px;align-items:stretch}
.asst-rail{width:230px;flex-shrink:0;display:flex;flex-direction:column;gap:14px;padding-top:6px}
.ar-title{font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--ink-faint)}
.ar-group{display:flex;flex-direction:column;gap:6px}
.ar-lbl{font-size:10.5px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--ink-faint)}
.asst-rail .asst-chip{width:100%;text-align:left;white-space:normal;line-height:1.35}
.ar-note{font-size:11px;color:var(--ink-faint);line-height:1.5;border-top:1px solid var(--line-soft);padding-top:10px;margin-top:auto}
.asst-rail-btn{display:none}
@media(max-width:900px){
  .asst-rail{display:none}
  .asst-rail-btn{display:inline-flex;padding:8px 10px}
  #view-assistant.rail-open .asst-rail{display:flex;position:fixed;left:10px;top:74px;bottom:10px;width:272px;z-index:130;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 44px rgba(0,0,0,.28);overflow-y:auto;padding:14px}
}
.asst-bw{display:flex;flex-direction:column;gap:8px;min-width:0}
.asst-ref{color:var(--teal);font-weight:600;text-decoration:underline;cursor:pointer}
.asst-msg.user .asst-ref{color:#fff}
/* Kinnituskaardid */
.asst-actions{display:flex;flex-direction:column;gap:7px}
.asst-act{display:flex;align-items:center;gap:10px;background:var(--teal-soft);border:1px solid var(--teal);border-radius:11px;padding:9px 12px}
.asst-act .aa-sum{flex:1;min-width:0;font-size:13px;color:var(--ink);line-height:1.4}
.asst-act .aa-btns{display:flex;gap:6px;flex-shrink:0}
.asst-act .btn{font-size:12px;padding:6px 12px}
.asst-act.done{background:var(--card);border-color:var(--line);color:var(--ink-soft);font-size:12.5px}
.asst-act.cancelled{background:var(--card);border-color:var(--line);color:var(--ink-soft);font-size:12.5px}
.asst-shell{display:flex;flex-direction:column;height:calc(100vh - 120px);flex:1;min-width:0;max-width:880px;margin:0 auto}
/* Assistendi külgdokk (A) */
.asst-dock{position:fixed;top:0;right:0;bottom:0;width:430px;max-width:96vw;background:var(--card);border-left:1px solid var(--line);box-shadow:var(--shadow-lift);z-index:250;display:flex;flex-direction:column}
.asst-dock[hidden]{display:none}
.ad-head{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line-soft);flex-shrink:0}
.ad-title{display:flex;align-items:center;gap:7px;font-weight:700;font-size:14px;color:var(--ink)}
.ad-title svg{width:16px;height:16px;color:#7a5ea8}
.ad-ctx{flex:1;font-size:11.5px;color:var(--teal);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}
.ad-msgs{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:12px}
.ad-input{flex-shrink:0;margin:0 12px 12px}
.asst-dock-btn{color:#7a5ea8}
.asst-dock-btn:hover{background:var(--teal-soft)}
/* Treener: vestlused + hoiatused railis */
.ar-thread{display:flex;align-items:center;gap:6px;padding:7px 10px;border-radius:9px;font-size:12.5px;color:var(--ink-soft);cursor:pointer;border:1px solid transparent}
.ar-thread:hover{background:var(--paper)}
.ar-thread.on{background:var(--teal-soft);color:var(--teal);font-weight:600;border-color:var(--teal)}
.art-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.art-x{border:0;background:transparent;color:var(--ink-faint);cursor:pointer;font-size:11px;padding:2px 4px;border-radius:5px;flex-shrink:0}
.art-x:hover{color:var(--rose);background:var(--rose-soft)}
.ar-new{color:var(--teal)!important;font-weight:600}
.ar-alerts{display:flex;flex-direction:column;gap:6px;overflow-y:auto;flex:1;min-height:0}
.ar-alert{background:var(--card);border:1px solid var(--line-soft);border-radius:9px;padding:8px 10px;display:flex;flex-direction:column;gap:2px}
.ar-alert.fresh{border-color:var(--amber);background:var(--amber-soft)}
.ar-alert.old{opacity:.62}
.ara-acts{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}
.ara-btn{border:1px solid var(--line);background:var(--paper-2);border-radius:7px;padding:4px 9px;font-size:11.5px;font-weight:600;color:var(--ink-soft);cursor:pointer;font-family:inherit;transition:.12s}
.ara-btn:hover{background:var(--line-soft);color:var(--ink)}
.ara-btn.ok:hover{background:var(--teal-soft);border-color:var(--teal);color:var(--teal)}
/* Hoiatuste sahtel (kell assistendi päises) */
.asst-bell{position:relative;padding:8px 10px}
.ab-count{position:absolute;top:-5px;right:-5px;background:var(--rose);color:#fff;border-radius:10px;font-size:10px;line-height:1;padding:3px 5px;font-weight:700;min-width:17px;text-align:center}
.asst-drawer{position:fixed;top:120px;right:34px;width:392px;max-width:calc(100vw - 20px);max-height:min(70vh,620px);display:flex;flex-direction:column;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 44px rgba(0,0,0,.22);z-index:220;padding:14px}
.ad-head{display:flex;align-items:center;gap:10px}
.ad-head b{font-size:14px;flex:1}
.ad-seenall{border:1px solid var(--line);background:var(--paper-2);border-radius:8px;padding:5px 10px;font-size:11.5px;font-weight:600;color:var(--ink-soft);cursor:pointer;font-family:inherit}
.ad-seenall:hover{background:var(--line-soft);color:var(--ink)}
.asst-drawer .ar-note{padding-top:2px}
@media(max-width:760px){.asst-drawer{top:auto;bottom:10px;left:10px;right:10px;width:auto;max-height:72vh}}
/* Telefonis pomodoro/fookuse nuppe ei kuva — mobiilis pole see töövoog vajalik */
@media(max-width:760px){.ck-focus-btn,.ck-pl-fk,.focus-pill{display:none!important}}
/* iOS PWA: äpp algab staatusriba alt (kell ei kattu topbariga); rubber-band tõkestatud */
@media(max-width:760px){body{padding-top:max(20px, env(safe-area-inset-top));overscroll-behavior:none;background:var(--paper-2)}}
.ar-alert b{font-size:12px;color:var(--ink);line-height:1.3}
.ar-alert span{font-size:11px;color:var(--ink-soft);line-height:1.4}
.ar-alert small{font-size:10px;color:var(--ink-faint)}
.ar-alert-empty{font-size:11.5px;color:var(--ink-faint);padding:6px 2px}
.ar-mute{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--ink-soft);cursor:pointer;padding:4px 0}
.ar-mute input{accent-color:var(--teal)}
.asst-head{display:flex;align-items:center;gap:13px;padding:0 4px 8px;flex-shrink:0}
.asst-spark{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#7a5ea8,#9b7fc7);display:grid;place-items:center;flex-shrink:0}
.asst-spark svg{width:22px;height:22px;color:#fff;fill:#fff}
.asst-bt{flex:1;min-width:0}
.asst-bt b{font-family:'Instrument Serif',serif;font-size:20px;font-weight:400;display:block}
.asst-bt span{font-size:12.5px;color:var(--ink-faint)}
/* Kompaktne versioon topbar's (pealkirja kohal) — Müügiassistendi vaates */
.asst-bt-top{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden}
.asst-bt-top .asst-spark{width:28px;height:28px;border-radius:8px}
.asst-bt-top .asst-spark svg{width:15px;height:15px}
.asst-bt-top .asst-bt b{font-size:15px;line-height:1.15}
.asst-bt-top .asst-bt span{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px;display:block}
/* Müügitunnel: pealkiri + tunneli väärtus/tehingute arv topbar's, samas mustris mis Müügiassistent/Kampaaniad */
.pipe-bt-top{display:flex;align-items:center;gap:8px;min-width:0}
.pipe-bt-top .asst-bt b{font-family:var(--sans);font-size:23px}
.pipe-bt-top .asst-bt span{font-size:10.5px;white-space:nowrap;color:var(--ink-faint)}
.pipe-bt-top .asst-bt span .pipe-stat{color:var(--ink);font-weight:700}
/* Müügitunneli vaate/etapi filtrid + arhiiv topbar's — kompaktne, mahub otsingu kõrvale */
.pipe-toolbar-top{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;flex:1}
.pipe-toolbar-top .filter-chips{flex-wrap:nowrap}
/* Kitsal ekraanil peab rida murduma — nowrap lükkas sorteerimise rippmenüü ekraanist välja ja seda ei saanud ka kerida */
@media(max-width:760px){.pipe-toolbar-top .filter-chips{flex-wrap:wrap}}
.pipe-toolbar-top .chip-grp{padding:2px}
.pipe-toolbar-top .chip{padding:5px 10px;font-size:12px;white-space:nowrap}
/* Kalendri Täna/nool/kuu-nädal/Kalendrid/Kutsed nupud topbar's */
.cal-controls-top{display:flex;align-items:center;gap:10px}
#calControlsTop{margin-left:10px}
#calControlsTop2{margin-left:auto}
#calControlsTop2:not(.hidden) ~ .search{margin-left:0}
/* Registrid: aktiivse alamvaate otsing/filter/sünk topbar's, otsingu kõrval olev koht */
.reg-bar-top{margin-left:auto;min-width:0}
.reg-bar-top .ar-bar{margin-bottom:0}
.reg-bar-top .ar-search{width:220px}
.reg-bar-top .reg-status{display:none}
/* Tehingu vaade: Lõpeta/AI kokkuvõte topbar's; otsing käib nende ette, väärtus elab pealkirja kõrval */
.dd-act-top{display:flex;align-items:center;gap:10px;order:2}
.dd-outcome-row{flex:0 0 100%;order:3;display:flex;align-items:center}
.dd-outcome-row.hidden{display:none}
.dd-act-top:not(.hidden) ~ .search{margin-left:auto;order:1}
/* Tagasi-nupp (Müügitunnel) elab nüüd Failid-vahekaardi järel, 5mm vahega, rohelise kirjaga, suurem font, noole-teksti vahe 2mm */
.dd-back-top{margin-bottom:0;padding:0;margin-left:5mm;gap:2mm;color:var(--teal-fill);font-weight:700;font-size:14.5px}
.dd-back-top svg{width:17px;height:17px}
/* Tehingu pealkiri boldis, rohelisena ja Tagasi-nupuga sama (sans-serif) fondiga, suurus muutumatu */
#ddTitle{font-family:var(--sans);font-weight:700;color:var(--teal-fill)}
/* Kontakti vaade: Otsing ja Tagasi-nupp kolivad JS-iga vahekaardirea ("Manused" järele) — Otsing 10mm vahega Manusest,
   Tagasi 5mm vahega Otsingust, Tagasi-nupu enda noole-ikooni ja teksti vahe 2mm */
#cdBack{margin-bottom:0;padding:0;gap:2mm;color:var(--teal-fill);font-weight:700}
.cd-tabs #globalSearch{margin-left:calc(10mm - 6px);flex-shrink:0}
.cd-tabs #cdBack{margin-left:calc(5mm - 6px)}
/* Kontakti vaates jäi Otsingu topbar'ist väljakolimise tõttu ilma oma varasemast margin-left:auto ankrust —
   toimingunupud (Otsi AI-ga jt) taastavad selle ise, et jääda paremale servale, nimi jääb vasakule */
#cdEnrichTop:not(.hidden){margin-left:auto}
/* Topbar'i nuppude ja allpool oleva sisu (pealkiri/vahekaardid) vahe kontakti vaates 3mm väiksem */
/* Kogugaap peab olema täpselt 3mm — .cd-tabs oma margin-top:14px liidaks muidu topbar'i vahele juurde */
#view-contact{padding-top:3mm}
#view-contact .cd-tabs{margin-top:0}
/* Suhtlusajalugu pealkirja rida: kirjeldav tekst kohe vahekaartide all vasakul, siis eraldusjoon, siis filter */
.cd-feed-head{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:3mm;margin-bottom:8px}
.cd-feed-sep{width:100%;height:1px;background:var(--line)}
/* Filter + "Kontrolli üle" nupp samal real (muidu .cd-feed-head veerupaigutus lükkaks need eraldi ridadele) */
.cd-act-filter-row{display:flex;align-items:center;gap:8px}
/* Tehingu pealkirja kõrval olev väärtus, pikema vahejoonega; vahekaardid (Info/Kiri/Failid) samal real, 15mm vahega väärtusest */
.dd-title-row{display:flex;align-items:center;gap:16px}
.dd-title-row b{display:inline}
.dd-title-sep{width:1px;height:22px;background:var(--line);flex-shrink:0}
.dd-field-sep{color:var(--ink-faint);font-weight:300}
#dealBtTop .asst-bt{display:flex;align-items:center}
.dd-tabs-top{margin-left:57px;margin-bottom:0}
/* Tehingu vahekaardi väljasiltide ja lahtrite vahe kitsam */
.dd-deal-tab .side-card h4{margin-bottom:6px}
/* Klient-plokk kaheks veeruks: Klient vasakul, Etapp/Tehingu tüüp/Vastutaja paremal */
.dd-client-split{display:flex;gap:20px}
.dd-client-col{flex:1;min-width:0}
/* Tehingu tüüp ja Vastutaja ühel real, nagu Väärtus/Etapp */
.dd-field-row{display:flex;gap:16px}
.dd-field-row>div{flex:1;min-width:0}
/* Tegevused-pealkiri + filter horisontaalse joone peal, 3mm vahet enne tegevuste loetelu */
.dp-head.dd-tegevused-head{border-bottom:1px solid var(--line);padding-top:20px;padding-bottom:6px;margin-bottom:11px;justify-content:flex-start;gap:12px}
.dd-tegevused-head h4{font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:var(--ink-faint)}
/* Tegevuste pealkirja kõrval filtri-rippmenüü (Kõik/Kõned/Kohtumine/Etapp/Kiri/Märkmed) */
.dd-act-filter{width:auto;flex-shrink:0}
/* "Kontrolli üle" — täissünk Gmailist otse selle kontakti kohta, filtri kõrval */
.act-sync-btn{flex-shrink:0;padding:8px}
.act-sync-btn svg{width:14px;height:14px}
.act-sync-btn.spin svg{animation:act-sync-spin .8s linear infinite}
@keyframes act-sync-spin{to{transform:rotate(360deg)}}
/* Tooted-ploki kirjeldav tekst pealkirjale lähemale (pool endisest vahest) */
#ddProductsCard .dp-head{margin-bottom:4px}
/* Raamatupidamine: pealkiri, selle all kõrvuti firma valik + Pakkumine Meritisse nupp (loomulikus laiuses, mitte venitatud) */
.acc-controls{display:flex;align-items:center;gap:10px;margin:8px 0 4px;flex-wrap:wrap}
.acc-controls .acc-acc-sel{margin:0;width:auto;flex:0 0 auto}
.acc-controls .btn.ghost{width:auto;margin-top:0;flex:0 0 auto}
.acc-controls .btn.ghost.acc-invoice-btn{background:var(--teal-soft);color:var(--teal);border-color:var(--teal)}
.acc-controls .btn.ghost.acc-invoice-btn:hover{filter:brightness(0.96)}
.acc-controls .btn.ghost.acc-invoice-btn:disabled{background:var(--card);color:var(--ink-faint);border-color:var(--line);filter:none}
#ddCloseDeal{background:var(--teal-soft);color:var(--teal);border-color:var(--teal)}
#ddCloseDeal:hover{filter:brightness(0.96)}
/* Tegevused-vahekaardi Kõne/Kohtumine mumm-valik (asendab kuupäevalahtrit) */
.la-acttype{display:flex;gap:6px;flex-wrap:wrap}
.la-radio{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--line);border-radius:20px;background:var(--paper-2);font-family:inherit;font-size:12px;font-weight:600;color:var(--ink-soft);cursor:pointer;transition:.15s}
.la-radio:hover{border-color:var(--teal)}
.la-radio.on{background:var(--teal-fill);border-color:var(--teal-fill);color:#fff}
.la-radio.on .la-radio-dot{background:#fff;border-color:#fff}
.la-radio-dot{width:9px;height:9px;border-radius:50%;border:1.5px solid var(--ink-faint);flex-shrink:0;transition:.15s}
.asst-msgs{flex:1;overflow-y:auto;padding:20px 4px;display:flex;flex-direction:column;gap:16px}
.asst-msg{display:flex;gap:11px;max-width:88%}
.asst-msg.user{align-self:flex-end}
.asst-msg.assistant{align-self:flex-start}
.asst-av{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,#7a5ea8,#9b7fc7);display:grid;place-items:center;flex-shrink:0}
.asst-av svg{width:16px;height:16px;color:#fff;fill:#fff}
.asst-bubble{padding:11px 15px;border-radius:14px;font-size:14px;line-height:1.55;word-break:break-word}
.asst-msg.user .asst-bubble{background:var(--teal-fill);color:#fff;border-bottom-right-radius:5px}
.asst-msg.assistant .asst-bubble{background:var(--card);border:1px solid var(--line-soft);border-bottom-left-radius:5px}
.asst-bubble b{font-weight:700}
.asst-typing{display:flex;gap:4px;align-items:center;padding:14px 16px}
.asst-typing span{width:7px;height:7px;border-radius:50%;background:var(--ink-faint);animation:asstBlink 1.2s infinite}
.asst-typing span:nth-child(2){animation-delay:.2s}
.asst-typing span:nth-child(3){animation-delay:.4s}
@keyframes asstBlink{0%,60%,100%{opacity:.3}30%{opacity:1}}
.asst-shell .asst-msgs.empty-state{flex:none;padding-top:4px} /* tühjal vaatel ei venita ala kogu kõrguseni — plokk ja kirjutamiskast jäävad üleval koos, tekst tõuseb endise eraldusjoone kohale */
.asst-welcome{text-align:center;margin:0 auto;max-width:520px;padding:8px 20px}
.asst-welcome h3{font-family:'Instrument Serif',serif;font-size:24px;font-weight:400;margin-bottom:8px}
.asst-welcome p{font-size:13.5px;color:var(--ink-soft);line-height:1.55;margin-bottom:18px}
.asst-chips{display:flex;flex-wrap:wrap;gap:9px;justify-content:center}
.asst-chip{padding:9px 14px;border:1px solid var(--line);border-radius:20px;background:var(--card);font-family:inherit;font-size:12.5px;font-weight:500;color:var(--ink-soft);cursor:pointer;transition:.14s}
.asst-chip:hover{border-color:#7a5ea8;color:#7a5ea8;background:#f6f2fb}
.asst-inputbar{display:flex;align-items:flex-end;gap:10px;padding:14px 4px 4px;border-top:1px solid var(--line-soft);flex-shrink:0}
.asst-inputbar textarea{flex:1;resize:none;border:1.5px solid var(--line);border-radius:14px;padding:12px 15px;font-family:inherit;font-size:14px;line-height:1.5;outline:none;background:var(--card);color:var(--ink);max-height:140px}
.asst-inputbar textarea:focus{border-color:#7a5ea8}
.asst-send{flex-shrink:0;width:44px;height:44px;padding:0;justify-content:center;border-radius:12px;background:#7a5ea8;border-color:#7a5ea8}
.asst-send svg{width:18px;height:18px}
.asst-file{flex-shrink:0;width:44px;height:44px;padding:0;justify-content:center;border-radius:12px}
.asst-file svg{width:18px;height:18px}
.asst-filechip{display:none;align-items:center;gap:8px;background:var(--teal-soft);border:1px solid var(--line);border-radius:10px;padding:6px 10px;margin:0 4px;font-size:12.5px;width:fit-content;max-width:100%}
.asst-filechip .afc-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px}
.asst-filechip .afc-x{border:0;background:transparent;cursor:pointer;color:var(--ink-soft);font-size:14px;line-height:1;flex-shrink:0}
/* ajastatud kirjade nimekiri */
.sch-row{display:flex;align-items:center;gap:12px;padding:11px 13px;border:1px solid var(--line-soft);border-radius:10px;margin-bottom:8px}
.sch-main{flex:1;min-width:0}
.sch-to{font-weight:600;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sch-subj{font-size:12px;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sch-at{font-size:12px;font-weight:600;color:var(--teal);white-space:nowrap;flex-shrink:0}
.sch-cancel{flex-shrink:0}
@media(max-width:900px){.gmail-list{width:210px}}
/* perearsti detail (register → CRM) */
.gpd-info{margin-bottom:14px}
.gpd-row{display:flex;align-items:center;gap:8px;font-size:13.5px;padding:3px 0;color:var(--ink)}
.gpd-row svg{width:16px;height:16px;color:var(--ink-faint);flex-shrink:0}
.gpd-contact{background:var(--teal-soft);border-radius:10px;padding:12px 14px;margin-bottom:14px}
.gpd-clabel{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--teal);margin-bottom:6px}
.gpd-hist{margin-bottom:16px}
.gpd-hlabel{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--ink-faint);margin-bottom:8px}
.gpd-act{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--line-soft);font-size:12.5px}
.gpd-asub{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gpd-adate{color:var(--ink-faint);font-size:11.5px;flex-shrink:0}
.gpd-noc{font-size:13px;color:var(--ink-soft);background:var(--paper);border-radius:10px;padding:12px 14px;margin-bottom:14px}
.gpd-actions{display:flex;gap:10px}
.med-row.gp{cursor:pointer}
.med-row{cursor:pointer}
/* AI kontaktiotsing (rikastus) */
.enr-box{background:var(--paper);border:1px solid var(--line-soft);border-radius:12px;padding:14px;margin:14px 0}
.enr-head{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--ink)}
.enr-head svg{width:16px;height:16px;color:var(--violet)}
.enr-hint{font-size:11.5px;color:var(--ink-faint);line-height:1.5;margin:6px 0 11px}
.enr-btn{width:100%;justify-content:center;background:#7a5ea8;border-color:#7a5ea8}
.enr-btn svg{width:15px;height:15px}
.enr-btn.loading{opacity:.6;pointer-events:none}
.enr-loading{font-size:12.5px;color:var(--ink-faint);padding:11px 2px;text-align:center}
.enr-fail{font-size:12.5px;color:var(--ink-soft);background:var(--rose-soft);border-radius:8px;padding:10px 12px;margin-top:11px;line-height:1.5}
.enr-fail a{color:var(--rose);font-weight:600}
.enr-result{margin-top:12px;display:flex;flex-direction:column;gap:2px}
.enr-conf{font-size:11px;font-weight:700;margin-bottom:5px}
.enr-f{display:flex;align-items:baseline;gap:10px;padding:5px 0;border-bottom:1px solid var(--line-soft);font-size:13px}
.enr-l{width:74px;flex-shrink:0;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--ink-faint)}
.enr-v{color:var(--ink);word-break:break-all}
.enr-v.muted{color:var(--ink-faint)}
a.enr-v.link{color:var(--teal);font-weight:600;text-decoration:none}
a.enr-v.link:hover{text-decoration:underline}
.enr-notes{font-size:12px;color:var(--ink-soft);line-height:1.5;margin-top:9px;font-style:italic}
.enr-src{font-size:11px;color:var(--ink-faint);margin-top:8px}
.enr-src a{color:var(--ink-soft);text-decoration:underline;margin-right:4px}
.enr-apply{width:100%;justify-content:center;margin-top:13px}
.enr-apply svg{width:15px;height:15px}
/* töötaja CRM staatus */
.wrkd-status{margin:14px 0}
.wst{border-radius:12px;padding:13px 15px}
.wst-in{background:var(--teal-soft)}
.wst-out{background:var(--paper);border:1px dashed var(--line)}
.wst-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:9px}
.wst-badge{font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:20px}
.wst-badge.ok{background:var(--teal-fill);color:#fff}
.wst-badge.call{background:#bd8334;color:#fff}
.wst-badge.new{background:var(--line-soft);color:var(--ink-soft)}
.wst-owner{font-size:11.5px;color:var(--ink-soft);font-weight:600}
.wst-out p{font-size:12.5px;color:var(--ink-soft);line-height:1.5;margin:8px 0 0}
.wst-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink);padding:2px 0}
.wst-row svg{width:15px;height:15px;color:var(--ink-faint);flex-shrink:0}
.wst-deals{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.wst-deal{font-size:11px;font-weight:600;background:var(--card);border:1px solid var(--line);border-radius:7px;padding:3px 9px;color:var(--ink-soft)}
.wst-acts{margin-top:10px;border-top:1px solid rgba(0,0,0,.06);padding-top:8px}
.wst-act{display:flex;justify-content:space-between;gap:10px;font-size:12px;padding:3px 0;color:var(--ink-soft)}
.wst-act span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wst-date{flex-shrink:0;color:var(--ink-faint)}
.wst-none{font-size:12px;color:var(--ink-faint);margin-top:8px}
.wst-open{margin-top:11px;width:100%;justify-content:center;font-size:12.5px}
/* AI kõnede-soovitused */
.cs-loading{padding:30px 10px;text-align:center;color:var(--ink-faint);font-size:13px}
.cs-row{display:flex;align-items:center;gap:11px;padding:10px 11px;border:1px solid var(--line-soft);border-radius:10px;margin-bottom:7px;cursor:pointer;transition:.12s}
.cs-row:hover{border-color:var(--line);background:var(--paper)}
.cs-row input{width:16px;height:16px;flex-shrink:0;accent-color:#7a5ea8;cursor:pointer}
.cs-rank{width:22px;height:22px;flex-shrink:0;border-radius:50%;background:#7a5ea8;color:#fff;display:grid;place-items:center;font-size:11px;font-weight:700}
.cs-main{flex:1;min-width:0}
.cs-name{font-weight:600;font-size:13.5px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cs-reason{font-size:12px;color:var(--ink-soft);line-height:1.45;margin-top:2px}
.cs-device{flex-shrink:0;font-size:11px;font-weight:700;color:#7a5ea8;background:#f0ebf7;padding:4px 10px;border-radius:20px;white-space:nowrap;max-width:130px;overflow:hidden;text-overflow:ellipsis}
/* bulk AI kontaktiotsing */
.eb-prog{margin-bottom:16px}
.eb-bar{height:8px;background:var(--line-soft);border-radius:20px;overflow:hidden;margin-bottom:8px}
.eb-fill{height:100%;background:#7a5ea8;border-radius:20px;transition:width .4s}
.eb-nums{font-size:12.5px;color:var(--ink-soft);font-weight:600;text-align:center}
.eb-rlabel{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-faint);margin:6px 0 10px}
.eb-row{display:flex;align-items:center;gap:11px;padding:9px 11px;border:1px solid var(--line-soft);border-radius:10px;margin-bottom:7px;cursor:pointer}
.eb-row:hover{border-color:var(--line);background:var(--paper)}
.eb-row input{width:16px;height:16px;flex-shrink:0;accent-color:#7a5ea8;cursor:pointer}
.eb-main{flex:1;min-width:0}
.eb-name{font-weight:600;font-size:13.5px;display:flex;align-items:center;gap:7px}
.eb-conf{font-size:10px}
.eb-fields{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--ink-soft);margin-top:3px}
.eb-fields a{color:var(--teal);font-weight:600;text-decoration:none}
.med-name{font-weight:600;display:flex;flex-direction:column;gap:2px}
.med-name .med-kood{font-size:11px;color:var(--ink-faint);font-weight:500}
.med-kutse,.med-eri,.med-as{font-size:12px;color:var(--ink-soft)}
.med-as-more{color:var(--ink-faint);font-weight:600;white-space:nowrap}
.reg-ch-head{font-size:12.5px;color:var(--ink-soft);margin-bottom:12px}
.ch-guide{display:flex;gap:10px;align-items:flex-start;background:var(--teal-soft);border-radius:12px;padding:12px 16px;margin-bottom:14px;font-size:13px;line-height:1.6;color:var(--ink-soft)}
.ch-guide svg{width:18px;height:18px;color:var(--teal);flex-shrink:0;margin-top:2px}
.ch-guide b{color:var(--ink)}
.ch-guide .cg{font-weight:700;padding:1px 6px;border-radius:5px;white-space:nowrap}
.ch-guide .cg-a{background:var(--teal-fill);color:#fff}
.ch-guide .cg-r{background:var(--rose);color:#fff}
.ch-guide .cg-c{background:#c98a2b;color:#fff}
.ch-list{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.ch-row{display:grid;grid-template-columns:88px 1fr auto 92px;gap:14px;align-items:center;padding:12px 18px;border-bottom:1px solid var(--line-soft);font-size:13px}
.ch-row:last-child{border-bottom:0}
.ch-badge{font-size:10px;font-weight:700;padding:4px 8px;border-radius:7px;text-align:center;text-transform:uppercase;letter-spacing:.3px;align-self:flex-start}
.ch-badge.added{background:var(--teal-soft);color:var(--teal)}
.ch-badge.removed{background:#fbeeee;color:var(--rose)}
.ch-badge.changed{background:#fae9cf;color:#9a6a12}
.ch-main{min-width:0}
.ch-name{font-weight:600;color:var(--ink);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ch-incrm{font-size:10.5px;font-weight:700;color:var(--teal);background:var(--teal-soft);padding:1px 7px;border-radius:6px}
.ch-sub{font-size:12px;color:var(--ink-faint);margin-top:2px}
.ch-ci{font-size:12px;color:var(--ink-soft);margin-top:3px}
.ch-enrich{margin-top:6px}
.che-data{font-size:12.5px;color:var(--ink);background:var(--paper-2);border:1px solid var(--line-soft);padding:5px 10px;border-radius:8px;display:inline-block}
.che-data a{color:var(--teal)}
.ch-acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.chb{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);background:var(--card);border-radius:8px;padding:6px 11px;font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;color:var(--ink-soft);white-space:nowrap;transition:.12s}
.chb:hover{border-color:var(--teal);color:var(--teal)}
.chb svg{width:13px;height:13px}
.chb.ai{border-color:#dcb877;color:#9a6a12;background:#fbf3e3}
.chb.ai:hover{background:#f6e8cf;color:#9a6a12}
.chb.add,.chb.save{background:var(--teal-fill);color:#fff;border-color:var(--teal)}
.chb.add:hover,.chb.save:hover{filter:brightness(.96);color:#fff}
.chb.save{margin-left:8px}
.chb.arch{color:var(--rose);border-color:var(--rose-soft)}
.chb.arch:hover{background:var(--rose-soft);border-color:var(--rose);color:var(--rose)}
.chb:disabled{opacity:.6;cursor:default}
.ch-muted{font-size:11.5px;color:var(--ink-faint);font-style:italic}
.ch-when{font-size:11.5px;color:var(--ink-faint);text-align:right;white-space:nowrap}
@media(max-width:760px){.ch-row{grid-template-columns:1fr auto;gap:8px 10px}.ch-row .ch-badge{grid-row:1}.ch-main{grid-column:1/-1;order:3}.ch-acts{order:2;justify-content:flex-start}.ch-when{order:1;text-align:left}}
@media(max-width:1100px){.med-row{grid-template-columns:30px 1.3fr 1.5fr}.med-kutse,.med-as{display:none}}

/* lisa tehing modaal */
.nd-row{display:flex;gap:12px}
.nd-row-gap{margin-top:calc(8px + 2mm)}
.nd-search-row{display:flex;gap:8px;align-items:center}
.nd-search-row .nd-search-inp-wrap{flex:1;min-width:0}
.nd-search-row:has(.nd-prod-search-wrap){align-items:flex-start}
.nd-search-row .nd-prod-search-wrap{flex:1;min-width:0;margin:0}
.modal-body select.nd-mode-sel{width:auto;flex-shrink:0;background:var(--teal-soft);border-color:var(--teal);color:var(--teal);font-weight:600}
.nd-add-prod-btn{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;flex-shrink:0;padding:10px 14px;border-radius:9px;border:1px solid var(--teal);background:var(--teal-soft);color:var(--teal);font-weight:600;font-size:13.5px;font-family:inherit;cursor:pointer}
.nd-add-prod-btn:hover{filter:brightness(0.97)}
.nd-add-prod-btn svg{width:15px;height:15px;stroke-width:2.4;flex-shrink:0}
.modal-body input#ndValue{background:var(--teal-soft);border-color:var(--teal)}
.nd-search-inp-wrap{position:relative}
.nd-search-inp-wrap input{padding-right:34px}
.nd-c-clear{position:absolute;top:50%;right:9px;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:0;background:transparent;color:var(--ink-faint);cursor:pointer}
.nd-c-clear:hover{color:var(--ink)}
.nd-c-clear svg{width:13px;height:13px;stroke-width:2.4}
.nd-c-clear.hidden{display:none}
.nd-field-invalid{border-color:var(--rose) !important;background:var(--rose-soft) !important}
.nd-err-msg{color:var(--rose);font-size:11.5px;margin-top:4px}
#ndClientErr:not(.hidden){margin-bottom:2mm}
.nd-err-msg.hidden{display:none}
.nd-results{margin-top:2mm;max-height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}
.nd-results:empty{margin-top:0}
.ndr{display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:8px;cursor:pointer;font-size:13px;transition:background .1s}
.ndr:hover{background:var(--paper)}
.ndr .av{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:9px;font-weight:700;color:#fff;background:var(--teal-fill);flex-shrink:0}
.ndr .ndr-n{font-weight:600}
.ndr small{color:var(--ink-faint);margin-left:auto}
.nd-picked{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--teal);border-radius:10px;background:var(--teal-soft);margin-bottom:6px}
.nd-picked.hidden{display:none}
.nd-picked .av{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;color:#fff;background:var(--teal-fill);flex-shrink:0}
.ndp-n{font-weight:600;font-size:13.5px}
.ndp-s{font-size:11.5px;color:var(--ink-soft)}
/* arhiiv */
.arch-list{display:flex;flex-direction:column;gap:6px;max-height:60vh;overflow-y:auto}
.arch-row{display:flex;align-items:center;gap:12px;padding:11px 14px;border:1px solid var(--line);border-radius:10px;cursor:pointer;transition:.12s}
.arch-row:hover{border-color:var(--teal);background:var(--paper)}
.arch-main{flex:1;min-width:0}
.arch-title{font-weight:600;font-size:13.5px}
.arch-sub{font-size:11.5px;color:var(--ink-faint)}
.arch-badge{font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:7px;white-space:nowrap}
.arch-badge.won{background:var(--teal-soft);color:var(--teal)}
.arch-badge.lost{background:#fbeeee;color:var(--rose)}
.arch-badge.removed{background:var(--paper-2);color:var(--ink-soft)}
.arch-restore{font-size:11.5px;padding:6px 11px;flex-shrink:0}
.arch-del{padding:6px 9px;flex-shrink:0;color:var(--rose);border-color:var(--rose-soft)}
.arch-del svg{width:14px;height:14px;stroke-width:2.2}
.arch-del:hover{background:var(--rose-soft)}
.dd-cbtns{display:flex;gap:8px;margin-top:4px}
.dd-cbtns .btn{flex:1;justify-content:center;font-size:12px;padding:7px 8px}
/* ülesannete tahvli muudetavus */
.tcol-x{opacity:0;width:22px;height:22px;border:0;background:transparent;border-radius:6px;cursor:pointer;color:var(--ink-faint);display:grid;place-items:center;flex-shrink:0;transition:.12s}
.tcol-x svg{width:13px;height:13px;stroke-width:2}
.tcol-head:hover .tcol-x{opacity:.65}
.tcol-x:hover{opacity:1;background:var(--paper);color:var(--rose)}
.tcol-add{flex-shrink:0;width:230px;display:flex;flex-direction:column;gap:14px;padding:8px}
.tca-new{display:flex;flex-direction:column;gap:8px}
.tca-input{padding:9px 11px;border:1px dashed var(--line);border-radius:9px;font-family:inherit;font-size:13px;background:transparent;outline:none;color:var(--ink)}
.tca-input:focus{border-color:var(--teal);border-style:solid}
.tca-add{justify-content:center;font-size:12.5px}
.tca-ppl{border-top:1px solid var(--line-soft);padding-top:12px;display:flex;flex-direction:column;gap:6px}
.tca-lbl{font-size:11px;color:var(--ink-faint);font-weight:600}
.tca-person{display:flex;align-items:center;gap:8px;padding:6px 9px;border:1px solid var(--line);border-radius:8px;background:var(--card);font-family:inherit;font-size:12.5px;font-weight:600;color:var(--ink-soft);cursor:pointer;transition:.12s}
.tca-person:hover{border-color:var(--teal);color:var(--teal)}
.tca-person .av{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:8px;font-weight:700;color:#fff}
/* veeru päevavaate nupp */
.tcol-open{opacity:0;width:22px;height:22px;border:0;background:transparent;border-radius:6px;cursor:pointer;color:var(--ink-faint);display:grid;place-items:center;flex-shrink:0;transition:.12s}
.tcol-open svg{width:14px;height:14px;stroke-width:1.8}
.tcol-head:hover .tcol-open{opacity:.6}
.tcol-open:hover{opacity:1;background:var(--paper);color:var(--teal)}
/* enda veeru "Minu päev" otsetee — alati nähtav, teal */
.tcol-open.tcol-myday{opacity:1;color:var(--teal);background:var(--teal-soft)}
.tcol-head:hover .tcol-open.tcol-myday{opacity:1}
.tcol-open.tcol-myday:hover{filter:brightness(.95)}
/* väike "Uus nimekiri" nupp */
.tca-plus{display:flex;align-items:center;gap:7px;padding:9px 12px;border:1px dashed var(--line);border-radius:9px;background:transparent;font-family:inherit;font-size:12.5px;font-weight:600;color:var(--ink-faint);cursor:pointer;transition:.14s}
.tca-plus svg{width:15px;height:15px;stroke-width:2}
.tca-plus:hover{border-color:var(--teal);border-style:solid;color:var(--teal);background:var(--teal-soft)}
/* modaali väljad */
.fld-lbl{display:block;font-size:11.5px;font-weight:700;color:var(--ink-soft);margin-bottom:6px;letter-spacing:.01em}
.fld-in{width:100%;padding:10px 12px;border:1.5px solid var(--line);border-radius:9px;font-family:inherit;font-size:14px;background:var(--card);color:var(--ink);outline:none;transition:.14s}
.fld-in:focus{border-color:var(--teal)}
.fld-hint{font-size:11.5px;color:var(--ink-faint);line-height:1.5;margin:10px 0 0}
/* nimekirja päevavaade */
.ld-group{margin-bottom:18px}
.ld-group:last-child{margin-bottom:0}
.ld-glabel{display:flex;align-items:center;gap:8px;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);margin-bottom:9px}
.ld-glabel span{font-size:11px;color:var(--ink-faint);background:var(--line-soft);padding:1px 8px;border-radius:20px;font-weight:600;letter-spacing:0}
.ld-group.overdue .ld-glabel{color:var(--rose)}
.ld-group.today .ld-glabel{color:var(--teal)}
.ld-task{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid var(--line-soft);border-radius:9px;background:var(--card);margin-bottom:6px;transition:.12s}
.ld-task:hover{border-color:var(--line)}
.ld-task.done{opacity:.5}
.ld-task.done .ld-text{text-decoration:line-through}
.ld-box{width:20px;height:20px;flex-shrink:0;border:1.5px solid var(--line);border-radius:6px;display:grid;place-items:center;cursor:pointer;color:transparent;transition:.12s}
.ld-box svg{width:13px;height:13px;stroke-width:2.5}
.ld-box:hover{border-color:var(--teal)}
.ld-task.done .ld-box{background:var(--teal-fill);border-color:var(--teal);color:#fff}
.ld-text{flex:1;font-size:13.5px;color:var(--ink);min-width:0}
.ld-who{flex-shrink:0}
.ld-who .av{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:9px;font-weight:700;color:#fff}
.ld-due{flex-shrink:0;font-size:11.5px;color:var(--ink-faint);font-weight:600;white-space:nowrap}

/* ---------- tehingu sulgemine ---------- */
.close-opts{display:flex;gap:8px;margin-bottom:14px}
.close-opt{flex:1;display:flex;flex-direction:column;align-items:center;gap:7px;padding:15px 8px;border:1.5px solid var(--line);border-radius:12px;background:var(--card);cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:700;color:var(--ink-soft);transition:.15s}
.close-opt svg{width:21px;height:21px;stroke-width:2}
.close-opt.won:hover{border-color:var(--teal);background:var(--teal-soft);color:var(--teal)}
.close-opt.lost:hover{border-color:var(--rose);background:var(--rose-soft);color:var(--rose)}
.close-opt.rm:hover{border-color:var(--ink-faint);background:var(--line-soft);color:var(--ink)}
.close-opt.hard:hover{border-color:var(--rose);background:var(--rose-soft);color:var(--rose)}
/* Tehingu päise staatus (võidetud/kaotatud/arhiveeritud) */
.dd-outcome{align-self:center;margin-right:12px;padding:8px 14px;border-radius:9px;font-weight:700;font-size:13px;white-space:nowrap}
.dd-outcome.won{background:var(--teal-soft);color:var(--teal)}
.dd-outcome.lost{background:var(--rose-soft);color:var(--rose)}
.dd-outcome.removed{background:var(--line-soft);color:var(--ink-soft)}

/* e-kirja mallid */
.tmpl-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line-soft)}
.tmpl-row:last-child{border-bottom:0}
.tmpl-info{flex:1;min-width:0}
.tmpl-info b{font-size:13px;display:block}
.tmpl-info span{font-size:11.5px;color:var(--ink-faint);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tmpl-row .tmpl-del:hover{border-color:var(--rose);color:var(--rose)}
#cmTemplate{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:9px;font-family:inherit;font-size:13.5px;background:var(--paper-2);margin-bottom:4px}
/* suhtlusajaloo rikastatud sisu (sanitiseeritud HTML — kirjad/märkmed) */
.act-rich{font-size:13.5px;line-height:1.6;word-break:break-word;overflow-wrap:anywhere}
.act-rich a{color:var(--teal);text-decoration:underline}
.act-rich img{max-width:100%;height:auto;border-radius:6px}
.act-rich p{margin:0 0 8px}
.act-rich p:last-child{margin-bottom:0}
.act-rich ul,.act-rich ol{margin:6px 0;padding-left:20px}
.act-rich table{max-width:100%;border-collapse:collapse}
/* ülesande staatus-chip */
.t-status{border:0;border-radius:7px;padding:3px 9px;font-family:inherit;font-size:10.5px;font-weight:700;cursor:pointer;white-space:nowrap;letter-spacing:.02em;transition:.12s}
.t-status.st-open{background:var(--line-soft);color:var(--ink-faint)}
.t-status.st-prog{background:#e7eef7;color:#2d6cb5}
.t-status.st-wait{background:#fbeede;color:#c98a2b}
.t-status.st-done{background:var(--teal-soft);color:var(--teal)}
.t-status:not([disabled]):hover{filter:brightness(.96)}
.t-status[disabled]{cursor:default}
/* ── Minu päev leht ── */
.myday-wrap{display:flex;flex-direction:column;gap:22px}
.md-glabel{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);margin-bottom:10px}
.md-glabel .md-gn{font-size:11px;background:var(--line-soft);color:var(--ink-faint);padding:1px 8px;border-radius:20px;letter-spacing:0}
.md-group.overdue .md-glabel{color:var(--rose)}
.md-group.today .md-glabel{color:var(--teal)}
.md-task{display:flex;gap:12px;padding:13px 16px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);margin-bottom:8px}
.md-task.done{opacity:.55}
.md-box{width:22px;height:22px;flex-shrink:0;border:1.6px solid var(--line);border-radius:7px;display:grid;place-items:center;cursor:pointer;color:transparent;transition:.12s;margin-top:1px}
.md-box svg{width:14px;height:14px;stroke-width:2.6}
.md-box:hover{border-color:var(--teal)}
.md-task.done .md-box{background:var(--teal-fill);border-color:var(--teal);color:#fff}
.md-main{flex:1;min-width:0}
.md-text{font-size:14.5px;color:var(--ink);outline:none;border-radius:5px;padding:1px 3px;word-break:break-word}
.md-text:focus{box-shadow:0 0 0 2px var(--teal-soft)}
.md-task.done .md-text{text-decoration:line-through}
.md-meta{display:flex;align-items:center;gap:8px;margin-top:9px;flex-wrap:wrap}
.md-due{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);background:var(--paper-2);border-radius:7px;padding:4px 9px;font-family:inherit;font-size:11.5px;font-weight:600;color:var(--ink-soft);cursor:pointer}
.md-due svg{width:13px;height:13px}
.md-due.empty{color:var(--ink-faint);border-style:dashed}
.md-due:hover{border-color:var(--teal);color:var(--teal)}
.md-cbtn{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:var(--ink-faint);font-family:inherit;font-size:11.5px;font-weight:600;cursor:pointer;padding:4px 6px;border-radius:7px}
.md-cbtn svg{width:14px;height:14px}
.md-cbtn.has{color:var(--teal)}
.md-cbtn:hover{background:var(--line-soft)}
.md-comments{margin-top:12px;padding-top:12px;border-top:1px solid var(--line-soft);display:flex;flex-direction:column;gap:10px}
.mdc-item{display:flex;gap:9px}
.mdc-item .av{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:9.5px;font-weight:700;color:#fff;flex-shrink:0}
.mdc-body{flex:1;min-width:0}
.mdc-top{display:flex;align-items:center;gap:8px;font-size:11.5px}
.mdc-date{color:var(--ink-faint)}
.mdc-del{margin-left:auto;border:0;background:transparent;color:var(--ink-faint);cursor:pointer;font-size:16px;line-height:1;padding:0 4px}
.mdc-del:hover{color:var(--rose)}
.mdc-text{font-size:13px;color:var(--ink-soft);margin-top:2px;word-break:break-word;white-space:pre-wrap}
.mdc-add{display:flex;gap:8px;margin-top:2px}
.mdc-input{flex:1;padding:8px 11px;border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:13px;background:var(--paper-2);outline:none;color:var(--ink)}
.mdc-input:focus{border-color:var(--teal)}
.mdc-send{padding:8px 14px;font-size:12.5px}
.md-empty{text-align:center;padding:60px 20px;color:var(--ink-faint)}
.md-empty svg{width:44px;height:44px;stroke-width:1.5;margin-bottom:12px;color:var(--teal)}
.md-empty p{font-size:15px}
/* ── AI päevaplaani sünkroon (checkbox + staatus + kommentaarid) ── */
.tl-block.done .tl-card{opacity:.62}
.tl-block.done .tl-card h4{text-decoration:line-through}
.tl-check{width:20px;height:20px;flex-shrink:0;border:1.6px solid var(--line);border-radius:6px;display:grid;place-items:center;cursor:pointer;color:transparent;background:var(--card);transition:.12s}
.tl-check svg{width:13px;height:13px;stroke-width:2.6}
.tl-check:hover{border-color:var(--teal)}
.tl-check.on{background:var(--teal-fill);border-color:var(--teal);color:#fff}
.tl-card .tc-sub .tl-cbtn{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:var(--ink-faint);font-family:inherit;font-size:11.5px;font-weight:600;cursor:pointer;padding:3px 7px;border-radius:7px;margin-left:auto}
.tl-cbtn svg{width:13px;height:13px}
.tl-cbtn.has{color:var(--teal)}
.tl-cbtn:hover{background:var(--line-soft)}
.tl-comments{margin-top:11px;padding-top:11px;border-top:1px solid var(--line-soft);display:flex;flex-direction:column;gap:10px}
.dp-empty{text-align:center;padding:50px 20px;color:var(--ink-faint)}
.dp-empty svg{width:42px;height:42px;stroke-width:1.5;margin-bottom:12px;color:var(--teal)}
.dp-empty p{font-size:16px;font-weight:600;color:var(--ink-soft)}
.dp-empty span{font-size:13px;display:block;margin-top:4px;max-width:380px;margin-left:auto;margin-right:auto;line-height:1.5}
/* ── Tehingu tooted ── */
.dpr-empty{font-size:12px;color:var(--ink-faint);padding:2px 0 10px;line-height:1.45}
.dp-item{display:flex;align-items:center;padding:8px 0;border-bottom:1px solid var(--line-soft)}
.dp-sum{margin-left:9px}
.dp-info{flex:1;min-width:0}
.dp-pname{font-size:13px;font-weight:600;color:var(--ink);word-break:break-word}
.dp-calc{font-size:11px;color:var(--ink-faint);margin-top:1px}
.dp-calc-edit{display:flex;align-items:center;gap:3px;margin-top:2px;flex-wrap:nowrap}
.dp-calc-edit .dp-x{font-size:11px;color:var(--ink-faint)}
.dp-calc-edit .dp-u{font-size:10px;color:var(--ink-faint);margin-right:2px}
.dp-info .dp-price-in,.dp-info .dp-qty-in,.dp-info .dp-disc-in{width:50px;font-size:11px;font-family:inherit;color:var(--ink);background:var(--paper-2);border:1px solid var(--line);border-radius:5px;padding:2px 5px;-moz-appearance:textfield;flex-shrink:0}
.dp-info .dp-qty-in,.dp-info .dp-disc-in{width:34px}
.dp-price-in::-webkit-inner-spin-button,.dp-price-in::-webkit-outer-spin-button,.dp-qty-in::-webkit-inner-spin-button,.dp-qty-in::-webkit-outer-spin-button,.dp-disc-in::-webkit-inner-spin-button,.dp-disc-in::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.dp-price-in:focus,.dp-qty-in:focus,.dp-disc-in:focus{outline:1.5px solid var(--teal);border-color:var(--teal)}
.dp-sum{font-size:13px;font-weight:700;color:var(--ink-soft);white-space:nowrap}
.dp-actions{display:flex;align-items:center;gap:4px;flex-shrink:0;margin-left:6mm}
.dp-edit{width:22px;height:22px;border:0;background:transparent;color:var(--ink-faint);cursor:pointer;border-radius:6px;display:grid;place-items:center;flex-shrink:0}
.dp-edit svg{width:13px;height:13px}
.dp-edit:hover{background:var(--teal-soft);color:var(--teal)}
.dp-edit.on{background:var(--teal-soft);color:var(--teal)}
.dp-del{width:22px;height:22px;border:0;background:transparent;color:var(--rose);cursor:pointer;border-radius:6px;display:grid;place-items:center;flex-shrink:0}
.dp-del svg{width:13px;height:13px}
.dp-del:hover{background:var(--rose-soft)}
/* Tehingu detailvaate "Tooted" kaart: fikseeritud veerud (Nimetus/Kogus/Tavahind/Allahindlus/Kokku), et
   read alati ühtviisi joonduksid, olenemata toote nime pikkusest. Kogus/Tavahind/Allahindlus jagavad
   nimetuse ja Kokku vahele jääva ala omavahel võrdselt (kolm võrdset 1fr veergu); Nimetus saab topelt osa.
   Sama grid kehtib nii toote- kui Summa/Käibemaks/Kokku ridadele, et summad joonduksid täpselt KOKKU-veeru alla. */
#ddProductsCard .dp-item{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 84px 22px;column-gap:8px;align-items:center}
#ddProducts .dp-item.dp-colhead{padding-bottom:6px;border-bottom:1px solid var(--line);font-size:10.5px;font-weight:700;text-transform:uppercase;color:var(--ink-faint)}
#ddProducts .dp-item.dp-colhead span:nth-child(2),#ddProducts .dp-item.dp-colhead span:nth-child(3),#ddProducts .dp-item.dp-colhead span:nth-child(4){text-align:center}
#ddProducts .dp-item.dp-colhead span:nth-child(5){text-align:right}
#ddProducts .dp-pname{margin-right:0}
#ddProducts .dp-qty,#ddProducts .dp-regprice,#ddProducts .dp-disc-cell{text-align:center;font-size:12px;font-weight:400;color:var(--ink-soft)}
#ddProducts .dp-cell-empty{color:var(--ink-faint)}
#ddProducts .dp-disc-badge{font-size:10.5px;font-weight:700;color:var(--teal);background:var(--teal-soft);padding:2px 6px;border-radius:8px;white-space:nowrap}
#ddProductsCard .dp-sum{margin-left:0;text-align:right}
#ddProducts .dp-del{margin-left:2mm}
/* Jäme eraldusjoon toodete viimase rea ja Summa/Käibemaks/Kokku ploki vahel; ridade sees tavajooned */
#ddProducts .dp-item:last-child{border-bottom:none}
#ddTotalsBlock:not(:empty){border-top:2px solid var(--line)}
#ddTotalsBlock .dp-item:last-child{border-bottom:none}
.dp-totalrow{font-size:13px;color:var(--ink-soft)}
.dp-totalrow .dp-sum{font-size:13px;font-weight:600;color:var(--ink-soft)}
.dp-totalrow-summa .dp-sum{font-weight:700;color:var(--ink)}
.dp-totalrow-final{font-weight:700;color:var(--ink)}
.dp-totalrow-final .dp-sum{font-size:16px;font-weight:700;color:var(--teal)}
.dp-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.dp-head h4{margin:0}
.dp-add{margin-top:13px;display:flex;flex-direction:column;gap:8px}
.dp-name{padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:13px;background:var(--paper-2);outline:none}
.dp-name:focus{border-color:var(--teal)}
.dp-x{color:var(--ink-faint);font-size:13px;flex-shrink:0}
/* ── Vestluse reaktsioonid + emoji ── */
/* Messengeri-laadne hõljuv märk mulli alumises nurgas, mitte eraldi rida */
/* Jääb alati mulli enda äärte piiresse (ei ulatu üle paneeli ega mulli serva), hõljub vaid pisut mulli alla */
/* .msg-content on reaktsiooni positsioneerimise ankur — SISU (pilt/fail/mull), mitte kogu sõnum koos tsitaadiga,
   muidu laiem tsiteeritud sõnum (vastuse puhul) tõmbab reaktsiooni mullist eemale, laiema tsitaadi äärde. */
.msg-content{position:relative}
.msg-reactions{display:flex;flex-wrap:nowrap;gap:3px;position:absolute;bottom:-9px;right:4px;z-index:4}
.rx{display:inline-flex;align-items:center;gap:3px;border:1px solid var(--line);background:var(--card);border-radius:20px;padding:1px 6px;cursor:pointer;font-family:inherit;font-size:11px;box-shadow:var(--shadow);transition:.12s}
.rx:hover{border-color:var(--teal)}
.rx.mine{background:var(--teal-soft);border-color:var(--teal)}
.rx-n{font-weight:700;font-size:10px;color:var(--ink-soft)}
.rx.mine .rx-n{color:var(--teal)}
.emoji-pop{position:absolute;z-index:9999;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.16);padding:8px;display:grid;grid-template-columns:repeat(8,1fr);gap:2px;width:300px;max-height:210px;overflow-y:auto}
.emoji-pop.quick{width:auto}
.emoji-btn{border:0;background:transparent;font-size:19px;cursor:pointer;padding:5px;border-radius:8px;line-height:1}
.emoji-btn:hover{background:var(--line-soft)}
/* grupi ikoon (pilt) */
.ch-ic.img{padding:0;overflow:hidden}
.ch-ic.img img{width:100%;height:100%;object-fit:cover}
/* grupi loomine: pildi-valik */
.grp-img-pick{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.grp-img-prev{width:52px;height:52px;border-radius:14px;background:var(--paper-2);border:1px solid var(--line);display:grid;place-items:center;color:var(--ink-faint);flex-shrink:0;overflow:hidden}
.grp-img-prev svg{width:24px;height:24px}
.grp-img-prev img{width:100%;height:100%;object-fit:cover}
.grp-img-pick .btn{padding:7px 12px;font-size:12.5px}
.grp-img-pick.chimg-pick{flex-direction:column;margin-bottom:0}
.chimg-frame{width:220px;height:220px;border-radius:20px;position:relative;overflow:hidden;cursor:grab;margin:0 auto;touch-action:none}
.chimg-frame:active{cursor:grabbing}
.chimg-frame svg{width:48px;height:48px}
.chimg-crop-img{position:absolute;top:50%;left:50%;max-width:none;pointer-events:none;user-select:none}
.chimg-zoom-row{display:flex;align-items:center;gap:8px;width:100%;margin-top:14px;color:var(--ink-faint)}
.chimg-zoom-row svg{width:16px;height:16px;flex-shrink:0}
.chimg-zoom-row input[type=range]{flex:1}
.chimg-actions{display:flex;gap:8px;justify-content:center;margin-top:14px}
.chimg-hint{font-size:11.5px;color:var(--ink-faint);text-align:center;margin:10px 0 0}
/* koosolekute seeria-arhiiv */
.series-archive-zone{margin-top:16px;padding-top:14px;border-top:1px solid var(--line-soft);display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.series-archive-zone .saz-hint{font-size:11.5px;color:var(--ink-faint);line-height:1.4}
/* teavituste lülitid */
.ntf-row{display:flex;align-items:center;gap:10px;padding:8px 10px;margin-bottom:6px;border:1px solid var(--line-soft);border-radius:9px;background:var(--card);font-size:13.5px;color:var(--ink)}
.ntf-row.ntf-dragging{opacity:.5;border-color:var(--teal)}
.ntf-drag{cursor:grab;color:var(--ink-faint);display:flex;flex-shrink:0}
.ntf-drag:active{cursor:grabbing}
.ntf-drag svg{width:16px;height:16px}
.ntf-lbl{flex:1;font-weight:500}
.ntf-row input{width:18px;height:18px;cursor:pointer;accent-color:var(--teal);flex-shrink:0}
/* „+ Samm" inline-vorm: mida teha + mis ajaks */
.ns-form{background:var(--teal-soft);border:1px solid var(--teal);border-radius:10px;padding:9px 11px;margin:6px 0}
.nsf-hint{font-size:11.5px;color:var(--ink-soft);margin-bottom:7px}
.nsf-row{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.nsf-text{flex:1;min-width:180px;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-family:inherit;font-size:13px;background:var(--card);color:var(--ink)}
.nsf-due{border:1px solid var(--line);border-radius:8px;padding:7px 9px;font-family:inherit;font-size:12.5px;background:var(--card);color:var(--ink)}
.nsf-save{font-size:12.5px;padding:8px 13px;flex-shrink:0}
.nsf-x{font-size:12.5px;padding:8px 11px;flex-shrink:0}
/* kohandatud logo (bränd) */
.brand .mark.has-logo{background:transparent!important;box-shadow:none}
.brand .mark img{width:100%;height:100%;object-fit:contain;border-radius:8px}
/* ── Seadete vaade (professionaalne masonry-paigutus) ── */
/* Seadete menüü-layout: vasak alam-menüü + parem sisu (üks sektsioon korraga) */
.set-layout{display:flex;gap:26px;align-items:flex-start}
.set-nav{flex:0 0 188px;position:sticky;top:14px;display:flex;flex-direction:column;gap:3px}
.set-nav-item{text-align:left;padding:10px 14px;border:0;background:transparent;border-radius:9px;font:inherit;font-size:14px;color:var(--ink-soft);cursor:pointer;transition:background .15s}
.set-nav-item:hover{background:var(--line-soft)}
.set-nav-item.active{background:var(--teal-soft);color:var(--teal);font-weight:600}
.set-grid{flex:1;min-width:0;max-width:740px}
.set-grid > .side-card{width:100%;margin:0 0 18px;padding:20px 22px}
.set-grid > .side-card h4{font-size:11.5px;margin-bottom:14px}
.set-grid .side-card .btn.ghost{width:auto;justify-content:center;margin-top:0}
.set-grid .side-card .btn{margin-top:0}
.set-inline{display:flex;gap:8px;align-items:center}
.set-inline .fld-in{flex:1;min-width:0}
.set-inline .btn{flex-shrink:0;align-self:stretch}
.set-grid #pushEnable,.set-grid #savePw{width:100%;justify-content:center}
@media(max-width:760px){
  .set-layout{flex-direction:column;gap:14px;max-width:none}
  .set-nav{flex-direction:row;align-items:center;overflow-x:auto;width:100%;position:static;gap:6px;padding-bottom:4px;-webkit-overflow-scrolling:touch}
  .set-nav-item{white-space:nowrap;flex-shrink:0;padding:8px 13px;font-size:13px}
  .set-grid{max-width:none}
}
/* ── Päevabriifingu popup (sisselogimisel) ── */
.brief-overlay{position:fixed;inset:0;z-index:500;background:rgba(18,28,28,.55);display:none;align-items:center;justify-content:center;padding:20px;padding-top:calc(20px + env(safe-area-inset-top));padding-bottom:calc(20px + env(safe-area-inset-bottom))}
.brief-overlay.show{display:flex;animation:briefFade .25s ease}
.brief-card{background:var(--card);border-radius:20px;box-shadow:0 24px 70px rgba(0,0,0,.32);max-width:560px;width:100%;max-height:90vh;overflow-y:auto;padding:32px 34px;animation:briefRise .3s ease}
.brief-head{display:flex;align-items:center;gap:16px;margin-bottom:20px}
.brief-ic{width:52px;height:52px;border-radius:15px;background:linear-gradient(135deg,var(--teal),#2a8a85);display:grid;place-items:center;color:#fff;flex-shrink:0;box-shadow:var(--shadow)}
.brief-ic svg{width:26px;height:26px}
.brief-kicker{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--ink-faint);font-weight:700}
.brief-head h2{font-family:'Instrument Serif',serif;font-size:28px;font-weight:400;margin-top:2px}
.brief-body{font-size:15px;line-height:1.7;color:var(--ink-soft)}
.brief-body b{color:var(--ink);font-weight:700}
.brief-go{width:100%;justify-content:center;margin-top:24px;font-size:15px;padding:13px}
@keyframes briefFade{from{opacity:0}to{opacity:1}}
@keyframes briefRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.brief-card{padding:24px 22px}.brief-head h2{font-size:24px}.brief-body{font-size:14px}}
/* ── Kalendri päeva-popup (Google-laadne) ── */
.day-pop-scrim{position:fixed;inset:0;z-index:400;background:rgba(0,0,0,.12)}
.day-pop{position:fixed;z-index:401;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--card);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.25);width:340px;max-width:92vw;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;animation:briefRise .2s ease}
.day-pop .dp-head{display:flex;align-items:flex-start;justify-content:space-between;padding:18px 20px 10px;margin-bottom:0}
.dp-dow{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-faint)}
.dp-num{font-family:'Instrument Serif',serif;font-size:24px;margin-top:2px}
.day-pop .dp-x{border:0;background:transparent;cursor:pointer;color:var(--ink-faint);width:32px;height:32px;border-radius:8px;display:grid;place-items:center;flex-shrink:0}
.day-pop .dp-x:hover{background:var(--line-soft)}
.day-pop .dp-x svg{width:18px;height:18px}
.dp-evs{overflow-y:auto;padding:0 12px;flex:1}
.dp-ev{display:flex;align-items:center;gap:10px;padding:9px 8px;border-radius:9px;font-size:13.5px}
.dp-ev[data-id]{cursor:pointer}
.dp-ev[data-id]:hover{background:var(--paper-2)}
.dp-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;background:#4285f4}
.dp-dot.meet{background:var(--teal-fill)}
.dp-dot.task{background:var(--amber)}
.dp-et{font-size:12px;color:var(--ink-faint);font-weight:600;white-space:nowrap;min-width:62px}
.dp-etitle{flex:1;min-width:0}
.dp-empty{padding:24px 8px;text-align:center;color:var(--ink-faint);font-size:13px}
.day-pop .dp-add{margin:12px 16px 16px;flex-direction:row;justify-content:center}
/* allday riba värv tuleb nüüd inline-stiilist (sündmuse/kalendri värv) */

/* ═══════════ MOBIIL (iPhone 13–16 jt telefonid) ═══════════ */
.nav-burger,.topbar-search-btn,.md-back,.series-tabs-mobile-sel{display:none}
@media(max-width:760px){
  /* — drawer-navigatsioon — */
  .nav-burger{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border:0;background:transparent;color:var(--ink);cursor:pointer;border-radius:9px;padding:0}
  .nav-burger:active{background:var(--line-soft)}
  .nav-burger svg{width:24px;height:24px}
  .sidebar{position:fixed;top:0;left:0;bottom:0;width:266px;z-index:300;transform:translateX(-100%);transition:transform .25s ease;box-shadow:3px 0 22px rgba(0,0,0,.22);padding-top:max(18px, env(safe-area-inset-top));padding-bottom:calc(14px + env(safe-area-inset-bottom))}
  body.nav-open .sidebar{transform:translateX(0)}
  .nav-scrim{position:fixed;inset:0;background:rgba(15,15,15,.46);z-index:299;opacity:0;pointer-events:none;transition:opacity .25s}
  body.nav-open .nav-scrim{opacity:1;pointer-events:auto}
  /* — topbar — */
  .topbar{height:auto;min-height:54px;padding:6px 10px;gap:6px;position:relative;flex-wrap:wrap}
  .topbar h1{font-size:18px;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .topbar-search-btn{display:grid;place-items:center;width:40px;height:40px;border-radius:9px;flex-shrink:0}
  .search{display:none}
  body.search-open .search{display:flex;position:absolute;top:100%;left:0;right:0;width:auto;margin:0;border-radius:0;z-index:80}
  .topbar>.btn{padding:10px 12px;flex-shrink:0}
  #gmailAddBtn{position:absolute;top:6px;right:10px;margin-left:0;width:40px;height:40px;padding:0;z-index:3}
  #gmailAddBtn svg{width:19px;height:19px}
  #gmailTopTools{padding-right:56px}
  .topbar>.btn .btn-label{display:none}
  /* — Ülesannete topbar mobiilis: Maatriks/Minu fookus otsingu kõrvale esimesele reale (peamine navigatsioon),
     Minu ülesanded/Meeskond + seaded + Lisa ülesanne + arhiiv koonduvad teisele reale (Minu fookus alamvalikud) — */
  #txTabs{order:1;flex:1 1 auto;justify-content:center}
  #addDealTop{order:2}
  #txFocusSubTabsTop{order:3}
  #seriesSettingsTopBtn{order:4}
  #txArchiveBtn{order:5}
  /* kompaktsemad tab-nupud, et Minu ülesanded/Meeskond + seaded + arhiiv mahuksid samale reale */
  #txFocusSubTabsTop .tx-tab{padding:7px 10px;font-size:12px}
  /* — Koosolekute seeriavalik: tabide asemel rippmenüü, "+" nupp ainult ikoonina otsingu-nupu moodi — */
  .topbar-series-tabs{display:none}
  .series-tabs-mobile-sel{display:block;flex:1 1 auto;min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);font-family:inherit;font-size:13px}
  .topbar-series-wrap{margin-left:0}
  #newSeriesBtn{width:40px;height:40px;padding:0;justify-content:center;border-radius:9px;flex-shrink:0;margin-left:0}
  #newSeriesBtn .btn-label{display:none}
  /* — "Liitu koosolekuga" → ainult "Liitu" — */
  .sn-join-full{display:none}
  /* — koosolekute vaates on alumine "Veel" menüü juba olemas, topbar'i hamburger jääks topelt — */
  body.view-meetings-active .nav-burger{display:none}
  /* — seeria märkmete tühi-oleku juhistekst pole mobiilis vajalik, "+" ikoon piisab — */
  /* — sisu — */
  .view{padding:14px 13px calc(26px + env(safe-area-inset-bottom));overflow-x:hidden}
  .section-title{font-size:19px;margin-bottom:12px}
  .metrics{flex-wrap:wrap;gap:8px;margin-bottom:14px}
  .metric{min-width:calc(50% - 5px);flex:1}
  /* — müügitunneli kanban: swipe veerud — */
  .board{gap:12px;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;padding-bottom:8px}
  .board>.col{min-width:84vw;max-width:84vw;flex-shrink:0;scroll-snap-align:center}
  /* — ülesanded — */
  .tasks-board>*{min-width:84vw;flex-shrink:0;scroll-snap-align:center}
  /* — kontaktid — */
  .contacts-grid{grid-template-columns:1fr!important}
  .contact{min-width:0;max-width:100%}
  .contact .info>div{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  /* — tehingu / kontakti detailvaade: üks veerg, oluline (etapp/tooted/klient) ülal — */
  .dd-deal-tab{flex-direction:column}
  .dd-client-split{flex-direction:column;gap:12px}
  .deal-value{margin-left:auto}
  .deal-value b{font-size:22px}
  /* — AI päevaplaan: ajatelje kaardid mahuvad ekraanile — */
  .tl-card{min-width:0;display:block}
  .tl-card h4{font-size:13.5px;padding-right:20px;overflow-wrap:anywhere}
  .tl-card .tc-sub{flex-wrap:wrap;min-width:0}
  .tl-card .tc-sub [contenteditable]{min-width:0;overflow-wrap:anywhere}
  .tc-edit{opacity:1}
  /* — Registrid: tabiriba keritav (ei mahu ühele reale) — */
  .reg-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap}
  .reg-tab{flex-shrink:0;white-space:nowrap;padding:10px 13px;font-size:12.5px}
  /* — Seaded: kasutajate haldusread mähkuvad — */
  #setUsers>div{flex-wrap:wrap;gap:8px 10px}
  #setUsers>div .roleSel{margin-left:auto}
  /* — koosolek 1 veerg — */
  .mtg-layout{grid-template-columns:1fr!important;display:block!important}
  .mtg-side{margin-top:14px}
  /* — GMAIL master-detail (list ↔ kiri) — */
  .gmail-shell{height:calc(100vh - 150px);height:calc(100dvh - 150px);position:relative}
  .gmail-list{width:100%!important;border-right:0}
  body.gm-detail .gmail-list{display:none}
  .gmail-read{display:none}
  body.gm-detail .gmail-read{display:block;width:100%}
  /* — VESTLUS master-detail (kanalid ↔ sõnumid) — kõrgus/positsioon arvutatakse JS-is tegeliku mõõdetud paigutuse järgi (--chat-avail-h/--chat-avail-top), mitte oletatud konstandiga; magic-number calc() jääb ainult varuvariandiks enne JS-i esimest käivitust */
  .chat-shell{height:var(--chat-avail-h, calc(100dvh - 150px));position:relative}
  .chat-side{width:100%!important}
  body.chat-detail .chat-side{display:none}
  .chat-wrap{display:none}
  body.chat-detail .chat-shell .chat-wrap{display:flex}
  body.chat-detail #globalSearch,
  body.chat-detail #topSearchBtn,
  body.chat-detail #addDealTop,
  body.chat-detail #chatPopoutBtn,
  body.chat-detail #navBurger,
  body.chat-detail .topbar > .btn:not(#addDealTop){display:none!important}
   body.chat-view-active #topSearchBtn{display:none!important}
   body.chat-detail .topbar{display:none!important}
   body.chat-detail #view-chat{padding-top:0;padding-bottom:0}
   body.chat-detail #appRoot .main{padding-bottom:0}
  body.chat-detail .chat-head{order:-1;padding:10px 10px 8px;margin-top:0;position:sticky;top:0;z-index:2}
  body.chat-detail .chat-head .ch-head-name{font-size:16px;font-weight:800}
  body.chat-detail .chat-head .ch-head-body{flex:1;min-width:0}
  body.chat-detail .chat-head .ch-head-sub{display:none}
  body.chat-detail .chat-head .ch-head-actions{margin-left:0}
  /* — vestlus avatud: täisekraan, alumine navigatsioon peidus (nagu klaviatuuri ajal, aga alati kui sõnumivaade lahti) — */
  body.chat-detail .mnav{display:none}
  /* — Failid/Märkmed: ainult ikoonid, parema serva joondatud, väiksema kõrgusega riba päise all — */
  .chat-toolbar{justify-content:flex-end}
  .ctb-btn{padding:7px 10px;border-left:0}
  .ctb-btn svg{width:18px;height:18px}
  .ctb-label{display:none}
  /* — kirjutamise ajal: peida alumine nav ja lukusta vestluse ala tegelikule nähtavale alale (iOS/Android klaviatuur ei "lükka" enam akent teadmata suunas) — */
  body.chat-composing .mnav{display:none}
  body.chat-composing .chat-shell{position:fixed;top:var(--chat-avail-top, 0px);left:0;right:0;z-index:50;height:var(--chat-avail-h, calc(var(--vvh, 100dvh) - 54px))}
  body.chat-detail:not(.chat-composing) .chat-shell{position:relative;top:0;height:var(--chat-avail-h, calc(100dvh - 150px));margin-top:0}
  /* — vestluse kirjutamisriba: väiksem Saada nupp, kompaktsemad ikoonid, kokkuvolditav manuste rida — */
  .chat-input{gap:6px;padding:10px 8px}
  .chat-attach{width:36px;height:36px}
  .chat-attach svg{width:18px;height:18px}
  .chat-attach-group{display:flex;gap:4px}
  #chatEmoji{display:none}
  .chat-attach-toggle{display:none;width:32px;height:36px;border:0;background:transparent;color:var(--ink-faint);border-radius:9px;flex-shrink:0}
  .chat-attach-toggle svg{width:16px;height:16px}
  .chat-attach-toggle:active{background:var(--paper)}
  body.chat-attach-collapsed .chat-attach-group{display:none}
  body.chat-attach-collapsed .chat-attach-toggle{display:grid;place-items:center}
  #chatSend{padding:0;width:40px;height:40px;justify-content:center;gap:0;flex-shrink:0}
  #chatSend .btn-label{display:none}
  /* — tagasi-nupp — */
  .md-back{display:inline-flex;align-items:center;gap:3px;border:0;background:transparent;color:var(--teal);font:inherit;font-weight:800;font-size:14px;cursor:pointer;padding:6px 2px;margin-bottom:4px;letter-spacing:.01em}
  .md-back svg{width:20px;height:20px;stroke-width:2.4}
  body.chat-detail .md-back,
  body.chat-detail .chat-head .md-back{color:var(--ink)!important;font-weight:900!important;letter-spacing:0!important}
  body.chat-detail .chat-head .md-back svg{stroke-width:2.8}
  /* — puutealad — */
  .btn,.icon-btn{min-height:40px}
  .chip{min-height:36px;display:inline-flex;align-items:center} /* filter-chibid: mugavam puuteala */
  .chip:active{transform:scale(.96)} /* puute-tagasiside */
  .reg-tab,.tx-tabs button,.cd-tab{min-height:40px} /* tabid: täis puuteala */
  .hdt-cal-pop{width:min(92vw,300px)}
  /* kuuvaade mobiilis: kompaktne, sündmused värviribadena */
  .cm-dow{font-size:9px;padding:5px 1px;letter-spacing:0}
  .cm-day{min-height:60px;padding:3px;gap:1px}
  .cm-num{width:20px;height:20px;font-size:11px}
  .cm-ev{font-size:0;line-height:0;height:6px;min-height:6px;padding:0;border-radius:3px;margin-bottom:2px;overflow:hidden}
  .cm-ev.timed{background:var(--ec,#4285f4);gap:0}
  .cm-ev.timed .cm-dot{display:none}
  .cm-ev .cm-et,.cm-ev .cm-tt{display:none}
  .cm-more{font-size:9px;padding:0 2px}
  /* — miski ei lükka menüü-nuppu/topbarit ekraanist välja (flex-item peab kahanema) — */
  #appRoot{overflow-x:hidden;max-width:100vw}
  .main{min-width:0;max-width:100vw;overflow-x:hidden}
  .view{max-width:100vw}
  .nav-burger{z-index:2}
  /* — kalendri NÄDALAVAADE: kerib horisontaalselt, ei kuku ekraanist välja — */
  .cal-grid:not(.month-mode){grid-template-columns:30px repeat(7,1fr);min-width:0}
  .cal-grid .tlabel,.cal-grid .cal-time,.cal-grid .hr{font-size:8.5px}
  .cal-col-h .dname{font-size:9px}
  .cal-col-h .dnum{font-size:13px}
  .cal-cell{padding:1px}
  .cal-grid .ev{font-size:8.5px;padding:1px 2px;line-height:1.2}
  #calControlsTop{flex-wrap:wrap}
  #calControlsTop .wk{font-size:17px;order:-1;width:100%}
  .cal-view-tog button{padding:6px 11px;font-size:12px}
  .cal-today{padding:6px 11px;font-size:12px}
  .cm-grid{font-size:11px}
  .cal-cals-panel{right:auto;left:0;min-width:210px}
}

/* ---------- Kalender: jagatud kalendrid (#14) + rikkalik sündmus (#15) ---------- */
.cal-cals-wrap{position:relative}
.cal-cals-btn{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;padding:7px 12px}
.cal-cals-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:60;min-width:244px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 36px rgba(0,0,0,.18);padding:8px}
.cal-cals-panel .ccp-head{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);padding:6px 8px 8px}
.ccp-row{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:8px}
.ccp-row:hover{background:rgba(127,127,127,.1)}
.ccp-tog{flex:1;display:flex;align-items:center;gap:9px;cursor:pointer;font-size:13.5px;position:relative}
.ccp-tog input{position:absolute;opacity:0;width:0;height:0}
.ccp-box{width:17px;height:17px;border-radius:5px;border:2px solid var(--c);background:transparent;flex-shrink:0;position:relative;transition:.12s}
.ccp-tog input:checked+.ccp-box{background:var(--c)}
.ccp-tog input:checked+.ccp-box::after{content:'';position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.ccp-tog input:focus-visible+.ccp-box{outline:2px solid var(--teal);outline-offset:2px}
.ccp-name{color:var(--ink)}
.ccp-color{width:28px;height:26px;padding:0;border:1px solid var(--line);border-radius:6px;background:none;cursor:pointer;flex-shrink:0}
.ccp-color::-webkit-color-swatch{border:none;border-radius:5px}
.ccp-color::-webkit-color-swatch-wrapper{padding:2px}
.ccp-sw{width:18px;height:18px;border-radius:5px;flex-shrink:0}
.cal-chk{display:flex!important;align-items:center;gap:8px;cursor:pointer;font-weight:600;font-size:13.5px;margin:6px 0}
.cal-chk input{width:16px;height:16px;accent-color:var(--teal);margin:0;cursor:pointer}
.cal-more-tog{background:none;border:0;color:var(--teal);font-family:inherit;font-weight:600;font-size:13px;cursor:pointer;padding:9px 0 4px;display:inline-flex;align-items:center;gap:5px}
.cal-more-tog .cmt-ar{transition:.15s;display:inline-block;font-size:10px}
.cal-more-tog.open .cmt-ar{transform:rotate(180deg)}
.cal-more{border-top:1px solid var(--line);margin-top:2px;padding-top:6px}
#calEvMeetLink a{color:var(--teal);word-break:break-all}

/* ---------- Registri muudatused: 3 sektsiooni + bulk-tegevused (#20) ---------- */
.ch-toolbar{display:flex;align-items:center;gap:8px;margin:6px 0 12px;font-size:13px;color:var(--ink-soft)}
.ch-toolbar select{padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--card);font-family:inherit;font-size:13px;color:var(--ink);cursor:pointer}
.ch-section{border:1px solid var(--line);border-radius:12px;margin-bottom:12px;overflow:hidden;background:var(--card)}
.ch-section.is-empty{opacity:.55}
.ch-sec-head{display:flex;align-items:center;gap:10px;padding:11px 14px;cursor:pointer;user-select:none;background:var(--paper)}
.ch-sec-ar{font-size:11px;color:var(--ink-soft);transition:.15s;display:inline-block}
.ch-section.collapsed .ch-sec-ar{transform:rotate(-90deg)}
.ch-section.collapsed .ch-sec-body{display:none}
.ch-sec-title{font-weight:700;font-size:14px}
.ch-sec-title.added{color:var(--teal)}
.ch-sec-title.changed{color:#9a6a12}
.ch-sec-title.removed{color:var(--rose)}
.ch-sec-n{min-width:22px;height:22px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;background:var(--line);border-radius:11px;font-size:12px;font-weight:700;color:var(--ink)}
.ch-sec-hint{font-size:12px;color:var(--ink-soft);flex:1}
.ch-sec-bulk{margin-left:auto}
.ch-bulk{border:0;background:var(--teal-fill);color:#fff;font-family:inherit;font-weight:600;font-size:12.5px;padding:7px 13px;border-radius:8px;cursor:pointer;white-space:nowrap}
.ch-bulk:hover{filter:brightness(1.07)}
.ch-bulk:disabled{opacity:.5;cursor:default}
.ch-bulk.danger{background:var(--rose)}
.ch-sec-body{padding:6px 8px}
.ch-sec-empty{padding:14px;text-align:center;color:var(--ink-soft);font-size:13px}
@media (max-width:560px){.ch-sec-hint{display:none}.ch-sec-head{flex-wrap:wrap}.ch-sec-bulk{margin-left:0;width:100%}.ch-bulk{width:100%}}

/* ---------- Globaalne otsing (dropdown, igas vaates) ---------- */
.search{position:relative}
.gs-results{position:absolute;top:calc(100% + 9px);right:0;width:430px;max-width:92vw;max-height:72vh;overflow-y:auto;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 50px rgba(0,0,0,.22);padding:6px;z-index:200;cursor:default}
.gs-group{margin-bottom:2px}
.gs-glabel{display:flex;align-items:center;gap:6px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);padding:9px 10px 5px}
.gs-gn{background:var(--line);color:var(--ink-soft);border-radius:9px;padding:0 6px;font-size:10px;line-height:16px;min-width:16px;text-align:center}
.gs-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:9px;cursor:pointer}
.gs-item:hover,.gs-item.sel{background:var(--teal-soft)}
.gs-ico{flex-shrink:0;width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--paper);color:var(--ink-soft)}
.gs-ico svg{width:15px;height:15px;stroke-width:1.9}
.gs-i-contact{color:var(--teal)}.gs-i-org{color:#3a7ca5}.gs-i-deal{color:#9a6a12}.gs-i-activity,.gs-i-mail{color:var(--violet)}.gs-i-meeting{color:#b1554f}.gs-i-event{color:var(--teal)}.gs-i-chat{color:#3a7ca5}.gs-i-task{color:#bd8334}
.gs-tx{min-width:0;display:flex;flex-direction:column;gap:1px}
.gs-t{font-size:13.5px;color:var(--ink);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gs-s{font-size:11.5px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gs-empty{padding:18px 14px;text-align:center;color:var(--ink-soft);font-size:13px}
@media (max-width:760px){.gs-results{width:auto;left:0;right:0;max-width:none}}

/* Tehingu organisatsiooni-valija */
.ddo-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.ddo-mini{border:1px solid var(--line);background:var(--card);color:var(--ink-soft);font-family:inherit;font-size:12px;font-weight:600;padding:6px 11px;border-radius:8px;cursor:pointer}
.ddo-mini:hover{background:var(--paper)}
.ddo-mini.danger{color:var(--rose);border-color:#e7c9c6}
.ddr-create{color:var(--teal);font-weight:600}
.ddr-create .av{background:var(--teal-soft);color:var(--teal)}

/* ---------- Kampaaniad: ülevaade + progress + eelvaade ---------- */
.camp-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.camp-stat{background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:14px 16px}
.cst-val{font-family:'Instrument Serif',serif;font-size:28px;line-height:1;color:var(--ink)}
.cst-lbl{font-size:12px;font-weight:600;color:var(--ink-soft);margin-top:6px}
.cst-sub{font-size:11px;color:var(--ink-faint);margin-top:2px;min-height:14px}
.camp-rows{display:flex;flex-direction:column;gap:10px}
.camp-metrics{min-width:150px;width:185px;flex-shrink:0}
.cm-bar{height:7px;border-radius:4px;background:var(--line-soft);overflow:hidden}
.cm-bar>span{display:block;height:100%;background:var(--teal-fill);border-radius:4px}
.cm-bar.draft>span{background:var(--ink-faint)}
.cm-bar.sending>span{background:#cf9a2b}
.cm-nums{font-size:11px;color:var(--ink-faint);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.camp-preview{margin-bottom:12px}
.pv-mail{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.pv-head{padding:11px 14px;border-bottom:1px solid #eceee9;background:#f6f7f5}
.pv-subj{font-weight:700;font-size:13.5px;color:var(--ink)}
.pv-from{font-size:11px;color:#9aa39c;margin-top:2px}
.pv-body{padding:14px;font-size:13px;line-height:1.55;color:var(--ink);max-height:220px;overflow-y:auto;word-break:break-word}
.pv-empty{color:#b8c0ba;font-style:italic}
.pv-foot{padding:10px 14px;border-top:1px solid #e7e9e4;font-size:11px;color:#9aa39c;line-height:1.5}
.pv-unsub{color:#6d7872;text-decoration:underline}
.cd-progress{display:flex;align-items:center;gap:12px;margin:14px 0 10px}
.cdp-bar{flex:1;height:9px;border-radius:5px;background:var(--line-soft);overflow:hidden}
.cdp-bar>span{display:block;height:100%;background:var(--teal-fill)}
.cdp-bar.sending>span{background:#cf9a2b}
.cdp-bar.draft>span{background:var(--ink-faint)}
.cdp-pct{font-size:12px;font-weight:700;color:var(--ink-soft);white-space:nowrap}
.cd-chips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}
.cdc{font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:8px;background:var(--paper-2);color:var(--ink-soft)}
.cdc.sent{background:var(--teal-soft);color:var(--teal)}
.cdc.failed{background:#fbeeee;color:var(--rose)}
.cdc.opened{background:#e8f0fb;color:#2c6cc0}
.cdc.unsub{background:#f3eef9;color:#7a5ea8}
.mail-chk{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;color:var(--ink-soft);margin:10px 0 4px;cursor:pointer;line-height:1.4}
.mail-chk input{width:16px;height:16px;accent-color:var(--teal);margin:1px 0 0;flex-shrink:0;cursor:pointer}
@media(max-width:760px){.camp-stats{grid-template-columns:repeat(2,1fr)}.camp-metrics{display:none}}

/* ---------- Aktiivsed seadmed (sessioonihaldus) ---------- */
.sess-row{display:flex;align-items:center;gap:11px;padding:10px 0;border-bottom:1px solid var(--line-soft)}
.sess-row:last-child{border-bottom:0}
.sess-ico{width:34px;height:34px;border-radius:9px;background:var(--paper-2);display:grid;place-items:center;color:var(--ink-soft);flex-shrink:0}
.sess-ico svg{width:17px;height:17px}
.sess-row.current .sess-ico{background:var(--teal-soft);color:var(--teal)}
.sess-main{flex:1;min-width:0}
.sess-dev{font-size:13px;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:8px}
.sess-cur{font-size:10px;font-weight:700;background:var(--teal-soft);color:var(--teal);padding:1px 7px;border-radius:6px}
.sess-meta{font-size:11.5px;color:var(--ink-faint);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sess-kill{flex-shrink:0;color:var(--ink-faint)}
.sess-kill:hover{color:var(--rose);border-color:var(--rose)}

/* ---------- Vestluse sidebar: sektsioonid (kasutajad / grupid) + värvi-valija ---------- */
.chat-sec-head{display:flex;align-items:center;gap:6px;padding:10px 8px 5px;cursor:pointer;user-select:none;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft)}
.chat-sec-head:hover{color:var(--ink)}
.csh-arrow{width:13px;height:13px;flex-shrink:0;transition:.15s}
.csh-arrow.open{transform:rotate(90deg)}
.csh-label{flex:1}
.csh-add{width:20px;height:20px;padding:0;border:0;background:transparent;color:var(--ink-faint);border-radius:6px;display:grid;place-items:center;cursor:pointer;flex-shrink:0}
.csh-add:hover{color:var(--teal);background:var(--teal-soft)}
.csh-add svg{width:12px;height:12px;stroke-width:2.6}
.chat-sec-body{display:flex;flex-direction:column;gap:1px;margin-bottom:4px}
.chat-sec-empty{font-size:12px;color:var(--ink-faint);padding:6px 10px}
#chatHead{position:relative}
.ch-color-pop{position:absolute;top:48px;right:8px;z-index:80;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 36px rgba(0,0,0,.18);padding:13px;width:210px}
.ccp-t{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);margin-bottom:10px}
.ccp-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:9px}
.ccp-c{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;transition:.12s}
.ccp-c.on{box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--ink)}
.ccp-c:hover{transform:scale(1.12)}
.ccp-custom{position:relative;overflow:hidden;display:block;background:conic-gradient(from 0deg,#e0503a,#e0823a,#bd8334,#2c8a5a,#1f6f6b,#3a7ca5,#5c6bc0,#7a5ea8,#c0497b,#e0503a)}
.ccp-custom input[type=color]{position:absolute;inset:-4px;width:calc(100% + 8px);height:calc(100% + 8px);opacity:0;cursor:pointer;border:0;padding:0}

/* ---------- Aruanded / Dashboard ---------- */
.rep-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:18px;flex-wrap:wrap}
.rep-range{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--card)}
.rep-range button{border:0;background:transparent;padding:7px 14px;font-family:inherit;font-size:12.5px;font-weight:600;cursor:pointer;color:var(--ink-soft)}
.rep-range button+button{border-left:1px solid var(--line)}
.rep-range button.on{background:var(--teal-fill);color:#fff}
.rep-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}
.rep-stat{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:16px 18px}
.rs-val{font-family:'Instrument Serif',serif;font-size:30px;line-height:1;color:var(--ink)}
.rs-lbl{font-size:12.5px;font-weight:600;color:var(--ink-soft);margin-top:7px}
.rs-sub{font-size:11px;color:var(--ink-faint);margin-top:2px}
.rep-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:14px;margin-bottom:14px}
.rep-card{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:16px 18px;margin-bottom:14px;min-width:0}
.rep-card h4{font-size:13px;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.03em;margin:0 0 14px}
.rep-grid .rep-card{margin-bottom:0}
.rep-hbars{display:flex;flex-direction:column;gap:11px}
.rh-row{display:flex;align-items:center;gap:12px;font-size:13px}
.rh-lbl{width:150px;flex-shrink:0;display:flex;align-items:center;gap:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}
.rh-ava{width:24px;height:24px;border-radius:50%;color:#fff;display:grid;place-items:center;font-size:9px;font-weight:700;flex-shrink:0}
.rh-track{flex:1;height:12px;background:var(--line-soft);border-radius:6px;overflow:hidden;min-width:30px}
.rh-fill{height:100%;background:var(--teal-fill);border-radius:6px;transition:width .4s}
.rh-val{width:140px;flex-shrink:0;text-align:right;font-size:12.5px;font-weight:700;color:var(--ink)}
.rh-c{font-weight:500;color:var(--ink-faint)}
.rep-donut{display:flex;flex-direction:column;align-items:center;gap:12px}
.rep-donut svg{width:150px;height:150px}
.rd-legend{display:flex;gap:16px;font-size:12.5px;color:var(--ink-soft)}
.rd-legend span{display:inline-flex;align-items:center;gap:6px}
.rd-legend i{width:11px;height:11px;border-radius:3px;display:inline-block}
.rep-vbars-wrap{display:flex;gap:8px}
.rv-axis{display:flex;flex-direction:column;justify-content:space-between;height:160px;padding-bottom:23px;font-size:10px;color:var(--ink-faint);text-align:right}
.rep-vbars{flex:1;display:flex;align-items:flex-end;gap:14px;height:160px;padding:0 6px}
.rv-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;gap:6px}
.rv-stack{display:flex;align-items:flex-end;gap:4px;height:100%;width:100%;justify-content:center}
.rv-b{width:24px;border-radius:5px 5px 0 0;min-height:2px;position:relative;cursor:default}
.rv-b.created{background:var(--ink-faint)}
.rv-b.won{background:var(--teal-fill)}
.rv-b:hover{filter:brightness(1.15)}
.rv-b::after{content:attr(data-tip);position:absolute;bottom:100%;left:50%;transform:translateX(-50%) translateY(-6px);background:var(--ink);color:var(--paper);font-size:11px;font-weight:600;padding:4px 8px;border-radius:6px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .12s;z-index:5;box-shadow:var(--shadow-lift)}
.rv-b:hover::after{opacity:1}
.rv-lbl{font-size:11px;color:var(--ink-soft)}
.rep-legend{display:flex;gap:16px;justify-content:center;margin-top:12px;font-size:12px;color:var(--ink-soft)}
.rep-legend span{display:inline-flex;align-items:center;gap:6px}
.rep-legend .lg{width:11px;height:11px;border-radius:3px;display:inline-block}
.rep-legend .lg.created{background:var(--ink-faint)}.rep-legend .lg.won{background:var(--teal-fill)}
@media(max-width:900px){.rep-stats{grid-template-columns:repeat(2,1fr)}.rep-grid{grid-template-columns:1fr}.rh-lbl{width:120px}.rh-val{width:auto}}
/* Audit-logi + varundus (admin) */
.bk-status{font-size:13px;color:var(--ink-soft)}
.bk-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.bk-line svg{width:17px;height:17px;color:var(--teal);flex-shrink:0}
.bk-line b{color:var(--ink)}
.aud-row{display:flex;align-items:baseline;gap:6px;font-size:12.5px;padding:5px 0;border-bottom:1px solid var(--line-soft);flex-wrap:wrap}
.aud-row:last-child{border-bottom:0}
.aud-who{font-weight:700;color:var(--ink)}
.aud-act{color:var(--ink-soft)}
.aud-path{color:var(--teal);font-size:12px}
.aud-count{color:var(--ink-faint);font-weight:700}
.aud-time{margin-left:auto;color:var(--ink-faint);font-size:11px;white-space:nowrap}
/* Allkirja eelvaade (Seaded) + saadetud vastus vestluses */
.sig-preview{border:1px solid var(--line);border-radius:10px 10px 0 0;padding:14px;background:#fff;overflow-x:auto;color:#222;cursor:text;min-height:60px}
.sig-preview:focus{outline:2px solid var(--teal);outline-offset:-2px}
.sig-preview img{max-width:100%;cursor:pointer;transition:filter .15s,opacity .15s}
.sig-preview img:hover{filter:brightness(.8)}
.sig-toolbar{display:flex;align-items:center;gap:2px;border:1px solid var(--line);border-bottom:none;border-radius:10px 10px 0 0;padding:5px 6px;background:var(--paper-2)}
.sig-toolbar + .sig-preview{border-radius:0 0 10px 10px}
.sig-logo-pick{display:flex;align-items:center;gap:10px}
.sig-logo-prev{width:52px;height:52px;border-radius:12px;background:var(--paper-2);border:1px solid var(--line);display:grid;place-items:center;color:var(--ink-faint);flex-shrink:0;overflow:hidden}
.sig-logo-prev svg{width:22px;height:22px}
.sig-logo-prev img{width:100%;height:100%;object-fit:contain;background:#fff}
.sig-logo-acts{display:flex;flex-direction:column;gap:5px}
.sig-logo-acts .btn{padding:5px 10px;font-size:12px}
.exp-row{display:flex;gap:8px;flex-wrap:wrap}
.exp-row .btn{flex:1 1 auto;min-width:120px;justify-content:center}
.exp-row .btn svg{width:15px;height:15px}
.imp-preview{margin-top:14px;border:1px solid var(--line);border-radius:10px;padding:14px;background:var(--bg-soft,#fafafa)}
.imp-stat{font-size:13.5px;margin-bottom:10px}
.imp-stat b{color:var(--teal)}
.imp-tbl{width:100%;border-collapse:collapse;font-size:12px;margin-bottom:12px}
.imp-tbl th{text-align:left;color:var(--ink-faint);font-weight:600;padding:4px 8px;border-bottom:1px solid var(--line)}
.imp-tbl td{padding:4px 8px;border-bottom:1px solid var(--line);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}
/* Workflow / automatiseerimine */
.wf-rule{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line-soft)}
.wf-rule-main{flex:1;min-width:0}
.wf-rule-name{font-weight:600;font-size:13px}
.wf-rule-flow{font-size:11.5px;color:var(--ink-faint);overflow:hidden;text-overflow:ellipsis}
.wf-toggle{position:relative;width:38px;height:22px;flex-shrink:0;cursor:pointer}
.wf-toggle input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.wf-toggle::before{content:'';position:absolute;inset:0;background:var(--line);border-radius:22px;transition:background .2s}
.wf-toggle::after{content:'';position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.3)}
.wf-toggle:has(input:checked)::before{background:var(--teal-fill)}
.wf-toggle:has(input:checked)::after{transform:translateX(16px)}
.wf-form{display:flex;flex-direction:column;gap:8px}
.wf-form-row{display:flex;gap:8px}
.wf-form-row .fld-in{flex:1;min-width:0}
.ak-scope{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--teal);border:1px solid var(--line);border-radius:20px;padding:1px 7px;margin-left:4px}
.ak-new{margin-top:12px;padding:12px;border:1px dashed var(--teal);border-radius:10px;background:var(--bg-soft,#fafafa);font-size:12px;display:flex;flex-direction:column;gap:8px}
.ak-new code{font-family:ui-monospace,monospace;font-size:12px;word-break:break-all;background:var(--card);border:1px solid var(--line);border-radius:6px;padding:8px;color:var(--ink)}
/* Postkastid (mitu kontot) */
.mbox-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line-soft)}
.mbox-main{flex:1;min-width:0}
.mbox-email{font-weight:600;font-size:13px}
.mbox-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--teal);border:1px solid var(--line);border-radius:20px;padding:1px 7px;margin-left:4px}
.mbox-sub{font-size:11.5px;color:var(--ink-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mbox-err{color:var(--rose);font-weight:600}
.mbox-form{display:flex;flex-direction:column;gap:8px}
/* Offline-indikaator */
#offlineBadge{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:400;display:none;background:var(--ink,#222);color:#fff;font-size:12.5px;font-weight:600;padding:8px 16px;border-radius:22px;box-shadow:0 4px 16px rgba(0,0,0,.28)}
@media(max-width:760px){#offlineBadge{bottom:calc(70px + env(safe-area-inset-bottom))}}
/* Vaataja (read-only) roll: peida peamised kirjutamis-nupud (server jõustab niikuinii) */
body.role-viewer #addDealTop,body.role-viewer .fab,body.role-viewer #chatComposer{display:none!important}
body.role-viewer .topbar::after{content:'Vaataja — ainult lugemine';font-size:11px;font-weight:600;color:var(--ink-faint);border:1px solid var(--line);border-radius:20px;padding:3px 10px;margin-left:8px}
.sig-note{margin-top:10px;font-size:11.5px;color:var(--ink-faint);font-style:italic}
.gm-sent{margin-top:18px;border-top:1px dashed var(--line);padding-top:16px}
.gm-sent-head{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;color:var(--teal);margin-bottom:8px}
.gm-sent-head svg{width:15px;height:15px}
.gm-sent-body{font-size:14px;line-height:1.55;color:var(--ink);background:var(--teal-soft);border-radius:10px;padding:12px 14px}

/* ── ChatGPT (MCP) ühendus — Seaded → ChatGPT ── */
.cg-state{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font-size:13px}
.cg-state.on{border-color:var(--teal);background:var(--teal-soft)}
.cg-ico{width:34px;height:34px;border-radius:9px;background:var(--teal);color:#fff;display:grid;place-items:center;flex-shrink:0}
.cg-ico svg{width:18px;height:18px}
.cg-ico.off{background:var(--paper);color:var(--ink-faint);border:1px solid var(--line)}
.cg-sub{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);margin:14px 0 8px}
.cg-grant{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line-soft)}
.cg-grant:last-child{border-bottom:0}
.cg-grant-name{font-weight:600;font-size:13px}
.cg-steps{margin:0;padding-left:20px;font-size:13px}
.cg-steps li{margin:0 0 8px}
.cg-url{display:flex;align-items:center;gap:8px;margin:6px 0;flex-wrap:wrap}
.cg-url code{font-family:ui-monospace,monospace;font-size:12.5px;background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:6px 9px;word-break:break-all}
.cg-scopes{margin:0;padding-left:18px;font-size:12.5px}
.cg-scopes li{margin:0 0 4px}
.cg-scopes code{font-family:ui-monospace,monospace;font-size:12px}
.cg-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-bottom:6px}
.cg-stats div{padding:10px 12px;border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;gap:2px}
.cg-stats b{font-size:18px}
.cg-stats span{font-size:11.5px;color:var(--ink-faint)}
.cg-log{max-height:320px;overflow:auto}
.aud-row.err .aud-path{color:var(--rose,#b1554f)}
.cg-in{color:var(--ink-faint);font-family:ui-monospace,monospace;font-size:11px}

@media (max-width: 760px) {
  #txAddOverlay {
    align-items: flex-start;
    justify-content: center;
    padding:
      max(8px, env(safe-area-inset-top))
      10px
      max(8px, env(safe-area-inset-bottom));
    overflow-y: auto;
  }

  #txAddOverlay .modal {
    width: 100%;
    max-width: 520px;
    max-height: calc(100dvh - 16px);
    margin-top: 0;
  }

  #txAddOverlay .modal-body {
    min-height: 0;
    overflow-y: auto;
    padding-left: 14px;
    padding-right: 14px;
  }

  #txAddOverlay .modal-foot {
    padding-left: 14px;
    padding-right: 14px;
  }

  #txAddOverlay .txa-row2 {
    flex-direction: row;
    gap: 8px;
  }

  #txAddOverlay .txa-col {
    width: auto;
    flex: 1;
    min-width: 0;
  }

  #txAddOverlay .hdt-date.empty {
    width: 44px;
    min-width: 44px;
    padding: 0;
    font-size: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  #txAddOverlay .hdt-date.empty::before {
    content: "📅";
    font-size: 18px;
    line-height: 1;
  }

  #txAddOverlay .hdt-date.empty:focus-visible {
    outline: 3px solid var(--teal-soft);
    outline-offset: 2px;
  }

  #txFocusSubTabsTop .tx-tab {
    width: 40px;
    height: 40px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    font-size: 0;
    background: var(--card);
    border: 1px solid var(--line);
    color: var(--ink-soft);
  }

  #txFocusSubTabsTop .tx-tab span {
    display: none !important;
  }

  #txFocusSubTabsTop .tx-tab svg {
    display: block !important;
    width: 20px;
    height: 20px;
    stroke-width: 2;
  }
  #txFocusSubTabsTop .tx-tab.on {
    background: var(--teal-fill);
    border-color: var(--teal);
    color: #fff;
  }

  #txFocusSubTabsTop {
    margin-right: auto !important;
  }

  #seriesSettingsTopBtn,
  #txArchiveBtn {
    margin-left: 0 !important;
  }

  body:has(#view-calendar:not(.hidden)) .topbar {
    flex-wrap: nowrap;
    gap: 4px;
    padding: 8px 10px;
    overflow: visible;
  }

  body:has(#view-calendar:not(.hidden)) .topbar > .nav-burger,
  body:has(#view-calendar:not(.hidden)) .topbar > #pageTitle {
    display: none;
  }

  body:has(#view-calendar:not(.hidden)) #calControlsTop,
  body:has(#view-calendar:not(.hidden)) #calControlsTop2 {
    display: contents;
  }

  body:has(#view-calendar:not(.hidden)) #calControlsTop .wk {
    order: -1;
    flex: 1 1 40px;
    min-width: 0;
    width: auto;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 15px;
    white-space: nowrap;
  }

  body:has(#view-calendar:not(.hidden)) .cal-today {
    flex: 0 0 auto;
    padding: 6px 8px;
    font-size: 12px;
    white-space: nowrap;
  }

  body:has(#view-calendar:not(.hidden)) .cal-nav {
    flex: 0 0 auto;
    gap: 3px;
  }

  body:has(#view-calendar:not(.hidden)) .cal-nav button {
    width: 30px;
    height: 32px;
  }

  body:has(#view-calendar:not(.hidden)) .cal-view-tog {
    flex: 0 0 auto;
  }

  body:has(#view-calendar:not(.hidden)) .cal-view-tog button {
    padding: 5px 7px;
    font-size: 11px;
    white-space: nowrap;
  }

  body:has(#view-calendar:not(.hidden)) #calCalsBtn {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    justify-content: center;
    padding: 0;
    font-size: 0;
  }

  body:has(#view-calendar:not(.hidden)) #calCalsBtn svg {
    width: 18px;
    height: 18px;
  }

  body:has(#view-calendar:not(.hidden)) .cal-cals-panel {
    right: 0;
    left: auto;
    width: min(244px, calc(100vw - 16px));
    min-width: 0;
    max-width: calc(100vw - 16px);
    box-sizing: border-box;
  }
}