/* qt-desk.css – Aprikos Workspace → Quotations & Tenders (qt-desk.js).
   Same palette and type as the rest of the site (site.css variables, workspace.css rhythm); only the work list,
   the tiles, the direct-tender form, the four-eyes dialog and the compose dialog are added. Prefix qt-. */

.qt{min-width:0}
.qt :focus-visible,.qt-dlg :focus-visible,.qt-toast:focus-visible{outline:2px solid #3AC0C3;outline-offset:2px}
.qt-eb{display:block;font-family:Jost;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--deep,#1F7F81);margin-bottom:6px}

/* ---- head tiles ---- */
.qt-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 0 14px}
.qt-tile{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px 16px;border:1px solid var(--line,#E3EDEC);border-radius:14px;background:var(--bg-soft,#F5FAFA);text-align:left;cursor:pointer;font:inherit;color:var(--ink,#152E2E);transition:border-color .15s,background .15s,transform .15s}
.qt-tile b{font-family:Jost;font-size:1.55rem;font-weight:600;line-height:1.1;color:var(--deeper,#1B6E70)}
.qt-tile span{font-family:Jost;font-weight:600;font-size:.86rem;line-height:1.3}
.qt-tile small{color:var(--muted,#4E6868);font-size:.76rem}
.qt-tile:hover{border-color:var(--deep,#1F7F81);background:#fff;transform:translateY(-1px)}
.qt-tile.on{background:var(--darkest,#0A2E2F);border-color:var(--darkest,#0A2E2F);color:#fff}
.qt-tile.on b{color:var(--tq,#3AC0C3)}
.qt-tile.on small{color:#CFE8E8}
.qt-review{display:inline-flex;align-items:center;gap:6px;margin:-4px 0 14px;padding:7px 14px;border:0;border-radius:999px;background:#E8A33D;color:#0A2E2F;font-family:Jost;font-weight:700;font-size:.84rem;cursor:pointer;box-shadow:0 6px 18px rgba(232,163,61,.28)}
.qt-review.on{background:#0A2E2F;color:#E8A33D}
.qt-review::before{content:'';width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.9}

/* ---- toolbar and filter chips ---- */
.qt-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 12px}
.qt-sp{flex:1}
.qt-search{display:flex;flex:0 1 380px;min-width:200px}
.qt-search input{width:100%;height:38px;border:1px solid var(--line,#E3EDEC);border-radius:10px;padding:0 12px;font:inherit;font-size:.9rem;background:#fff}
.qt-search input:focus{border-color:var(--deep,#1F7F81)}
.qt-search.wide{flex-basis:100%;margin-bottom:10px}
.qt-sort,.qt-closed{display:inline-flex;align-items:center;gap:6px;font-size:.84rem;color:var(--muted,#4E6868);white-space:nowrap}
.qt-sort select{height:36px;border:1px solid var(--line,#E3EDEC);border-radius:9px;padding:0 8px;font:inherit;font-size:.86rem;background:#fff;color:var(--ink,#152E2E)}
.qt-closed input{width:16px;height:16px;accent-color:#1F7F81}
.qt-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.qt-chip{padding:6px 12px;border:1px solid var(--line,#E3EDEC);border-radius:999px;background:#fff;color:var(--muted,#4E6868);font-family:Jost;font-weight:600;font-size:.8rem;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.qt-chip:hover{border-color:var(--deep,#1F7F81);color:var(--deeper,#1B6E70)}
.qt-chip.on{background:var(--deeper,#1B6E70);border-color:var(--deeper,#1B6E70);color:#fff}

/* ---- the work list ---- */
.qt-list{display:flex;flex-direction:column;border-top:1px solid var(--line,#E3EDEC)}
.qt-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto auto auto;align-items:center;gap:8px 16px;padding:13px 4px;border-bottom:1px solid var(--line,#E3EDEC);transition:background .15s}
.qt-row:hover{background:var(--bg-soft,#F5FAFA)}
.qt-row.sel{background:#EBF5F5;box-shadow:inset 3px 0 0 var(--tq,#3AC0C3)}
.qt-row.closed .qt-main,.qt-row.closed .qt-dl,.qt-row.closed .qt-owner{opacity:.68}
.qt-sev{width:10px;height:10px;border-radius:50%;background:#B9CACA;align-self:start;margin-top:8px}
.qt-sev.teal{background:#1F7F81}
.qt-sev.amber{background:#E8A33D}
.qt-sev.red{background:#B03A28;box-shadow:0 0 0 4px rgba(176,58,40,.14)}
.qt-sev.grey{background:#B9CACA}
.qt-main{min-width:0;display:flex;flex-direction:column;gap:4px}
.qt-t{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.qt-title{background:none;border:0;padding:0;font-family:Jost;font-weight:600;font-size:.96rem;line-height:1.3;color:var(--ink,#152E2E);text-align:left;cursor:pointer;overflow-wrap:anywhere}
.qt-title:hover{color:var(--deep,#1F7F81);text-decoration:underline;text-underline-offset:3px}
.qt-sub{display:block;color:var(--muted,#4E6868);font-size:.8rem;line-height:1.4;overflow-wrap:anywhere}
.qt-kind{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-family:Jost;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#fff;white-space:nowrap}
.qt-kind.tender{background:#1B6E70}
.qt-kind.direct{background:#0A2E2F}
.qt-kind.direct i{font-style:normal;font-size:.62rem;padding:0 5px;border-radius:999px;background:#E8A33D;color:#0A2E2F;letter-spacing:.04em}
.qt-kind.quote{background:#3B6FB6}
.qt-kind.list{background:#8A6A2F}
.qt-bar{display:flex;width:100%;max-width:280px;height:6px;border-radius:99px;background:#E8F0EF;overflow:hidden;margin-top:2px}
.qt-bar i{display:block;height:100%}
.qt-bar i.exact{background:#0E8F5B}
.qt-bar i.m80{background:#C47814}
.qt-bar i.m50{background:#D4572A}
.qt-bar i.none{background:#B03A28}
.qt-st{display:inline-block;padding:4px 10px;border-radius:999px;font-family:Jost;font-size:.76rem;font-weight:600;white-space:nowrap;background:var(--bg-soft,#F5FAFA);color:var(--muted,#4E6868)}
.qt-st.draft{background:#EEF2F2;color:#4E6868}
.qt-st.wait{background:#FDF1E0;color:#7A4A07}
.qt-st.ok{background:#E3F4EC;color:#1B7F5C}
.qt-st.sub{background:#0A2E2F;color:#CFE8E8}
.qt-st.bad{background:#FBE7E5;color:#A32A22}
.qt-owner{display:flex;align-items:center;gap:7px;font-size:.82rem;color:var(--ink,#152E2E);white-space:nowrap;max-width:180px}
.qt-owner span{overflow:hidden;text-overflow:ellipsis}
.qt-owner .none{color:var(--muted,#4E6868);font-style:italic}
.qt-av{flex:none;width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--ice,#EBF5F5);color:var(--deeper,#1B6E70);font-family:Jost;font-style:normal;font-weight:700;font-size:.68rem;letter-spacing:.02em}
.qt-dl{display:flex;flex-direction:column;align-items:flex-end;gap:1px;min-width:96px;white-space:nowrap}
.qt-dl b{font-family:Jost;font-weight:600;font-size:.9rem}
.qt-dl small{color:var(--muted,#4E6868);font-size:.76rem}
.qt-dl.late b,.qt-dl.late small{color:#B03A28}
.qt-acts{grid-column:2/-1;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.qt-acts .btn.sm{padding:6px 13px;font-size:12.5px}
.qt-acts .btn.ghost2{border-width:1.5px}
.qt-acts .btn.qt-del{border-color:#D9C0BC;color:#8A2A1B}
.qt-acts .btn.qt-del:hover{background:#FBE7E5}
.qt-lines{grid-column:2/-1;background:var(--bg-soft,#F5FAFA);border-radius:12px;padding:10px 14px;overflow-x:auto}
.qt-tbl{width:100%;border-collapse:collapse;font-size:.84rem}
.qt-tbl th{text-align:left;font-family:Jost;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted,#4E6868);padding:6px 10px 6px 0;border-bottom:1px solid var(--line,#E3EDEC)}
.qt-tbl td{padding:7px 10px 7px 0;border-bottom:1px solid var(--line,#E3EDEC);vertical-align:top}
.qt-tbl tr:last-child td{border-bottom:0}
.qt-tbl .num{text-align:right;white-space:nowrap}
.qt-tbl code{font-size:.8rem;color:var(--deeper,#1B6E70)}
.qt-tbl em{color:var(--muted,#4E6868)}
.qt-hint{margin:8px 0 0;color:var(--muted,#4E6868);font-size:.76rem}
.qt-empty{margin-top:12px}
.qt-err{margin:0 0 10px;padding:9px 12px;border-radius:10px;background:#FDF1E0;color:#7A4A07;font-size:.84rem}
.qt-skel{display:grid;gap:10px}
.qt-skel .skel{height:64px;border-radius:12px}

/* ---- new direct tender ---- */
.qt-new{margin:0 0 18px;padding:18px 20px;border:1px solid var(--line,#E3EDEC);border-radius:16px;background:linear-gradient(180deg,#F5FAFA,#fff)}
.qt-newh{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.qt-newh h3{margin:0 0 4px;font-size:1.1rem}
.qt-newh p{margin:0;color:var(--muted,#4E6868);font-size:.86rem;line-height:1.45;max-width:720px}
.qt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;margin-bottom:12px}
.qt-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.qt-new label,.qt-new fieldset{display:flex;flex-direction:column;gap:5px;min-width:0;margin:0;padding:0;border:0}
.qt-new label>span:first-child,.qt-new legend{font-family:Jost;font-size:.78rem;font-weight:600;color:var(--muted,#4E6868);padding:0;margin-bottom:2px}
.qt-new input:not([type=radio]):not([type=file]),.qt-new select,.qt-new textarea{height:38px;border:1px solid var(--line,#E3EDEC);border-radius:9px;padding:0 10px;font:inherit;font-size:.9rem;background:#fff;color:var(--ink,#152E2E);width:100%}
.qt-new textarea{height:auto;padding:8px 10px;resize:vertical;line-height:1.45}
.qt-new input:focus,.qt-new select:focus,.qt-new textarea:focus{border-color:var(--deep,#1F7F81)}
.qt-new small{color:var(--muted,#4E6868);font-size:.76rem;line-height:1.4}
.qt-valrow{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:8px}
.qt-type{flex-direction:row!important;flex-wrap:wrap;gap:6px 18px!important;align-items:center}
.qt-type legend{width:100%}
.qt-type label{flex-direction:row;align-items:center;gap:7px;font-size:.9rem}
.qt-type input[type=radio]{width:16px;height:16px;accent-color:#1F7F81;margin:0}
.qt-drop{border:1.5px dashed #BFD3D3;border-radius:12px;padding:12px 14px;background:#fff;transition:border-color .15s,background .15s}
.qt-drop.over{border-color:var(--tq,#3AC0C3);background:#EBF5F5}
.qt-drop label{cursor:pointer;gap:3px}
.qt-droph{font-family:Jost;font-size:.88rem!important;font-weight:600!important;color:var(--ink,#152E2E)!important}
.qt-drop input[type=file]{margin-top:6px;font-size:.82rem;color:var(--muted,#4E6868)}
.qt-files{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.qt-files:empty{display:none}
.qt-file{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 10px;border-radius:999px;background:var(--ice,#EBF5F5);font-size:.8rem;color:var(--deeper,#1B6E70)}
.qt-file small{color:var(--muted,#4E6868)}
.qt-file button{width:20px;height:20px;border:0;border-radius:50%;background:#fff;color:var(--deeper,#1B6E70);cursor:pointer;font-size:.95rem;line-height:1;padding:0}
.qt-file button:hover{background:#B03A28;color:#fff}
.qt-paste,.qt-coll{margin-bottom:12px}
.qt-coll input{max-width:720px}
.qt-newacts{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;padding-top:12px;border-top:1px solid var(--line,#E3EDEC)}
.qt-newacts .ws-msg{flex:1;margin:0;min-width:0}
.qt-newacts .ws-msg:empty{display:none}

/* ---- dialogs (four eyes, compose, delete) ---- */
.qt-dlg{position:fixed;inset:0;z-index:4100;display:flex;align-items:center;justify-content:center;padding:18px}
.qt-dlg-back{position:absolute;inset:0;background:rgba(10,46,47,.48);backdrop-filter:blur(2px)}
.qt-dlg-box{position:relative;width:min(560px,100%);max-height:calc(100vh - 36px);overflow:auto;background:#fff;border-radius:18px;padding:26px 28px 22px;box-shadow:0 30px 80px rgba(10,46,47,.35);animation:qt-in .18s ease-out}
.qt-dlg-box h3{margin:0 0 6px;font-family:Jost;font-size:1.25rem;line-height:1.25;padding-right:36px}
.qt-dlg-x{position:absolute;top:14px;right:14px;width:34px;height:34px;border:0;border-radius:50%;background:var(--bg-soft,#F5FAFA);color:var(--deeper,#1B6E70);font-size:1.25rem;line-height:1;cursor:pointer}
.qt-dlg-x:hover{background:var(--ice,#EBF5F5)}
.qt-dlgsub{margin:0 0 14px;color:var(--muted,#4E6868);font-size:.88rem;line-height:1.5}
.qt-dlgform{display:flex;flex-direction:column;gap:12px}
.qt-dlgform label{display:flex;flex-direction:column;gap:5px}
.qt-dlgform label>span:first-child{font-family:Jost;font-size:.78rem;font-weight:600;color:var(--muted,#4E6868)}
.qt-dlgform input,.qt-dlgform select,.qt-dlgform textarea{border:1px solid var(--line,#E3EDEC);border-radius:9px;padding:9px 11px;font:inherit;font-size:.92rem;background:#fff;color:var(--ink,#152E2E);width:100%}
.qt-dlgform textarea{resize:vertical;line-height:1.5;min-height:84px}
.qt-dlgform input:focus,.qt-dlgform select:focus,.qt-dlgform textarea:focus{border-color:var(--deep,#1F7F81)}
.qt-dlgform small{color:var(--muted,#4E6868);font-size:.78rem;line-height:1.4}
.qt-dlgmsg{margin:0;min-height:1.2em;font-size:.85rem}
.qt-dlgmsg:empty{display:none}
.qt-dlgacts{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:4px}
.qt-dlgacts .qt-changes{border-color:#E8A33D;color:#7A4A07}
.qt-dlgacts .qt-danger{background:linear-gradient(120deg,#B03A28,#8A2A1B);box-shadow:none}
.qt-qast{margin:0 0 12px;padding:9px 12px;border-radius:10px;background:var(--bg-soft,#F5FAFA);font-size:.85rem;line-height:1.45}
.qt-qast.wait{background:#FDF1E0;color:#7A4A07}
.qt-qast.ok{background:#E3F4EC;color:#1B7F5C}
.qt-qast.bad{background:#FBE7E5;color:#A32A22}
.qt-to{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line,#E3EDEC);border-radius:12px;background:var(--bg-soft,#F5FAFA);margin-bottom:14px}
.qt-to>div{flex:1;min-width:0}
.qt-to b{display:block;font-family:Jost;font-size:.95rem;overflow-wrap:anywhere}
.qt-to small{display:block;color:var(--muted,#4E6868);font-size:.78rem;overflow-wrap:anywhere}
.qt-to .qt-av{width:34px;height:34px;font-size:.8rem}
.qt-role{flex:none;font-style:normal;padding:3px 9px;border-radius:999px;font-family:Jost;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;background:#EEF2F2;color:#4E6868}
.qt-role.dist{background:#E6F4F4;color:#12494B}
.qt-role.clinic{background:#E3F4EC;color:#1B7F5C}
.qt-role.vet{background:#FDF1E0;color:#7A4A07}
.qt-picks{display:flex;flex-direction:column;gap:4px;max-height:360px;overflow:auto}
.qt-pick{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid transparent;border-radius:10px;background:none;text-align:left;cursor:pointer;font:inherit;color:var(--ink,#152E2E)}
.qt-pick:hover{background:var(--bg-soft,#F5FAFA);border-color:var(--line,#E3EDEC)}
.qt-pick>span{flex:1;min-width:0}
.qt-pick b{display:block;font-family:Jost;font-size:.9rem;overflow-wrap:anywhere}
.qt-pick small{display:block;color:var(--muted,#4E6868);font-size:.76rem;overflow-wrap:anywhere}
.qt-prev{margin-top:18px;padding-top:14px;border-top:1px solid var(--line,#E3EDEC)}
.qt-prev h4{margin:0 0 8px;font-size:.86rem;display:flex;align-items:center;gap:8px}
.qt-prev h4 em{font-style:normal;font-family:Jost;font-size:.74rem;color:var(--muted,#4E6868)}
.qt-prev ul{list-style:none;margin:0;padding:0;max-height:200px;overflow:auto}
.qt-prev li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:6px 0;border-top:1px solid var(--line,#E3EDEC);font-size:.82rem}
.qt-prev li:first-child{border-top:0}
.qt-prev li b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qt-prev li span{color:var(--muted,#4E6868);white-space:nowrap}
.qt-prev li i{font-style:normal;font-family:Jost;font-size:.72rem;font-weight:600;white-space:nowrap}
.qt-prev li i.read{color:#1B7F5C}
.qt-prev li i.unread{color:#7A4A07}
body.qt-dlg-open{overflow:hidden}

/* ---- on the tender page: the memory button, the four-eyes note ---- */
.tpf-acts .tp-btn.sec.mem{border-color:#C9A227;color:#7A5A00}
.tpf-acts .tp-btn.sec.mem:hover{background:#FFF8EE}
.tpf-acts .tp-btn.sec.mem.on{background:#7A5A00;border-color:#7A5A00;color:#fff}
.qt-qanote{margin:12px 0 0;padding:10px 14px;border-radius:12px;background:var(--bg-soft,#F5FAFA);color:var(--muted,#4E6868);font-size:.86rem;line-height:1.5;border-left:4px solid #B9CACA}
.qt-qanote.wait{background:#FDF1E0;color:#7A4A07;border-left-color:#E8A33D}
.qt-qanote.ok{background:#E3F4EC;color:#1B7F5C;border-left-color:#0E8F5B}
.qt-qanote.bad{background:#FBE7E5;color:#A32A22;border-left-color:#B03A28}

/* ---- toast (only when TPRO.toast is not on the page) ---- */
.qt-toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:4300;max-width:min(560px,92vw);background:var(--deeper,#1B6E70);color:#fff;border-radius:999px;padding:12px 22px;font-size:.9rem;box-shadow:0 12px 36px rgba(0,0,0,.28)}
.qt-toast.bad{background:#8A2A1B}
.qt-toast[hidden]{display:none}

@keyframes qt-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ---- narrow screens ---- */
@media (max-width:1100px){.qt-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){
  .qt-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .qt-row{grid-template-columns:10px minmax(0,1fr);row-gap:6px}
  .qt-st,.qt-owner,.qt-dl{grid-column:2;justify-self:start}
  .qt-dl{flex-direction:row;align-items:baseline;gap:8px;min-width:0}
  .qt-owner{max-width:none}
  .qt-grid,.qt-grid.two{grid-template-columns:1fr}
  .qt-search{flex-basis:100%}
  .qt-dlg{padding:0;align-items:flex-end}
  .qt-dlg-box{width:100%;max-height:92vh;border-radius:18px 18px 0 0;padding:22px 18px 18px}
}
@media (max-width:520px){.qt-tiles{grid-template-columns:1fr 1fr}.qt-tile b{font-size:1.3rem}}
@media (prefers-reduced-motion:reduce){.qt-tile,.qt-row,.qt-chip,.qt-drop{transition:none}.qt-dlg-box{animation:none}}
