:root{--bg:#faf8f4;--fg:#1d2420;--mut:#66706a;--card:#fff;--line:#e4e0d8;--brand:#1f3a2e;--acc:#b5532a;--warn:#b5532a;--bad:#a12a2a}
@media (prefers-color-scheme:dark){:root{--bg:#141815;--fg:#ecebe6;--mut:#9aa39d;--card:#1d231f;--line:#2e3631;--brand:#6fae8a;--acc:#e08a5e;--warn:#e08a5e;--bad:#e06c6c}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
main{max-width:1100px;margin:0 auto;padding:16px}
h1{font-size:1.4rem;margin:.4em 0}h1 small{color:var(--mut);font-weight:400;font-size:.9rem}
a{color:var(--brand)}
.top{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:10px 16px;background:var(--brand);color:#fff}
.top a{color:#fff;text-decoration:none}.top .brand{font-weight:700;font-size:1.1rem}
.top nav{display:flex;gap:14px;flex:1;flex-wrap:wrap}.top form{margin:0}
.menu-btn{display:none;background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:5px 12px;min-height:32px;font-size:.9rem;font-weight:600}
button,input,select{font:inherit}
button{background:var(--brand);color:#fff;border:0;border-radius:8px;padding:12px 18px;min-height:44px;cursor:pointer}
button.link{background:none;padding:6px;min-height:0;text-decoration:underline;color:#fff}
input,select{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--fg);min-height:44px}
label{display:block;margin:0 0 12px}label input{margin-top:4px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;margin:12px 0}
.narrow{max-width:380px;margin:12vh auto}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
.stat{display:flex;flex-direction:column;text-decoration:none;color:inherit;margin:0}.stat b{font-size:1.6rem}.stat span{color:var(--mut);font-size:.9rem}
.filters{display:grid;grid-template-columns:2fr 1fr;gap:10px;margin:10px 0}
.tablewrap{overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:12px}
table{width:100%;border-collapse:collapse}th,td{padding:9px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{font-size:.8rem;color:var(--mut);text-transform:uppercase;letter-spacing:.03em}.n{text-align:right;white-space:nowrap}td small{display:block;color:var(--mut)}
.warn{color:var(--warn);font-weight:600}.err{color:var(--bad)}
.tag{display:inline-block;padding:2px 8px;border-radius:99px;font-size:.78rem;background:var(--line)}.tag.est{background:#f3dfc6;color:#6b3a10}.tag.bad{background:#f2cccc;color:#6b1414}
@media (prefers-color-scheme:dark){.tag.est{background:#4a3a24;color:#f0cfa0}.tag.bad{background:#512626;color:#f3b8b8}}
@media (max-width:600px){.filters{grid-template-columns:1fr}main{padding:12px}}

/* ---- v2: navigare mobilă, butoane mari, inventar, risipă ---- */
h2{font-size:1.1rem;margin:1.4em 0 .4em}
.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--brand);color:#fff;border-radius:8px;padding:10px 16px;min-height:44px;text-decoration:none}
.btn.secondary,button.secondary{background:transparent;color:var(--brand);border:1px solid var(--brand)}
button.link-dark{background:none;color:var(--bad);padding:4px;min-height:0;text-decoration:underline}
.muted-text{color:var(--mut);font-size:.92rem}.ok-text{color:var(--brand);font-weight:600}
tr.muted td{color:var(--mut)}
.tag.ok,.tag.st-approved{background:#d5ebd9;color:#14532d}.tag.st-submitted{background:#f3dfc6;color:#6b3a10}.tag.st-draft{background:var(--line)}
@media (prefers-color-scheme:dark){.tag.ok,.tag.st-approved{background:#1f4a2c;color:#bfe8c9}.tag.st-submitted{background:#4a3a24;color:#f0cfa0}}
.actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:12px 0}
.big-btn{display:flex;flex-direction:column;gap:4px;padding:18px;border-radius:14px;background:var(--brand);color:#fff;text-decoration:none;text-align:left;width:100%;min-height:84px;border:0}
.big-btn b{font-size:1.25rem}.big-btn span{opacity:.85;font-size:.92rem}
.big-btn-form{margin:0}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;align-items:end}
.form-grid label{margin:0}
.form-inline{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0}.form-inline input,.form-inline select{width:auto;flex:1;min-width:120px}
.filters label{margin:0}.filters{align-items:end}
@media (min-width:601px){.filters{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}
.check{display:flex;gap:8px;align-items:center;margin:6px 0}.check input{width:22px;height:22px;min-height:0}
.nw{white-space:nowrap}
details summary{cursor:pointer;color:var(--brand)}
/* inventar */
.sticky-filter{position:sticky;top:0;z-index:5;background:var(--bg);padding:8px 0}
.inv-list{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.group-h{margin:0;padding:8px 12px;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--mut);background:var(--bg);border-bottom:1px solid var(--line)}
.inv-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--line)}
.inv-name{flex:1;margin:0;font-size:.98rem}.inv-name small{display:block;color:var(--mut);font-size:.8rem}
.inv-input{display:flex;align-items:center;gap:6px}.inv-input input{width:96px;text-align:right;font-size:1.05rem}
.inv-input .unit{width:42px;color:var(--mut);font-size:.85rem}.inv-input .ro{min-width:60px;text-align:right;font-weight:600}
.inv-input{position:relative}.state{display:inline-block;width:20px;text-align:center}.state.ok{color:#2e7d4f;font-weight:700}.state.err{color:var(--bad);font-weight:700}
.err-msg{position:absolute;right:0;top:100%;font-size:.75rem;color:var(--bad);white-space:nowrap}
.submit-box{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.submit-box form{margin:0}
.sheet-row{padding:6px 4px;border-bottom:1px solid var(--line);margin:0}
/* navigare jos pe telefon */
.bottom-nav{display:none}
@media (max-width:760px){
  .top .main-nav{display:none}
  .top.open .main-nav{display:flex;flex-direction:column;gap:0;order:10;flex-basis:100%;margin:6px -16px -10px;background:var(--brand)}
  .top.open .main-nav a{padding:13px 16px;border-top:1px solid rgba(255,255,255,.15);font-size:1.05rem}
  .menu-btn{display:inline-block!important}
  body.has-bottom main{padding-bottom:84px}
  .bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:10;background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
  .bottom-nav a{flex:1;text-align:center;padding:14px 4px;text-decoration:none;font-weight:600;color:var(--brand)}
  .top .brand{flex:1}
}
.state-box{display:inline-block;width:22px;text-align:center}

/* ---- v3: analiză și grafice ---- */
:root{--series-1:#2a78d6;--grid:#e9e7e1;--h1:#cde2fb;--h2:#9ec5f4;--h3:#6da7ec;--h4:#3987e5;--h5:#256abf;--h6:#184f95;--h7:#0d366b;--good:#0b7a4b;--bad2:#c23a39}
@media (prefers-color-scheme:dark){:root{--series-1:#3987e5;--grid:#2a302c;--h1:#0d366b;--h2:#104281;--h3:#184f95;--h4:#1c5cab;--h5:#2a78d6;--h6:#5598e7;--h7:#9ec5f4;--good:#43c08a;--bad2:#ee7a79}}
.big-btn.alt{background:var(--card);color:var(--brand);border:1px solid var(--brand)}
.an-head h1{margin-bottom:2px}
.tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--line);margin:8px 0 10px;-webkit-overflow-scrolling:touch}
.tabs a{padding:10px 12px;white-space:nowrap;text-decoration:none;color:var(--mut);border-bottom:2px solid transparent;font-weight:600}
.tabs a.on{color:var(--brand);border-bottom-color:var(--brand)}
.filters.period{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:12px 0}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px;min-width:0}
.kpi .l{font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;color:var(--mut)}
.kpi .v{font-size:1.6rem;font-weight:700;font-variant-numeric:tabular-nums;margin-top:2px}.kpi .v small{font-size:.85rem;font-weight:500;color:var(--mut)}
.kpi .d{font-size:.85rem;color:var(--mut)}
.good{color:var(--good);font-weight:600}.bad{color:var(--bad2);font-weight:600}
section.card h2{margin:0 0 2px;font-size:1.1rem}.cap{color:var(--mut);font-size:.88rem;margin:2px 0 10px}
.insights{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:8px}
.insights div{border-top:2px solid var(--series-1);padding-top:6px;font-size:.92rem;color:var(--mut)}.insights b{display:block;color:var(--fg)}
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media(max-width:900px){.two{grid-template-columns:minmax(0,1fr)}}
.two .card{margin:0}
.note-box{border:1px dashed var(--mut);border-radius:10px;padding:10px 14px;color:var(--mut);font-size:.9rem}
svg.chart{width:100%;height:auto;display:block;overflow:visible}
svg.chart .gl{stroke:var(--grid);stroke-width:1}svg.chart .ref{stroke:var(--mut);stroke-width:1;stroke-dasharray:4 4}
svg.chart .tx{fill:var(--mut);font-size:12px}svg.chart .tv{fill:var(--fg);font-size:12px;font-weight:600}svg.chart .tl{fill:var(--fg);font-size:11px}
svg.chart .line{fill:none;stroke:var(--series-1);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
svg.chart .area{fill:var(--series-1);fill-opacity:.12}
svg.chart .dot{fill:var(--series-1);stroke:var(--card);stroke-width:2}
svg.chart .bar{fill:var(--series-1)}svg.chart .bar.hl{fill:var(--h6)}
svg.chart .pt{fill:var(--series-1);fill-opacity:.75;stroke:var(--card);stroke-width:2}
svg.chart .hit{fill:transparent;cursor:pointer}svg.chart .hit:hover{fill:var(--fg);fill-opacity:.04}
details>summary{margin-top:8px}
.hbs{display:flex;flex-direction:column;gap:8px}
.hb{display:grid;grid-template-columns:minmax(110px,1.4fr) 1fr minmax(84px,auto);gap:10px;align-items:center;font-size:.9rem}
.hl{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ht{height:12px;background:var(--grid);border-radius:4px;overflow:hidden;display:block}
.hf{display:block;height:100%;background:var(--series-1);border-radius:4px}
.hv{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.hv em{display:block;font-style:normal;font-weight:400;color:var(--mut);font-size:.78rem}
table.cal{border-collapse:separate;border-spacing:2px;width:auto;min-width:0}table.cal td,table.cal th{padding:0;border:0;text-align:center}
table.cal th{font-size:.7rem;color:var(--mut);font-weight:500;padding:2px}table.cal th.y{text-align:left;white-space:nowrap;padding-right:6px;font-size:.8rem}
table.cal td{width:22px;height:22px;border-radius:3px;cursor:pointer}table.cal td.nil{background:transparent;cursor:default}
table.cal.num td{width:auto;min-width:46px;height:26px;font-size:.78rem;font-variant-numeric:tabular-nums;padding:0 4px}table.cal td.tot{font-weight:700;background:none}
.heat.h0{background:var(--grid)}.heat.h1{background:var(--h1)}.heat.h2{background:var(--h2)}.heat.h3{background:var(--h3)}.heat.h4{background:var(--h4);color:#fff}
.heat.h5{background:var(--h5);color:#fff}.heat.h6{background:var(--h6);color:#fff}.heat.h7{background:var(--h7);color:#fff}
.heat-legend{display:flex;align-items:center;gap:3px;font-size:.78rem;color:var(--mut);margin-top:6px}.heat-legend i{width:18px;height:12px;border-radius:2px;display:inline-block}
#tip{position:fixed;z-index:50;pointer-events:none;background:var(--fg);color:var(--bg);padding:6px 9px;border-radius:6px;font-size:.82rem;max-width:280px;display:none;box-shadow:0 2px 8px rgba(0,0,0,.2)}

.desk{display:block}.mob{display:none}
@media(max-width:700px){.desk{display:none}.mob{display:block}}
table.pl td,table.pl th{white-space:nowrap;font-size:.82rem}table.pl td:first-child{white-space:normal;min-width:220px}
table.pl tr.subtotal td,table.pl tr.revenue td{background:var(--grid);font-weight:600}table.pl tr.result td{font-weight:700;border-top:2px solid var(--line)}
table.hist td small,table.cal.num td small{font-size:.68rem;opacity:.85}
/* rețetar editabil și alergeni */
.rl,.rl-head{display:grid;grid-template-columns:minmax(0,3fr) 110px 80px minmax(0,2fr) 36px;gap:8px;align-items:center;margin-bottom:6px}
.rl-head{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--mut)}
.rl input,.rl select{width:100%;min-width:0}.rl-qty{text-align:right}.rl-del{font-size:1.3rem;line-height:1;padding:4px}
@media(max-width:700px){.rl-head{display:none}.rl{grid-template-columns:1fr 1fr 36px;padding:8px 0;border-bottom:1px solid var(--line)}
 .rl-name{grid-column:1/-1}.rl-note{grid-column:1/3}.rl-unit{grid-column:2}.rl-del{grid-row:2;grid-column:3}}
.al-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:8px 0 12px}
.al-item{border:1px solid var(--line);border-radius:10px;padding:6px 10px;margin:0}.al-item.on{border-color:var(--bad,#b3261e)}
.al-item legend{font-weight:600;padding:0 4px}.al-item label{display:inline-flex;gap:4px;align-items:center;margin-right:8px;font-size:.85rem}
table.al-matrix th.al-h{vertical-align:bottom;height:110px;padding:4px 2px;width:30px}table.al-matrix th.al-h span{writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;font-size:.78rem}
table.al-matrix td.al-c{text-align:center;font-weight:700;padding:4px 2px;width:30px}table.al-matrix td.al-c.x{background:#f6d5d1;color:#7a1d14}table.al-matrix td.al-c.u{background:#fbebc8;color:#6b4a00}
table.al-matrix td small{display:block}
.warn-box{background:#fbebc8;color:#4a3500;border-radius:10px;padding:10px 14px}
.al-list .al-row{padding:12px 14px;margin-bottom:10px}.al-row-h{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.al-chips{display:flex;flex-wrap:wrap;gap:6px}.al-sel{width:auto;font-size:.82rem;padding:6px 8px}.al-sel.x{background:#f6d5d1;border-color:#c0473a}.al-sel.u{background:#fbebc8}
.al-row-f{display:flex;gap:8px;margin-top:8px}.al-row-f input{flex:1;min-width:0}
@media(prefers-color-scheme:dark){table.al-matrix td.al-c.x,.al-sel.x{background:#5a2420;color:#ffd9d4}table.al-matrix td.al-c.u,.al-sel.u,.warn-box{background:#4a3a14;color:#ffe9b8}}
.al-chip{display:inline-flex;flex-direction:column;align-items:center;gap:0;min-width:74px;padding:6px 8px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--fg);font-size:.82rem;cursor:pointer;line-height:1.2}
.al-chip em{font-style:normal;font-size:.68rem;min-height:.8rem;color:var(--mut)}.al-chip.x{background:#f6d5d1;border-color:#c0473a;color:#7a1d14;font-weight:600}.al-chip.u{background:#fbebc8;border-color:#c49a3a;color:#6b4a00}
.al-chip.x em,.al-chip.u em{color:inherit}.rl-del{background:none;border:1px solid var(--line);color:var(--fg);border-radius:8px;width:36px;height:36px;padding:0}
@media(prefers-color-scheme:dark){.al-chip.x{background:#5a2420;color:#ffd9d4}.al-chip.u{background:#4a3a14;color:#ffe9b8}}
/* HACCP */
.hc-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin:12px 0}
.hc-tile{display:flex;flex-direction:column;gap:4px;padding:16px;border:1px solid var(--line);border-left:6px solid var(--line);border-radius:12px;background:var(--card);color:var(--fg);text-decoration:none;position:relative}
.hc-tile b{font-size:1.05rem}.hc-tile span{color:var(--mut);font-size:.9rem}.hc-tile em{position:absolute;top:10px;right:12px;font-style:normal;font-size:.72rem;color:var(--mut)}
.hc-tile.done{border-left-color:#3f8f5a}.hc-tile.bad{border-left-color:#c0473a}
.hc-list .card{margin-bottom:10px}.hc-row{padding:12px 14px;border-left:6px solid var(--line)}.hc-row.ok{border-left-color:#3f8f5a}.hc-row.bad{border-left-color:#c0473a}
.hc-row-h{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;margin-bottom:8px}.hc-row-h small{color:var(--mut)}
.hc-row-f{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.hc-temp{display:inline-flex;align-items:center;gap:4px}.hc-temp input{width:96px;font-size:1.3rem;text-align:right;font-variant-numeric:tabular-nums}
.hc-action{display:block;margin-top:8px}.hc-action input,.hc-note{width:100%;margin-top:8px}
.seg{display:flex;gap:6px;margin:8px 0}.seg a{padding:8px 16px;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--fg)}.seg a.on{background:var(--brand);color:#fff;border-color:var(--brand)}
.seg-btn{background:var(--card);color:var(--fg);border:1px solid var(--line);min-width:110px}.seg-btn.on{background:#3f8f5a;border-color:#3f8f5a;color:#fff}.seg-btn.bad.on{background:#c0473a;border-color:#c0473a}
button.link.small{font-size:.8rem}
.hc-yn{border:1px solid var(--line);border-radius:10px;padding:6px 10px}.hc-yn label{display:inline-flex;gap:4px;margin-right:12px}
.hc-steps{margin:4px 0 8px 18px;padding:0}.hc-steps li{color:var(--mut)}.hc-steps li.done{color:var(--fg)}
.hc-step-form{display:grid;grid-template-columns:minmax(0,1.4fr) 140px 90px minmax(0,2fr) auto;gap:8px;margin-top:6px}
@media(max-width:700px){.hc-step-form{grid-template-columns:1fr 1fr}.hc-step-form select,.hc-step-form input[name=action]{grid-column:1/-1}}
.hc-cook.abatere,.hc-nc.open{border-left:6px solid #c0473a}.hc-cook.ok,.hc-nc.closed{border-left:6px solid #3f8f5a}.hc-cook.deschis{border-left:6px solid #c49a3a}
tr.bad-row td{background:rgba(192,71,58,.08)}tr.muted-row td{opacity:.55}
table.hc-grid{border-collapse:separate;border-spacing:2px;width:auto}table.hc-grid td,table.hc-grid th{padding:0;border:0;text-align:center;font-size:.7rem}
table.hc-grid th.y{text-align:left;white-space:nowrap;padding-right:6px;font-size:.8rem}table.hc-grid td{width:16px}
table.hc-grid i{display:block;width:14px;height:8px;margin:1px 0;border-radius:2px;background:var(--grid)}table.hc-grid i.ok{background:#3f8f5a}table.hc-grid i.bad{background:#c0473a}
/* program de lucru */
.sch-wrap{max-height:75vh}table.sch{border-collapse:separate;border-spacing:0;width:auto;font-size:.82rem}
table.sch th,table.sch td{padding:0;border-bottom:1px solid var(--line);border-right:1px solid var(--line);text-align:center}
table.sch thead th{position:sticky;top:0;background:var(--card);z-index:2;padding:4px 2px;font-weight:600;min-width:52px}
table.sch th.sch-name{position:sticky;left:0;background:var(--card);z-index:3;text-align:left;padding:6px 8px;min-width:150px;max-width:190px;white-space:normal}
table.sch th.sch-name small{display:block;font-weight:400;color:var(--mut)}
table.sch .we{background:rgba(127,127,127,.08)}table.sch .hol{background:rgba(224,138,94,.18)}
td.sch-c input{width:58px;border:0;border-radius:0;background:transparent;text-align:center;padding:8px 2px;font-size:.82rem;color:var(--fg);font-variant-numeric:tabular-nums}
td.sch-c input:focus{outline:2px solid var(--brand);background:var(--card)}td.sch-c.code input{color:#8a5a00;font-weight:700}td.sch-c.err{background:rgba(192,71,58,.2)}
td.sch-sum{min-width:110px;padding:4px 8px;font-size:.8rem;text-align:right;position:sticky;right:0;background:var(--card)}td.sch-sum.bad{box-shadow:inset 4px 0 #c0473a}td.sch-sum.warn{box-shadow:inset 4px 0 #c49a3a}td.sch-sum.ok{box-shadow:inset 4px 0 #3f8f5a}
.sch-iss ul{margin:4px 0 10px 18px;padding:0}.sch-iss li.bad{color:#b3261e}.sch-iss li.warn{color:#8a5a00}
@media(prefers-color-scheme:dark){.sch-iss li.bad{color:#f3b8b8}.sch-iss li.warn{color:#f0cfa0}td.sch-c.code input{color:#f0cfa0}}
.my-sch{list-style:none;margin:0;padding:0}.my-sch li{display:grid;grid-template-columns:90px 1fr;gap:4px 12px;padding:8px 4px;border-bottom:1px solid var(--line)}
.my-sch li.today{background:rgba(63,143,90,.12);font-weight:600}.my-sch li.past{color:var(--mut)}.my-sch .a{grid-column:2;font-size:.82rem;color:var(--mut)}
/* pontaj pe tabletă */
.kiosk{max-width:1100px;margin:0 auto}.kiosk-h{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}.kiosk-clock{font-size:2.4rem;font-weight:700;font-variant-numeric:tabular-nums}
.kiosk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.kiosk-btn{display:flex;flex-direction:column;gap:6px;padding:20px 18px;border-radius:14px;border:2px solid var(--line);background:var(--card);color:var(--fg);text-decoration:none;min-height:96px}
.kiosk-btn b{font-size:1.2rem}.kiosk-btn span{color:var(--mut);font-size:.9rem}.kiosk-btn.in{border-color:#3f8f5a;background:rgba(63,143,90,.10)}
.kiosk-res{display:flex;flex-direction:column;gap:4px;padding:18px 20px;border-radius:14px;margin:12px 0;font-size:1.1rem}.kiosk-res b{font-size:1.5rem}
.kiosk-res.intrare{background:rgba(63,143,90,.16)}.kiosk-res.iesire{background:rgba(31,58,46,.12)}
.kiosk-pin{max-width:380px;margin:12px auto;text-align:center}.kiosk-pin input{font-size:2rem;text-align:center;letter-spacing:.4em;width:100%}
.pad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.pad button{font-size:1.6rem;padding:18px 0;background:var(--card);color:var(--fg);border:1px solid var(--line)}.pad button.ok{background:var(--brand);color:#fff}
tr.flag td{background:rgba(196,154,58,.10)}tr.sel td{background:rgba(63,143,90,.10)}.clock-edit{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.clock-edit input[name=reason]{min-width:180px}
pre.msg-body{white-space:pre-wrap;font-family:inherit;font-size:.85rem;background:var(--grid);padding:8px;border-radius:8px}
table.stock tr.fara_intrari td:first-child{box-shadow:inset 4px 0 #c49a3a}table.stock tr.fara_consum td:first-child{box-shadow:inset 4px 0 #6b8fb5}table.stock tr.mari td:first-child{box-shadow:inset 4px 0 #c0473a}
td.n.bad{color:#b3261e;font-weight:600}td.n.warn{color:#8a5a00}.tabs a small{color:var(--mut);font-weight:400}
@media(prefers-color-scheme:dark){td.n.bad{color:#f3b8b8}td.n.warn{color:#f0cfa0}}
input.q-in{width:90px;text-align:right;font-variant-numeric:tabular-nums}tr.stockout td{background:rgba(192,71,58,.10)}tr.stockout td:first-child{box-shadow:inset 4px 0 #c0473a}
.labels{display:flex;flex-wrap:wrap;gap:8px}.lbl{width:60mm;height:40mm;box-sizing:border-box;border:1px dashed #999;padding:3mm;display:flex;flex-direction:column;gap:1mm;font-size:9pt;background:#fff;color:#000}
.lbl b{font-size:12pt}.lbl .exp{font-weight:700;font-size:10pt}
@media print{body *{visibility:hidden}.labels,.labels *{visibility:visible}.labels{position:absolute;left:0;top:0}.lbl{border:0;page-break-after:always}}
.doc-pick{max-height:240px;overflow:auto;display:grid;gap:2px;margin:6px 0}.doc-pick small{color:var(--mut)}
table.train tr.st-neinceput td:first-child{box-shadow:inset 4px 0 #c0473a}table.train tr.st-in_lucru td:first-child{box-shadow:inset 4px 0 #c49a3a}table.train tr.st-semnat td:first-child{box-shadow:inset 4px 0 #3f8f5a}
main button.link{color:var(--brand);background:none;border:0;padding:4px 0;text-decoration:underline;cursor:pointer;min-height:0}
.form-grid fieldset,.form-grid textarea,.form-grid details,.form-grid h2{grid-column:1/-1}.form-grid textarea{width:100%}
fieldset.hc-yn label{white-space:nowrap}
.form-grid > p.cap{grid-column:1/-1}
details.cdoc{border-bottom:1px solid var(--line);padding:8px 0}details.cdoc summary{cursor:pointer;list-style:none}details.cdoc summary small{display:block;color:var(--mut);margin-top:2px}
details.cdoc form{margin-top:10px}button.chk{width:34px;height:34px;min-height:0;padding:0;border:2px solid var(--line);background:var(--card);color:#fff;border-radius:8px;font-weight:700}
button.chk.on{background:#3f8f5a;border-color:#3f8f5a}ul.ctl-actions{list-style:none;padding:0;margin:0 0 12px}ul.ctl-actions li{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--line)}
ul.ctl-actions li span small{display:block;color:var(--mut)}ul.ctl-actions li.done span{text-decoration:line-through;color:var(--mut)}ul.ctl-actions li.bad span small{color:#b3261e}
.hc-tile span a{color:var(--brand)}
.doc-sel .doc-row{display:flex;gap:6px;align-items:baseline;white-space:normal;padding:3px 0}.doc-sel small{color:var(--mut)}
.doc-sel{display:block}.doc-sel .doc-row{display:flex !important;flex-direction:row !important;justify-content:flex-start;gap:10px;align-items:flex-start;text-align:left;margin:0}
.doc-sel .doc-row input{width:22px !important;height:22px;flex:0 0 22px;margin-top:2px}.doc-sel .doc-row small{white-space:nowrap}
.form-grid .actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}.form-grid .actions .btn,.form-grid .actions button{width:auto;flex:0 0 auto}
textarea{font:inherit}
input[type=checkbox],input[type=radio]{width:auto;min-height:0;padding:0}
.form-grid label:has(textarea),.form-grid label.wide{grid-column:1/-1}
.qr-head{text-align:center}.qr-head h1{margin-bottom:0}.qr-actions{display:grid;grid-template-columns:1fr;gap:8px;margin:12px 0}
.qr-actions button{width:100%;min-height:3rem;font-size:1.05rem}.qr-ok{text-align:center}
.qr-nav{display:flex;gap:6px;overflow-x:auto;padding:6px 0;margin-bottom:8px;position:sticky;top:0;background:var(--bg,#faf8f3);z-index:2}
.qr-nav a{white-space:nowrap;border:1px solid var(--line);border-radius:999px;padding:4px 10px;text-decoration:none}
.qr-item{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line,#eee)}.qr-item:last-child{border-bottom:0}
.qr-price{white-space:nowrap;font-weight:600}.qr-req{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.qr-req.st-deschis{border-left:6px solid #c0392b}.qr-req.st-preluat{border-left:6px solid #d4a017}.qr-table{font-size:1.4rem}
@media(min-width:640px){.qr-actions{grid-template-columns:repeat(3,1fr)}}
.resv-grid th,.resv-grid td{padding:3px 4px;text-align:center;font-size:.78rem;min-width:2.6rem}.resv-grid tbody th{text-align:left;white-space:nowrap}
.resv-grid td.busy{background:rgba(63,143,90,.22)}.resv-grid td.st-cerere{background:rgba(212,160,23,.3)}.resv-grid td.st-sosita{background:rgba(63,143,90,.45)}
.resv-actions{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center}.resv-actions form{margin:0}.resv-actions button{width:auto}
.resv-move summary{font-size:.8rem;cursor:pointer;color:var(--mut,#666)}.resv-move select{min-width:12rem}
.resv-grid tbody th small{display:inline;font-weight:400;color:var(--mut,#666)}
button.linkbtn{background:none;border:0;padding:0 6px;min-height:0;color:var(--mut);cursor:pointer;font-size:.9em}button.linkbtn:hover{color:var(--bad)}
fieldset.days{display:flex;flex-wrap:wrap;gap:4px 14px;border:1px solid var(--line);border-radius:8px;padding:6px 10px}fieldset.days legend{padding:0 4px}
.daynav{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0}.daynav .btn{width:auto;min-width:48px}.daynav form{margin:0;flex:1 1 150px;max-width:220px}.daynav .muted-text{flex-basis:100%}
input,select,textarea{max-width:100%}.tabs{max-width:100%;min-width:0}main,.card,section{min-width:0}
label{min-width:0;max-width:100%}input[type=file]{width:100%;min-width:0}.filters{flex-wrap:wrap}
.page-help{float:right;margin:4px 0 0 8px;position:relative;z-index:5}.page-help>summary{list-style:none;cursor:pointer;width:30px;height:30px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--mut);background:var(--card)}.page-help>summary::-webkit-details-marker{display:none}.page-help[open]>div{position:absolute;right:0;top:36px;width:min(340px,86vw);background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 14px;box-shadow:0 6px 24px rgba(0,0,0,.15);font-size:.92rem}.page-help ul{margin:6px 0 0;padding-left:18px}.page-help li{margin:3px 0}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--mut)}.dot.ok{background:var(--good)}.dot.warn{background:var(--warn)}.dot.bad{background:var(--bad)}table.fresh td small{display:block}
.kiosk-stay{margin:14px 0;text-align:center}.kiosk-stay button.big{font-size:1.2rem;padding:16px 22px;width:100%;max-width:460px}
.badge{display:inline-block;min-width:18px;padding:0 5px;border-radius:9px;background:var(--bad);color:#fff;font-size:.75rem;font-weight:700;text-align:center;line-height:18px}
.zone-h{margin:14px 0 6px;font-size:1rem;color:var(--mut);text-transform:uppercase;letter-spacing:.04em}
.tables{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.tbl{border:2px solid var(--line);border-radius:10px;padding:8px;background:var(--card);display:flex;flex-direction:column;gap:4px}
.tbl.mine{border-color:var(--good);background:color-mix(in srgb,var(--good) 10%,var(--card))}
.tbl.other{opacity:.8;background:color-mix(in srgb,var(--mut) 8%,var(--card))}
.tbl.ask{box-shadow:0 0 0 3px var(--warn)}
.tbl-h{display:flex;justify-content:space-between;align-items:baseline}.tbl-h b{font-size:1.3rem}
.tbl-s{font-size:.85rem;color:var(--mut)}.tbl.busy .tbl-s{color:var(--fg);font-weight:600}
.tbl-req{font-size:.8rem;font-weight:700;color:var(--warn)}
.tbl-a{display:flex;flex-wrap:wrap;gap:4px;margin-top:auto}.tbl-a form{margin:0}
button.sm{padding:6px 10px;min-height:36px;font-size:.85rem}button.sm.link{background:none;color:var(--mut);text-decoration:underline}
.note-open{display:flex;gap:4px}.note-open input{width:52px;min-height:36px;padding:4px}
.team-form{display:grid;gap:8px}.quick{display:flex;flex-wrap:wrap;gap:6px}
.tmsg{border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin:6px 0;background:var(--card);max-width:640px}
.tmsg.me{margin-left:auto;background:color-mix(in srgb,var(--good) 10%,var(--card))}.tmsg-h{font-size:.85rem;color:var(--mut);margin-bottom:2px}
.tbl-resv{font-size:.8rem;font-weight:700;color:#fff;background:var(--brand);border-radius:6px;padding:2px 6px;align-self:flex-start}.tbl.resv{border-style:dashed}
.tbl-resv.ok{background:var(--good)}button.sm.sign{background:var(--brand)}
.todo-sign{border:2px solid var(--warn);display:grid;gap:6px}.todo-row{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin:0}
@media (min-width:700px){.tabs{flex-wrap:wrap;overflow-x:visible}}.wx-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin:0}.wx-day{border:1px solid var(--line);border-radius:10px;padding:8px;background:var(--card);text-align:center;text-decoration:none;color:var(--fg)}.wx-day b{display:block}.wx-day .t{font-size:1.1rem;font-weight:700}.wx-day small{display:block;color:var(--mut)}
/* meniul QR, ca meniul tipărit */
.qrm{max-width:760px;margin:0 auto}
.qrm-head{text-align:center;margin:8px 0 12px}.qrm-brand{font-size:2rem;font-weight:600;letter-spacing:.02em;color:var(--brand)}
.qrm-brand small{display:block;font-size:.95rem;font-style:italic;font-weight:400;color:var(--mut);letter-spacing:.06em}
.qrm-head p{margin:2px 0 0;color:var(--mut)}
.qrm-nav{display:grid;grid-template-columns:1fr;gap:10px;padding:8px 0;margin:0 0 6px;scroll-margin-top:8px}
@media (min-width:560px){.qrm-nav{grid-template-columns:1fr 1fr}.qrm-navgrp:first-child{grid-column:1/-1}}
.qrm-navgrp{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:9px 11px 11px;text-align:left}
.qrm-navgrp-t{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px;padding:0 0 7px;border-bottom:1px solid var(--line);
  font-size:1.08rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--brand);text-decoration:none}
.qrm-navgrp-t::after{content:"↓";font-weight:400;opacity:.6}
.qrm-navgrp-t small,.qrm-grp small{display:block;font-size:.7rem;font-weight:500;letter-spacing:.12em;opacity:.7;margin-top:1px}
.qrm-chips{display:flex;flex-wrap:wrap;gap:6px}
.qrm-grp{scroll-margin-top:12px;margin:34px 0 6px;padding:13px 14px;border-radius:14px;background:var(--brand);color:#fff;text-align:center;
  font-size:1.35rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1.2}
.qrm-up{position:fixed;right:14px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:6;background:var(--brand);color:#fff;text-decoration:none;border-radius:999px;padding:9px 14px;font-size:.9rem;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.qrm-chips a{flex:0 0 auto;border:1px solid var(--line);border-radius:999px;padding:5px 11px;text-decoration:none;color:var(--fg);background:var(--bg);font-size:.88rem;white-space:nowrap}
.qrm-sec{scroll-margin-top:12px;margin:18px 0 8px}
.qrm-sec h2{text-align:center;font-size:1.25rem;letter-spacing:.04em;margin:14px 0 10px;color:var(--brand)}
.qrm-sec h2 em{font-style:normal;font-weight:400;color:var(--mut)}
.qrm-item{display:grid;grid-template-columns:1fr;background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:10px 0}
.qrm-item img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:var(--line)}
@media (min-width:560px){.qrm-item.has-photo{grid-template-columns:200px 1fr}.qrm-item.has-photo img{height:100%;aspect-ratio:auto;min-height:150px}}
.qrm-body{padding:10px 14px 12px}
.qrm-top{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.qrm-top h3{margin:0;font-size:1.02rem;text-transform:uppercase;letter-spacing:.02em}
.qrm-price{white-space:nowrap}.qrm-price b{font-size:1.15rem}.qrm-price small{color:var(--mut);margin-right:8px}
.qrm-en-t{color:var(--mut);font-size:.85rem;text-transform:uppercase;letter-spacing:.02em}
.qrm-ro{margin:4px 0 0;font-weight:500}.qrm-en{margin:2px 0 0;color:var(--mut);font-size:.92rem}
.qrm-al{margin:6px 0 0;font-size:.8rem;color:var(--mut)}
.qrm-foot{text-align:center;margin-top:20px}
.sec-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0}.sec-row input{flex:1 1 140px}.sec-row input.q-in{flex:0 0 70px}
.qa-item{border-bottom:1px solid var(--line);padding:6px 0}.qa-item>summary{display:flex;gap:10px;align-items:center;cursor:pointer;list-style:none}
.qa-item>summary::-webkit-details-marker{display:none}.qa-thumb{width:56px;height:42px;object-fit:cover;border-radius:6px;flex:0 0 56px}
.qa-item.nophoto form{margin-left:0}
.qa-name small{display:block;color:var(--mut)}.qa-item form{margin:8px 0 6px 66px}
.top-search{margin:0 8px}.top-search input{min-height:32px;padding:4px 10px;border-radius:999px;border:0;width:150px;font-size:.9rem}
@media (max-width:700px){.top-search input{width:96px}}
.search-res{list-style:none;padding:0;margin:0}.search-res li{padding:6px 0;border-bottom:1px solid var(--line)}.search-res small{display:block;color:var(--mut)}

/* înscriere din meniul QR și codul de client */
.qrm-sub{display:block;margin:4px 0 12px;padding:12px 14px;border-radius:14px;background:#b8860b;color:#fff;text-decoration:none;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.qrm-sub b{display:block;font-size:1.08rem}.qrm-sub span{display:block;font-size:.82rem;opacity:.9;margin-top:2px}
.sub-card h1{font-size:1.3rem;margin-top:0}.sub-done{text-align:center}
.sub-code{font-size:2.4rem;font-weight:800;letter-spacing:.18em;margin:6px 0;color:var(--brand);font-family:ui-monospace,Menlo,Consolas,monospace}
.sub-offer{font-size:1.1rem}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.voucher{border-top:1px solid var(--line);padding:8px 0}.voucher small{display:block;color:var(--mut)}
.qrm-nu{margin:6px 0 0;font-size:.8rem;color:var(--mut)}.qrm-nu summary{cursor:pointer}.qrm-nu p{margin:4px 0 0}
.residence{border:1px solid var(--line);border-radius:10px;padding:8px 12px}.residence legend{font-weight:600;padding:0 4px}
.residence .check{display:flex;gap:8px;align-items:center;margin:4px 0}.residence .city-in{margin-top:6px}
.sub-link{word-break:break-all;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.85rem}.sub-rules{margin-top:10px;font-size:.88rem}
.sub-rules summary{cursor:pointer;color:var(--brand)}.sub-ref h2{font-size:1.15rem;margin-top:0}
.rule-box{background:#fff7e0;border:1px solid #e6cf8a;border-radius:10px;padding:8px 12px;margin:8px 0}
/* comenzi din tabletă și ecranele bucătărie / bar */
.ko-search{margin:6px 0}.ko-sec{border:1px solid var(--line);border-radius:12px;margin:8px 0;background:var(--card)}
.ko-sec>summary{padding:12px 14px;font-weight:700;cursor:pointer}.ko-row{display:grid;grid-template-columns:1fr auto;gap:6px 10px;padding:8px 14px;border-top:1px solid var(--line);align-items:center}
.ko-row .ko-note{grid-column:1/-1;display:none}.ko-row.on{background:#eef6ef}.ko-row.on .ko-note{display:block}
.ko-qty{display:flex;gap:4px;align-items:center}.ko-qty .q-in{width:48px;text-align:center}.ko-qty button{min-width:40px;font-size:1.1rem}
.ko-send{position:sticky;bottom:calc(76px + env(safe-area-inset-bottom));display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--brand);color:#fff;padding:10px 14px;border-radius:12px;margin:12px 0}
@media (min-width:761px){.ko-send{bottom:10px}}
.ko-sent{list-style:none;padding:0;margin:0}.ko-sent li{padding:4px 0}
.tag.tag.st-bucatarie{background:#f7ebe0}.tag.ks-gata{background:#dff1e2;color:#1d6b33}.tag.ks-nou{background:#fff1cc}.tag.ks-lucru{background:#e3ecf7}
.ks-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.ks-head h1 small{color:var(--mut);font-weight:400}
.ks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;align-items:start}
.ks-order{background:var(--card);border:2px solid var(--line);border-radius:14px;padding:10px 12px}
.ks-order.ks-nou{border-color:#d4a017;box-shadow:0 0 0 3px #fff1cc}.ks-order.ks-lucru{border-color:#4a78b5}.ks-order.ks-gata{opacity:.65;border-color:#2e7d4f}
.ks-order header{display:flex;justify-content:space-between;align-items:baseline;font-size:1.25rem}.ks-time{font-size:.85rem;color:var(--mut)}.ks-time.late{color:var(--bad);font-weight:700}
.ks-waiter{margin:2px 0 6px;color:var(--mut);font-size:.85rem}.ks-order ul{list-style:none;padding:0;margin:0}
.ks-line{display:flex;align-items:center;gap:6px;border-top:1px solid var(--line);padding:6px 0}.ks-item{flex:1;text-align:left;background:none;border:0;color:var(--fg);font-size:1.05rem;padding:4px 0;cursor:pointer}
.ks-item em{display:block;font-style:normal;color:var(--bad);font-weight:600;font-size:.9rem}.ks-q{font-size:1.2rem}.ks-l-gata .ks-item{text-decoration:line-through;color:var(--mut)}
.ks-order footer{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.ks-empty{color:var(--mut);font-size:1.1rem;padding:30px;text-align:center;grid-column:1/-1}
.ks-dlg{max-width:640px;width:94vw;border:0;border-radius:16px;padding:16px}.ks-dlg::backdrop{background:rgba(0,0,0,.45)}
.kr-photo{width:100%;max-height:240px;object-fit:cover;border-radius:12px}.kr h2{margin:10px 0 4px}.kr-al{color:var(--bad);font-weight:600;margin:0 0 8px}
.kr-t{width:100%}.kr-t td small{display:block;color:var(--mut)}.kr-t td,.kr-t th{padding:6px 4px;font-size:1.02rem}
.ready-box{border:2px solid #2e7d4f;background:#eef8f0}
.qrm-promos{margin:6px 0 12px}.qrm-promos-h{font-size:1.1rem;margin:4px 0 8px;color:var(--brand);text-align:center}.qrm-promos-h em{font-style:normal;font-weight:400;color:var(--mut)}
.qrm-promo-row{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;-webkit-overflow-scrolling:touch}
.qrm-promo{flex:0 0 82%;max-width:360px;scroll-snap-align:start;background:var(--card);border:2px solid #b8860b;border-radius:14px;overflow:hidden}
.qrm-promo:only-child{flex-basis:100%;max-width:none}.qrm-promo img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.qrm-promo-b{padding:10px 12px}.qrm-promo-b h3{margin:4px 0 2px;font-size:1.05rem;text-transform:uppercase}.qrm-promo-b p{margin:4px 0}
.qrm-promo-k{display:inline-block;background:#b8860b;color:#fff;border-radius:999px;padding:2px 10px;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.qrm-promo.k-nou .qrm-promo-k{background:#2e7d4f}.qrm-promo.k-nou{border-color:#2e7d4f}.qrm-promo.k-reducere .qrm-promo-k{background:#b3261e}.qrm-promo.k-reducere{border-color:#b3261e}
.qrm-promo-p{font-size:1.25rem;font-weight:800;color:var(--brand)}
.bday{border:1px solid var(--line);border-radius:10px;padding:8px 12px}.bday legend{font-weight:600;padding:0 4px}.bday select{width:auto;margin-right:6px}
/* cardul clientului și ștampilele */
.loy-card{background:linear-gradient(135deg,#1f3a2c,#2f5a44);color:#fff;border-radius:18px;padding:18px;text-align:center;margin:6px 0 12px;box-shadow:0 6px 18px rgba(0,0,0,.18)}
.loy-brand{font-size:1.6rem;font-weight:700}.loy-brand small{display:block;font-size:.85rem;font-weight:400;opacity:.85;font-style:italic}
.loy-name{font-size:1.2rem;margin:6px 0}.loy-qr{background:#fff;border-radius:12px;display:block;margin:0 auto;padding:6px;width:240px;max-width:80vw}.loy-qr svg{width:100%;height:auto;display:block}
.loy-card .sub-code{color:#fff}.loy-card .cap{color:#e6efe9}
.stamps{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.stamp{width:38px;height:38px;border-radius:50%;border:2px dashed var(--line);display:flex;align-items:center;justify-content:center;font-size:1.2rem;opacity:.35}
.stamp.on{border:2px solid var(--brand);background:#eef6ef;opacity:1}.loy-v{padding-left:18px}
#scan-v{width:100%;max-width:420px;border-radius:12px;background:#000}.stamp-form{border-top:1px solid var(--line);padding-top:8px;margin-top:8px}
.qr-test{text-align:center;border:2px dashed #b8860b}.qr-test .loy-qr{width:220px;border:1px solid var(--line)}
.qr-info{background:#fff7e0;border:1px solid #e6cf8a;border-radius:12px;padding:10px 12px;text-align:center}

.mfa .mfa-qr{max-width:15rem;margin:1rem auto;background:#fff;padding:.5rem;border-radius:8px}.mfa .mfa-qr svg{width:100%;height:auto;display:block}
.mfa-steps li{margin:.3rem 0}.mfa-key{font-size:1.05rem;letter-spacing:.05em;word-break:break-all}
.mfa-codes{columns:2;font-size:1.1rem;padding-left:1.5rem}.mfa-codes li{margin:.25rem 0}

/* ---- meniu principal grupat (v40) ---- */
.top .main-nav{align-items:center;gap:4px}
.nav-group{position:relative}
.nav-group>summary{list-style:none;cursor:pointer;padding:6px 10px;border-radius:999px;color:#fff;font-weight:600;white-space:nowrap;user-select:none}
.nav-group>summary::-webkit-details-marker{display:none}
.nav-group>summary::after{content:"▾";margin-left:5px;font-size:.75em;opacity:.8}
.nav-group>summary:hover,.nav-group[open]>summary{background:rgba(255,255,255,.14)}
.nav-group.active>summary{background:rgba(255,255,255,.22)}
.nav-panel{position:absolute;left:0;top:calc(100% + 6px);z-index:30;min-width:200px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.18);padding:6px;display:flex;flex-direction:column}
.top .nav-panel a{color:var(--fg);padding:10px 12px;border-radius:8px;white-space:nowrap}
.top .nav-panel a:hover{background:var(--bg)}
.top .nav-panel a[aria-current="page"]{font-weight:700;color:var(--brand);background:var(--bg)}
@media (max-width:760px){
  .top.open .main-nav{gap:0;align-items:stretch}
  .nav-group{width:100%}
  .nav-group>summary{display:block;border-radius:0;padding:13px 16px;border-top:1px solid rgba(255,255,255,.15);font-size:1.05rem}
  .nav-group>summary::after{float:right}
  .nav-group.active>summary,.nav-group[open]>summary{background:rgba(255,255,255,.1)}
  .nav-panel{position:static;min-width:0;border:0;border-radius:0;box-shadow:none;padding:0;background:rgba(0,0,0,.18)}
  .top.open .main-nav .nav-panel a{color:#fff;padding:12px 16px 12px 32px;border-top:1px solid rgba(255,255,255,.08);border-radius:0;font-size:1rem}
  .top .nav-panel a[aria-current="page"]{color:#fff;background:rgba(255,255,255,.12)}
}

/* ---- închiderea zilei (v43) ---- */
.close-head{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between}
.close-nav{display:flex;gap:6px;align-items:center;margin:0}.close-nav input{width:auto;min-height:40px}
.close-nav .btn,.close-nav button{min-height:40px;padding:8px 12px}
.close-warn{border-left:4px solid var(--warn)}.close-ok{border-left:4px solid var(--good)}
.close-list{margin:.3em 0 0;padding-left:1.2em}.close-list li{margin:.25em 0}
.close-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.close-cols .card{margin:0}
.close-cols+h2,.grid+h2{margin-top:1.2em}
tr.row-warn td{background:color-mix(in srgb,var(--warn) 12%,transparent)}
@media print{
  .top,.bottom-nav,.no-print,.page-help{display:none!important}
  body{background:#fff;color:#000}main{max-width:none;padding:0}
  .card{break-inside:avoid;border-color:#ccc}
  .close-print,.close-print *{visibility:visible}
}

/* ---- matricea meniului (v44): o culoare pe grupă ---- */
:root{--c-vedete:#0b7a4b;--c-populare:#b5532a;--c-promovat:#2a78d6;--c-scos:#8a8f8b}
@media (prefers-color-scheme:dark){:root{--c-vedete:#43c08a;--c-populare:#e08a5e;--c-promovat:#5598e7;--c-scos:#9aa39d}}
svg.chart .q-vedete{fill:var(--c-vedete);fill-opacity:.07}svg.chart .q-populare{fill:var(--c-populare);fill-opacity:.07}
svg.chart .q-promovat{fill:var(--c-promovat);fill-opacity:.07}svg.chart .q-scos{fill:var(--c-scos);fill-opacity:.07}
svg.chart .ql{font-size:13px;font-weight:700}
svg.chart .c-vedete{fill:var(--c-vedete)}svg.chart .c-populare{fill:var(--c-populare)}svg.chart .c-promovat{fill:var(--c-promovat)}svg.chart .c-scos{fill:var(--c-scos)}
svg.chart .pt2{fill-opacity:.8;stroke:var(--card);stroke-width:1.5;cursor:pointer}svg.chart .pt2:hover{fill-opacity:1;stroke:var(--fg)}
.me-chips{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:10px 0}
.me-chip{border:1px solid var(--line);border-left:5px solid var(--mut);border-radius:10px;padding:10px 12px;background:var(--card);text-decoration:none;color:inherit;display:block}
.me-chip b{display:block;font-size:1.05rem}.me-chip .n{font-size:1.4rem;font-weight:700}.me-chip span{color:var(--mut);font-size:.88rem}
.me-chip.k-vedete{border-left-color:var(--c-vedete)}.me-chip.k-populare{border-left-color:var(--c-populare)}
.me-chip.k-promovat{border-left-color:var(--c-promovat)}.me-chip.k-scos{border-left-color:var(--c-scos)}
.me-sec{border-top:4px solid var(--mut)}.me-sec.k-vedete{border-top-color:var(--c-vedete)}.me-sec.k-populare{border-top-color:var(--c-populare)}
.me-sec.k-promovat{border-top-color:var(--c-promovat)}.me-sec.k-scos{border-top-color:var(--c-scos)}
.me-head{font-size:1.05rem;margin:.2em 0 .6em}
.me-grid{display:grid;grid-template-columns:1fr;gap:12px}.me-grid .card{margin:0}
@media(min-width:1500px){.me-grid{grid-template-columns:1fr 1fr}}
.me-sec th{white-space:normal;padding:8px 8px}.me-sec td{padding:8px 8px}.me-sec td:first-child{min-width:9rem}

/* ---- fișa tehnică (v47) ---- */
.sheet{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px 22px;margin:14px 0}
.sheet-h{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.sheet-h h2{margin:.1em 0 .2em;font-size:1.5rem}
.sheet-brand{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--mut)}
.sheet-photo{width:150px;height:110px;object-fit:cover;border-radius:8px;flex:none}
.sheet-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.sheet-kpis div{border:1px solid var(--line);border-radius:8px;padding:8px 10px}
.sheet-kpis span{display:block;font-size:.78rem;color:var(--mut)}.sheet-kpis b{font-size:1.1rem}
.sheet h3{font-size:1rem;margin:14px 0 6px}.sheet-t th,.sheet-t td{padding:6px 8px}.sheet-t.sm td{padding:3px 6px;font-size:.9rem}
.sheet-sub{font-size:.85rem;color:var(--mut);margin-top:2px}
.sheet-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.sheet-write .lines{height:120px;background:repeating-linear-gradient(transparent 0 27px,var(--line) 27px 28px)}
.sheet-f{display:flex;justify-content:space-between;gap:12px;margin-top:18px;font-size:.85rem;color:var(--mut);flex-wrap:wrap}
@media(max-width:700px){.sheet-kpis{grid-template-columns:1fr 1fr}.sheet-cols{grid-template-columns:1fr}.sheet-photo{width:96px;height:72px}}
@media print{
  .top,.bottom-nav,.no-print,.page-help{display:none!important}
  .print-area,.print-area *{visibility:visible}
  .sheet{border:0;border-radius:0;padding:0;margin:0;break-after:page;background:#fff;color:#000}
  .sheet:last-child{break-after:auto}
  .sheet .muted-text,.sheet-brand,.sheet-sub,.sheet-f,.sheet-kpis span{color:#444}
  .sheet-kpis div,.sheet-t th,.sheet-t td{border-color:#bbb}
  @page{size:A4;margin:14mm}
}
.sheet-al{margin:.2em 0;padding-left:1.1em}.sheet-al li{margin:.15em 0}
[hidden]{display:none!important}
.doc-files{padding-left:1.1em;margin:.2em 0 .6em}.doc-files li{margin:.3em 0}button.link.danger{color:var(--bad)}
.form-grid .wide{grid-column:1/-1}
.quick-row{display:grid;grid-template-columns:2fr 2fr 1fr;gap:12px;align-items:end}.quick-row label{margin:0}@media(max-width:700px){.quick-row{grid-template-columns:1fr}}
button.danger-btn{color:var(--bad);border-color:var(--bad)}
/* ---- panoul de mesaje de pe tabletele comune (v53) ---- */
.device-board{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:16px 0;transition:box-shadow .3s}
.device-board h2{font-size:1.05rem;margin:0 0 8px}.device-board.db-new{box-shadow:0 0 0 4px var(--warn)}
.db-list{list-style:none;margin:0 0 10px;padding:0;max-height:260px;overflow:auto}.db-list li{padding:7px 0;border-bottom:1px solid var(--line);font-size:1.02rem}
.db-list li.zone{font-weight:600}.db-t{color:var(--mut);margin-right:6px;font-variant-numeric:tabular-nums}
.db-send{display:grid;grid-template-columns:auto 1fr auto;gap:8px}.db-send select,.db-send input{min-height:44px}
@media(max-width:600px){.db-send{grid-template-columns:1fr}}

/* ---- tema Dolissima (v54): culorile site-ului – verde-salvie, verde închis, auriu, crem ---- */
:root{--bg:#fcf8ed;--fg:#2d3934;--mut:#5f6b64;--card:#fff;--line:#e6dfcf;--brand:#4f7565;--top:#2d3934;--gold:#d7b56d;--gold-d:#8c7236;--sage:#88ac9b}
@media (prefers-color-scheme:dark){:root{--bg:#161b18;--fg:#efece3;--mut:#a3aca6;--card:#1f2622;--line:#323b36;--brand:#88ac9b;--top:#1d2622;--gold:#d7b56d;--gold-d:#d7b56d;--sage:#88ac9b}}
.top{background:var(--top)}.top .brand{color:var(--gold);letter-spacing:.02em}
.nav-group.active>summary{background:rgba(215,181,109,.22);box-shadow:inset 0 -2px 0 var(--gold)}
button,.btn,.big-btn{background:var(--brand)}
button:hover,.btn:hover{filter:brightness(1.08)}
.btn.secondary,button.secondary{background:transparent;color:var(--brand);border:1px solid var(--brand)}
.big-btn.alt{background:var(--card);color:var(--brand);border:1px solid var(--gold)}
.tabs a.on{color:var(--brand);border-bottom-color:var(--gold)}
h1{color:var(--fg)}h1 small{color:var(--mut)}
.top-search input{background:#fcf8ed;color:#2d3934}
@media (prefers-color-scheme:dark){button,.btn,.big-btn{color:#13201a}.btn.secondary,button.secondary{color:var(--brand)}}
.bottom-nav a{color:var(--brand)}
/* poza de fundal (Date → Aspect): vizibilă discret în spatele cardurilor; voalul crem păstrează textul lizibil */
body.has-bgimg{background-image:linear-gradient(rgba(252,248,237,var(--veil)),rgba(252,248,237,var(--veil))),var(--bg-img);
  background-size:cover;background-position:center;background-attachment:fixed;background-repeat:no-repeat}
@media (prefers-color-scheme:dark){body.has-bgimg{background-image:linear-gradient(rgba(22,27,24,var(--veil)),rgba(22,27,24,var(--veil))),var(--bg-img)}}
body.has-bgimg .card,body.has-bgimg .tablewrap{background:color-mix(in srgb,var(--card) 94%,transparent);backdrop-filter:blur(2px)}
@media (max-width:760px){body.has-bgimg{background-attachment:scroll}}
body.has-bgimg .btn.secondary,body.has-bgimg button.secondary{background:color-mix(in srgb,var(--card) 88%,transparent)}
/* dashboard 3D */
.d3-head{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between}.d3-head h1{margin:0}
.d3-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.d3-actions .seg{margin:0}
.d3-actions .seg button{width:auto;background:var(--card);color:var(--fg);border:1px solid var(--line);border-radius:999px;padding:8px 16px;min-height:40px}
.d3-actions .seg button[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:#fff}
.d3-meta{margin:6px 0 10px}
.d3-stage{position:relative;height:min(72vh,680px);min-height:380px;border-radius:14px;overflow:hidden;background:#2d3934;border:1px solid var(--line);touch-action:none}
.d3-stage canvas{display:block;width:100%;height:100%;outline:none}
.d3-tip{position:absolute;pointer-events:none;background:rgba(29,36,32,.92);color:#fff;padding:5px 10px;border-radius:8px;font-size:.88rem;white-space:nowrap;transform:translate(-50%,-130%);z-index:3}
.d3-state{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:rgba(45,57,52,.82);color:#fcf8ed;text-align:center;padding:20px;z-index:4}
.d3-state p{max-width:440px;margin:0}.d3-state button{width:auto;background:var(--gold);color:#2d3934}
.d3-state.is-error{background:rgba(70,30,26,.88)}.d3-state.is-error .d3-spin,.d3-state.is-empty .d3-spin{display:none}
.d3-spin{width:34px;height:34px;border-radius:50%;border:3px solid rgba(255,255,255,.25);border-top-color:var(--gold);animation:d3spin .9s linear infinite}
@keyframes d3spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.d3-spin{animation-duration:3s}}
.d3-panel{position:absolute;top:12px;right:12px;width:min(340px,calc(100% - 24px));max-height:calc(100% - 24px);overflow:auto;background:var(--card);color:var(--fg);border-radius:12px;padding:14px 16px;box-shadow:0 8px 30px rgba(0,0,0,.3);z-index:5;border-top:4px solid var(--gold)}
.d3-panel h2{margin:0 0 4px;font-size:1.15rem}.d3-panel h3{font-size:.95rem;margin:12px 0 4px}.d3-panel p{margin:0}
.d3-p-obj{color:var(--mut);font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}
.d3-p-val{margin:6px 0!important}.d3-p-val b{font-size:2rem;line-height:1.1;font-variant-numeric:tabular-nums}.d3-p-val span{color:var(--mut)}
.d3-p-label{font-weight:600;margin-bottom:6px!important}
.d3-panel dl{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;margin:8px 0 0;font-size:.9rem}.d3-panel dt{color:var(--mut)}.d3-panel dd{margin:0}
.d3-panel .tone-bun{color:var(--good);font-weight:600}.d3-panel .tone-rau{color:var(--bad2);font-weight:600}
.d3-close{position:absolute;top:6px;right:6px;width:auto;min-height:36px;padding:4px 10px;background:none;color:var(--mut)}
.d3-hint{position:absolute;left:12px;bottom:10px;margin:0;color:rgba(252,248,237,.85);font-size:.8rem;pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.5)}
.d3-table td:nth-child(2){font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.d3-table td:last-child{min-width:260px;color:var(--mut);font-size:.88rem}
@media (max-width:640px){.d3-stage{height:64vh;min-height:340px}.d3-panel{top:auto;bottom:8px;right:8px;left:8px;width:auto;max-height:58%}.d3-hint{display:none}}

/* ---- interfața nouă (v56, 27.10.2026): Young Serif pentru titluri și cifre mari, Figtree pentru interfață,
   Courier Prime doar pe „bonul zilei”; fonturi găzduite local (app/static/fonts, licență OFL). ---- */
@font-face{font-family:"Young Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/static/fonts/young-serif-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Young Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/static/fonts/young-serif-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Figtree";font-style:normal;font-weight:300 900;font-display:swap;src:url(/static/fonts/figtree-latin-wght-normal.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Figtree";font-style:normal;font-weight:300 900;font-display:swap;src:url(/static/fonts/figtree-latin-ext-wght-normal.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Courier Prime";font-style:normal;font-weight:400;font-display:swap;src:url(/static/fonts/courier-prime-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Courier Prime";font-style:normal;font-weight:400;font-display:swap;src:url(/static/fonts/courier-prime-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Courier Prime";font-style:normal;font-weight:700;font-display:swap;src:url(/static/fonts/courier-prime-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Courier Prime";font-style:normal;font-weight:700;font-display:swap;src:url(/static/fonts/courier-prime-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{--bg:#f4efe2;--paper:#fffdf7;--card:#fffdf7;--fg:#1f2622;--mut:#56615b;--line:#e2d9c6;--track:#ebe4d2;
  --brand:#4f7565;--brand-d:#3f6253;--top:#2d3934;--gold:#d7b56d;--amber:#b8913f;--brick:#a8492a;--blue:#3d6587;
  --ui:"Figtree",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--display:"Young Serif",Georgia,serif;--ticket:"Courier Prime","Courier New",monospace}
@media (prefers-color-scheme:dark){:root{--bg:#161b18;--paper:#1f2622;--card:#1f2622;--fg:#efece3;--mut:#a7b0aa;--line:#323b36;--track:#2c3530;
  --brand:#88ac9b;--brand-d:#a8c6b8;--top:#1d2622;--amber:#d7b56d;--brick:#e08a6a;--blue:#8fb3d6}}
body{font-family:var(--ui);font-size:16px;line-height:1.5;background:var(--bg);color:var(--fg)}
h1{font-family:var(--display);font-weight:400;font-size:2rem;line-height:1.15;letter-spacing:-.005em;margin:.35em 0 .3em}
h1 small{font-family:var(--ui);font-size:.95rem}
h2{font-weight:650;font-size:1.2rem}
.top{min-height:64px;padding:10px 24px}.top .brand{font-family:var(--display);font-weight:400;font-size:1.5rem;color:var(--gold)}
.card{background:var(--card);border:0;border-radius:16px;box-shadow:0 1px 0 var(--line);padding:18px 20px}
.tablewrap{background:var(--card);border:0;border-radius:16px;box-shadow:0 1px 0 var(--line)}
th{text-transform:none;letter-spacing:0;font-size:.86rem;font-weight:650;color:var(--mut)}
.group-h{text-transform:none;letter-spacing:0;font-size:.9rem;font-weight:650}
button,.btn{border-radius:999px;font-weight:600}
button.link,button.link-dark{border-radius:0;font-weight:400}
input,select,textarea{border-radius:12px;border-color:var(--line);background:#fff}
@media (prefers-color-scheme:dark){input,select,textarea{background:var(--card)}}
.big-btn{border-radius:16px}.big-btn b{font-family:var(--ui);font-weight:650}
.stat b,.kpi .v{font-family:var(--display);font-weight:400}
.tabs a{font-weight:600}.tabs a.on{color:var(--fg);border-bottom:3px solid var(--brand)}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
/* poza localului: nu mai stă în spatele conținutului, ci ca bandă jos, estompată spre pagină */
body.has-bgimg{background-image:none}
body.has-bgimg .card,body.has-bgimg .tablewrap{background:var(--card);backdrop-filter:none}
body.has-bgimg .btn.secondary,body.has-bgimg button.secondary{background:transparent}
.app-banner{height:170px;margin-top:24px;background-image:var(--bg-img);background-size:cover;background-position:center 40%;
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 70%);mask-image:linear-gradient(to bottom,transparent,#000 70%);opacity:var(--banner-o,.9)}
@media (max-width:760px){.app-banner{height:110px}body.has-bottom .app-banner{margin-bottom:64px}}

/* ---- vizualizări comune: inele, bare, intervale ---- */
.ring{display:block}.ring .tr{stroke:var(--track)}.ring .v{stroke:var(--brand)}.ring.warn .v{stroke:var(--amber)}.ring.bad .v{stroke:var(--brick)}
.ring-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px 18px}
.ring-item{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}
.ring-item .num{font-family:var(--display);font-size:1.7rem;line-height:1.1}.ring-item .num small{font-size:1rem;color:var(--mut)}
.ring-item .lab{font-size:.94rem;color:var(--mut);line-height:1.3}.ring-item .lab.bad{color:var(--brick);font-weight:600}
.bar{height:10px;border-radius:5px;background:var(--track);overflow:hidden}.bar>i{display:block;height:100%;border-radius:5px;background:var(--brand)}
.bar.warn>i{background:var(--amber)}.bar.bad>i{background:var(--brick)}.bar.blue>i{background:var(--blue)}.bar.thick{height:16px;border-radius:8px}
.big-num{font-family:var(--display);font-size:2.1rem;line-height:1.1}.big-num small{font-family:var(--ui);font-size:1rem;color:var(--mut)}
.panel-dark{background:var(--top);color:#f4efe2;border-radius:16px;padding:20px 22px}.panel-dark .big-num{color:var(--gold)}
.panel-dark .bar{background:#45544d}.panel-dark .bar>i{background:var(--gold)}.panel-dark p,.panel-dark .muted-text{color:#c9d3cd}
@media (prefers-color-scheme:dark){.panel-dark{background:#26302b}}

/* ---- pagina de start (v56): bonul zilei + cifrele zilei ---- */
.home{display:grid;grid-template-columns:minmax(0,540px) minmax(0,1fr);gap:28px;align-items:start}
.home h1{margin-top:.2em}.home-date{margin:-.2em 0 18px;font-size:1.02rem}
.home-right{display:flex;flex-direction:column;gap:18px;padding-top:8px}.home-right .card{margin:0}
.card-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px}.card-head h2{margin:0}.card-head a{font-weight:600}
.home-alert{margin:12px 0 0;font-weight:600}.home-alert a{color:var(--brick)}
.home-pair{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:18px}
.home-pair>a{text-decoration:none;color:inherit;margin:0;display:flex;flex-direction:column;gap:6px}.home-pair h2{margin:0}
.home-pair .big-num{margin:4px 0 0}.home-change{margin:0;font-weight:600;font-size:.95rem}.home-change.up{color:var(--brand-d)}.home-change.down{color:var(--brick)}
.mini-bars{display:flex;align-items:flex-end;gap:8px;height:100px;margin-top:8px}
.mini-bars span{flex:1;background:#cfd9d2;border-radius:5px 5px 2px 2px}.mini-bars span.last{background:var(--brand)}
.mini-labels{display:flex;gap:8px;font-size:.85rem;color:var(--mut)}.mini-labels span{flex:1;text-align:center}.mini-labels .last{color:var(--fg);font-weight:700}
@media (prefers-color-scheme:dark){.mini-bars span{background:#3a4741}}
.home-floor p{margin:4px 0 0}
.modules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 22px}
.modules h3{margin:0 0 6px;font-size:1rem;color:var(--brand-d)}.modules a{display:block;padding:4px 0;color:var(--fg);text-decoration:none}.modules a:hover{text-decoration:underline}
.fresh-box summary{font-weight:650;color:var(--fg)}.fresh-box .tablewrap{margin-top:12px;box-shadow:none}
/* bonul: hârtie cu marginea zimțată, scris de casă de marcat */
.bon{position:relative;background:var(--paper);border-radius:4px 4px 0 0;padding:24px 26px 30px;margin-bottom:14px;font-family:var(--ticket);
  box-shadow:0 1px 0 var(--line),0 18px 36px -24px rgba(45,57,52,.45)}
.bon::after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:10px;
  background:radial-gradient(circle at 10px -2px,var(--bg) 7px,transparent 7.5px) 0 0/20px 10px repeat-x,var(--paper)}
.bon-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px dashed var(--line);padding-bottom:12px}
.bon-head h2{margin:0;font-family:var(--ticket);font-size:1.3rem;font-weight:700}.bon-head span{color:var(--mut)}
.bon-list{list-style:none;margin:0;padding:0}
.bon-row{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px dotted var(--line)}
.bon-row:last-child{border-bottom:0}
.bon-at{font-weight:700;font-variant-numeric:tabular-nums}
.bon-what a{color:var(--fg);text-decoration:none;font-size:1.02rem}.bon-what small{display:block;color:var(--mut);font-size:.92rem;margin-top:2px}
.bon-btn{font-family:var(--ui);font-size:.92rem;font-weight:600;color:var(--fg);border:1.5px solid var(--brand);border-radius:999px;padding:9px 16px;text-decoration:none;white-space:nowrap}
.bon-row.late .bon-at,.bon-row.late small{color:var(--brick)}
.bon-row.late .bon-btn{background:var(--brick);border-color:var(--brick);color:#fffdf7}
.bon-row.done .bon-at{color:var(--brand)}.bon-row.done .bon-what a{color:var(--mut);text-decoration:line-through}
.bon-foot{display:flex;justify-content:space-between;border-top:2px dashed var(--line);padding-top:12px;text-transform:none}
.bon-empty{margin:16px 0 0;color:var(--mut)}
@media (max-width:980px){.home{grid-template-columns:1fr}.home-right{padding-top:0}}
@media (max-width:600px){.home-pair{grid-template-columns:1fr}.modules{grid-template-columns:repeat(2,minmax(0,1fr))}.bon{padding:20px 18px 26px}
  .bon-row{grid-template-columns:50px minmax(0,1fr);}.bon-row .bon-btn{grid-column:2;justify-self:start}}
.ring-item>span{display:flex;flex-direction:column}.ring-item .lab{display:block}
.home .ring-row{grid-template-columns:repeat(3,minmax(0,1fr))}
.home .card h2,.home .panel-dark h2{margin-top:0}
.panel-dark h2{color:#f4efe2}.panel-dark .big-num small{color:#c9d3cd}
@media (max-width:600px){.home .ring-row{grid-template-columns:1fr}}
.ring-item svg{flex:none}

/* ---- HACCP (v56): antet, file + „Mai mult”, temperaturi cu bara de limită, rezumat ---- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hc-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px}.hc-head h1{margin:.2em 0}
.hc-day{margin:0;color:var(--mut);font-size:1.05rem}
.hc-daypick summary{color:var(--brand-d);font-weight:600;list-style:none;cursor:pointer}.hc-daypick summary::-webkit-details-marker{display:none}
.hc-daypick[open] form{display:flex;gap:8px;align-items:end;margin-top:8px}.hc-daypick label{margin:0}.hc-daypick input{width:auto}
.hc-tabs{overflow:visible;flex-wrap:wrap;align-items:center}
.count-badge{display:inline-block;min-width:22px;padding:0 7px;border-radius:999px;background:var(--brick);color:#fffdf7;font-size:.8rem;font-weight:700;text-align:center;line-height:20px}
.tab-more{position:relative}.tab-more summary{padding:10px 12px;color:var(--mut);font-weight:600;cursor:pointer;list-style:none;border-bottom:3px solid transparent}
.tab-more summary::-webkit-details-marker{display:none}.tab-more summary::after{content:" ▾"}
.tab-more.on summary{color:var(--fg);border-bottom-color:var(--brand)}
.tab-more-panel{position:absolute;z-index:20;top:100%;left:0;min-width:220px;background:var(--card);border-radius:12px;box-shadow:0 12px 30px rgba(31,38,34,.18);padding:6px;display:flex;flex-direction:column}
.tab-more-panel a{padding:10px 12px;border-radius:8px;color:var(--fg);text-decoration:none}.tab-more-panel a:hover,.tab-more-panel a[aria-current]{background:var(--track)}
.hc-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start;margin-top:8px}
.hc-sect-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px}.hc-sect-head h2{margin:.4em 0}
.seg-pill{display:flex;background:var(--track);border-radius:999px;padding:4px}
.seg-pill a{padding:10px 18px;border-radius:999px;color:var(--mut);text-decoration:none;font-weight:600;min-height:44px;box-sizing:border-box;display:flex;align-items:center}
.seg-pill a.on{background:var(--top);color:#f4efe2}
.hc-list{display:flex;flex-direction:column;gap:12px;margin-top:10px}
.hc-row{background:var(--card);border-radius:16px;padding:16px 20px;border:0;box-shadow:0 1px 0 var(--line);margin:0}
.hc-row.todo{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--brand) 45%,transparent)}.hc-row.bad{box-shadow:inset 0 0 0 2px var(--brick)}
.hc-row-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,220px) auto;gap:20px;align-items:center}
.hc-row-h{display:flex;flex-direction:column;margin:0}.hc-row-h b{font-size:1.08rem}.hc-row-h small{color:var(--mut);font-size:.92rem}
.hc-range{position:relative;height:14px;border-radius:7px;background:var(--track)}
.hc-range .band{position:absolute;top:0;bottom:0;border-radius:7px;background:#b9cdc1}
.hc-range .mark{position:absolute;top:-5px;width:14px;height:24px;margin-left:-7px;border-radius:7px;background:var(--top)}.hc-range .mark.bad{background:var(--brick)}
@media (prefers-color-scheme:dark){.hc-range .band{background:#3f5a4d}.hc-range .mark{background:#efece3}}
.hc-row-f{display:flex;gap:10px;align-items:center;flex-wrap:nowrap}
.hc-temp{display:flex;align-items:center;gap:6px;margin:0}
.hc-temp input{width:104px;height:56px;font-family:var(--display);font-size:1.7rem;text-align:center;border:2px solid var(--line);border-radius:12px;padding:0 6px}
.hc-row.todo .hc-temp input{border-color:var(--brand)}.hc-row.bad .hc-temp input{border-color:var(--brick);color:var(--brick)}
.hc-temp>span[aria-hidden]{color:var(--mut)}
.hc-row-f button{min-height:56px}
.hc-row-st{margin:10px 0 0;font-size:.92rem;font-weight:600;color:var(--brand-d)}.hc-row-st.bad{color:var(--brick)}
.hc-action{margin:10px 0 0;color:var(--brick);font-weight:600}.hc-action input{margin-top:6px;font-weight:400;color:var(--fg)}
.hc-summary{display:flex;flex-direction:column;gap:14px;position:sticky;top:12px}.hc-summary .card{margin:0}
.hc-ring-box{display:flex;flex-direction:column;align-items:center;gap:8px}
.hc-ring-wrap{position:relative;width:170px;height:170px}.hc-ring-num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:2.2rem;color:#f4efe2}
.hc-ring-num small{font-size:1.1rem;color:#c9d3cd}
.hc-ring-leg{display:flex;gap:16px;margin:0;font-size:.92rem;color:#c9d3cd}.hc-ring-leg i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}
.dot-dim{background:#b9cdc1}.dot-sea{background:#d7b56d}.hc-ring-bad{margin:0;color:#f0b39e;font-weight:600}
.hc-bars{display:flex;flex-direction:column;gap:14px}.hc-bars a{text-decoration:none;color:var(--fg);display:flex;flex-direction:column;gap:6px}
.hb-l{display:flex;justify-content:space-between;gap:10px}.hb-l span{color:var(--mut)}
.hc-nc{display:block;background:#fbeee8;color:#8a3a20;border-radius:16px;padding:16px 20px;text-decoration:none;line-height:1.45}
@media (prefers-color-scheme:dark){.hc-nc{background:#3b2620;color:#f0b39e}}
.hc-tiles{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin:12px 0}
.hc-tile{border:0;border-radius:16px;box-shadow:0 1px 0 var(--line);padding:18px 20px;gap:8px}
.hc-tile.done .bar>i{background:var(--brand)}.hc-tile.bad{box-shadow:inset 0 0 0 2px var(--brick)}.hc-tile .bar{margin-top:4px}
.hc-tile em{font-size:.8rem}
.nc-list{padding-left:1.1em}.nc-list small{display:block;color:var(--mut)}
@media (max-width:980px){.hc-layout{grid-template-columns:1fr}.hc-summary{position:static;order:-1}.hc-summary .hc-ring-box{flex-direction:row;justify-content:center;flex-wrap:wrap}}
@media (max-width:640px){.hc-row-main{grid-template-columns:1fr}.hc-row-f{justify-content:space-between}.hc-summary{order:0}}

/* ---- Stoc (v56): bara intrări → consum, cele două fețe ale diferenței ---- */
.st-flow .card-head{flex-wrap:wrap}.st-flow .big-num{font-size:1.9rem}
.st-bar i{display:block;height:100%}.s-theo{background:var(--brand)}.s-waste{background:#8a9b92}.s-marked{background:var(--gold)}.s-gap{background:var(--brick)}
.st-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px 24px}
.st-legend>div{display:flex;flex-direction:column;gap:2px;color:var(--mut);font-size:.95rem}
.st-legend b{font-family:var(--display);font-weight:400;font-size:1.55rem;color:var(--fg)}.st-legend b.bad{color:var(--brick)}
.st-legend b small{font-family:var(--ui);font-size:.95rem;font-weight:650;color:var(--brand-d)}.st-legend>div>small{font-size:.9rem}
.lg{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.st-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:18px;margin:12px 0}.st-pair .card{margin:0}
.st-face{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:var(--fg);margin:12px 0}.st-face small{color:var(--mut)}
.st-net{margin:14px 0 0;padding-top:12px;border-top:1px solid var(--line)}
.st-top{list-style:none;margin:0;padding:0}.st-top li{display:grid;grid-template-columns:minmax(0,1fr) auto 110px;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}
.st-top li:last-child{border-bottom:0}.st-top a{color:var(--fg);font-weight:600;text-decoration:none}.st-top b{text-align:right;font-variant-numeric:tabular-nums}
.st-top .up{color:var(--brick);font-weight:700}.st-top .down{color:var(--blue);font-weight:700}

/* ---- Cine e online + anunțuri (v56) ---- */
.app-notice{position:sticky;top:0;z-index:30;display:flex;flex-direction:column;gap:6px;padding:8px 16px;background:var(--bg)}
.an-item{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;max-width:1100px;margin:0 auto;width:100%;box-sizing:border-box;
  padding:12px 16px;border-radius:12px;background:#f3e6c4;color:#4a3a10;line-height:1.45}
.an-item.err{background:#fbeee8;color:#8a3a20}.an-item.upd{background:#dbe8df;color:#21463a}
.an-item a{color:inherit;font-weight:700}.an-item .an-x{color:inherit;flex:none}
@media (prefers-color-scheme:dark){.an-item{background:#4a3a24;color:#f0cfa0}.an-item.err{background:#3b2620;color:#f0b39e}.an-item.upd{background:#1f4a2c;color:#bfe8c9}}
.ol-sum{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
.ol-chip{background:var(--card);border-radius:999px;padding:8px 16px;box-shadow:0 1px 0 var(--line)}.ol-chip b{font-family:var(--display);font-weight:400;font-size:1.3rem;margin-right:4px}
.ol-chip.activ b{color:var(--brand-d)}.ol-chip.latent b{color:var(--amber)}.ol-chip small{color:var(--mut)}
.ol-st{display:inline-block;padding:3px 10px;border-radius:999px;font-weight:700;font-size:.85rem}
.ol-st.activ{background:#dbe8df;color:#21463a}.ol-st.latent{background:#f3e6c4;color:#5e4a12}.ol-st.plecat{background:var(--track);color:var(--mut)}
tr.ol-plecat td{color:var(--mut)}.ol-table code{font-size:.85rem;color:var(--mut)}
.ol-all{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:12px 0}
.ol-presets{display:flex;flex-wrap:wrap;gap:8px}.ol-presets button{min-height:40px;padding:8px 14px;font-weight:600}
.ol-ann-now{background:#f3e6c4;color:#4a3a10;border-radius:12px;padding:12px 16px;margin-bottom:12px}.ol-ann-now p{margin:0 0 6px}
.ol-closed{padding-left:1.1em;color:var(--mut)}
.ol-chip b{font-family:var(--ui);font-weight:750;font-size:1.15rem}
button.secondary.danger-btn,.btn.secondary.danger-btn{color:var(--brick);border-color:var(--brick)}
/* inelele de pe pagina de start: cifra în inel, eticheta dedesubt – încap și pe carduri înguste */
.ring-v{flex-direction:column;align-items:center;text-align:center;gap:6px;min-width:0}
.ring-box{position:relative;width:84px;height:84px;flex:none}
.ring-in{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--ui);font-weight:750;font-size:1.25rem;font-variant-numeric:tabular-nums;color:var(--fg)}
.ring-in small{font-size:.8rem;font-weight:600;color:var(--mut)}
.ring-v .lab{font-size:.95rem;font-weight:650;color:var(--fg)}.ring-v .sub{font-size:.82rem;color:var(--mut);line-height:1.2}
.ring.ok .v{stroke:var(--brand)}
.home .ring-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
@media (max-width:600px){.home .ring-row{grid-template-columns:repeat(3,minmax(0,1fr))}.ring-box{width:72px;height:72px}.ring-box svg{width:72px;height:72px}}
.app-foot{max-width:1100px;margin:28px auto 0;padding:0 16px;color:var(--mut);font-size:.82rem;text-align:center}
@media (max-width:760px){body.has-bottom .app-foot{margin-bottom:76px}body.has-bottom .app-foot:has(+ .app-banner){margin-bottom:0}body.has-bottom .app-foot+.app-banner{margin-top:8px}}

/* ---- comenzi la pachet (v57) ---- */
.tk-head{text-align:center;margin:10px 0 16px}.tk-brand{font-family:var(--display);font-size:1.7rem;color:var(--brand-d);margin:0}
.tk-brand small{display:block;font-family:var(--ui);font-size:.9rem;color:var(--mut)}
.tk-head h1{margin:.2em 0 .3em;font-size:2.2rem}.tk-how{max-width:34rem;margin:0 auto;line-height:1.5}
.tk-open{margin:8px 0 0;color:var(--brand-d);font-weight:600}
.tk-closed{margin:12px auto 0;max-width:34rem;padding:12px 16px;border-radius:12px;background:#f3e6c4;color:#4a3a10}
.tk-err{max-width:34rem;margin:0 auto 12px;text-align:center}
.tk-qty{margin-top:10px;display:flex;justify-content:flex-end}
.tk-add{min-height:44px;padding:10px 22px}
.tk-step{display:inline-flex;align-items:center;gap:6px;background:var(--track);border-radius:999px;padding:4px}
.tk-step button{width:44px;height:44px;min-height:44px;padding:0;font-size:1.3rem;border-radius:50%}
.tk-step output{min-width:28px;text-align:center;font-weight:750;font-size:1.1rem}
.tk-checkout{margin-top:26px;scroll-margin-top:12px}.tk-checkout h2{margin-top:0}
.tk-lines{list-style:none;margin:0 0 6px;padding:0}.tk-lines li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px dotted var(--line)}
.tk-lines li small{display:block;color:var(--mut)}.tk-lines b{white-space:nowrap}
.tk-total{display:flex;justify-content:space-between;font-size:1.15rem;margin:8px 0 14px}.tk-total b{font-family:var(--display);font-weight:400;font-size:1.5rem}
.tk-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.tk-bar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(14px + env(safe-area-inset-bottom));z-index:20;display:flex;gap:14px;align-items:center;
  width:min(560px,calc(100% - 28px));box-sizing:border-box;padding:14px 20px;border-radius:999px;background:var(--top);color:#f4efe2;text-decoration:none;
  box-shadow:0 12px 30px rgba(31,38,34,.35)}
.tk-bar b{font-family:var(--display);font-weight:400;font-size:1.25rem;color:var(--gold);margin-left:auto}.tk-bar span:last-child{font-weight:700}
.tk .qrm-up{bottom:calc(84px + env(safe-area-inset-bottom))}
.tk-thanks{padding:14px 18px;border-radius:12px;background:#dbe8df;color:#21463a;line-height:1.5}
.tk-status{text-align:left}.tk-num{display:flex;align-items:baseline;gap:10px}.tk-num span{color:var(--mut)}.tk-num b{font-family:var(--display);font-weight:400;font-size:2.6rem}
.tk-steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:0;margin:12px 0}
.tk-steps li{padding:10px 6px;border-radius:10px;background:var(--track);text-align:center;font-size:.9rem;color:var(--mut);font-weight:600}
.tk-steps li.done{background:#dbe8df;color:#21463a}.tk-steps li.now{background:var(--brand);color:#fffdf7}
.tk-state{font-size:1.1rem;line-height:1.5}.tk-state.bad{color:var(--brick);font-weight:650}
@media (prefers-color-scheme:dark){.tk-closed{background:#4a3a24;color:#f0cfa0}.tk-thanks,.tk-steps li.done{background:#1f4a2c;color:#bfe8c9}}
/* personal */
.tk-staff-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}.tk-staff-head h1{margin:.3em 0}
.tk-staff-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.tk-staff-actions form{margin:0}
.tk-online{margin:6px 0 14px;padding:10px 14px;border-radius:12px;font-size:.95rem}.tk-online.on{background:#dbe8df;color:#21463a}.tk-online.off{background:#f3e6c4;color:#4a3a10}
.tk-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.tk-col h2{display:flex;align-items:center;gap:8px;margin:.2em 0 .6em}.tk-n{color:var(--mut);font-weight:600}
.tk-card{background:var(--card);border-radius:16px;padding:16px 18px;margin:0 0 12px;box-shadow:0 1px 0 var(--line);display:flex;flex-direction:column;gap:10px}
.tk-card.new{box-shadow:inset 0 0 0 2px var(--brick)}.tk-card.late{box-shadow:inset 0 0 0 2px var(--amber)}.tk-card.ready{box-shadow:inset 0 0 0 2px var(--brand)}
.tk-who{display:flex;flex-direction:column;gap:2px}.tk-who b{font-size:1.08rem}.tk-who small{color:var(--mut)}.tk-note{margin:4px 0 0;padding:6px 10px;border-radius:8px;background:#f3e6c4;color:#4a3a10;font-size:.92rem}
.tk-mini{margin:0;padding-left:1.1em}.tk-mini li{margin:2px 0}
.tk-confirm{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.tk-confirm span{font-weight:600;margin-right:4px}
.tk-confirm button{min-height:44px;padding:8px 14px}
.tk-reject summary{color:var(--brick);font-weight:600}.tk-reject form{margin-top:8px}
.tk-eta{display:flex;align-items:baseline;gap:8px}.tk-eta span{color:var(--mut)}.tk-eta b{font-family:var(--display);font-weight:400;font-size:1.8rem}
.tk-eta small{color:var(--brick);font-weight:700}
.tk-prog{display:flex;flex-direction:column;gap:6px;font-size:.92rem;color:var(--mut)}
.tk-fiscal{margin:0;padding:8px 12px;border-radius:10px;background:var(--track);font-weight:600}
.tk-done ul{padding-left:1.1em;color:var(--mut)}
.tk-phone{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}
.tk-phone-side{position:sticky;top:12px}
.tk-pick{display:flex;flex-direction:column;gap:10px;max-height:70vh;overflow:auto;margin-top:8px}
.tk-grp{border:0;padding:0;margin:0}.tk-grp legend{font-weight:700;color:var(--brand-d);padding:8px 0 4px}
.tk-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 8px;border-radius:10px;margin:0}
.tk-row span small{display:block;color:var(--mut)}.tk-row input{width:84px;text-align:center;font-size:1.1rem}.tk-row.on{background:#dbe8df}
@media (prefers-color-scheme:dark){.tk-row.on{background:#1f4a2c}.tk-note{background:#4a3a24;color:#f0cfa0}}
@media (max-width:980px){.tk-cols{grid-template-columns:1fr}.tk-phone{grid-template-columns:1fr}.tk-phone-side{position:static}}
.tk-bar.away{opacity:0;pointer-events:none;transform:translate(-50%,20px)}.tk-bar{transition:opacity .2s,transform .2s}
@media (prefers-reduced-motion:reduce){.tk-bar{transition:none}}
.tk-pgrp{border:0}.tk-pgrp legend{font-weight:700;color:var(--brand-d);padding:0 4px}.tk-pgrp select{width:auto;min-width:190px}
.tk-psave{position:sticky;bottom:12px;display:flex;justify-content:flex-end}.tk-pfilter{max-width:420px}
@media (max-width:760px){body.has-bottom .tk-psave{bottom:76px}}
.sup-haccp{border:1px solid var(--line);border-radius:14px;padding:12px 16px}.sup-haccp legend{font-weight:700;color:var(--brand-d);padding:0 6px}
.sup-haccp-row{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:end;margin-bottom:10px}.sup-haccp-row label{margin:0}

/* v59 · pierderi din comandă */
.ko-loss{margin-top:12px;border-top:1px dashed var(--line);padding-top:10px}.ko-loss>summary{cursor:pointer;padding:6px 0;color:var(--bad)}
.ko-loss form{display:flex;flex-direction:column;gap:10px;margin-top:6px}.ko-loss .ko-row{padding:8px 0}
.ko-reasons{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}.ko-reasons legend{font-weight:700;margin-bottom:6px}
.ko-reasons .chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:8px 14px;background:var(--card);cursor:pointer;font-weight:500}
.ko-reasons .chip:has(input:checked){border-color:var(--bad);background:#fbe9e4}
.tag.ks-pierdere{background:#fbe9e4;color:var(--bad)}
/* v60 · comandă nouă: alegerea mesei */
.order-quick{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;border-left:4px solid var(--brand)}
.order-quick label{flex:1;min-width:200px;font-weight:600}.order-quick select{font-size:1.1rem;min-height:46px}
.proto-for{background:#fbf3df;border:1px solid #e2c98f;border-radius:12px;padding:10px 12px}
/* v62 · comenzi la pachet: alarmă tabletă, plăți, cont client */
.tk-alarm{background:#b3261e;color:#fff;border-radius:16px;padding:16px 18px;margin:12px 0;box-shadow:0 0 0 6px rgba(179,38,30,.25);animation:tkpulse 1s infinite}
.tk-alarm h2{color:#fff;margin:0 0 8px;font-size:1.5rem;letter-spacing:.02em}
.tk-alarm-row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 0;border-top:1px solid rgba(255,255,255,.3)}
.tk-alarm-row button{background:#fff;color:#b3261e;font-weight:800;font-size:1.1rem;min-height:52px;padding:0 22px}
.tk-refunds .tk-alarm-row{border-top:1px solid var(--line)}
@keyframes tkpulse{50%{box-shadow:0 0 0 14px rgba(179,38,30,.08)}}
body.tk-ringing{background-color:#fbe9e4}
.tk-sound{background:var(--card);color:var(--ink);border:2px dashed var(--bad)}.tk-sound.on{border:2px solid var(--brand);color:var(--brand)}
.tk-paid{display:inline-block;background:#2f6b4f;color:#fff;font-weight:800;font-size:.75rem;letter-spacing:.06em;border-radius:6px;padding:2px 8px;margin-top:4px}
.tk-unpaid{display:inline-block;border:1px solid var(--line);font-size:.75rem;border-radius:6px;padding:1px 8px;margin-top:4px}
.tk-vch{color:#2f6b4f}
.tk-steps .tk-tick{display:inline-block;width:1.2em;color:#2f6b4f;font-weight:900}.tk-steps small{display:block;opacity:.7}
.tk-paybox{background:#fbf3df;border:1px solid #e2c98f;border-radius:12px;padding:12px 14px;margin:10px 0}
.tk-pay-opt{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.tk-pay-opt legend{font-weight:700;margin-bottom:4px}
.tk-terms{background:#f4efe3;border-radius:12px;padding:10px 12px}
.tk-login{background:#f4efe3;border-radius:12px;padding:12px 14px}.tk-acct-top{text-align:right;margin:0}.tk-acct{margin:0}
.tk-otp{font-size:1.6rem;letter-spacing:.3em;text-align:center;max-width:220px}.tk-code{font-size:1.2rem;letter-spacing:.12em}
.tk-myorders{list-style:none;padding:0}.tk-myorders li{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}
.tk-terms-list li{margin:0 0 10px;line-height:1.5}
form.inline{display:inline}
.tk-who .tk-paid,.tk-who .tk-unpaid{align-self:flex-start}
/* comenzi la pachet: alegerea limbii (română / engleză) */
.tk-lang{margin:0 0 4px;text-align:right;font-size:.9rem}.tk-lang a{padding:4px 6px;text-decoration:none}.tk-lang a[aria-current]{font-weight:700;text-decoration:underline}
/* părerea clientului după vizită: notele 1–5 ca butoane mari, ușor de atins pe telefon */
.fb-form{display:grid;gap:14px}.fb-q{border:0;padding:0;margin:0}.fb-q legend{font-weight:600;margin-bottom:6px}.fb-q legend small{font-weight:400;color:var(--muted,#6b6b6b)}
.fb-scale{display:flex;gap:8px;flex-wrap:wrap}.fb-scale label{margin:0}.fb-scale input{position:absolute;opacity:0;width:1px;height:1px}
.fb-scale span{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:44px;padding:0 12px;border:1px solid #cfc6b4;border-radius:10px;background:#fffdf8;cursor:pointer;font-weight:600}
.fb-scale input:checked+span{background:#4f7564;border-color:#4f7564;color:#fff}.fb-scale input:focus-visible+span{outline:3px solid #c9a86a;outline-offset:2px}
.fb-main legend{font-size:1.1rem}.fb-scores{display:flex;flex-wrap:wrap;gap:6px 14px;margin:4px 0}.fb-scores .neg,.fb-row .neg{color:#a33}
.fb-row.fb-low{border-left:4px solid #b4553f}.fb-row.fb-handled{opacity:.8}.fb-done .actions .btn{margin-right:8px}
.fb-preview{white-space:pre-wrap;font:inherit;font-size:.9rem;background:#f4efe3;border-radius:10px;padding:10px 12px}
.fb-form textarea{width:100%;box-sizing:border-box}.fb-form label{display:grid;gap:4px}.fb-form label.check{display:flex}
/* deschiderea notei: numărul de persoane dintr-o atingere */
.note-open{flex-wrap:wrap;align-items:center}.note-q{width:100%;font-size:.8rem;color:var(--mut)}
.note-open button.pp{min-width:40px;min-height:40px;padding:0 8px}.note-open input{width:64px}
/* grup mare: mese unite */
.grp-form{display:grid;gap:12px;max-width:640px}.grp-form fieldset{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}.grp-form legend{font-weight:600;margin-bottom:6px}
.grp-form .zone-h{width:100%;margin:6px 0 0}.grp-n{max-width:120px;font-size:1.2rem}
.grp-t{display:inline-flex;align-items:center;gap:6px;border:1px solid #cfc6b4;border-radius:10px;padding:8px 12px;min-height:44px;background:#fffdf8;cursor:pointer}
.grp-t:has(input:checked){background:#e3ede7;border-color:#4f7564}.grp-sum{font-weight:600;margin:0}.grp-sum.warn{color:var(--brick)}.grp-sum.ok{color:var(--brand-d)}
/* nota separată: rânduri cu butoane pe persoane, sume pe persoană */
.sb-people{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.sb-count{display:flex;align-items:center;gap:8px;font-weight:600}.sb-count output{min-width:2ch;text-align:center;font-size:1.4rem}.sb-quick{display:flex;gap:8px;flex-wrap:wrap}
.sb-rows{list-style:none;margin:0;padding:0}.sb-row{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px dashed #ddd3bf}
.sb-row.open .sb-item b{color:var(--brick)}.sb-item{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;min-width:0}.sb-price{font-weight:600}.sb-split{color:var(--mut)}
.sb-chips{display:flex;flex-wrap:wrap;gap:6px}.sb-chip{min-width:44px;min-height:44px;border-radius:22px;border:1px solid #cfc6b4;background:#fffdf8;color:inherit;font-weight:700;padding:0 10px}
.sb-chip[aria-pressed=true]{background:#4f7564;border-color:#4f7564;color:#fff}
.sb-sum{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin:14px 0}.sb-sum .card{margin:0}
.sb-p-h{display:flex;gap:8px;align-items:center}.sb-badge{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:16px;background:#4f7564;color:#fff;font-weight:700;flex:none}
.sb-name{flex:1;min-width:0}.sb-p-items{margin:8px 0;padding-left:18px;font-size:.92rem}.sb-line{margin:2px 0}.sb-total{font-family:var(--display);font-size:1.4rem;margin:6px 0}
.sb-code{flex-wrap:wrap;gap:6px}.sb-code input{width:120px}.sb-code-msg{width:100%}.sb-mark{font-size:.85rem;width:100%}.sb-grand{grid-column:1/-1;font-weight:600;margin:0}
.warn-text{color:var(--brick)}.err-text{color:var(--brick)}
@media print{.sb>section.card,.top,.sb-people,.sb-rows,.sb-quick,.actions,.cap,.sb-code,header,.page-help{display:none!important}.sb-sum{grid-template-columns:1fr 1fr}}
/* factură pe firmă: formular public, pagina contabilității, afișul cu QR */
.inv-form h2{margin:8px 0 0;font-size:1.05rem}.inv-cui{display:flex;gap:6px}.inv-cui input{flex:1;min-width:0}.inv-anaf{margin:0;min-height:1.2em}
.inv-detail{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.inv-detail .card{margin:0}
.inv-dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 14px;margin:0}.inv-dl dt{color:var(--mut)}.inv-dl dd{margin:0}
.inv-steps{margin:8px 0 14px}.inv-up{margin-top:10px}
.inv-poster{max-width:520px;margin:10px auto;text-align:center;border:2px solid var(--top);border-radius:24px;padding:28px 24px;background:#fffdf8}
.inv-poster h1{margin:.1em 0}.inv-brand{font-family:var(--display);font-size:1.6rem;color:var(--brand);margin:0}
.inv-qr{max-width:300px;margin:14px auto}.inv-qr svg{width:100%;height:auto}.inv-url{font-weight:700;margin:0}.inv-en{color:var(--mut);font-size:.92rem}
@media print{.no-print,.top,.page-help,.app-foot{display:none!important}.inv-poster{border-width:3px;margin-top:0}}
.sb-inv{margin-top:10px;border-top:1px dashed #ddd3bf;padding-top:8px}.sb-inv-f{display:grid;gap:6px;margin-top:6px}.sb-inv-f label{display:grid;gap:2px;font-size:.88rem}
.sb-inv-print{display:none;margin:4px 0 0;font-size:.9rem}
@media print{.sb-inv>label,.sb-inv-f{display:none!important}.sb-inv-print{display:block}}
/* promovare: canale pe promoție, planul, pagina publică de oferte */
.pc-promo summary{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between;cursor:pointer}
.pc-title{display:flex;flex-direction:column;gap:2px}.pc-title small{color:var(--mut)}.pc-promo.off{opacity:.75}
.pc-chips{display:flex;flex-wrap:wrap;gap:4px}.pc-chip{display:inline-block;font-size:.75rem;font-weight:700;padding:2px 8px;border-radius:10px;background:#ece5d6;color:#5b5446}
.pc-chip.s-activă,.pc-chip.s-publicată{background:#dcebe2;color:#2f5b45}.pc-chip.s-de-publicat,.pc-chip.s-de-retras{background:#f7e0cf;color:#9a4a1c}
.pc-chip.s-programată{background:#e3e9f3;color:#3b5a85}.pc-chip.s-încheiată,.pc-chip.s-retrasă,.pc-chip.s-oprită{background:#eee;color:#888}
.pc-presets{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:12px 0}.pc-presets span{font-size:.9rem;color:var(--mut)}
.pc-table tr:not(.on) td{color:var(--mut)}.pc-table input[type=date]{min-width:140px}.pc-table td{vertical-align:middle}
.pc-setup .card textarea{width:100%;box-sizing:border-box}
.pp-wrap{overflow-x:auto}.pp{border-collapse:collapse;font-size:.8rem}.pp th,.pp td{border:1px solid #e6dfd0;padding:3px;text-align:center;min-width:34px}
.pp .pp-name{text-align:left;min-width:160px;position:sticky;left:0;background:var(--card,#fffdf8)}.pp th.today,.pp td.today{outline:2px solid var(--brand)}
.pp th.we{background:#f4efe3}.pp td.on{background:#e3ede7}.pp td.off{background:repeating-linear-gradient(45deg,#f6f2ea,#f6f2ea 4px,#fff 4px,#fff 8px)}
.pp td span{display:block;font-weight:700;font-size:.68rem;line-height:1.25;color:#2f5b45}
.offer{display:grid;gap:14px}.offer.has-photo{grid-template-columns:minmax(0,180px) 1fr}.offer img{width:100%;border-radius:12px;object-fit:cover;aspect-ratio:1}
.offer h2{margin:0}.offer-k{margin:0;font-size:.85rem;color:var(--mut);text-transform:uppercase;letter-spacing:.04em}.offer-price{color:var(--brand);white-space:nowrap}
@media (max-width:560px){.offer.has-photo{grid-template-columns:1fr}}
.pc-title .tag{align-self:flex-start}.pp-nav{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:8px 0 12px}.pp-nav .btn{width:auto}
/* impactul aplicației */
.im-start{flex-wrap:wrap}.im-start .cap{width:100%;margin:6px 0 0}.im-t td.num,.im-t th.num{text-align:right;white-space:nowrap}
.im-up{color:var(--brand-d,#2f5b45);font-weight:700}.im-down{color:var(--brick,#a33);font-weight:700}.im-form h3{margin:10px 0 0;font-size:1rem}.im-form h3 small{font-weight:400}
/* postări gata făcute pentru rețelele sociale */
.sp-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,320px));gap:18px}.sp-row figure{margin:0}.sp-row img{width:100%;border-radius:12px;border:1px solid #e6dfd0;display:block}
.sp-row figcaption{font-size:.88rem;color:var(--mut);display:flex;flex-direction:column;gap:6px;margin-top:6px}.sp-row figcaption .btn{align-self:flex-start}
.sp-caps{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.sp-cap{border:1px solid #e6dfd0;border-radius:12px;padding:10px 12px;background:#fffdf8}
.sp-cap-h{display:flex;justify-content:space-between;align-items:center;gap:8px}.sp-cap pre{white-space:pre-wrap;font:inherit;font-size:.92rem;margin:8px 0 0}
.sp tr.past td{color:var(--mut)}.sp-net h3{font-size:1rem;margin:14px 0 4px}
.sp-photo{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-start;margin-bottom:12px}.sp-cur{width:150px;height:150px;object-fit:cover;border-radius:12px;border:1px solid #e6dfd0}
.sp-none{display:flex;align-items:center;justify-content:center;background:#2d3934;color:#f4efe2;font-size:.9rem}
.sp-pick{border-top:1px dashed #ddd3bf;padding-top:8px;margin-bottom:12px}.sp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.sp-grid form{margin:0}.sp-grid button{all:unset;cursor:pointer;display:flex;flex-direction:column;gap:4px;font-size:.78rem;color:var(--mut)}
.sp-grid button:focus-visible img{outline:3px solid var(--brand)}.sp-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px}
.sp-var{margin:18px 0 6px;font-size:1.02rem}.sp-row{grid-template-columns:repeat(auto-fill,minmax(160px,220px))}
.sp-themes{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:4px 0 10px}.sp-themes span{font-size:.9rem;color:var(--mut)}
.sp-theme{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid #d9d1c0;border-radius:20px;text-decoration:none;color:inherit;font-size:.9rem;background:#fffdf8}
.sp-theme i{width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,var(--a),var(--b));box-shadow:inset 0 0 0 4px var(--c)}
.sp-tapas{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.sp-theme.on{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand);font-weight:700}
.st-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}.st-grid .card{margin:0}
.st-top{width:100%;border-collapse:collapse}.st-top td{padding:5px 0;vertical-align:middle;border-bottom:1px solid var(--line);font-size:.9rem}.st-top td.num{text-align:right;padding-left:10px;white-space:nowrap;font-variant-numeric:tabular-nums}
.st-top td:first-child{max-width:0;width:100%}.st-cell{padding:3px 6px;border-radius:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:linear-gradient(to right,rgba(194,78,51,.13) var(--w),transparent var(--w))}.st-kpis{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.resv-upcoming h2{margin:0}.resv-upcoming table{margin-top:10px}
.resv-newday td{border-top:2px solid var(--line)}
.msg-pop{position:fixed;right:16px;top:76px;z-index:1000;display:flex;flex-direction:column;gap:10px;max-width:min(420px,calc(100vw - 32px))}
.msg-pop-item{background:var(--card,#fff);border:2px solid var(--brand,#2f5b45);border-radius:14px;padding:14px 16px;box-shadow:0 12px 32px rgba(0,0,0,.22);animation:msgpop .25s ease-out}
.msg-pop-item.resv{border-color:#c24e33}.msg-pop-item b{display:block;margin-bottom:4px}.msg-pop-item p{margin:0 0 10px}.msg-pop-item .actions{display:flex;gap:10px;flex-wrap:wrap}
@keyframes msgpop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.msg-pop-item{animation:none}}
.tag.rs-noua{background:#c24e33;color:#fff;font-weight:700}.tag.rs-activa{background:#dbe8df;color:#21463a}.tag.rs-anulata{background:#eee;color:#666}
.tag.rs-sosita{background:#2f5b45;color:#fff}.tag.rs-neprezentata{background:#f6e0d8;color:#8a3a20}
td .tag[class*="rs-"]+small{display:block}

/* Analiză → Note (03.11.2026) */
.checklist{padding-left:1.1rem;line-height:1.75;margin:6px 0}.checklist a{color:inherit}.checklist b{font-variant-numeric:tabular-nums}
.section-title{margin:28px 0 10px}
.heat-table td.heat{border-radius:3px;font-variant-numeric:tabular-nums;white-space:nowrap}

/* Comanda: gradul de gătire, pahare, se împarte (03.11.2026) */
.ko-done{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:6px}
.ko-done-one{display:flex;flex-direction:column;align-items:stretch;gap:4px;border:1px solid var(--line);border-radius:8px;padding:6px}
.ko-done-one span{font-size:.85rem;font-weight:600}.ko-done-one .ko-qty{justify-content:space-between}
.ko-done-one .ko-qty .q-in{width:40px}
.ko-row .ko-extra{grid-column:1/-1;display:none;gap:8px;flex-wrap:wrap;align-items:end}.ko-row.on .ko-extra{display:flex}
.ko-row .ko-extra .ko-note{flex:1 1 220px;display:block}
.ko-glasses input{width:90px}.ko-glasses{font-weight:600}.ko-share select{width:auto;min-width:150px}
.ko-prep,.ks-prep{display:inline-block;background:#7a2a20;color:#fff;border-radius:6px;padding:1px 7px;font-size:.85em;font-style:normal;font-weight:700}
.tk-done-pick{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.tk-done-pick[hidden]{display:none}
.tk-done-pick button{font-size:.88rem;padding:6px 10px}
.tk-review{max-width:520px;width:calc(100% - 32px);border:0;border-radius:14px;padding:18px}.tk-review::backdrop{background:rgba(0,0,0,.45)}
.tk-review ul{list-style:none;padding:0;margin:8px 0}.tk-review li{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--line)}
.tk-review .tk-rv-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px;flex-wrap:wrap}
.tk-lines li .tk-ln-q{display:flex;gap:4px;flex:none;align-items:center}.tk-lines li .tk-ln-q button{min-width:34px;padding:2px 0}
.tk-lines li>span:first-child{flex:1}
.tk-done-pick button.on{background:var(--brand);color:#fff}

/* Administrare → Funcții (03.11.2026) */
.ft-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-top:1px solid var(--line);cursor:pointer}
.ft-row:first-of-type{border-top:0}.ft-txt{display:flex;flex-direction:column;gap:2px}.ft-txt small{color:var(--mut)}
.ft-dep{padding-left:22px}.ft-off{opacity:.5}
.ft-sw{display:flex;align-items:center;gap:8px;flex:none}.ft-sw input{width:22px;height:22px}.ft-state{min-width:52px;font-weight:600}
.ft-save{position:sticky;bottom:12px;display:flex;justify-content:flex-end}
/* Comanda din QR */
.qro-qty{display:flex;align-items:center;gap:10px;margin-top:8px}.qro-qty output{font-size:.85rem;font-weight:600;color:var(--brand)}
.qro-ln{flex-wrap:wrap}.qro-opts{flex-basis:100%;display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}.qro-opts:empty{display:none}
.qro-mine .qro-one{border-top:1px solid var(--line);padding:6px 0}.qro-mine .st-respinsa{color:var(--bad2)}.qro-mine ul{margin:4px 0 0 1rem;padding:0}
.qro-lines{margin:6px 0 0 1rem;padding:0}.qro-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.qro-reject{display:flex;gap:6px;align-items:center}
.qro-reject select{width:auto}
.qro-opts label{display:flex;align-items:center;gap:6px;font-size:.88rem;font-weight:600;margin:0}.qro-opts small{font-weight:400}
.qro-opts select,.qro-opts input{width:auto;min-width:0;padding:4px 8px}.qro-opts input{width:70px}

/* ---- Etapa 3 – tableta (04.11.2026) ---- */
/* link direct în meniu (grupuri cu un singur link, ex. contabil) */
.top .nav-direct{color:#fff;font-weight:600;padding:6px 10px;border-radius:999px;text-decoration:none;white-space:nowrap}
.top .nav-direct.active{background:rgba(255,255,255,.22)}
.bottom-nav a[aria-current="page"]{background:var(--bg);box-shadow:inset 0 3px 0 var(--brand)}
/* ecran tactil (tabletele din local, telefoane): bara de jos și pe ecrane late, ținte de atingere de cel puțin 44 px */
@media (pointer:coarse){
  body.has-bottom main{padding-bottom:84px}
  .bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:10;background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
  .bottom-nav a{flex:1;text-align:center;padding:14px 4px;text-decoration:none;font-weight:600;color:var(--brand);min-height:48px}
  body.has-bottom .app-foot{padding-bottom:84px}
  button.sm,.btn.sm,a.btn.sm{min-height:44px;padding-left:14px;padding-right:14px}
  .link-dark,.linkbtn,button.link:not(.an-x){min-height:44px;display:inline-flex;align-items:center;padding:0 8px}
  .nav-group>summary,.top .nav-direct{min-height:44px;display:inline-flex;align-items:center;padding:6px 14px}
  .top-search input{min-height:40px}
  .ko-qty button{min-width:48px;min-height:48px}
  .ko-qty .q-in{min-height:48px;width:52px}
  input[type=checkbox],input[type=radio]{width:22px;height:22px}
}
@media (pointer:coarse) and (max-width:760px){
  .nav-group>summary{display:block}
}
/* tabelele late se derulează orizontal pe telefon, în loc să iasă din ecran */
@media (max-width:760px){
  main table:not(.tw-ok){display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .tablewrap table{display:table}
}
.confirm-dlg{max-width:440px;width:calc(100% - 32px);border:0;border-radius:14px;padding:20px}.confirm-dlg::backdrop{background:rgba(0,0,0,.45)}
.confirm-dlg p{font-size:1.05rem;font-weight:600;margin:0 0 14px}.confirm-dlg .actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.confirm-dlg label{display:block;margin-bottom:14px}
.confirm-dlg #confirm-yes{background:#b3261e;border-color:#b3261e;color:#fff}.confirm-dlg #confirm-yes:disabled{opacity:.45}
/* Analiza: grupuri + taburile grupului; pe telefon un select */
.tabs.an-groups a{font-size:1.02rem}.tabs.an-sub{border-bottom:0;margin-top:-4px}.tabs.an-sub a{font-size:.92rem;padding:7px 12px;border-radius:999px;border-bottom:0}
.tabs.an-sub a.on{background:var(--bg);color:var(--brand)}
.an-select{display:none}
@media (max-width:760px){.tabs.an-groups,.tabs.an-sub{display:none}.an-select{display:block;margin:8px 0}}
.sala-tabs,.doc-tabs{margin-top:0}
/* HACCP: observația doar când e nevoie de ea */
.hc-row:not(.bad):not(.ask-note) .hc-note:placeholder-shown{display:none}
.hc-row.ask-note .hc-note{border-color:#b3261e}
.hc-rest{margin:6px 0 10px}.hc-rest button{width:100%}
.hc-row button.link.small{margin-left:auto}
/* cardul mesei: „Mai mult” */
.tbl-more{flex-basis:100%;margin-top:4px}.tbl-more>summary{cursor:pointer;font-weight:600;color:var(--brand);padding:6px 2px;list-style:none}
.tbl-more>summary::-webkit-details-marker{display:none}.tbl-more>summary::after{content:" ▾"}.tbl-more[open]>summary::after{content:" ▴"}
.tbl-more[open]{display:flex;flex-direction:column;gap:6px}.tbl-more .btn,.tbl-more button{width:100%}
.tbl-more-row{display:flex;gap:6px}.tbl-more-row input{flex:1;min-width:3.5em;width:auto}.tbl-more .tbl-more-row button{width:auto;flex:0 0 auto}
@media (pointer:coarse){.tbl-more>summary{min-height:44px;display:flex;align-items:center}}
/* selectorul de perioadă comun (_period.html) */
.per-pick{margin:10px 0 14px}.per-cuts{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.per-cut{padding:6px 12px;border:1px solid var(--line,#d9d2c3);border-radius:999px;text-decoration:none;color:inherit;font-size:.92em;background:var(--card,#fff)}
.per-cut.on{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600}
.per-form.filters{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:6px 0 2px}.per-now{margin:2px 0 0;font-size:.9em}
@media (pointer:coarse){.per-cut{min-height:40px;display:inline-flex;align-items:center}}
/* închiderea casei (/casa) */
.cash-sum{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.cash-sum .stat b{font-size:1.5em;display:block}.cash-sum b.bad,.cash-live b.bad{color:#b3261e}
.cash-form h3{margin:18px 0 6px}.cash-pay{display:grid;grid-template-columns:120px 1fr;gap:8px;margin-bottom:6px}
.denoms{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;margin:8px 0}
.cash-live{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:6px;margin:14px 0;background:var(--bg2,#f6f1e7)}
#expl-wrap.need textarea{border-color:#b3261e;box-shadow:0 0 0 2px rgba(179,38,30,.15)}
#expl-wrap{display:block;margin-top:8px}#expl-wrap textarea{display:block;width:100%;margin-top:4px}
/* recepția mărfii */
.recv-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}.recv-list li{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.recv-q{display:inline-flex;gap:6px;align-items:center;justify-content:flex-end}.recv-table input:not(.q-in){width:100%;min-width:140px}
.recv-x{display:grid;grid-template-columns:1fr 90px 90px;gap:6px;margin:6px 0}.recv-extra{margin:12px 0}.recv-form>button{margin-top:10px}
@media (max-width:640px){.recv-table thead{display:none}.recv-table,.recv-table tbody,.recv-table tr,.recv-table td{display:block;width:100%}
.recv-table tr{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;padding:10px 0;border-bottom:1px solid var(--line,#e5dfd2)}
.recv-table td{border:0;padding:0;text-align:left}.recv-table td.rv-name{grid-column:1/-1;font-weight:600}
.recv-table td[data-l]::before{content:attr(data-l);display:block;font-size:.8em;color:var(--mut)}.recv-table td[data-l="Notă"]{grid-column:1/-1}
.recv-q{justify-content:flex-start}.recv-table .q-in{width:90px}}
/* predarea turei */
.ho-card{border:1px solid var(--line,#e5dfd2);border-radius:12px;padding:12px 14px;margin:10px 0;background:var(--card,#fff)}
.ho-card header{margin-bottom:6px}.ho-card p{margin:4px 0}.ho-card.ho-taken{opacity:.85}
.ho-take{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.ho-take input{flex:1;min-width:200px}
.ho-form label{display:block;margin-top:8px}.ho-form textarea{width:100%}.ho-new>summary{cursor:pointer;padding:4px 0}
/* bugetul de ore în program */
.sch td.pl-over,.pl-over{background:#fbe3e1;color:#8d1c14}.sch td.pl-under,.pl-under{background:#fff4d6;color:#7a5200}
@media print{.mep input{display:none}}
.dp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:10px}.dp h3{margin:0 0 4px}.dp-top{margin:6px 0 0 18px;padding:0}.dp-top li{margin:2px 0}

/* facturi furnizori: dosarele zilelor, factura lângă formular */
a.kpi{text-decoration:none;color:inherit}
.sinv-day{border-top:1px solid var(--line);padding:.4rem 0}
.sinv-day>summary{cursor:pointer;padding:.3rem 0}
.sinv-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:1rem;align-items:start}
.sinv-frame{width:100%;height:78vh;border:1px solid var(--line);border-radius:6px;background:#fff}
.sinv-img{max-width:100%;height:auto;border:1px solid var(--line);border-radius:6px}
.sinv-lines input{width:100%;min-width:3.5rem}
.sinv-dl{display:grid;grid-template-columns:auto 1fr;gap:.25rem .8rem}
.sinv-dl dt{color:var(--mut)}
@media (max-width:900px){.sinv-grid{grid-template-columns:1fr}.sinv-frame{height:60vh}}
.sinv-lines td.sinv-name{min-width:12rem;width:40%}
.staff-table td{vertical-align:top}.staff-table td.staff-act{white-space:nowrap}.staff-table td.staff-act form{margin-top:.3rem}
.inv-act{white-space:nowrap}.inv-act form.inline{display:inline}
.tech{white-space:pre-wrap;font-size:.8rem;background:var(--card);border:1px solid var(--line);border-radius:6px;padding:8px;overflow-x:auto}
.kiosk-modes{display:grid;gap:10px;margin:12px 0}.kiosk-modes button.big{font-size:1.25rem;padding:18px 12px;width:100%}
.kiosk-modes button.out{background:var(--bad,#a33)}
.kiosk-nfc{text-align:center;margin:8px 0 14px}.kiosk-nfc button{font-size:1.1rem;padding:14px 20px}
.tablet-done{font-weight:700}
.access-grid th.c,.access-grid td.c{text-align:center}.access-grid input[type=checkbox]{width:22px;height:22px}
.kiosk-today{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin:14px 0}.kt-list{list-style:none;padding:0;margin:0}.kt-list li{padding:6px 0;border-bottom:1px solid var(--line)}.kt-list li.arr{opacity:.6}
.brand-logo{height:40px;width:auto;display:block}.login-logo{max-height:90px;max-width:100%}.look-logo img{max-height:70px;background:var(--top);padding:8px;border-radius:8px}.look-row{display:grid;gap:10px;margin-bottom:10px}.look-color{display:flex;gap:10px;align-items:center}.look-color input[type=color]{width:64px;min-height:44px;padding:2px}.product-line{text-align:center;color:var(--mut);font-size:.85rem;margin-top:14px}.app-foot .product{font-weight:600;letter-spacing:.02em}

/* marca PatronReCa (direcția C „Tabloul de bord”): pătratul 2×2 + Patron/ReCa, verde-petrol #0f6e6e */
.pr-mark{display:inline-flex;align-items:center;gap:7px;vertical-align:middle;font-family:"Schibsted Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1;color:var(--fg)}
.pr-bon{display:block;flex:none;width:15px;height:18px}
.pr-word{font-weight:600;font-size:.95rem;letter-spacing:-.015em}.pr-word em{font-style:normal;color:#3d6f6b}
.pr-md .pr-bon{width:24px;height:29px}.pr-md .pr-word{font-size:1.3rem}
@media (prefers-color-scheme:dark){.pr-word em{color:#5fb8b0}}
.product-line{display:flex;flex-direction:column;align-items:center;gap:6px}
.kiosk-pr{margin-left:auto;opacity:.85}
.loc-pick select{min-height:36px;padding:4px 8px;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:8px;width:auto}.loc-pick option{color:#000}

/* Logo-ul redus PatronReCa pe fundal închis, pe pagina de autentificare (06.11.2026, pachetul logo v1). */
.pr-logo-redus{display:block;width:220px;max-width:70%;height:auto;margin:0 auto}
.pr-lg .pr-bon{width:30px;height:36px}.pr-lg .pr-word{font-size:1.6rem}
/* demo public PatronReCa (DEMO_MODE=1) */
.demo-bar{background:#16302e;color:#f4ece4;font-size:.85rem;padding:6px 14px;text-align:center;line-height:1.5}
.demo-bar b{color:#5fb8b0}.demo-bar a,.demo-bar button.link{color:#9cc9c4}.demo-bar form.inline{display:inline}
.demo-login{max-width:640px;margin:24px auto;padding:0 16px}
.demo-logo{background:#16302e;border-radius:14px;padding:22px;margin:0 0 18px;text-align:center}.demo-logo img{display:block;margin:0 auto;width:240px;max-width:75%;height:auto}
.demo-login h1{margin:.2em 0}.demo-lead{color:var(--mut);margin:0 0 18px}
.demo-login fieldset{border:0;padding:0;margin:0 0 18px}.demo-login legend{font-weight:700;margin-bottom:8px}
.demo-locs{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.demo-loc{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);background:var(--card);border-radius:10px;padding:12px;cursor:pointer}
.demo-loc:has(input:checked){border-color:#3d6f6b;box-shadow:0 0 0 2px #5fb8b066}
.demo-loc span{display:grid}.demo-loc small,.demo-role small{color:var(--mut);font-size:.82rem}
.demo-roles{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.demo-role{display:grid;gap:4px;text-align:left;background:var(--card);color:var(--fg);border:1px solid var(--line);border-radius:10px;padding:14px}
.demo-role b{font-size:1.1rem;color:#3d6f6b}.demo-role:hover{border-color:#3d6f6b;filter:none}
@media (prefers-color-scheme:dark){.demo-role b{color:#5fb8b0}}
.demo-note{color:var(--mut);font-size:.85rem}
.demo-public{border-top:1px solid var(--line);margin-top:18px;padding-top:6px}.demo-public h2{font-size:1.1rem;margin:.6em 0 .2em}
.demo-links{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;margin:.5em 0}.demo-links b{flex-basis:100%}
@media (max-width:520px){.demo-locs,.demo-roles{grid-template-columns:1fr}}
.demo-langs a{padding:0 3px;text-decoration:none}.demo-langs a[aria-current]{color:#f4ece4;font-weight:700;text-decoration:underline}
.demo-lang-pick{display:flex;gap:8px;justify-content:center;margin:0 0 14px}
.demo-lang-pick a{border:1px solid var(--line);border-radius:999px;padding:6px 14px;text-decoration:none;color:var(--fg);background:var(--card)}
.demo-lang-pick a[aria-current]{background:#16302e;color:#f4ece4;border-color:#16302e}
.demo-pill{position:fixed;left:10px;bottom:10px;z-index:60;display:flex;align-items:center;gap:2px;background:#16302ee6;color:#f4ece4;border-radius:999px;padding:4px 6px 4px 10px;font-size:.75rem;box-shadow:0 2px 8px #0003}
.demo-pill b{color:#5fb8b0;margin-right:4px}.demo-pill a{color:#9cc9c4;text-decoration:none;padding:3px 5px;border-radius:999px}
.demo-pill a[aria-current]{background:#5fb8b0;color:#16302e;font-weight:700}.demo-pill form{display:inline}
.demo-pill button{background:none;color:#9cc9c4;min-height:0;padding:2px 6px;font-size:.9rem}
body.has-bottom .demo-pill{bottom:76px}
.demo-langs-top{display:inline-flex;align-items:center;gap:2px;border:1px solid #ffffff40;border-radius:999px;padding:2px;font-size:.8rem;white-space:nowrap}
.demo-langs-top a{color:#fff;text-decoration:none;padding:3px 6px;border-radius:999px;opacity:.8}
.demo-langs-top a[aria-current]{background:#5fb8b0;color:#16302e;font-weight:700;opacity:1}
.demo-langs-top form{display:inline}.demo-langs-top button{background:none;color:#fff;min-height:0;padding:2px 8px;font-size:.9rem}
.demo-ask{color:#16302e;background:#9cc9c4;border-radius:999px;padding:4px 10px;font-size:.8rem;text-decoration:none;font-weight:700;white-space:nowrap}
.demo-acc-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;align-items:end}.demo-acc-form .wide{grid-column:1/-1}
.demo-st{display:inline-block;font-size:.75rem;border-radius:999px;padding:2px 8px;vertical-align:middle;background:#e6dfcf;color:#2d3934}
.demo-st-activ{background:#5fb8b0;color:#16302e}.demo-st-expirat,.demo-st-oprit{background:#f2d4cc;color:#8a2a1a}
.demo-fb{list-style:none;padding:0;margin:0}.demo-fb li{border-bottom:1px solid var(--line);padding:10px 0}.demo-fb-head{font-size:.85rem;color:var(--mut)}
.demo-act{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.demo-kind{border:0;padding:0;display:flex;gap:16px}
.demo-dummy{margin:0;background:#fff4d6;color:#5a4410;border-bottom:1px solid #e9d39a;font-size:.82rem;text-align:center;padding:5px 14px;line-height:1.45}.demo-dummy b{color:#8c6a12}
.demo-q{max-width:720px;margin:16px auto}.demo-q label{display:block;margin:10px 0}.demo-q select,.demo-q textarea,.demo-q input[name=contact]{width:100%}
.demo-kinds{border:0;padding:0;margin:8px 0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.demo-kinds legend,.demo-row legend{font-weight:700;margin-bottom:6px}
.demo-kind-card{display:flex!important;gap:8px;align-items:flex-start;border:1px solid var(--line);border-radius:10px;padding:10px;margin:0!important;cursor:pointer}
.demo-kind-card:has(input:checked){border-color:#3d6f6b;box-shadow:0 0 0 2px #5fb8b066}.demo-kind-card span{display:grid}.demo-kind-card small{color:var(--mut);font-size:.8rem}
.demo-row{border:0;padding:0;margin:10px 0;display:flex;flex-wrap:wrap;gap:6px 18px}.demo-row label{display:inline-flex!important;gap:6px;margin:0!important}
.small-note{font-size:.85rem;margin:-4px 0 6px}
@media (max-width:520px){.demo-kinds{grid-template-columns:1fr}}
.demo-prio{background:#b5523b;color:#fff;border-radius:6px;padding:0 6px;font-size:.75rem}.demo-prio.soft{background:#c9a24a}
.demo-access{max-width:560px}.demo-access{overflow:hidden}.demo-access-head{background:var(--top,#2d3934);margin:-18px -20px 14px;padding:18px 20px}.demo-access-head{display:flex;justify-content:center}.demo-access-head img{display:block;width:150px;height:150px}
.demo-access label{display:block}.demo-access label input{display:block;margin-top:4px}.demo-access input[name^=pin]{font-size:1.3rem;letter-spacing:.3em;max-width:16rem}
.demo-terms{border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin:14px 0;background:var(--bg)}.demo-terms h2{font-size:1.05rem;margin:0 0 6px}
.demo-terms ul{margin:0 0 10px;padding-left:1.2rem}.demo-terms li{margin:.3rem 0;line-height:1.45}.demo-terms-ok{display:flex!important;gap:8px;align-items:flex-start;font-weight:600}
/* demo: meniul de sus pe un singur rând, sub bara cu restaurantul, căutarea și limba */
@media (min-width:761px){
  body.is-demo .top{row-gap:6px}
  body.is-demo .top .brand{margin-right:auto}
  body.is-demo .top .main-nav{order:20;flex:1 1 100%;flex-wrap:nowrap;gap:2px;border-top:1px solid rgba(255,255,255,.12);padding-top:6px}
}
