/* =====================================================================
   Rauschenberger Corporate Design – zentrale Design-Tokens
   Quelle: rauschenberger-catering.de (rauschenberger.css)
   Primärfarbe Bronze/Braun #805933, Sekundär #7c542f, Text #1d1d1d.
   Diese Datei ist die einzige Quelle für Farben/Schriften der internen GUI.
   (Die Kundenseite nutzt bewusst das Motorworld-CI – separate Datei.)
   ===================================================================== */
:root{
  --rb-primary:#805933;       /* Markenbraun/Bronze */
  --rb-primary-dark:#7c542f;
  --rb-primary-700:#664626;
  --rb-ink:#1d1d1d;
  --rb-text:#2b2b2b;
  --rb-muted:#707070;
  --rb-line:#e4e4e4;
  --rb-bg:#f7f7f7;
  --rb-paper:#ffffff;
  --rb-error:#770000;
  --rb-warn:#b8860b;
  --rb-warn-bg:#fff6e0;
  --rb-ok:#3d6b35;
  --rb-radius:6px;
  --rb-shadow:0 1px 3px rgba(0,0,0,.06),0 6px 24px rgba(0,0,0,.05);
  --rb-font-body:"Helvetica Neue Light","Helvetica Neue",Helvetica,Arial,"Lucida Grande",sans-serif;
  --rb-font-head:"Open Sans Condensed","Helvetica Neue Condensed","Arial Narrow",var(--rb-font-body);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--rb-font-body);color:var(--rb-text);
  background:var(--rb-bg);line-height:1.45;font-weight:300;-webkit-font-smoothing:antialiased;}

.wrap{max-width:1080px;margin:0 auto;padding:0 24px;}

/* Header */
header.app{background:var(--rb-paper);border-bottom:3px solid var(--rb-primary);}
header.app .inner{display:flex;align-items:center;gap:16px;max-width:1080px;margin:0 auto;
  padding:16px 24px;}
header.app .logo{height:46px;width:auto;}
header.app .title{font-family:var(--rb-font-head);font-size:22px;letter-spacing:.5px;
  color:var(--rb-ink);text-transform:uppercase;font-weight:600;}
header.app .title small{display:block;font-size:12px;letter-spacing:2px;color:var(--rb-primary);
  text-transform:uppercase;font-weight:400;margin-top:2px;}
header.app nav{margin-left:auto;display:flex;gap:18px;}
header.app nav a{color:var(--rb-text);text-decoration:none;font-size:14px;border-bottom:2px solid transparent;padding-bottom:2px;}
header.app nav a:hover{color:var(--rb-primary);border-color:var(--rb-primary);}

main{padding:30px 0 70px;}
h1,h2,h3{font-family:var(--rb-font-head);color:var(--rb-ink);font-weight:600;letter-spacing:.3px;line-height:1.1;}
h1{font-size:34px;margin:0 0 6px;}
h2{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--rb-primary);}
h3{font-size:21px;margin:0 0 4px;}
p.lead{color:var(--rb-muted);margin:0 0 18px;font-size:15px;}
a{color:var(--rb-primary);}

.card{background:var(--rb-paper);border:1px solid var(--rb-line);border-radius:var(--rb-radius);
  padding:24px;margin-bottom:20px;box-shadow:var(--rb-shadow);}
.card .rule{width:42px;height:3px;background:var(--rb-primary);margin:8px 0 18px;}

.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media(max-width:820px){.grid-3{grid-template-columns:1fr;}}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
@media(max-width:680px){.grid-2{grid-template-columns:1fr;}}

label.fld{display:block;font-size:11px;letter-spacing:1px;text-transform:uppercase;
  color:var(--rb-muted);margin:0 0 6px;}
input.txt,textarea.txt,select.txt{width:100%;border:1px solid var(--rb-line);border-radius:var(--rb-radius);
  padding:10px 12px;font-size:14px;font-family:inherit;background:#fff;outline:none;}
input.txt:focus,textarea.txt:focus,select.txt:focus{border-color:var(--rb-primary);}
.field{margin-bottom:14px;}
textarea.txt{min-height:80px;resize:vertical;}

.btn{display:inline-block;border:none;border-radius:var(--rb-radius);padding:13px 22px;
  font-family:var(--rb-font-head);font-size:15px;letter-spacing:.5px;font-weight:600;
  cursor:pointer;text-decoration:none;text-align:center;transition:background .15s,transform .1s;}
.btn-primary{background:var(--rb-primary);color:#fff;}
.btn-primary:hover{background:var(--rb-primary-dark);}
.btn-primary:active{transform:scale(.99);}
.btn-ghost{background:#fff;color:var(--rb-primary);border:1px solid var(--rb-primary);}
.btn-ghost:hover{background:#f3ece4;}
.btn-block{display:block;width:100%;}
.btn-sm{padding:8px 14px;font-size:13px;}
.btn-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center;}

.dropzone{border:2px dashed var(--rb-line);border-radius:var(--rb-radius);padding:26px;
  text-align:center;color:var(--rb-muted);background:#fafafa;cursor:pointer;}
.dropzone:hover{border-color:var(--rb-primary);color:var(--rb-primary);}

table.tbl{width:100%;border-collapse:collapse;font-size:14px;}
table.tbl th{text-align:left;font-family:var(--rb-font-head);text-transform:uppercase;
  font-size:11px;letter-spacing:1px;color:var(--rb-muted);padding:8px 10px;border-bottom:2px solid var(--rb-line);}
table.tbl td{padding:9px 10px;border-bottom:1px solid var(--rb-line);vertical-align:middle;}
table.tbl td input.txt{padding:7px 9px;}
.num{text-align:right;white-space:nowrap;}
.right{text-align:right;}

.badge{display:inline-block;font-size:11px;font-weight:600;padding:3px 9px;border-radius:20px;letter-spacing:.5px;}
.badge.gastro{background:#eef3ec;color:var(--rb-ok);}
.badge.mw{background:#f0eee9;color:var(--rb-primary);}
.badge.warn{background:var(--rb-warn-bg);color:var(--rb-warn);}

.alert{border-radius:var(--rb-radius);padding:14px 16px;margin-bottom:18px;font-size:14px;}
.alert.warn{background:var(--rb-warn-bg);border:1px solid #f0d98a;color:#7a5b00;}
.alert.error{background:#fdecec;border:1px solid #f3b6b6;color:var(--rb-error);}
.alert.ok{background:#eef5ec;border:1px solid #bcd9b3;color:var(--rb-ok);}
.alert.info{background:#f0eee9;border:1px solid #e0d6c6;color:var(--rb-primary-700);}
.alert b{font-family:var(--rb-font-head);}

.row-warn{background:var(--rb-warn-bg)!important;}
.muted{color:var(--rb-muted);}
.sum-box{background:var(--rb-ink);color:#fff;border-radius:var(--rb-radius);padding:20px 22px;}
.sum-box .net{font-size:13px;color:#cfcdc9;display:flex;justify-content:space-between;margin-bottom:6px;}
.sum-box .gross{display:flex;justify-content:space-between;align-items:baseline;
  border-top:2px solid var(--rb-primary);padding-top:10px;}
.sum-box .gross .big{font-family:var(--rb-font-head);font-size:26px;font-weight:700;}
.hint-mw{font-size:12.5px;color:var(--rb-muted);margin-top:10px;}

.stepper{display:inline-flex;align-items:center;border:1px solid var(--rb-line);border-radius:var(--rb-radius);overflow:hidden;}
.stepper button{width:34px;height:36px;border:none;background:var(--rb-bg);font-size:17px;cursor:pointer;}
.stepper button:hover{background:#f3ece4;color:var(--rb-primary);}
.stepper input{width:54px;border:none;text-align:center;font-size:15px;font-weight:600;outline:none;}

footer.app{padding:22px 0 60px;font-size:12px;color:var(--rb-muted);}
code{background:#efeae3;padding:1px 5px;border-radius:4px;font-size:12.5px;}
