/*
 * Variables du calculateur, ancrees sur .fornello-app.
 *
 * Le calculateur declare ses couleurs sur :root. Un theme ou un autre plugin qui
 * declare --ink sur :root (Pizzalove WOW le fait, en clair sur fond sombre) les
 * ecrase, et le calculateur s'affiche en texte clair sur papier clair. Ancrer les
 * variables sur le conteneur les met a l'abri de tout ce qui est declare plus haut.
 */
.fornello-app{
 --paper:#EDF2EF;--grid:#CBD9D3;--ink:#12201B;--soft:#4C6058;--faint:#8AA096;
 --pen:#C2371F;--pen2:#1F5F7A;--band:#A8C8B4;--line:#B3C7BF;
 --mono:ui-monospace,"SF Mono","Roboto Mono",Menlo,monospace;
 --serif:"Iowan Old Style",Palatino,Georgia,serif;
 color:#12201B;
}
/* Fornello — Espace Pro. Reprend les variables du calculateur (papier, encre, stylo). */
.fornello-app .fp-tabs{display:grid;grid-template-columns:1fr 1fr;max-width:760px;margin:0 auto;padding:10px 14px 0;gap:0}
.fornello-app .fp-tab{min-height:48px;border:2px solid var(--ink,#12201B);background:var(--paper,#EDF2EF);color:var(--ink,#12201B);
 font:700 13px/1 var(--mono,monospace);letter-spacing:.12em;text-transform:uppercase;border-radius:0;cursor:pointer}
.fornello-app .fp-tab+.fp-tab{border-left:0}
.fornello-app .fp-tab[aria-pressed="true"]{background:var(--ink,#12201B);color:var(--paper,#EDF2EF)}
.fornello-app .fp-tab:focus-visible,.fornello-app .fp-subtab:focus-visible,.fornello-app .fp-root button:focus-visible{outline:2px solid var(--pen2,#1F5F7A);outline-offset:2px}

.fp-root{font-family:var(--mono,monospace);color:var(--ink,#12201B)}
.fp-root[hidden]{display:none}
.fp-wrap{max-width:760px;margin:0 auto;padding:0 14px calc(40px + var(--pad,0px));width:100%}
.fp-wrap *{min-width:0;box-sizing:border-box}
.fp-sec{margin:14px 0 18px}
.fp-h{font-size:11px;letter-spacing:.2em;text-transform:uppercase;margin:14px 0 8px;color:var(--soft,#4C6058);font-weight:700}
.fp-note{font-size:14px;line-height:1.45;margin:6px 0 10px;color:var(--soft,#4C6058)}
.fp-msg{font-size:13px;margin:6px 0 0;min-height:1em}
.fp-good{color:#1d6b3c}.fp-bad{color:var(--pen,#C2371F)}
.fp-warn{font-size:13px;line-height:1.4;margin:6px 0;padding:8px 10px;border-left:4px solid var(--pen,#C2371F);background:rgba(194,55,31,.08);color:var(--ink,#12201B)}
.fp-warns{margin:8px 0}

.fp-sub{display:flex;gap:0;overflow-x:auto;margin:14px 0 6px;border:2px solid var(--ink,#12201B);-webkit-overflow-scrolling:touch}
.fp-subtab{flex:1 0 auto;min-height:48px;padding:0 10px;border:0;border-right:1.5px solid var(--ink,#12201B);background:var(--paper,#EDF2EF);color:var(--ink,#12201B);
 font:700 12px/1 var(--mono,monospace);letter-spacing:.08em;text-transform:uppercase;border-radius:0;cursor:pointer;white-space:nowrap}
.fp-subtab:last-child{border-right:0}
.fp-subtab[aria-pressed="true"]{background:var(--band,#A8C8B4)}

.fp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin:10px 0}
.fp-field{display:block;margin:0 0 10px}
.fp-grid .fp-field{margin:0}
.fp-lbl{display:block;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--soft,#4C6058);margin:0 0 4px}
.fp-root input[type=text],.fp-root input[type=number],.fp-root input[type=time],.fp-root input[type=date]{width:100%;min-height:50px;padding:0 10px;border:2px solid var(--ink,#12201B);
 background:var(--paper,#EDF2EF);color:var(--ink,#12201B);font:16px var(--mono,monospace);border-radius:0}
.fp-root input:disabled{opacity:.6}
.fp-root .picker{margin:0}
.fp-root .wide{margin:8px 0 0}
.fp-root .fp-primary{background:var(--ink,#12201B);color:var(--paper,#EDF2EF)}
.fp-link{display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--ink,#12201B)}
.fp-link.fp-primary{color:var(--paper,#EDF2EF)}
.fp-small{min-height:40px;padding:0 12px;border:1.5px solid var(--ink,#12201B);background:transparent;color:var(--ink,#12201B);font:12px var(--mono,monospace);border-radius:0;cursor:pointer;width:auto}

.fp-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:12px 0}
.fp-kpi{border:2px solid var(--ink,#12201B);padding:8px 6px;text-align:center;background:var(--paper,#EDF2EF)}
.fp-k{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint,#8AA096);margin:0 0 2px}
.fp-v{font-size:clamp(15px,4.2vw,24px);font-weight:700;margin:0;line-height:1.1;white-space:nowrap;font-variant-numeric:tabular-nums}
.fp-u{font-size:10.5px;color:var(--soft,#4C6058);margin:2px 0 0}

.fp-tl{list-style:none;margin:8px 0;padding:0}
.fp-day{margin:12px 0 4px;padding:4px 8px;background:var(--band,#A8C8B4);font-size:12px;font-weight:700}
.fp-ev{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:8px;align-items:baseline;padding:9px 4px;border-bottom:1px solid var(--grid,#CBD9D3)}
.fp-time{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}
.fp-what{font-size:15px}.fp-dur{font-size:12px;color:var(--soft,#4C6058)}
.fp-night .fp-time{color:var(--pen,#C2371F)}.fp-night .fp-what::after{content:" ☾"}

.fp-line{font-size:14px;margin:4px 0;padding:6px 0;border-bottom:1px solid var(--grid,#CBD9D3)}
.fp-row{display:flex;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid var(--grid,#CBD9D3)}
.fp-row input{flex:1}
.fp-grow{flex:1;min-width:0;overflow-wrap:anywhere;font-size:14px}
.fp-dim{display:grid;grid-template-columns:minmax(90px,1.4fr) repeat(3,minmax(0,1fr)) minmax(80px,1fr);gap:6px;align-items:center;margin:6px 0}
.fp-dim input{min-height:44px;font-size:14px;padding:0 6px}
.fp-dimh{margin-bottom:0}
.fp-lk{display:flex;gap:4px;align-items:center;font-size:11px}
.fp-lk input{width:20px;height:20px;min-height:0}

.fp-lock{border:2px dashed var(--faint,#8AA096);padding:12px;margin:10px 0}
.fp-lock-t{font-weight:700;margin:0 0 4px}
.fp-secret{border:2px solid var(--pen,#C2371F);padding:10px;margin:10px 0;background:rgba(194,55,31,.06)}
.fp-secret code{display:block;margin:6px 0;font-size:14px;overflow-wrap:anywhere;user-select:all}
.fp-preview{width:100%;height:760px;border:2px solid var(--ink,#12201B);background:#fff;margin-top:10px}

@media (max-width:560px){
 .fp-dim{grid-template-columns:repeat(3,minmax(0,1fr))}
 .fp-dim .fp-lbl{grid-column:1/-1}.fp-dim .fp-lk{grid-column:1/-1}
 .fp-dimh{display:none}
 .fp-ev{grid-template-columns:58px minmax(0,1fr)}.fp-dur{grid-column:2}
 .fp-preview{height:560px}
}
@media print{.fornello-app{display:none!important}}
