body { padding-top: 38px; }
.preview-banner { position:fixed; top:0; left:0; right:0; height:38px; z-index:110; background:#8b5c20; color:#fff; font-size:13px; display:flex; align-items:center; justify-content:center; gap:24px; padding:0 12px; }
.preview-banner span { opacity:.8; font-size:12px; }
.sidebar { top:38px; height:calc(100dvh - 38px); }
.sidebar nav { overflow-y:auto; max-height:calc(100dvh - 290px); }
.sidebar details { margin-top:12px; }
.sidebar summary { color:var(--muted); padding:10px 16px; font-size:13px; }
.auth-wrap { min-height:calc(100dvh - 38px); }
.preview-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.preview-two { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.preview-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); }
.preview-metrics strong { font-size:26px; }
.preview-card { padding:22px; min-width:0; }
.preview-card h2 { font-size:20px; margin:0 0 12px; }
.preview-card p { margin:8px 0; }
.preview-card .cell-sub { line-height:1.6; overflow-wrap:anywhere; }
.preview-value { font-size:32px; color:#9f342d; font-weight:650; }
.preview-value small { font-size:14px; font-weight:400; margin-left:5px; }
.preview-link { display:block; padding:25px; border:1px solid #deded4; background:#fff; border-radius:15px; color:inherit; }
.preview-link strong { display:block; font-size:23px; margin:10px 0; }
.preview-link:hover { border-color:#bd806a; }
.preview-link .icon { width:28px; height:28px; color:#9f342d; }
.preview-hint { padding:14px 18px; border-left:3px solid #b58a3b; border-radius:6px; background:#f6efdf; color:#745825; font-size:14px; line-height:1.7; margin-bottom:20px; overflow-wrap:anywhere; }
.preview-warnings { list-style:none; padding:0; margin:15px 0; font-size:12px; color:#855916; line-height:1.7; }
.preview-warnings li::before { content:'· '; }
.preview-tabs { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 22px; }
.preview-formgrid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.preview-formgrid .full-span { grid-column:1/-1; }
.preview-formgrid input, .preview-formgrid select { min-width:0; }
.preview-fieldset { border:0; padding:0; margin:0; }
.count-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.count-row { padding:15px; border:1px solid #e7d8c7; border-radius:10px; background:#fff; }
.count-row .count-input { display:flex; gap:12px; align-items:center; margin:12px 0; }
.count-row .count-input input { width:100%; min-width:0; }
.count-row .count-input span { white-space:nowrap; }
.count-row .check-label { font-size:13px; }
.preview-period { width:175px; }
.preview-empty { padding:24px; border:1px dashed #d7bfa4; border-radius:12px; color:var(--muted); }
.preview-history { padding:18px; border-bottom:1px solid #e7d8c7; overflow-wrap:anywhere; }
.preview-history:last-child { border-bottom:0; }
.preview-history summary { cursor:pointer; }
.preview-history .badge { flex-shrink:0; }
.preview-metric { padding:22px; background:#fff; border:1px solid #e7d8c7; border-radius:14px; }
.preview-metric strong { display:block; margin-top:10px; font-size:29px; }
.preview-metric.primary { background:#9f342d; color:#fff; }
.preview-metric.primary strong { color:#fff; }
.preview-file { width:100%; padding:14px; border:1px dashed #d7bfa4; border-radius:8px; }
.preview-line { display:grid; grid-template-columns:2fr 1fr 1fr 32px; gap:8px; align-items:end; margin-bottom:12px; }
.preview-line select, .preview-line input { min-width:0; }
.preview-toolbar { display:flex; gap:14px; align-items:center; flex-wrap:wrap; margin-bottom:18px; }
.preview-toolbar .field { flex:1; min-width:180px; }
.preview-submit { display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin-top:22px; }
.preview-card .btn { margin-top:12px; }
.preview-description { font-size:14px; line-height:1.7; color:var(--muted); }
.preview-form { padding:22px; }
.preview-cost { color:#776843; font-size:12px; }
@media (max-width:1150px) { .preview-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:1250px) { .preview-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px) {
  .preview-banner { justify-content:flex-start; font-size:12px; }
  .preview-banner span { display:none; }
  .preview-grid, .preview-two, .count-list { grid-template-columns:1fr; }
  .preview-card, .preview-form, .preview-metric { padding:18px; }
  .preview-value { font-size:29px; }
  .preview-tabs .btn { font-size:13px; padding:10px 12px; }
  .preview-formgrid { gap:12px; }
  .preview-formgrid .mobile-full { grid-column:1/-1; }
  .preview-line { grid-template-columns:1fr 1fr 28px; }
  .preview-line .recipe-ingredient { grid-column:1/-1; }
  .preview-submit .btn { flex:1; }
  .preview-period { width:150px; }
  .preview-history { padding:16px; }
}
