/* ══ Ticflo — estil del panell (control.ticflo.com), decisió 220 ══
   El mateix sistema visual que camp.agronify.com: fons crema, fitxes color paper, text terra, títols en Fraunces (serif),
   text en Inter, marca en Poppins, radi 18, botons i menú en píndola, capçalera de dalt en lloc de la barra lateral.
   Es carrega NOMÉS a les pàgines del panell (client/ i admin/), sempre DESPRÉS de style.css i dels estils propis de la pàgina:
   no toca el portal del comprador, que continua amb la marca de cada client.
   Paletes: assets/js/tema.js posa a <html> data-theme (light/dark) i, als temes suaus, data-tema (blanc, blau, groc, verd, gris). */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,600;1,9..144,600&family=Inter:wght@400;500;600;700;800&family=Poppins:wght@600&display=swap');

:root{
 --bg:#faf6ec; --surface:#fffdf7; --surface2:#f6f1e4; --field:#ffffff;
 --text:#2a2118; --muted:#6b6152; --faint:#9d927d; --line:#e4dcc8; --line2:#efe9db;
 --accent:#1f5f5b; --accent-strong:#174c49; --accent-soft:#e1f0e3; --on-accent:#ffffff;
 --sobre:#b5532d; --oliva:#2f9e4f;
 --amber:#e2b33c; --amber-soft:#f7ecc9; --amber-fg:#7a5410;
 --vd-bg:#e1f0e3; --vd-bd:#bfe0c5; --vd-fg:#1f6b3a;
 --vm-bg:#f7e4dc; --vm-bd:#ebcbbb; --vm-fg:#9a4526;
 --bl-bg:#e3eeed; --bl-bd:#bcd6d3; --bl-fg:#1f5f5b;
 --shadow:0 1px 2px rgba(42,33,24,.04),0 8px 24px rgba(42,33,24,.07);
 --ui:Inter,system-ui,-apple-system,"Segoe UI Variable","Segoe UI",sans-serif;
 --display:"Fraunces",Georgia,"Times New Roman",serif;
 --marca:Poppins,Inter,system-ui,sans-serif;
 /* pont amb les variables de style.css, que és el que fan servir les pàgines */
 --ink:var(--text); --mut:var(--muted); --card:var(--surface); --r:18px; --sh:var(--shadow);
 --ok:#2f9e4f; --warn:#b98a12; --bad:#b5532d;
 color-scheme:light;
}
:root[data-theme="dark"]{
 --bg:#15120e; --surface:#1f1a15; --surface2:#27211a; --field:#15120e;
 --text:#f1ebdf; --muted:#a89e8c; --faint:#7a715f; --line:#362e25; --line2:#2b241d;
 --accent:#8fd19e; --accent-strong:#a9dfb5; --accent-soft:#1c3126; --on-accent:#15120e;
 --sobre:#e39a78; --oliva:#8fd19e;
 --amber:#f0c05a; --amber-soft:#3a2e12; --amber-fg:#f0c76e;
 --vd-bg:#16301f; --vd-bd:#244d33; --vd-fg:#7ad597;
 --vm-bg:#33201a; --vm-bd:#5a3529; --vm-fg:#f0a08a;
 --bl-bg:#172a28; --bl-bd:#2a4a46; --bl-fg:#86c9c0;
 --shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.35);
 --ok:#6fd08f; --warn:#f0c05a; --bad:#f08a6c;
 color-scheme:dark;
}
/* temes suaus: fons i accent d'un color; el text continua sent terra */
:root[data-tema]{--surface:#ffffff;--shadow:0 1px 2px rgba(20,24,32,.04),0 8px 24px rgba(20,24,32,.06);--sobre:var(--accent);--oliva:var(--accent)}
:root[data-tema="blanc"]{--bg:#ffffff;--surface2:#f7f7f7;--line:#e6e6e6;--line2:#f0f0f0}
:root[data-tema="blau"]{--bg:#edf2f7;--surface2:#f4f8fb;--line:#d3dfea;--line2:#e5edf3;--accent:#33659f;--accent-strong:#2a5488;--accent-soft:#dfeaf4;--bl-bg:#dfeaf4;--bl-bd:#b9cde2;--bl-fg:#2a5488}
:root[data-tema="groc"]{--bg:#faf3dc;--surface2:#fcf8ea;--line:#eadfb6;--line2:#f3ecd0;--accent:#8a6a10;--accent-strong:#705508;--accent-soft:#f6ecc4}
:root[data-tema="verd"]{--bg:#edf4ef;--surface2:#f4f9f6;--line:#d2e3d8;--line2:#e4efe8;--accent:#27754f;--accent-strong:#1f6141;--accent-soft:#dcefe5}
:root[data-tema="gris"]{--bg:#f0f0f2;--surface2:#f5f5f7;--line:#dbdce1;--line2:#e9e9ed;--accent:#4d5666;--accent-strong:#3e4552;--accent-soft:#e4e6ea}

/* el color de marca del client (getTenant() el posa a <html>) no mana al panell: mana la paleta triada */
html{scroll-padding-top:130px}
body{--brand:var(--accent)!important;background:var(--bg);color:var(--text);font:15px/1.6 var(--ui);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3{line-height:1.2}
h1{font-family:var(--display);font-size:28px;font-weight:600;letter-spacing:-.015em;line-height:1.1}
h2{font-family:var(--display);font-size:21px;font-weight:600;letter-spacing:-.01em}
h3{font-size:15px;font-weight:700;letter-spacing:-.01em}
small,.mut{color:var(--muted)}
::placeholder{color:var(--faint)}
button,input,select,textarea{font-family:inherit}
code{background:var(--surface2);border-radius:6px;padding:1px 5px}
main a:not(.btn):not([class]):not([data-s]){color:var(--accent)}

/* ── capçalera de dalt (abans barra lateral): marca a l'esquerra, menú en píndoles, accions a la dreta ── */
body.shell{display:block;min-height:100vh}
aside.side{position:sticky;top:0;z-index:30;height:auto;width:auto;display:grid;grid-template-columns:auto minmax(0,1fr) auto;
 grid-template-areas:"logo nav foot" "who nav foot";align-items:center;gap:0 16px;padding:10px 18px;color:var(--muted);
 background:color-mix(in srgb,var(--surface) 86%,transparent);backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);
 border-bottom:1px solid var(--line)}
.side .slogo{grid-area:logo;font:600 17px/1.15 var(--marca);letter-spacing:-.01em;color:var(--text);padding:0;white-space:nowrap}
.side .slogo span{color:var(--oliva)}
/* marca del client amb la seva icona (decisió 227): icona a l'esquerra, nom i «Panell del client» a la dreta */
.cside .slogo{display:flex;align-items:center;gap:10px}
.cside .slogo .slogo-tx{color:var(--text);display:block;min-width:0}
.cside .slogo .slogo-em{color:inherit;font-size:26px;line-height:1}
.slogo-ic{width:40px;height:40px;object-fit:contain;flex:0 0 auto;display:block}
:root[data-theme="dark"] .slogo-ic{background:#fff;border-radius:10px;padding:3px}
.side .slogo small,.cside .slogo small{display:block;font:600 11.5px/1.3 var(--ui);color:var(--amber-fg);margin:0}
.side .who{grid-area:who;padding:0;font-size:11.5px;font-weight:600;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}
.side .who br{display:none}
.side .who b{color:var(--text)!important;font-weight:600;margin-left:4px}
.side nav{grid-area:nav;flex-direction:row;flex-wrap:wrap;justify-content:flex-end;gap:6px;margin:0!important;min-width:0}
.side nav a,.cside nav a{color:var(--muted);font-size:14px;font-weight:600;padding:7px 14px;border-radius:999px;border:1.5px solid var(--line);
 background:var(--surface);transition:.15s;white-space:nowrap}
.side nav a:hover,.cside nav a:hover{color:var(--text);border-color:var(--faint);background:var(--surface)}
.side nav a.on,.cside nav a.on{color:var(--on-accent);background:var(--accent);border-color:var(--accent);box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 35%,transparent)}
.cside nav a .nbadge{margin-left:2px}
.side .sfoot,.cside .sfoot{grid-area:foot;margin:0;padding:0;border:0;flex-direction:row;flex-wrap:wrap;justify-content:flex-end;gap:6px;align-items:center;max-width:min(46vw,640px);min-width:0}
.side .sfoot a,.cside .sfoot a{color:var(--muted);font-size:13px;font-weight:600;padding:6px 12px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);white-space:nowrap}
.side .sfoot a:hover,.cside .sfoot a:hover{color:var(--text);border-color:var(--faint);background:var(--surface)}
.main{max-width:2200px;margin:0 auto;padding:20px 18px 40px}
.phead{margin-bottom:16px;flex-wrap:wrap}
@media(max-width:900px){
 /* mòbil: marca a dalt, accions a sota (poden fer dues files) i el menú en una fila que es desplaça amb el dit */
 aside.side{position:relative;z-index:30;display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:10px 14px}
 .side .slogo{flex:1 1 100%;overflow:hidden;text-overflow:ellipsis}
 .side .who{display:none}
 .side .sfoot,.cside .sfoot{flex:1 1 100%;max-width:none;justify-content:flex-start}
 .side nav{flex:0 0 100%;max-width:100%;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
 .side nav::-webkit-scrollbar{display:none}
 .side nav a,.cside nav a{min-height:40px;display:inline-flex;align-items:center;flex:none}
 .main{padding:16px 14px 32px}
}

/* ── menú agrupat en desplegables (client/menu.js, decisió 221): el <nav> original queda amagat i mana aquest ── */
.side nav.agrupat{display:none}
/* panell d'operador (admin/menu-admin.js, decisió 223): les fitxes es pinten damunt de la pàgina; els enllaços del peu que són en un grup no surten solts */
.side .sfoot a.mogut{display:none}
body.enfitxes main>:not(#grup-fitxes){display:none!important}
#grup-fitxes[hidden]{display:none}
.gmenu{grid-area:nav;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;min-width:0}
.grup{position:relative}
.gbtn{cursor:pointer;color:var(--muted);font:600 14px/1.4 var(--ui);padding:7px 13px 7px 12px;min-height:36px;border-radius:999px;border:1.5px solid var(--line);
 background:var(--surface);transition:.15s;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
.gbtn i{font-style:normal;font-size:11px;opacity:.7;transition:transform .15s}
.gbtn:hover,.gbtn.obert{color:var(--text);border-color:var(--faint)}
.gbtn.obert i{transform:rotate(180deg)}
.gbtn.active{color:var(--on-accent);background:var(--accent);border-color:var(--accent);box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 35%,transparent)}
.gpanell{position:absolute;top:calc(100% + 8px);left:0;z-index:40;min-width:290px;max-width:min(420px,92vw);background:var(--surface);border:1px solid var(--line);
 border-radius:14px;box-shadow:var(--shadow),0 16px 40px rgba(16,24,40,.14);padding:8px}
.grup:nth-last-child(-n+2) .gpanell{left:auto;right:0}
.gsub{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--faint);padding:6px 10px 8px}
/* pestanyes de context (decisió 233): la fila original de «Configuració» s'amaga i mana la que pinta el menú, només amb els germans */
body.ambgrups #cfgtabs{display:none!important}
.ctxtabs{align-items:center}
.ctxtabs[hidden]{display:none}
.ctxl{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--sobre);margin-right:6px;white-space:nowrap}
.ctxtabs a .nbadge{background:var(--bad);color:#fff;border-radius:99px;font-size:11px;font-weight:800;padding:1px 7px;margin-left:6px;line-height:1.4}
/* subcategories dins d'un grup (decisió 230): al desplegable, un rètol amb ratlla; a la pantalla de fitxes, un títol petit damunt de cada graella */
.gsub.gsub2{color:var(--sobre);border-top:1px solid var(--line2);margin-top:6px;padding-top:10px}
.gsub+.gsub.gsub2{border-top:0;margin-top:0;padding-top:2px}
.gsubt{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:18px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--line)}
.gsubt:first-of-type{margin-top:4px}
.gsubt b{font-size:15px;font-weight:700}
.gsubt span{font-size:12.5px;color:var(--muted)}
.bitem{display:flex;align-items:center;gap:10px;min-height:40px;padding:8px 10px;border-radius:10px;color:var(--text);font-size:14px;line-height:1.35}
.bitem>span:first-child{width:22px;text-align:center;flex:0 0 auto}
.bitem em{font-style:normal;min-width:0;overflow-wrap:anywhere}
.bitem:hover{background:var(--accent-soft);color:var(--accent)}
.bitem.active{background:var(--accent);color:var(--on-accent);font-weight:600}
.gbtn .nbadge,.bitem .nbadge,.gf-tx .nbadge{background:var(--bad);color:#fff;border-radius:99px;font-size:11px;font-weight:800;padding:2px 7px;min-width:22px;text-align:center;line-height:1.4}
.bitem .nbadge{margin-left:auto}
@media(max-width:900px){
 .gmenu{flex:0 0 100%;justify-content:flex-start}
 .gbtn,.tema-btn,.tema-opt{min-height:44px}
 .side .sfoot a,.cside .sfoot a,.cfgtabs a{min-height:44px;display:inline-flex;align-items:center}
 .btn.sm{min-height:40px}
 .grup{position:static}
 .gpanell,.grup:nth-last-child(-n+2) .gpanell{left:14px;right:14px;top:auto;margin-top:8px;min-width:0;max-width:none}
}

/* ── pantalla de fitxes d'un grup i «Inici» (client/menu.js, decisió 222), com les fitxes de grup d'Agronify ── */
body.engrup .savebar{display:none}
.ghead{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:2px 0 14px}
.ghead p{margin:4px 0 0;font-size:14px}
.gbloc{margin-bottom:24px}
.gbloc-t{display:inline-flex;align-items:center;gap:10px;margin:0 0 10px;color:var(--text)}
.gbloc-t:hover b{color:var(--accent)}
.gbloc-ic{width:34px;height:34px;border-radius:10px;background:var(--accent-soft);display:grid;place-items:center;font-size:17px;flex:0 0 auto}
.gbloc-t b{display:block;font-family:var(--display);font-size:19px;font-weight:600;letter-spacing:-.01em;line-height:1.15}
.gbloc-t small{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--sobre)}
.gfitxes{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr))}
.gfitxa{display:flex;gap:16px;align-items:flex-start;padding:20px 22px;border:1.5px solid var(--line);border-radius:18px;background:var(--surface);
 color:var(--text);box-shadow:var(--shadow);transition:.15s;min-width:0}
.gfitxa:hover{border-color:var(--accent);background:var(--accent-soft)}
.gfitxa:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.gf-ic{overflow:hidden;width:54px;height:54px;font-size:30px;line-height:1;border-radius:16px;background:var(--surface2);display:grid;place-items:center;flex:0 0 auto}
.gfitxa:hover .gf-ic{background:var(--surface)}
.gf-tx{display:grid;gap:4px;min-width:0}
.gf-tx b{font-size:16px;font-weight:700;letter-spacing:-.01em}
.gf-tx small{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--sobre)}
.gf-expl{font-size:13.5px;line-height:1.45;color:var(--muted)}
.gf-tx .nbadge{display:inline-block;vertical-align:2px}

/* ── selector de paleta (🎨) ── */
.tema-box{position:relative;display:inline-flex}
.tema-box.flota{position:fixed;top:10px;right:12px;z-index:40}
.tema-btn{cursor:pointer;color:var(--muted);font:600 15px/1.4 var(--ui);padding:5px 12px;min-height:34px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);transition:.15s}
.tema-btn:hover,.tema-btn.obert{color:var(--text);border-color:var(--faint)}
.tema-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:60;min-width:190px;background:var(--surface);border:1px solid var(--line);border-radius:14px;
 box-shadow:var(--shadow),0 16px 40px rgba(16,24,40,.14);padding:6px}
.tema-opt{display:flex;gap:9px;align-items:center;width:100%;min-height:36px;background:none;border:0;padding:7px 10px;border-radius:8px;cursor:pointer;font:500 13.5px/1.2 var(--ui);color:var(--text);text-align:left}
.tema-opt:hover{background:var(--accent-soft)}
.tema-opt.on{font-weight:700}
.tema-opt.on::after{content:"✓";margin-left:auto;color:var(--accent)}
.tema-punt{display:inline-block;width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.18);flex:0 0 auto}
:root[data-theme="dark"] .tema-punt{border-color:rgba(255,255,255,.25)}

/* ── fitxes ── */
.card,main .card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px 22px;box-shadow:var(--shadow)}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.kpi b{font-family:var(--display);font-weight:600;letter-spacing:-.01em}
.subfitxa,.tipusfitxa,.pblk,.codis-fam{background:var(--surface2);border:1px solid var(--line);border-radius:14px}
.closedlist .regla{background:var(--surface2);border-color:var(--line);border-radius:12px}
.closedlist code{background:var(--line2)}
.bfamh{background:var(--accent-soft)}
.previbox{border-color:color-mix(in srgb,var(--amber) 60%,transparent);background:var(--amber-soft)}
.fiswarn{background:var(--amber-soft);border-left-color:var(--amber)}
.horprev{border-color:color-mix(in srgb,var(--accent) 45%,var(--surface))!important;background:var(--accent-soft)!important}

/* ── botons en píndola ── */
.btn{border:1.5px solid var(--line);background:var(--surface);color:var(--text);border-radius:999px;padding:9px 18px;font-weight:600;font-size:14px;min-height:40px;transition:.15s}
.btn:hover{border-color:var(--faint);color:var(--text)}
.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.btn.pri{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.btn.pri:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--on-accent);filter:none}
.btn.sm{padding:5px 12px;min-height:32px;font-size:13px;border-radius:999px}
.btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}
.btn.ghost:hover{background:var(--accent-soft);color:var(--accent)}
.btn:disabled{opacity:.5}
.pill,.chip{border:1.5px solid var(--line);background:var(--surface);color:var(--text);border-radius:999px}
.pill:hover,.chip:hover{border-color:var(--faint);color:var(--text)}
.pill.on,.chip.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}

/* ── menú horitzontal de «Configuració», pestanyes i barra d'idiomes ── */
.cfgtabs{background:transparent;border:0;border-radius:0;padding:0;gap:6px;margin-bottom:14px}
.cfgtabs a{color:var(--muted);font-size:13.5px;font-weight:600;min-height:36px;padding:6px 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface)}
.cfgtabs a:hover{background:var(--surface);color:var(--text);border-color:var(--faint)}
.cfgtabs a.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.langbar{background:var(--surface);border:1px solid var(--line);border-radius:14px}
.langbar button{border:1.5px solid var(--line);background:var(--surface);color:var(--text);border-radius:999px}
.langbar button.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.savebar{background:linear-gradient(0deg,var(--bg) 75%,transparent)}

/* ── formularis ── */
.lbl{color:var(--muted)}
.inp{background:var(--field);color:var(--text);border:1.5px solid var(--line);border-radius:12px}
.inp:focus{outline:2px solid color-mix(in srgb,var(--accent) 35%,transparent);border-color:var(--accent)}
.inp:disabled,select.inp:disabled{background:var(--surface2);color:var(--muted)}
.preubox{background:var(--field);border:1.5px solid var(--line);border-radius:12px}
.pthumb .em{background:var(--field)}
.sw i{background:var(--faint)}
.sw input:checked+i{background:var(--ok)}
input[type=checkbox],input[type=radio]{accent-color:var(--accent)}
.check.cond{border-color:var(--line)}

/* ── taules i etiquetes ── */
.tbl th{color:var(--faint);font-weight:600;font-size:11px;letter-spacing:.05em;border-bottom:1px solid var(--line);background:var(--surface2);padding:10px 12px}
.tbl td{border-bottom:1px solid var(--line2);padding:10px 12px}
.tbl.click tbody tr:hover{background:var(--accent-soft)}
.badge{background:var(--surface2);color:var(--muted);border:1px solid var(--line)}
.badge.ok{background:var(--vd-bg);border-color:var(--vd-bd);color:var(--vd-fg)}
.badge.warn{background:var(--amber-soft);border-color:color-mix(in srgb,var(--amber) 35%,transparent);color:var(--amber-fg)}
.badge.bad{background:var(--vm-bg);border-color:var(--vm-bd);color:var(--vm-fg)}
.badge.brand{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 30%,transparent);color:var(--accent)}
.kpi .delta{color:var(--vd-fg)}.kpi .delta.neg{color:var(--vm-fg)}
.gauge,.day .cap{background:var(--line2)}

/* ── calendari ── */
.day{background:var(--field);border-color:var(--line);border-radius:12px}
.day:hover{border-color:var(--accent)}
.day.out{background:transparent;border-color:transparent}
.day.closed{background:var(--vm-bg);border-color:var(--vm-bd);color:var(--vm-fg)}
.day.sel{outline-color:var(--accent);border-color:var(--accent)}
.slot{background:var(--field)}

/* ── finestres i avisos ── */
.modalbg{background:rgba(20,16,10,.5)}
.modal{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:18px}
.toast{background:var(--text);color:var(--bg);border-radius:999px}

/* ── ajudes «?» (decisió 214) i regles de la porta ── */
button.ajq,.regles button.ajb{background:var(--surface);border-color:color-mix(in srgb,var(--accent) 45%,var(--surface));color:var(--accent)}
button.ajq:hover,button.ajq:focus-visible,.regles button.ajb:hover,.regles button.ajb.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.regles .ajuda,div.ajq-in,.modal .ajq-in{background:var(--accent-soft);border-left-color:var(--accent);color:var(--text)}

/* ── pàgines soltes del panell (empreses, peticions, fitxa de comprador) ── */
.full{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.capf{border-bottom-color:var(--accent)}
.filtres .pill{border:1.5px solid var(--line);background:var(--surface);color:var(--text)}
.filtres .pill.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
#petlist>div,#emplist>div{border-color:var(--line)!important;border-radius:12px!important;background:var(--surface2)}

/* ── entrada al panell (client/login.html, sense style.css): la mateixa caixa, amb la paleta ── */
.caixa{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);color:var(--text)}
.caixa h1{font:600 1.6rem/1.15 var(--marca);letter-spacing:-.01em;color:var(--text)}
.caixa h1 span{color:var(--oliva)}
.caixa p.lema{color:var(--amber-fg);font-weight:600}
.caixa p.pas,.caixa .secret{color:var(--muted)}
.caixa input{background:var(--field);border:1.5px solid var(--line);border-radius:12px;color:var(--text)}
.caixa input:focus{outline:2px solid color-mix(in srgb,var(--accent) 35%,transparent);border-color:var(--accent)}
.caixa button{background:var(--accent);color:var(--on-accent);border-radius:999px;font-weight:600;min-height:44px}
.caixa button:hover{background:var(--accent-strong)}
.caixa #tries button{background:var(--surface2);color:var(--text);border:1.5px solid var(--line);border-radius:14px}
.caixa #tries button:hover{border-color:var(--accent);background:var(--accent-soft)}
.caixa .err{color:var(--vm-fg)}
.caixa p.peu{border-top-color:var(--line);color:var(--muted)}
.caixa p.peu a{color:var(--muted)}
.caixa p.peu a:hover{color:var(--accent)}

/* ── mode fosc: els colors fixos que queden dins del marcat (fons blancs i avisos clars) es passen a la paleta.
      Les vistes prèvies de tiquet i de logotip es deixen com són: imiten paper blanc. ── */
:root[data-theme="dark"] main [style*="background:#fff"]:not(canvas):not(img),
:root[data-theme="dark"] .modal [style*="background:#fff"]:not(canvas):not(img){background-color:var(--field)!important}
:root[data-theme="dark"] #tq-previs [style*="background:#fff"],:root[data-theme="dark"] #flogo-prev{background-color:#fff!important;color:#1a2140}
:root[data-theme="dark"] [style*="background:#f4f6fb"],:root[data-theme="dark"] [style*="background:#fafbfd"],
:root[data-theme="dark"] [style*="background:#f2faf6"],:root[data-theme="dark"] [style*="background:#fdf6e5"]{background-color:var(--surface2)!important}
:root[data-theme="dark"] [style*="background:#f4f5fa"],:root[data-theme="dark"] [style*="background:#edeffa"],
:root[data-theme="dark"] [style*="background:#dcf5ec"],:root[data-theme="dark"] [style*="%,#fff)"]{background:var(--accent-soft)!important;color:var(--text)}
:root[data-theme="dark"] [style*="color:#555"],:root[data-theme="dark"] [style*="color:#666"],:root[data-theme="dark"] [style*="color:#444"]{color:var(--muted)!important}
.flow code{background:var(--surface2);color:var(--text)}
.tool{background:var(--surface);color:var(--text);border-color:var(--line)}
.tool.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
:root[data-theme="dark"] .stagewrap{background:#0f0c09}

/* ── «Empreses i peticions» endreçada (decisió 232): dues columnes iguals, capçalera amb l'acció i files en graella ── */
.split.emp2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
@media(max-width:1000px){.split.emp2{grid-template-columns:minmax(0,1fr)}}
.caph{display:flex;justify-content:space-between;align-items:center;gap:8px 12px;flex-wrap:wrap}
.caph h2{margin:0}
.capa{display:inline-flex;align-items:center;white-space:nowrap}
.capd{font-size:13px;margin:6px 0 14px}
.capl{font-size:11.5px;margin:8px 0 0}
.capcfg{margin-top:16px;padding:12px 14px;border:1px dashed var(--line);border-radius:14px;background:var(--surface2)}
.capcfg .inp{margin-top:8px}
/* cada empresa: les dades a l'esquerra i les cinc accions alineades a dalt a la dreta; al mòbil, les accions en una fila a sota */
#emplist>div{display:grid!important;grid-template-columns:minmax(0,1fr) repeat(5,auto);gap:6px 4px!important;align-items:start!important;margin-bottom:8px!important}
#emplist>div>div{line-height:1.5}
#emplist>div .btn.sm{min-width:36px;min-height:36px;padding:4px 8px;justify-content:center}
#petlist>div{margin-bottom:8px!important;line-height:1.5}
@media(max-width:640px){
 #emplist>div{grid-template-columns:repeat(5,auto) minmax(0,1fr)}
 #emplist>div>div{grid-column:1/-1}
 #emplist>div .btn.sm{min-width:44px;min-height:44px}
}

/* ── res no desborda al mòbil (norma de la decisió 26): les fitxes s'encongeixen i les graelles d'amplada fixa es pleguen ── */
.cards>*,.split>*{min-width:0}
@media(max-width:640px){
 #famrows>div{grid-template-columns:1fr 1fr!important}
 #famrows>div>b,#famrows>div>input{grid-column:1/-1}
 #agenda b{white-space:normal!important}
 #agenda>div>div{min-width:0!important}
 .prow{grid-template-columns:56px minmax(0,1fr) minmax(0,1fr)}
 .prow>div:nth-child(2){grid-column:2/-1}
 .phead .sp{flex-wrap:wrap}
 main .card{overflow-x:auto} /* una taula o una fila ampla es desplaça dins la seva fitxa, no fa més ampla la pàgina */
}
div:has(>#pill-afor){flex-wrap:wrap;align-items:center}

@media print{
 :root,:root[data-theme="dark"],:root[data-tema]{--bg:#fff;--surface:#fff;--surface2:#f4f4f4;--field:#fff;--text:#111;--muted:#444;--faint:#666;--line:#ccc;--line2:#ddd;
  --accent:#1f5f5b;--accent-soft:#eee;--on-accent:#fff;--shadow:none;color-scheme:light}
 body{background:#fff!important;color:#111!important}
 .full,.card,main .card{box-shadow:none!important;border-color:#ccc}
 .full{border:0!important;background:#fff!important}
 aside.side,.tema-box,.gmenu,button.ajq{display:none!important}
}
