:root{
  --bg:#f6ecd8; --panel:#fffdf7; --ink:#241a12; --muted:#8a7a62;
  --brand:#b34314; --brand2:#e07b39; --line:#e8dcc2;
  --ok:#2e7d43; --warn:#b3221c; --info:#2456a6; --head:#171310;
}
*{box-sizing:border-box}
body{margin:0;font-family:'Segoe UI',system-ui,Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:15px}
header{background:var(--head);color:#fff;padding:0 20px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.brand{display:flex;align-items:center;padding:8px 0}
.brand img{height:34px;display:block}
nav{display:flex;flex-wrap:wrap;gap:2px}
nav a{color:#d8cbb4;text-decoration:none;padding:16px 10px;font-size:14px}
nav a:hover{color:#fff}
nav a.on{color:#fff;box-shadow:inset 0 -3px 0 var(--brand2)}
.locpick{margin-left:auto;display:flex;gap:6px}
.locpick a{color:#d8cbb4;text-decoration:none;font-size:12px;padding:4px 10px;border:1px solid #4a3f30;border-radius:20px}
.locpick a.on{background:var(--brand);border-color:var(--brand);color:#fff}
main{max-width:1240px;margin:24px auto;padding:0 20px}
footer{max-width:1240px;margin:30px auto;padding:0 20px 30px;color:var(--muted);font-size:12px}
h1{font-size:22px;margin:0 0 4px}
h2{font-size:16px;margin:26px 0 10px}
.sub{color:var(--muted);margin:0 0 18px;font-size:14px}
.flash{background:#eef7ee;border:1px solid #bfdcc3;color:#215c31;padding:10px 14px;border-radius:8px;margin-bottom:16px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:16px 0}
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.card .k{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}
.card .v{font-size:22px;font-weight:700;margin-top:4px}
.card .v small{font-size:13px;font-weight:400;color:var(--muted)}
.card.neg .v{color:var(--warn)} .card.pos .v{color:var(--ok)}
table{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}
th{font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);text-align:left;padding:9px 10px;border-bottom:2px solid var(--line);background:#faf3e3}
td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}
tr:last-child td{border-bottom:none}
tr:hover td{background:#faf3e3}
.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.tag{display:inline-block;font-size:11px;padding:2px 8px;border-radius:12px;background:#f1e5cb;color:#7a6238}
.tag.red{background:#f7dedd;color:var(--warn)} .tag.green{background:#e0efe3;color:var(--ok)} .tag.blue{background:#dfe8f6;color:var(--info)}
.tag.orange{background:#fae3d0;color:var(--brand)}
.fc-ok{color:var(--ok);font-weight:600} .fc-high{color:var(--warn);font-weight:700} .fc-low{color:var(--info);font-weight:600}
a{color:var(--brand)}
form.inline{display:inline}
input,select,textarea{font:inherit;padding:7px 9px;border:1px solid #d8c9a8;border-radius:8px;background:#fff;max-width:100%}
input.small{width:84px;text-align:right}
label{display:block;font-size:12px;color:var(--muted);margin:10px 0 3px;text-transform:uppercase;letter-spacing:.3px}
button,.btn{font:inherit;background:var(--brand);color:#fff;border:none;border-radius:8px;padding:8px 16px;cursor:pointer;text-decoration:none;display:inline-block}
button.ghost,.btn.ghost{background:#fff;color:var(--ink);border:1px solid #d8c9a8}
button:hover{filter:brightness(1.08)}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px 20px;margin-bottom:18px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.tabs a{padding:7px 14px;border-radius:20px;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink);font-size:13px}
.tabs a.on{background:var(--brand);border-color:var(--brand);color:#fff}
.muted{color:var(--muted)} .small{font-size:12px}
.pre{white-space:pre-wrap}

/* ---- grila tip Excel ---- */
.cell{cursor:cell;outline:none}
.cell:focus{box-shadow:inset 0 0 0 2px var(--brand2)}
.cell.editing{padding:0}
.cell-input{width:100%;height:100%;border:none;border-radius:0;padding:8px 10px;font:inherit;
            text-align:inherit;background:#fff7e8;box-shadow:inset 0 0 0 2px var(--brand);outline:none}
.cell.saving{opacity:.5}
.cell.saved{background:#e0efe3 !important;transition:background .2s}
.cell.err{background:#f7dedd !important}
th.sortable{cursor:pointer;user-select:none}
th.sortable:hover{color:var(--ink)}
th[data-sort="asc"]::after{content:" ↑"} th[data-sort="desc"]::after{content:" ↓"}
.gridhint{font-size:12px;color:var(--muted);margin:8px 0 0}

/* bare pentru grafic P&L */
.bars{display:flex;align-items:flex-end;gap:14px;height:180px;padding:10px 4px 0}
.bars .bar{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:40px}
.bars .bar i{display:block;width:100%;background:var(--brand2);border-radius:6px 6px 0 0;min-height:2px}
.bars .bar.neg i{background:var(--warn)}
.bars .bar b{font-size:11px;white-space:nowrap}
.bars .bar span{font-size:11px;color:var(--muted)}
@media(max-width:860px){.grid2,.grid3{grid-template-columns:1fr}.locpick{margin-left:0;padding-bottom:10px}}
@media print{header,footer,.tabs,.toolbar,button,.btn{display:none !important}main{max-width:none}}
