/* Ollyburger CS — token brand + layout gestionale */
:root{
  --olly-orange:#DD6900; --olly-orange-dark:#B95700; --olly-orange-tint:#FBE9D6;
  --olly-mustard:#C8961F; --olly-red:#F45353; --olly-red-dark:#D83A3A;
  --olly-sand:#E9D7CB; --olly-border:#D8C2B2; --olly-ink:#303030; --olly-grey:#6B6B6B;
  --font-ui:"Roboto",sans-serif;
}
*{box-sizing:border-box;}
body{margin:0; font-family:var(--font-ui); color:var(--olly-ink); background:#F5F1EC;}
.cs-header{display:flex; align-items:center; gap:18px; background:var(--olly-ink); color:#fff; padding:12px 24px;}
.cs-logo{font-size:17px;} .cs-logo strong{color:var(--olly-orange);}
.cs-nav{display:flex; gap:16px; align-items:center; margin-left:24px;}
.cs-nav a{color:#fff; text-decoration:none; font-weight:600;}
.cs-nav a:hover{color:var(--olly-orange);}
.cs-user{color:var(--olly-sand); font-size:14px;}
.env-badge{margin-left:auto; font-size:12px; font-weight:600; border:1px solid #666; border-radius:999px; padding:3px 10px; text-transform:uppercase;}
.cs-main{max-width:1150px; margin:28px auto; padding:0 24px;}
h1,h2{font-weight:600;}
.cs-card{background:#fff; border:1px solid var(--olly-border); border-radius:12px; padding:22px 26px;}
.muted{color:var(--olly-grey);} .small{font-size:12px;}
label{display:block; margin:12px 0 4px; font-weight:600; font-size:14px;}
input,select{padding:9px 11px; border:1px solid var(--olly-border); border-radius:8px; font-size:15px; font-family:var(--font-ui); background:#fff;}
form .btn-primary{margin-top:16px;}
.btn-primary{display:inline-block; background:var(--olly-orange); color:#fff; font-weight:700; border:none; border-radius:999px; padding:10px 20px; cursor:pointer; text-decoration:none;}
.btn-primary:hover{background:var(--olly-orange-dark);}
.btn-primary.disabled{background:var(--olly-border); cursor:not-allowed;}
.flash{padding:11px 16px; border-radius:8px; margin-bottom:16px; font-size:14px;}
.flash-error{background:#FDE0E0; color:var(--olly-red-dark); border:1px solid #f3b4b4;}
.flash-ok{background:var(--olly-orange-tint); color:var(--olly-orange-dark); border:1px solid #f1cda8;}
.cs-counters{display:flex; gap:16px; margin:18px 0;}
.counter{background:#fff; border:1px solid var(--olly-border); border-radius:12px; padding:14px 20px; flex:1;}
.counter .n{display:block; font-size:26px; font-weight:700; color:var(--olly-orange);}
.counter .l{font-size:13px; color:var(--olly-grey);}
.cs-filter{display:flex; gap:10px; align-items:end; flex-wrap:wrap; background:#fff; border:1px solid var(--olly-border); border-radius:12px; padding:14px 18px; margin-bottom:18px;}
.cs-filter label{margin:0 0 2px;}
.cs-filter .btn-primary{margin-top:0;}
.cs-table{width:100%; border-collapse:collapse; background:#fff; border:1px solid var(--olly-border); border-radius:12px; overflow:hidden;}
.cs-table th,.cs-table td{text-align:left; padding:10px 12px; border-bottom:1px solid var(--olly-border);}
.cs-table th{font-size:12px; text-transform:uppercase; color:var(--olly-grey); background:#faf6f1;}
.cs-table a{color:var(--olly-orange-dark); font-weight:600; text-decoration:none;}
.status{font-size:12px; font-weight:700; padding:2px 9px; border-radius:999px; text-transform:uppercase;}
.status-pending{background:#FDF0D8; color:#9a6a00;}
.status-validated{background:#DDEFD6; color:#2e6b1c;}
.status-produced{background:#D7E5F0; color:#1e4f73;}
.src-portal{background:var(--olly-orange); color:#fff; font-size:12px; font-weight:700; padding:2px 9px; border-radius:999px;}
.cs-grid{display:grid; grid-template-columns:1fr 300px; gap:20px; align-items:start;}
@media(max-width:760px){.cs-grid{grid-template-columns:1fr;} .cs-counters{flex-direction:column;}}
.totals-table{width:100%; border-collapse:collapse;}
.totals-table td{padding:6px 4px;} .totals-table td:last-child{text-align:right; font-weight:600;}
.totals-table tr.grand td{border-top:2px solid var(--olly-border); font-size:18px; color:var(--olly-orange); padding-top:10px;}
