:root{--bg:#f4f5f7;--card:#fff;--ink:#16181d;--muted:#6b7280;--accent:#1f6feb;--ok:#15803d;--err:#b91c1c;--line:#e5e7eb}
@media(prefers-color-scheme:dark){:root{--bg:#0f1115;--card:#181b21;--ink:#eceef2;--muted:#9aa1ad;--accent:#4c8dff;--ok:#4ade80;--err:#f87171;--line:#2a2f38}}
*{box-sizing:border-box}
body{margin:0;font:16px/1.4 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%}
main{max-width:720px;margin:0 auto;padding:16px 16px calc(24px + env(safe-area-inset-bottom))}
main.wide{max-width:1100px}
h1{font-size:1.4rem;margin:0 0 12px}
h2{font-size:1.05rem;margin:0 0 10px}
h3{font-size:1rem;margin:16px 0 4px}
h4{font-size:.9rem;margin:8px 0 6px;color:var(--muted);font-weight:600}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:14px}
.hidden{display:none!important}
.muted{color:var(--muted);font-size:.9rem}
.center{text-align:center}
.msg{min-height:1.2em;margin:8px 0 0;font-size:.95rem}
.msg.ok{color:var(--ok)}.msg.err{color:var(--err)}
label{display:block;font-weight:600;margin-bottom:12px}
select,input[type=text],input[type=password],input[type=email],input[type=date],input:not([type]){display:block;width:100%;margin-top:6px;padding:12px;font-size:1rem;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink)}
button{font:inherit;padding:12px 16px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer}
button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600;width:100%;margin-top:8px}
button:disabled{opacity:.5;cursor:default}
button.link{border:0;background:none;color:var(--accent);padding:6px}
button.danger{color:var(--err);border-color:var(--err)}
.bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.row{display:flex;gap:10px}.row>button{flex:1}
.cats{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cats button{padding:18px 8px;font-size:1.05rem;display:flex;flex-direction:column;align-items:center;gap:4px;border-width:2px}
.cats button:last-child:nth-child(odd){grid-column:1/-1}
.cats button .ico{font-size:1.8rem}
.cats button.sel{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--card));font-weight:700}
.subhead{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.subhead button{padding:6px 10px;font-size:.9rem}
.subhead strong{font-size:1rem}
.picked{margin-top:10px;font-size:.95rem}
.thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}
.thumbs div{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;background:var(--bg)}
.thumbs img{width:100%;height:100%;object-fit:cover}
.thumbs button{position:absolute;top:4px;right:4px;padding:2px 8px;border-radius:20px;background:rgba(0,0,0,.65);color:#fff;border:0}
/* admin */
.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.filters label{margin:0}
.quick{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.quick button{padding:8px 12px;font-size:.9rem}
table.matrix{width:100%;border-collapse:collapse;font-size:.92rem}
table.matrix th,table.matrix td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:center}
table.matrix th:first-child,table.matrix td:first-child{text-align:left}
table.matrix td.zero{color:var(--muted)}
table.matrix td[data-l]{cursor:pointer}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}
.th{position:relative;padding:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;aspect-ratio:1;background:var(--bg)}
.th img{width:100%;height:100%;object-fit:cover;display:block}
.th span{position:absolute;left:0;right:0;bottom:0;background:rgba(0,0,0,.55);color:#fff;font-size:.75rem;padding:2px 6px;text-align:left}
.day{margin:22px 0 4px;padding-top:8px;border-top:2px solid var(--line);text-transform:capitalize}
#lb{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:10;display:flex;flex-direction:column}
#lb .top,#lb .bot{display:flex;gap:8px;justify-content:space-between;align-items:center;padding:10px 12px;color:#fff;flex-wrap:wrap}
#lb .img{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:0 8px}
#lb img{max-width:100%;max-height:100%;object-fit:contain}
#lb button,#lb a{background:#2b2f37;color:#fff;border:0;border-radius:8px;padding:10px 14px;text-decoration:none;font-size:.95rem}
#lb button.danger{background:#7f1d1d}
.pinrow{display:grid;grid-template-columns:1fr 100px auto;gap:8px;align-items:center;margin:8px 0}
.pinrow input{margin:0}
details summary{cursor:pointer;font-weight:600}

textarea{display:block;width:100%;margin-top:6px;padding:12px;font:inherit;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink)}
.stockrows{margin-top:6px}
.stockrow{display:grid;grid-template-columns:1fr 110px;gap:10px;align-items:center;margin:0;padding:8px 0;border-bottom:1px solid var(--line);font-weight:500}
.stockrow em{color:var(--muted);font-style:normal;font-size:.9rem}
.stockrow input{margin:0;text-align:right}
.stockrow.note{grid-template-columns:1fr}
.stockrow.note textarea{margin:0;resize:vertical}
.stockrow.money select,.stockrow.operator select{grid-column:1/-1;display:block;width:100%;padding:12px;font-size:1rem;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink)}
table.stock th{font-size:.85rem;vertical-align:bottom}
.itemrow{display:grid;grid-template-columns:1fr 90px auto auto auto auto;gap:6px;align-items:center;margin:8px 0}
.itemrow input{margin:0}.itemrow button{padding:8px 10px;font-size:.9rem}
.itemrow.off input{opacity:.5}
@media(max-width:640px){.itemrow{grid-template-columns:1fr 80px}}

/* bifă pe categorii + punct de lucru mare + notă categorie */
.cats button{position:relative}
.cats .tick{position:absolute;top:6px;right:8px;width:24px;height:24px;line-height:24px;border-radius:50%;background:var(--ok);color:#fff;font-size:.95rem;font-weight:700;text-align:center}
#locName{display:block;font-size:1.7rem;line-height:1.15}
.catnote{margin:0 0 12px;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--accent) 12%,var(--card));border:1px solid var(--accent);font-size:.95rem}
td.ok{color:var(--ok);font-weight:700;font-size:1.1rem}
td.no{color:var(--err);font-weight:700;font-size:1.1rem}

/* poză de fundal pe ecranul de alegere a punctului și PIN (doar aplicația angajaților) */
body.employee:has(#login:not(.hidden)){background:linear-gradient(rgba(0,0,0,.30),rgba(0,0,0,.50)),url(fundal.jpg) 20% center/cover no-repeat fixed;min-height:100vh}
body.employee #login{margin-top:26vh;background:color-mix(in srgb,var(--card) 90%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-color:rgba(255,255,255,.25);box-shadow:0 10px 30px rgba(0,0,0,.45)}
