/* F2 Scheda preventivo e Contenuto in stile Furious (web/views/preventivo.js, web/views/pl.js) */

/* Contenuto: categorie (servizi o deliverable) → righe */
.qt-grid td{padding:6px 6px;vertical-align:middle}
.qt-grid select,.qt-grid .search{padding:5px 8px;font-size:12px}
.qt-grid select{border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--surface);max-width:190px}
.qt-grid select:disabled,.qt-grid .search:disabled{background:transparent;border-color:transparent;color:var(--ink);opacity:1}
.qt-grid td.qt-desc .search{width:100%;min-width:150px;box-sizing:border-box}
.qt-grid tr.qt-gh td{background:var(--surface-2);border-top:2px solid var(--line)}
.qt-gh-in{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.qt-gh-in>.ms{color:var(--coral-dk)}
.qt-gname{font-weight:600;min-width:240px!important}
.qt-gsum{margin-left:auto;font-weight:500;color:var(--ink-2)}
.qt-price{display:inline-flex;align-items:center;gap:2px}
.qt-tool .ms{font-size:18px}
button.icon.qt-tool:hover{color:var(--coral-dk)}
button.icon:disabled{opacity:.35;cursor:default}
.qt-hint{display:block;font-size:11px;color:var(--ink-3);text-align:right;margin-top:2px}
button.qt-hint{all:unset;cursor:pointer;display:block;font-size:11px;color:var(--coral-dk);text-align:right;margin-top:2px}
button.qt-hint:hover{text-decoration:underline}
.qt-acts{white-space:nowrap}
.qt-acts>*{display:inline-grid;vertical-align:middle}
.qt-row .qt-trash,.qt-gh .qt-trash-g{visibility:hidden;color:var(--bad)}
.qt-row:hover .qt-trash,.qt-row:focus-within .qt-trash,.qt-gh:hover .qt-trash-g,.qt-gh:focus-within .qt-trash-g{visibility:visible}
@media (hover:none){.qt-row .qt-trash,.qt-gh .qt-trash-g{visibility:visible}}
tr.qt-x td{background:var(--surface-2);white-space:normal;border-left:3px solid var(--coral)}
.qt-x-in{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:flex-end;padding:4px 2px}
.qt-x-in label,.qt-kv{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--ink-2);text-align:left}
.qt-x-in label.qt-chk{flex-direction:row;align-items:center;gap:6px}
.qt-x-in select{border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--surface);padding:5px 8px;max-width:260px}
.qt-kv b{font-weight:600;color:var(--ink)}
.qt-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:14px 0 10px}
.qt-kpis{margin-bottom:6px}

/* Sconto finale e ripartizione per BU */
.qt-foot{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:18px;margin-top:14px;align-items:start}
.qt-disc{display:flex;flex-direction:column;gap:8px}
.qt-dl{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--ink-2);font-weight:500}
.qt-round{display:inline-flex;align-items:center;gap:2px;font-size:12px;color:var(--ink-3)}
.qt-round .btn.sm{margin-left:4px}
.qt-bu td,.qt-bu th{padding:6px 8px}
@media (max-width:900px){.qt-foot{grid-template-columns:1fr}}

/* Barra in basso */
.qt-bar{position:sticky;bottom:0;z-index:3;display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:10px 16px;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-md)}
.qt-bar-left{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.qt-bar-left:empty{display:none}
.qt-m{display:flex;flex-direction:column;gap:2px}
.qt-m b{font-size:16px}
.qt-m a.stage{text-decoration:none}
.qt-save{margin-left:auto;display:flex;gap:8px}
.qt-sel{border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--surface);padding:6px 8px;color:var(--ink)}
@media (max-width:700px){.qt-bar{gap:10px;padding:8px 12px}.qt-m b{font-size:14px}.qt-save{margin-left:0;width:100%}.qt-save .btn{flex:1;justify-content:center}}

/* Finestre (dialog nativo) */
dialog.qt-dlg{border:none;border-radius:var(--radius);padding:0;width:min(780px,calc(100vw - 32px));max-height:calc(100vh - 48px);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-md)}
dialog.qt-dlg::backdrop{background:rgba(20,20,20,.35)}
.qt-dlg form{display:flex;flex-direction:column;gap:14px;padding:22px}
.qt-dlg h2{font-size:18px}
.qt-dlg menu{display:flex;justify-content:flex-end;gap:8px;margin:4px 0 0;padding:0}
.qt-dlg .t td{padding:7px 8px}
.qt-dlg .search{min-width:0}
.qt-dlg select{border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--surface);padding:7px 10px;color:var(--ink)}
.qt-catpick{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.qt-bgt .filters{gap:16px;align-items:flex-end}
.qt-bgt .filters .search{width:160px}
.qt-tpls{display:flex;flex-direction:column;gap:8px;max-height:46vh;overflow:auto}
.qt-tpl{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:12px;cursor:pointer}
.qt-tpl:has(input:checked){border-color:var(--coral);background:var(--coral-lt)}
.qt-tpl>span{flex:1;min-width:0}
.qt-tpl small{display:block;color:var(--ink-3);font-size:11.5px;margin-top:2px;white-space:normal}

/* Scheda: Informazioni */
.qt-info{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px 20px}
.qt-f{min-width:0}
.qt-l{font-size:11.5px;color:var(--ink-3);display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.qt-v{margin-top:4px;font-weight:500;display:flex;gap:6px;align-items:center;flex-wrap:wrap;overflow-wrap:anywhere}
.qt-v .search{min-width:0;padding:6px 10px}
.qt-v code{white-space:normal;word-break:break-all}
.qt-src{font-size:10px;font-weight:500;padding:1px 6px;border-radius:var(--pill);background:var(--surface-2);border:1px solid var(--line-2);color:var(--ink-3)}
.qt-src.my{background:var(--coral-lt);border-color:var(--coral-md);color:var(--coral-dk)}
.qt-tag{padding:3px 9px;font-size:11.5px}
.qt-h3{font-size:14px;font-weight:600;margin:22px 0 10px;display:flex;gap:8px;align-items:center}
.qt-w td,.qt-w th{padding:6px 8px}
.qt-weights .filters{margin-top:8px}
.qt-imp{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--line-2);vertical-align:-1px}
.qt-imp-1{background:var(--ink-4)}.qt-imp-2{background:var(--warn)}.qt-imp-3{background:var(--bad)}
.qt-head-sub{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:4px}
.qt-tr td{padding:6px 8px}
.qt-tr .search:disabled,.qt-tr select:disabled{background:transparent;border-color:transparent;color:var(--ink)}
.qt-tr td .search:not(.num-in){min-width:140px}

/* ---------- Scheda preventivo, versione 2 (6/10/2026): intestazione con fase e numeri chiave, dati HubSpot | impostazioni MyCT ---------- */
.qt-hero{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px 18px;margin-bottom:14px;box-shadow:var(--shadow)}
.qt-hero-top{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.qt-hero-t{min-width:0;flex:1}
.qt-hero h1{font-size:28px;line-height:1.15;margin:6px 0 10px;letter-spacing:-.01em}
.qt-job{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;letter-spacing:0;text-transform:none;color:var(--ink-3)}
.qt-hero-meta{display:flex;gap:8px 16px;align-items:center;flex-wrap:wrap;color:var(--ink-2);font-size:13px}
.qt-hero-meta>span{display:inline-flex;align-items:center;gap:5px}
.qt-hero-meta .ms{font-size:17px;color:var(--ink-3)}
.qt-hero-meta a{color:inherit;font-weight:600}
.qt-chip-imp:empty{display:none}
.qt-hero-a{display:flex;gap:8px;flex-wrap:wrap}

/* fase nella pipeline */
.qt-steps{display:flex;list-style:none;margin:18px 0 4px;padding:0;gap:4px;counter-reset:st}
.qt-steps li{flex:1;min-width:0;position:relative;padding-top:12px;font-size:11.5px;color:var(--ink-3);counter-increment:st}
.qt-steps li::before{content:'';position:absolute;top:0;left:0;right:0;height:5px;border-radius:999px;background:var(--line-2)}
.qt-steps li.done::before{background:var(--coral-md)}
.qt-steps li.cur::before{background:var(--coral)}
.qt-steps li.done{color:var(--ink-2)}
.qt-steps li.cur{color:var(--ink);font-weight:600}
.qt-steps li span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qt-lost{display:flex;align-items:center;gap:6px;margin:16px 0 4px;color:var(--bad);font-weight:600}

/* numeri chiave */
.qt-kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:16px}
.qt-k{background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:3px;min-width:0}
.qt-k .l{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3)}
.qt-k b{font-size:22px;font-weight:700;line-height:1.2}
.qt-k small{font-size:11.5px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qt-k.hero{background:var(--coral);border-color:var(--coral);color:#fff}
.qt-k.hero .l,.qt-k.hero small{color:rgba(255,255,255,.85)}

/* sezioni: segmenti fissi sotto la barra in alto */
.qt-tabs{position:sticky;top:62px;z-index:3;display:inline-flex;gap:2px;padding:3px;margin:0 0 14px;background:var(--surface);border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow)}
.qt-tabs button{all:unset;cursor:pointer;padding:6px 14px;border-radius:999px;font-size:13px;font-weight:500;color:var(--ink-2)}
.qt-tabs button:hover{color:var(--ink)}
.qt-tabs button[aria-pressed="true"]{background:var(--ink);color:var(--surface);font-weight:600}
.qt-tabs button:focus-visible{outline:2px solid var(--coral)}

/* dati HubSpot | impostazioni MyCT */
.qt-cols{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:14px;align-items:start;margin-bottom:14px}
.qt-cols>.card{margin:0}
.qt-card .card-h h2{display:flex;align-items:center;gap:8px}
.qt-card .card-h h2 .ms{font-size:20px;color:var(--coral-dk)}
.qt-dl{display:grid;grid-template-columns:minmax(130px,auto) minmax(0,1fr) minmax(130px,auto) minmax(0,1fr);gap:10px 16px;align-items:baseline}
/* nelle finestre .qt-dl resta l'etichetta sopra il campo (la griglia sopra è per i dati della scheda preventivo) */
.qt-dlg .qt-dl{display:flex;flex-direction:column;gap:4px}
.qt-dt{font-size:12px;color:var(--ink-3)}
.qt-dd{font-weight:500;min-width:0;overflow-wrap:anywhere;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.qt-dd code{font-size:11.5px;word-break:break-all}
.qt-dd a{color:var(--coral-dk);font-weight:600}
.qt-due{font-size:11px;font-weight:600;padding:1px 7px;border-radius:999px;background:var(--surface-2);color:var(--ink-2)}
.qt-due.late{background:var(--bad-lt);color:var(--bad)}
.qt-form{display:flex;flex-direction:column;gap:14px}
.qt-fld{display:flex;flex-direction:column;gap:5px;min-width:0}
.qt-fl{font-size:12px;font-weight:600;color:var(--ink-2)}
.qt-fn{font-size:11.5px;color:var(--ink-3)}
.qt-fld .search{min-width:0;width:100%;box-sizing:border-box}
.qt-pct{display:inline-flex;align-items:center;gap:6px}
.qt-pct .search{width:90px}
.qt-seg{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--line-2);border-radius:999px;background:var(--surface-2);align-self:flex-start}
.qt-seg button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-size:12.5px;color:var(--ink-2)}
.qt-seg button[aria-pressed="true"]{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:var(--shadow)}
.qt-seg button:disabled{cursor:default;opacity:.7}
.qt-seg button:focus-visible{outline:2px solid var(--coral)}
#qt-weights,#qt-content,#qt-billing{scroll-margin-top:120px}
@media (max-width:1100px){.qt-cols{grid-template-columns:1fr}}
@media (max-width:700px){.qt-dl{grid-template-columns:minmax(110px,auto) minmax(0,1fr)}.qt-hero{padding:16px}.qt-hero h1{font-size:22px}.qt-steps li span{display:none}.qt-tabs{top:auto;position:static}}
.qt-dd code{white-space:normal;word-break:break-all;overflow-wrap:anywhere;min-width:0}
.qt-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:28px 16px;border:1px dashed var(--line-2);border-radius:14px;color:var(--ink-2)}
.qt-empty .ms{font-size:34px;color:var(--coral)}
.qt-empty b{color:var(--ink);font-size:15px}
.qt-empty p{margin:0;max-width:440px;font-size:13px}

/* condizioni di fatturazione (card Fatturazione) */
.bt{display:flex;flex-direction:column;gap:12px;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.bt-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.bt-head .qt-h3{margin:0 0 2px}
.bt-head .sub{margin:0}
.bt-chip{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.bt-chip .ms{font-size:16px}
.stage.bad{background:var(--bad-lt);border-color:transparent;color:var(--bad)}
.bt-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,auto);gap:16px;align-items:start}
.bt-tr td,.bt-tr th{padding:6px 8px}
.bt-tr .qt-pct .search{width:80px}
.bt-side{display:flex;flex-direction:column;gap:10px}
.bt-act{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.bt-act.start{justify-content:flex-start}
.bt-act .qp-msg{margin-right:auto;font-size:12.5px;color:var(--ink-3)}
.bt-act.start .qp-msg{margin-right:0}
.qp-msg.err,.bt .err{color:var(--bad)}
.bt-ok{display:flex;align-items:center;gap:6px;margin:0;color:var(--good);font-weight:600}
.bt-off{border:1px solid var(--warn-lt);background:var(--warn-lt);border-radius:12px;padding:10px 14px}
.bt-off b{display:flex;align-items:center;gap:6px;color:var(--warn)}
.bt-off ul{margin:6px 0;padding-left:20px}
.bt-why textarea,.bt-review textarea{width:100%;box-sizing:border-box;resize:vertical}
.bt-review{border:1px solid var(--line-2);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:10px;background:var(--surface-2)}
.bt-review-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bt-review-h .ms{color:var(--warn)}
.bt-note{margin:0;white-space:pre-line;font-size:13px}
.bt-info{display:flex;gap:8px;align-items:flex-start;margin:0;font-size:12.5px;color:var(--ink-2)}
.bt-info .ms{font-size:18px}
.bt-info code{font-size:11.5px}
.bt-lines{margin:0;padding-left:20px;font-size:13px}
.bt-sub{margin:4px 0 2px}
@media (max-width:700px){.bt-grid{grid-template-columns:1fr}}

/* Oggi → Da approvare (views/today-approvals.js) */
.ap-sec .card-h h2{display:flex;align-items:center;gap:8px}
.ap-sec .card-h h2 .ms{color:var(--coral-dk)}
.ap-item{display:flex;flex-direction:column;gap:6px;padding:12px 0;border-top:1px solid var(--line)}
.ap-item:first-of-type{border-top:0}
.ap-t{display:flex;flex-direction:column;color:inherit;text-decoration:none}
.ap-t small{color:var(--ink-3)}
.ap-note{margin:0;font-size:13px;white-space:pre-line;color:var(--ink-2)}
.ap-act{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ap-act .search{flex:1;min-width:200px}

/* Specifiche → Standard di fatturazione */
.bs-rules td{vertical-align:top}
.bs-trs{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.bs-tr{display:inline-flex;align-items:center;gap:6px;padding:4px 6px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}
.bs-tr .qt-pct .search{width:72px}
.bs-rules .qt-pct .search[data-bs-from]{width:110px}
.bs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:12px 0}
.bs-roles{border:1px solid var(--line);border-radius:12px;padding:8px 12px;margin:0;display:flex;flex-direction:column;gap:4px}
.bs-roles legend{padding:0 4px}
