/* La pestanya *Pedidos* de Compras (P10, pas 2). Els colors i les mides, de tokens.css (invariant 11). */

.compres-comandes{flex:1 1 auto; display:flex; flex-direction:column; min-width:0; min-height:0; overflow:auto;
  background:var(--c-paper); border-left:1px solid var(--c-rule)}
.compres-comandes[hidden]{display:none}

/* Nuevo pedido: el menú dels lots adjudicats. */
.cmd-nou{position:relative}
.cmd-nou__menu{position:absolute; right:0; top:calc(100% + 4px); z-index:20; display:flex; flex-direction:column; min-width:420px;
  max-height:320px; overflow:auto; background:var(--c-paper); border:1px solid var(--c-rule-strong); border-radius:var(--radius-sm);
  padding:4px 0}
.cmd-nou__menu[hidden]{display:none}
.cmd-nou__menu button{display:flex; gap:var(--sp-3); align-items:baseline; text-align:left; background:none; border:0; padding:5px 12px;
  font:inherit; font-size:var(--fs-grid); color:var(--c-text); cursor:pointer; text-transform:none; letter-spacing:0; font-weight:var(--fw-normal)}
.cmd-nou__menu button:hover{background:var(--c-surface-head)}
.cmd-nou__menu button span{color:var(--c-text-dim)}
.cmd-nou__menu button small{margin-left:auto; color:var(--c-text-faint); white-space:nowrap}

/* La llista. */
.cmd-llista{flex:0 0 auto; max-height:40%; overflow:auto; border-bottom:1px solid var(--c-rule-strong)}
/* El llistat a la seva pestanya, sencer (Josep, 29/09/2026). */
.cmd-llista--plena{flex:1 1 auto; max-height:none; border-bottom:0}
.cmd-taula tbody tr[hidden]{display:none}
.panell-vista{margin-left:var(--sp-3)}
.cmd-taula tbody tr[data-cmd]{cursor:pointer}
.cmd-taula tbody tr[data-cmd]:hover{background:var(--c-surface-head)}
.cmd-taula__anullada td{color:var(--c-val-cancelled); text-decoration:line-through}
.cmd-taula__anullada td:last-child{text-decoration:none}

/* L'estat: to i vora, i el text que el diu (dos senyals, invariant 11). */
.cmd-estat{display:inline-block; padding:0 8px; border-radius:999px; border:1px solid; font-size:var(--fs-status); line-height:17px; white-space:nowrap}
.cmd-estat--esborrany{color:var(--c-text-dim); border-color:var(--c-rule-strong); background:var(--c-surface)}
.cmd-estat--pendent{color:var(--brand-orange-ink); border-color:var(--brand-orange-soft); background:var(--surface-item); font-weight:var(--fw-bold)}
.cmd-estat--validada{color:var(--state-info); border-color:var(--c-accent-head); background:var(--c-accent-weak)}
.cmd-estat--enviada{color:var(--state-positive); border-color:var(--band-certified-rule); background:var(--band-certified); font-weight:var(--fw-bold)}
.cmd-estat--discrepancia{color:var(--c-warn-text); border-color:var(--c-warn-text); background:var(--c-warn-bg); font-weight:var(--fw-bold)}
.cmd-estat--anullada{color:var(--c-val-cancelled); border-color:var(--c-rule); background:var(--c-val-cancelled-bg); text-decoration:line-through}
/* Una versió perduda (docs/290; Josep, 17/10/2026): vermell, amb la vora i el pes. */
.cmd-estat--perduda{color:var(--c-loss); border-color:var(--c-loss); background:var(--c-surface); font-weight:var(--fw-bold)}

/* La fitxa. */
.cmd-fitxa{flex:1 0 auto; padding:var(--sp-3) var(--sp-4) var(--sp-5)}
.cmd-cap__titol{display:flex; align-items:center; gap:var(--sp-3); margin:2px 0 var(--sp-3)}
.cmd-cap__titol b{font-size:15px}
.cmd-cap__prov{color:var(--c-text-dim); margin-left:var(--sp-3)}
.cmd-cap__comp{margin-left:auto}
.cmd-camps{display:flex; flex-wrap:wrap; gap:var(--sp-3) var(--sp-4); margin-bottom:var(--sp-4)}
.cmd-camp{display:flex; flex-direction:column; gap:2px; font-size:var(--fs-status); color:var(--c-text-dim); min-width:120px}
.cmd-camp--ample{min-width:220px; flex:1 1 220px; max-width:360px}
.cmd-camp--curt{min-width:64px; width:64px}
.cmd-camp--mig{min-width:190px; width:190px}
.cmd-camp input, .cmd-camp select, .cmd-camp textarea{font:inherit; font-size:var(--fs-grid); color:var(--c-text); background:var(--surface-editable);
  border:1px solid var(--c-rule-strong); border-radius:4px; padding:3px 6px; box-sizing:border-box; width:100%}
.cmd-camp input:disabled, .cmd-camp select:disabled, .cmd-camp textarea:disabled{background:var(--c-surface); color:var(--c-text); border-color:var(--c-rule)}
.cmd-camp small{font-weight:var(--fw-normal)}
.cmd-camp--text{flex:1 1 100%; max-width:none}
.cmd-camp textarea{resize:vertical; font-family:inherit; line-height:1.4}

/* Els totals al peu de les línies, sota *Importe* (Josep, 29/09/2026). */
.cmd-linies tfoot td{border-bottom:0; padding-top:3px; padding-bottom:3px}
.cmd-linies tfoot tr:first-child td{border-top:1px solid var(--c-rule-strong); padding-top:6px}
.cmd-linies .cmd-peu__text{text-align:right; color:var(--c-text-dim)}
.cmd-linies .cmd-peu--total td{font-weight:var(--fw-bold); color:var(--c-text); font-size:13px}

/* Les línies. Els capítols, a sobre de les seves partides, amb el to de nivell de la graella (fons i pes). */
.cmd-linies tr.cmd-capitol td{background:var(--c-surface-head); font-weight:var(--fw-bold); color:var(--c-text)}
.cmd-linies tr.cmd-capitol--1 td{background:var(--c-surface); padding-left:var(--sp-4)}
.cmd-linies tr.cmd-capitol--2 td{background:var(--c-paper); padding-left:var(--sp-5)}
/* El text llarg de la partida, sota la descripció: tres línies, i sencer passant-hi el ratolí. */
.cmd-linies td .cmd-text{white-space:normal; color:var(--c-text-dim); font-size:var(--fs-status); line-height:1.35; margin:2px 0 3px;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden}

.cmd-linies{table-layout:fixed; min-width:760px; margin-bottom:var(--sp-3)}
.cmd-fitxa{overflow-x:auto}
.cmd-linies th, .cmd-linies td{border-bottom:1px solid var(--c-rule-hair); vertical-align:middle}
.cmd-c-codi{width:92px}
.cmd-c-ud{width:44px}
.cmd-c-q{width:84px}
.cmd-c-p{width:84px}
.cmd-c-i{width:92px}
.cmd-c-imp{width:30%}
.cmd-c-x{width:26px; text-align:center}
/* La factura de proveïdor (P12): l'IVA de cada línia, i la imputació més estreta perquè la descripció hi càpiga. */
.cmd-c-iva{width:76px}
.cmd-linies--fp .cmd-c-imp{width:22%}
/* P12, pas 3. D'on ve una línia (l'albarà) i de quina obra és, en etiqueta. */
.fp-etiq{display:inline-block; margin-right:var(--sp-2); padding:0 4px; border:1px solid var(--c-rule-strong); border-radius:3px;
  font-size:var(--fs-status); color:var(--c-text-dim); line-height:1.4; vertical-align:baseline}
.fp-etiq--obra{border-style:dashed}
/* La diferència amb l'albarà: el símbol i el text, i el color (invariant 11). Acceptada, el ✓ i el to de favorable. */
.cmd-linies td .fp-dif{white-space:normal; font-size:var(--fs-status); line-height:1.35; margin:2px 0 3px; color:var(--c-warn-text); font-weight:var(--fw-bold)}
.cmd-linies td .fp-dif--acceptada{color:var(--c-text-dim); font-weight:normal}
.cmd-linies tr.fp-fila-dif td:first-child{box-shadow:inset 3px 0 0 var(--c-warn-text)}
.cmd-linies tr.fp-fila-dif--acceptada td:first-child{box-shadow:inset 3px 0 0 var(--c-gain)}
.fp-dif__boto{font:inherit; font-weight:normal; padding:0 6px; border:1px solid var(--c-rule-strong); border-radius:3px; background:var(--c-paper); color:var(--c-text); cursor:pointer}
/* Les línies d'altres obres: es veuen, no s'hi escriu. */
.cmd-linies tr.fp-sep td{color:var(--c-text-dim); font-size:var(--fs-status); padding-top:var(--sp-3)}
.cmd-linies tr.fp-altra td{color:var(--c-text-dim)}
/* Els albarans pendents de facturar del proveïdor. */
.fp-pendents{margin:var(--sp-3) var(--sp-4); border:1px solid var(--c-rule-strong); border-radius:4px; padding:var(--sp-2) var(--sp-3); max-width:980px}
.fp-pendents__cap{font:inherit; font-weight:var(--fw-bold); background:none; border:0; padding:var(--sp-1) 0; cursor:pointer; color:var(--c-text); text-align:left}
.fp-pendents__taula{margin-top:var(--sp-2)}
.fp-c-check{width:28px; text-align:center}
.fp-desplega{font:inherit; background:none; border:0; padding:0 2px; cursor:pointer; color:var(--c-plegar)}
.fp-pendent-linia td{font-size:var(--fs-status); color:var(--c-text-dim)}
.fp-pendent-linia label{cursor:pointer}
/* L'avís de duplicat: el ⚠, el text i el fons. */
.fp-avis{margin:var(--sp-3) var(--sp-4); padding:var(--sp-3); border:1px solid var(--c-warn-text); border-left-width:4px; border-radius:4px; background:var(--c-warn-bg); color:var(--c-text); max-width:900px}
.fp-avis p{margin:0 0 var(--sp-2)}
.fp-avis ul{margin:0 0 var(--sp-3); padding-left:var(--sp-5)}
.fp-avis__botons{display:flex; gap:var(--sp-2); flex-wrap:wrap}
/* Les validacions (P12, pas 5): fet (✓ i el text), saltat (— i en gris cursiva) o per fer (○). */
.eng-caixa{width:min(860px, calc(100vw - 32px))}
.eng-text{width:100%; box-sizing:border-box; font:inherit; font-size:var(--fs-status); margin-top:var(--sp-2)}
.eng-resultat{margin:var(--sp-2) 0; font-size:var(--fs-status)}
.eng-errors{color:var(--c-warn-text); font-weight:var(--fw-bold); margin:var(--sp-1) 0; padding-left:var(--sp-5)}
.eng-botons{display:flex; gap:var(--sp-2)}
.cmd-afegir .boto + .boto{margin-left:var(--sp-2)}
.fp-validacions{display:flex; flex-wrap:wrap; align-items:center; gap:var(--sp-2) var(--sp-4); margin:var(--sp-3) var(--sp-4); padding:var(--sp-2) var(--sp-3); border:1px solid var(--c-rule-strong); border-radius:4px; max-width:980px}
.fp-validacions__titol{font-weight:var(--fw-bold); text-transform:uppercase; font-size:var(--fs-status); letter-spacing:.04em; color:var(--c-text-dim)}
.fp-val{font-size:var(--fs-status); color:var(--c-text-dim)}
.fp-val--fet{color:var(--c-gain); font-weight:var(--fw-bold)}
.fp-val--saltat{font-style:italic}
.fp-validacions__botons{display:flex; gap:var(--sp-2); margin-left:auto; flex-wrap:wrap}
/* La devolució de retenció (P12, pas 6): el pendent del proveïdor a l'obra. */
.fp-devolucio{margin:var(--sp-3) var(--sp-4); padding:var(--sp-2) var(--sp-3); border:1px solid var(--c-rule-strong); border-radius:4px; max-width:900px}
.fp-devolucio p{margin:0}
.fp-devolucio .fp-dif{margin-top:var(--sp-2); color:var(--c-warn-text); font-weight:var(--fw-bold)}
.cmd-in{width:100%; box-sizing:border-box; font:inherit; font-size:var(--fs-grid); background:var(--surface-editable); border:0;
  box-shadow:inset 0 -1px 0 var(--surface-editable-rule); padding:1px 4px}
.cmd-in.num{text-align:right; font-family:var(--font-mono)}
.cmd-in:focus{outline:2px solid var(--c-accent); outline-offset:-1px; background:var(--c-edit-bg)}
.cmd-linia--text td{color:var(--c-text-dim); font-style:italic}
.cmd-in--text{font-style:italic}
/* Un preu que no és l'adjudicat: to i pes (dos senyals). */
.cmd-preu--canviat, .cmd-preu--canviat .cmd-in{color:var(--brand-orange-ink); font-weight:var(--fw-bold)}
.cmd-imp{width:100%; text-align:left; background:none; border:1px dashed transparent; border-radius:4px; padding:1px 4px; font:inherit;
  font-size:var(--fs-status); color:var(--c-text-dim); cursor:pointer; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  text-transform:none; letter-spacing:0}
.cmd-imp:hover{border-color:var(--c-rule-strong); color:var(--c-text)}
.cmd-afegir{display:flex; gap:var(--sp-3); margin-bottom:var(--sp-4)}

.cmd-totals{display:grid; grid-template-columns:auto 120px; justify-content:end; gap:2px var(--sp-4); margin:0 0 var(--sp-4);
  font-size:var(--fs-grid)}
.cmd-totals span{text-align:right; color:var(--c-text-dim)}
.cmd-totals b{text-align:right; font-family:var(--font-mono); font-weight:var(--fw-normal)}
.cmd-totals .cmd-totals__total{font-weight:var(--fw-bold); color:var(--c-text); font-size:13px}

.cmd-textos{display:flex; flex-direction:column; gap:var(--sp-3); margin-bottom:var(--sp-4)}

.cmd-accions{display:flex; flex-wrap:wrap; align-items:center; gap:var(--sp-3); padding:var(--sp-3) 0; border-top:1px solid var(--c-rule)}
.cmd-accions__nota{color:var(--c-text-dim); font-size:var(--fs-status); margin-left:var(--sp-3)}
.cmd-historia{font-size:var(--fs-grid); color:var(--c-text-dim); margin-top:var(--sp-3)}
.cmd-historia li{padding:2px 0}
.cmd-historia summary{cursor:pointer}
.cmd-historia ul{margin:4px 0 0; padding-left:18px}

/* Un albarà sense pedido: el proveïdor, el número i la data (pas 5). */
.alb-sense{display:flex; flex-wrap:wrap; align-items:flex-end; gap:var(--sp-3); padding:var(--sp-3) var(--sp-4); background:var(--surface-item);
  border-bottom:1px solid var(--brand-orange-soft)}

/* Les pestanyes de la fitxa: el pedido, el saldo i la història (Josep, 29/09/2026). */
.cmd-pestanyes{margin:0 0 var(--sp-4)}

/* El saldo (pas 7). */
.cmd-saldo{margin:0 0 var(--sp-4)}
.cmd-saldo summary{cursor:pointer; font-size:var(--fs-status); color:var(--c-text-dim); text-transform:uppercase; letter-spacing:.06em; margin-bottom:var(--sp-3)}
.cmd-saldo--lots{padding:var(--sp-3) var(--sp-4) 0; margin:0}

/* Les proformes (pas 6). */
.pf-cert{display:flex; flex-direction:column; gap:2px; padding:6px 12px 8px; font-size:var(--fs-status); color:var(--c-text-dim);
  border-bottom:1px solid var(--c-rule)}
.pf-cert select{font:inherit; font-size:var(--fs-grid); padding:2px 4px}
.pf-linies{min-width:880px}
/* A origen per sobre del contractat: to i pes (dos senyals). */
.pf-passa, .pf-passa .cmd-in{color:var(--state-negative); font-weight:var(--fw-bold)}

/* Els pedidos pendents de totes les obres (pas 4). */
.pend-cos{flex:1 1 auto; min-height:0; overflow:auto; background:var(--surface-page)}
/* Els filtres de les llistes generals, en una targeta com la llista (Josep, 10/10/2026). */
.pend-cos .filtres{margin:0 var(--sp-4) var(--sp-3); border:1px solid var(--border-strong); border-radius:var(--radius-sm); background:var(--surface-card)}
.pend-eines{display:flex; align-items:center; gap:var(--sp-4); padding:var(--sp-4)}
.pend-eines .segmentat button b{margin-left:4px}
.pend-missatge{font-size:var(--fs-grid)}
.pend-explica{font-size:var(--fs-grid); color:var(--c-text-dim)}
.pend-missatge--be{color:var(--state-positive)}
.pend-missatge--mal{color:var(--state-negative)}
.pend-taula td{white-space:nowrap}
.pend-taula tbody tr[hidden]{display:none}
.pend-accions{display:flex; gap:var(--sp-3); justify-content:flex-end}
.pend-accions a.boto{text-decoration:none; display:inline-flex; align-items:center}

/* =============================================================
   LES LLISTES GENERALS (Josep, 09-10/10/2026: *«amb un estil similar a Proyectos, amb la línia de separació»*):
   Proyectos, Pedidos, Albaranes, Facturas proveedor i Facturas cliente, i les taules de la fitxa de l'obra. Una
   targeta blanca; una fila per document, separades, alineades al mig i que es marquen en passar-hi per sobre; la
   capçalera clara i fixa en baixar. Un sol estil per a totes.
   ============================================================= */
.llista-targeta{margin:0 var(--sp-4) var(--sp-4); background:var(--surface-card); border:1px solid var(--border-strong); border-radius:var(--radius-sm); overflow:hidden}
.llista-taula{width:100%; border-collapse:collapse; font-size:var(--fs-grid)}
.llista-taula thead th{position:sticky; top:0; z-index:1; padding:var(--sp-2) var(--sp-4); text-align:left; white-space:nowrap;
  font-size:var(--fs-status); font-weight:var(--fw-medium); color:var(--ink-muted); background:var(--surface-muted); border-bottom:1px solid var(--border-strong)}
.llista-taula td{padding:var(--sp-3) var(--sp-4); vertical-align:middle; border-bottom:1px solid var(--border-soft); white-space:nowrap}
.llista-taula tbody tr:last-child td{border-bottom:0}
.llista-taula tbody tr:hover td{background:var(--surface-muted)}
.llista-taula .num{text-align:right; font-variant-numeric:tabular-nums}
.llista-taula th.num{text-align:right}
.llista-taula tbody tr[hidden]{display:none}
.llista-taula .pend-accions{justify-content:flex-end}
/* L'obra d'un document: el codi en negreta i el nom, apagat i tallat si no hi cap. */
.llista-obra{max-width:280px; overflow:hidden; text-overflow:ellipsis}
.llista-obra span{color:var(--c-text-dim)}
/* El número del document, en negreta: és el que es busca. */
.llista-taula td.llista-num{font-weight:var(--fw-bold); color:var(--ink)}
/* Dins d'una targeta (la fitxa de l'obra), la taula sola, sense una altra targeta. */
.fit-targeta .llista-taula{margin-top:var(--sp-2)}
.fit-targeta .llista-taula td{padding:var(--sp-2) var(--sp-3)}
.fit-targeta .llista-taula thead th{padding:var(--sp-2) var(--sp-3)}

/* L'editor de la imputació. */
.cmd-imp-taula{margin:var(--sp-3) 0}
.cmd-imp-taula input{font:inherit; font-size:var(--fs-grid); width:110px; box-sizing:border-box; background:var(--surface-editable);
  border:1px solid var(--c-rule-strong); border-radius:4px; padding:2px 4px}
.cmd-imp-taula input.num{width:90px; text-align:right; font-family:var(--font-mono)}
.cmd-imp-taula td{white-space:normal}
.cmd-imp-nota{margin:var(--sp-3) 0; font-size:var(--fs-status); color:var(--c-text-dim)}
.cmd-imp-nota--avis{color:var(--state-negative); font-weight:var(--fw-bold)}
.cmd-imp--mal{color:var(--state-negative); font-weight:var(--fw-bold)}

/* Una nota al peu del llistat. */
.cmd-nota{margin:var(--sp-3) var(--sp-4); color:var(--c-text-dim); font-size:var(--fs-status); max-width:900px}

/* Els adjunts (P10, 7.6): l'apartat del pedido, de l'albarà, de la factura i de la certificació. */
.cmd-adjunts{margin:var(--sp-4) 0}
.adj{border:1px solid var(--c-rule); border-radius:var(--radius-sm); padding:var(--sp-3) var(--sp-4); background:var(--c-paper)}
.adj-sobre .adj{border-color:var(--c-accent); border-style:dashed; background:var(--c-accent-weak)}
.adj__cap{display:flex; align-items:center; gap:var(--sp-3)}
.adj__titol{font-size:var(--fs-status); text-transform:uppercase; letter-spacing:.06em; color:var(--c-text-dim); font-weight:var(--fw-bold)}
.adj__n{font-size:var(--fs-status); color:var(--c-text-dim)}
.adj__cap .boto{margin-left:auto; height:22px}
.adj__cap .adj__trets{margin-left:auto}
.adj__cap .boto ~ .adj__trets{margin-left:var(--sp-3)}
.adj__trets{background:none; border:0; padding:0; font:inherit; font-size:var(--fs-status); color:var(--c-text-dim); text-decoration:underline; cursor:pointer}
.adj__buit{margin:var(--sp-3) 0 0; font-size:var(--fs-grid); color:var(--c-text-faint)}
.adj__llista{list-style:none; margin:var(--sp-3) 0 0; padding:0; display:flex; flex-direction:column; gap:4px}
.adj__fitxer{display:flex; align-items:baseline; gap:var(--sp-3); font-size:var(--fs-grid)}
.adj__fitxer a{color:var(--c-text); font-weight:var(--fw-bold); text-decoration:none; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:60%}
.adj__fitxer a:hover{text-decoration:underline}
.adj__dades{color:var(--c-text-dim); font-size:var(--fs-status); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.adj__fitxer .compres__treure, .adj__boto{margin-left:auto}
/* Un adjunt tret: ratllat i apagat (dos senyals, invariant 11). */
.adj__fitxer--tret a{color:var(--c-val-cancelled); text-decoration:line-through; font-weight:var(--fw-normal)}
.adj-clip{display:inline-flex; align-items:center; gap:2px; margin-left:6px; color:var(--c-text-dim); font-size:var(--fs-status); vertical-align:middle}
.factura__adjunts{min-width:280px}
/* La finestra dels adjunts d'una certificació o d'una proforma. */
.adj-finestra{position:fixed; inset:0; z-index:60; display:flex; align-items:flex-start; justify-content:center; padding-top:12vh; background:transparent}
.adj-finestra__caixa{width:min(640px, calc(100vw - 32px)); background:var(--c-paper); border:1px solid var(--c-rule-strong); border-radius:var(--radius-sm); padding:var(--sp-4); display:flex; flex-direction:column; gap:var(--sp-3)}
.adj-finestra__cap{display:flex; align-items:center; justify-content:space-between}

/* ---- Empresa › Modelos: els models d'informe (docs/240, pas 2) ---- */
.mi-mostra { display: inline-block; width: 28px; height: 14px; border-radius: 3px; vertical-align: middle; }
.mi-resum { color: var(--c-text-dim); font-size: var(--fs-status); }
.mi-editor { display: flex; flex-direction: column; gap: var(--sp-3); }
.mi-graella { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: var(--sp-3) var(--sp-5); }
.mi-colors { display: flex; align-items: center; gap: var(--sp-2); }
.mi-color { width: 26px; height: 26px; border-radius: 50%; border: 2px solid transparent; cursor: pointer; padding: 0; }
.mi-color--triat { border-color: var(--c-text); box-shadow: 0 0 0 2px var(--c-paper) inset; }
.mi-colors input[type=color] { width: 34px; height: 28px; padding: 0; border: 1px solid var(--c-rule); background: none; cursor: pointer; }
.mi-text { font: inherit; font-size: var(--fs-grid); padding: var(--sp-2); border: 1px solid var(--c-rule); border-radius: var(--radius-control); background: var(--c-paper); color: var(--c-text); resize: vertical; }

/* El panell de control (docs/260): moltes columnes, la taula es desplaça; els totals amb pes i una línia a sobre. */
.ctl-targeta{overflow:auto}
.ctl-taula .ctl-text{max-width:180px; overflow:hidden; text-overflow:ellipsis}
.ctl-taula .ctl-nota{max-width:220px}
.ctl-taula .ctl-pct{color:var(--c-text-dim)}
/* En contra (un marge o una desviació negatius): to i pes, i el signe (invariant 11). */
.ctl-taula .ctl-contra{color:var(--c-loss); font-weight:var(--fw-bold)}
.ctl-taula .ctl-total td{font-weight:var(--fw-bold); border-top:2px solid var(--c-rule-strong); background:var(--surface-muted)}
.ctl-avis{margin:0 var(--sp-4) var(--sp-3); color:var(--c-text-dim); font-size:var(--fs-status)}
.ctl-taula .ctl-sense{color:var(--c-text-dim)}
.ctl-taula .llista-obra a{color:inherit; text-decoration:none}
.ctl-taula .llista-obra a:hover{text-decoration:underline}
#control .pend-eines .boto{white-space:nowrap}
/* El pedido directe, al desplegable de *Nuevo pedido* (Josep, 17/10/2026). */
.cmd-directe{display:flex; flex-wrap:wrap; align-items:center; gap:var(--sp-2); padding:8px 12px; border-top:1px solid var(--c-rule)}
.cmd-directe b{width:100%; font-size:var(--fs-status)}
.cmd-directe input{flex:1 1 200px; font:inherit; padding:4px 6px; border:1px solid var(--border-strong); border-radius:var(--radius-control)}
.cmd-directe select{font:inherit; padding:4px 6px}
.cmd-nou__menu .cmd-directe button{background:var(--brand-orange); border:1px solid var(--brand-orange); color:var(--surface-card); font-weight:var(--fw-bold); padding:4px 12px}
.cmd-nou__menu .cmd-directe button:hover{background:var(--brand-orange-ink)}
/* Portar un concepte del pressupost a una línia. */
.cmd-del-pressupost{font:inherit; padding:4px 6px; min-width:220px; border:1px solid var(--border-strong); border-radius:var(--radius-control)}

/* La sortida cap a la comptabilitat (docs/300). Els avisos, en vermell i negreta (dos senyals: invariant 11). */
.ctb-eines{flex-wrap:wrap}
.ctb-camps{display:inline-flex; align-items:center; gap:var(--sp-3)}
.ctb-camps input, .ctb-camps select{font:inherit; height:28px; border:1px solid var(--c-rule); border-radius:var(--radius-control); padding:0 var(--sp-2); background:var(--c-paper); color:var(--c-text)}
.ctb-explica{margin:0 var(--sp-4) var(--sp-3); display:block}
.ctb-bloc{margin:0 var(--sp-4) var(--sp-4); display:flex; gap:var(--sp-6); flex-wrap:wrap; align-items:flex-start}
.ctb-resum{margin:0; padding:0; list-style:none; display:grid; gap:var(--sp-1)}
.ctb-resum b{display:inline-block; min-width:190px}
.ctb-avisos{color:var(--state-negative); flex:1 1 320px}
.ctb-avisos__titol{margin:0 0 var(--sp-1); font-weight:var(--fw-bold)}
.ctb-avisos ul{margin:0; padding-left:var(--sp-5)}
.ctb-avisos > ul > li{font-weight:var(--fw-bold)}
.ctb-avisos ul ul li{font-weight:normal}
.ctb-tot-be{margin:0; color:var(--c-text-dim)}
.ctb-titol{margin:var(--sp-5) var(--sp-4) var(--sp-2); font-size:var(--fs-grid); font-weight:var(--fw-bold)}
.ctb-env--enviat{color:var(--c-text-dim)}
.ctb-env--canviat{color:var(--state-negative); font-weight:var(--fw-bold)}
.ctb-missatge{margin:0 var(--sp-4) var(--sp-3); font-weight:var(--fw-bold)}
.ctb-missatge--be{color:var(--c-text)}
.ctb-missatge--mal{color:var(--state-negative)}
