:root { accent-color: var(--beer-amber-600); }
body { min-width: 320px; }
input, select, textarea { width: 100%; border: 1px solid #dfcfb8; border-radius: var(--beer-radius-sm); background: var(--beer-paper); color: var(--beer-ink); padding: 11px 12px; }
textarea { resize: vertical; }
label { display: grid; gap: 6px; color: var(--beer-pine-900); font-size: 12px; font-weight: 750; }
.inline-form { display: inline-flex; margin: 0; }
.callout select { margin: 8px 0; max-width: 520px; }
.callout p:last-child { margin-bottom: 0; }
.callout.error { color: var(--beer-danger-text); background: var(--beer-danger-soft); border-color: #e8bdb2; }
.quick-actions { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.quick-card { display: flex; align-items: center; gap: 12px; color: var(--beer-pine-900); transition: transform .2s, border-color .2s; }
.quick-card:hover { transform: translateY(-3px); border-color: var(--beer-gold); }
.quick-card .icon { width: 24px; height: 24px; color: var(--beer-amber-700); }
.user-metrics { margin-top: 20px; }
.admin-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.admin-form .span-2 { grid-column: 1/-1; }
.admin-form > .button { align-self: end; justify-self: start; }
.form-panel { margin-top: 20px; scroll-margin-top: 100px; }
.check-label { display: flex; align-items: center; gap: 9px; }
.check-label input { width: 20px; height: 20px; flex: 0 0 auto; }
.button-row { display: flex; gap: 9px; flex-wrap: wrap; align-items: center; }
.button-row form { margin: 0; }
.action-panel, .detail-notes { margin-top: 18px; }
.detail-notes { padding-top: 18px; border-top: 1px solid var(--beer-line); }
.detail-notes p { margin: 6px 0 0; }
.profile-card { display: flex; align-items: center; gap: 20px; }
.profile-avatar { width: 74px; height: 74px; font-size: 26px; }
.profile-card h2, .profile-card p:last-child { margin-bottom: 4px; }
.unread { border-left: 3px solid var(--beer-amber-500); padding-left: 12px; }
.error-page { max-width: 620px; margin: 8vh auto; }
.error-page .row-icon { margin: 0 auto 14px; }
.login-body { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: radial-gradient(circle at 80% 15%,rgba(230,161,45,.25),transparent 30%), radial-gradient(circle at 10% 90%,rgba(43,91,62,.45),transparent 35%), var(--beer-pine-950); }
.login-card { position: relative; overflow: hidden; width: min(100%,470px); padding: 42px; border: 1px solid rgba(214,172,87,.5); border-radius: var(--beer-radius-xl); background: var(--beer-paper); box-shadow: var(--beer-shadow-lg); }
.login-card::after { content:''; position:absolute; right:-80px; top:-70px; width:220px; height:220px; border:36px solid rgba(230,161,45,.08); border-radius:50%; pointer-events:none; }
.login-logo { width: 82px; height: 82px; margin-bottom: 18px; }
.stack-form { display: grid; gap: 16px; margin-top: 24px; }
.stack-form .button { width: 100%; margin-top: 4px; }
.login-note { margin: 22px 0 0; text-align: center; }
.checklist-form { display: grid; gap: 12px; }
.checklist-item { display: grid; grid-template-columns: minmax(0,1fr) 180px minmax(180px,.7fr); align-items: end; gap: 14px; }
.checklist-item .check-label span { display: grid; }
.checklist-item small { color: var(--beer-muted); font-weight: 500; }
.sticky-action { position: sticky; bottom: 85px; justify-self: end; z-index: 4; }
.catalog-product[hidden] { display: none !important; }
.catalog-filter-form { display:grid; grid-template-columns:minmax(220px,2fr) repeat(4,minmax(120px,1fr)) auto; align-items:end; gap:10px; margin:18px 0; padding:14px; }
.edit-order-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.edit-product { display:grid; gap:12px; }
.edit-product-row { display:flex; gap:12px; align-items:center; }
.edit-product-row img { width:58px; height:96px; object-fit:contain; }
.edit-product-row h3,.edit-product-row p { margin-bottom:3px; }
.edit-notes { display:grid; gap:8px; margin-top:16px; }
.sticky-save { position:sticky; bottom:80px; z-index:4; display:flex; justify-content:flex-end; gap:10px; padding:14px; background:rgba(245,239,228,.94); backdrop-filter:blur(10px); }
.reference-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.reference-card small { display:block; color:var(--beer-muted); }
.reference-create { display:grid; grid-template-columns:1fr 1fr auto; align-items:end; gap:8px; margin-top:14px; }
.order-filters { display:grid; grid-template-columns:repeat(4,minmax(130px,1fr)) auto; align-items:end; gap:10px; margin-bottom:16px; padding:14px; }
.extend-form { display:flex; align-items:end; gap:8px; margin-top:13px; padding-top:12px; border-top:1px solid var(--beer-line); }
.planning-grid { display:grid; gap:10px; }
.planning-row { display:grid; grid-template-columns:minmax(180px,1fr) 140px 160px; align-items:end; gap:10px; border-bottom:1px solid var(--beer-line); padding-bottom:10px; }
.permission-grid { border:1px solid var(--beer-line); border-radius:var(--beer-radius-md); padding:16px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.permission-grid legend { padding:0 7px; font-weight:800; }
.permission-grid small { display:block; color:var(--beer-muted); font-weight:500; }
.positive { color:var(--beer-green-text); font-weight:800; }
.negative { color:var(--beer-danger-text); font-weight:800; }
.cart-context { margin-bottom: 14px; }
.cart-context strong { display:block; color:var(--beer-pine-900); }
.cart-note { width: 100%; margin-top: 12px; }
.drawer-error { margin-bottom: 12px; }
.toast.error { color: var(--beer-danger-text); background: var(--beer-danger-soft); border-color: #e8bdb2; }
.product-thumb { width: 42px; height: 70px; object-fit: contain; }
@media print { .sidebar,.topbar,.mobile-nav,.button,.demo-footer { display:none!important; } .main-shell { margin:0; } .page-content { padding:0; } .panel { box-shadow:none; border:0; } }
@media(max-width:1100px) { .quick-actions { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) {
  .admin-form { grid-template-columns: 1fr; } .admin-form .span-2 { grid-column:auto; }
  .quick-actions { grid-template-columns: 1fr 1fr; gap: 9px; }
  .quick-card { padding: 15px 12px; font-size: 12px; }
  .checklist-item { grid-template-columns: 1fr; }
  .sticky-action { width: 100%; bottom: 78px; }
  .login-card { padding: 30px 23px; }
  .profile-card { align-items:flex-start; }
  .orders-table th,.orders-table td { white-space: nowrap; }
  .catalog-filter-form,.order-filters { grid-template-columns:1fr 1fr; }
  .catalog-filter-form .search-input { grid-column:1/-1; }
  .edit-order-grid,.reference-grid { grid-template-columns:1fr; }
  .reference-create,.planning-row,.permission-grid { grid-template-columns:1fr; }
  .sticky-save { bottom:72px; }
}
