* { box-sizing: border-box; }
body { font: 15px/1.5 -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
       margin: 0; color: #222; background: #fafaf7; }
main { max-width: 960px; margin: 0 auto; padding: 1rem; }
h1 { font-size: 1.5rem; } h2 { font-size: 1.15rem; margin-top: 1.6em; }
a { color: #2f6f4f; }
.muted { color: #888; font-weight: normal; }

nav { display: flex; flex-wrap: wrap; gap: .9rem; align-items: center;
      background: #2f6f4f; padding: .55rem 1rem; }
nav a { color: #fff; text-decoration: none; }
nav .brand { font-weight: 700; }
nav form { margin-left: auto; }
.linklike { background: none; border: none; color: #d8eadf; cursor: pointer;
            font: inherit; padding: 0; text-decoration: underline; }

table { border-collapse: collapse; width: 100%; margin: .5rem 0 1rem; background: #fff; }
th, td { border: 1px solid #ddd; padding: .35rem .55rem; text-align: left;
         vertical-align: top; }
th { background: #f0f0ea; }
table.kv { width: auto; } table.kv th { width: 11rem; }
tr.total td { font-weight: 700; background: #f7f7f2; }
tr.warn td { background: #fdeaea; }

.card { background: #fff; border: 1px solid #ddd; border-radius: 6px;
        padding: .8rem 1rem; margin: .6rem 0 1.2rem; max-width: 34rem; }
.card label { display: block; margin: .45rem 0; }
.card input:not([type=checkbox]), .card select, .card textarea {
  width: 100%; max-width: 26rem; padding: .3rem .4rem; font: inherit; }
form.inline, .inline { display: inline-block; margin: .2rem .3rem .2rem 0; }
.inline input, .inline select { padding: .25rem .35rem; font: inherit; }
button, .btn { background: #2f6f4f; color: #fff; border: none; border-radius: 4px;
  padding: .4rem .8rem; font: inherit; cursor: pointer; text-decoration: none;
  display: inline-block; }
button.danger { background: #a33; }
button[type=button] { background: #667; }

.badge { border-radius: 10px; padding: .1rem .55rem; font-size: .8rem; color: #fff; }
.badge-in_progress { background: #c9871a; }
.badge-completed   { background: #3572b0; }
.badge-released    { background: #2f6f4f; }
.badge-rejected, .badge-discarded { background: #a33; }
.badge-in_stock    { background: #2f6f4f; }
.badge-depleted    { background: #888; }
.badge-quarantined { background: #c9871a; }

.flash { padding: .5rem .8rem; border-radius: 4px; margin: .6rem 0; }
.flash-ok { background: #e2f2e8; border: 1px solid #2f6f4f; }
.flash-error, .flash-message { background: #fdeaea; border: 1px solid #a33; }

.login-box { max-width: 22rem; margin: 4rem auto; text-align: center; }
.login-box input { width: 100%; padding: .5rem; margin: .6rem 0; font: inherit; }
.login-box h1 { font-size: 1.2rem; }

.sheet-code { font-size: 1.6rem; font-weight: 700; letter-spacing: .05em; }
.method { white-space: pre-wrap; background: #fff; border: 1px solid #ddd;
          padding: .6rem .8rem; font: inherit; }
.signatures { margin-top: 2.5rem; }
.signatures p { margin: 1.6rem 0; }

@media print {
  .no-print, nav { display: none !important; }
  body { background: #fff; color: #000; font-size: 12px; }
  main { max-width: none; padding: 0; }
  a { color: #000; text-decoration: none; }
  table { page-break-inside: avoid; }
}
