
body{
margin:0;
font-family:Arial,Helvetica,sans-serif;
background:#eee;
display:flex;
gap:40px;
padding:40px;
}

.loginbox{
    background:white;
    padding:40px;
    width:300px;
    box-shadow:0 0 10px rgba(0,0,0,0.2);
    text-align:center;
}

h2{
    margin-top:0;
}

input{
    width:100%;
    padding:10px;
    margin-top:10px;
    box-sizing:border-box;
}

button{
    width:100%;
    padding:10px;
    margin-top:15px;
    cursor:pointer;
}

.error{
    background:#ffdddd;
    color:#a00000;
    padding:10px;
    margin-bottom:10px;
}

/* Formular */

#formPanel{
width:350px;
background:white;
padding:20px;
box-shadow:0 0 10px rgba(0,0,0,0.2);
height:fit-content;
}

#formPanel h3{
margin-top:20px;
margin-bottom:5px;
}

input{
width:100%;
padding:6px;
margin-bottom:8px;
font-size:14px;
}

button{
margin-top:20px;
padding:10px;
width:100%;
font-size:16px;
cursor:pointer;
}

/* Vorschau Bereich */

#previewPanel{
display:flex;
flex-direction:column;
gap:10px;
}

#downloadBtn{
width:200px;
padding:10px;
font-size:16px;
cursor:pointer;
}

/* A4 */

#a4{
position:relative;
width:794px;
height:1123px;
background:white;
box-shadow:0 0 10px rgba(0,0,0,0.3);
overflow:hidden;
}

#pdfBackground{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
z-index:1;
}

#dataLayer{
position:absolute;
top:300px;
left:70px;
z-index:2;
font-size:14px;
width:650px;
}

/* Adresse */

.address{
margin-top:-150px;
margin-bottom:175px;
font-size:14px;
}

/* Kopf rechts */

.headerRight{
margin-top:-250px;
margin-bottom:250px;
position:relative;
left:450px;
font-size:14px;
line-height:1.6;
}

/* Tabellen */

table{
border-collapse:collapse;
width:100%;
margin-bottom:10px;
}

td,th{
border:0.5px solid #000;
padding:4px;
font-size:13px;
font-weight:normal;
}

th{
font-weight:bold;
}

.netto{
margin-top:8px;
font-weight:bold;
}

.note{
margin-top:10px;
font-size:12px;
}



#buttonBar{
display:flex;
gap:12px;
margin-bottom:15px;
}

#buttonBar button{
padding:10px 18px;
border:none;
color:white;
font-weight:bold;
cursor:pointer;
border-radius:6px;
transition:all 0.2s ease;
box-shadow:0 2px 4px rgba(0,0,0,0.15);
}

/* Farben */

#generateBtn{
background:black;
}

#downloadBtn{
background:#1976d2;
}

#saveBtn{
background:#2e7d32;
}

/* Hover Effekte */

#buttonBar button:hover{
transform:translateY(-2px);
box-shadow:0 6px 12px rgba(0,0,0,0.25);
filter:brightness(1.1);
}

/* Klick Effekt */

#buttonBar button:active{
transform:translateY(0px);
box-shadow:0 2px 4px rgba(0,0,0,0.2);
filter:brightness(0.95);
}
body{
margin:0;
font-family:Arial,Helvetica,sans-serif;
background:#eee;
display:flex;
gap:40px;
padding:40px;
}

.loginbox{
    background:white;
    padding:40px;
    width:300px;
    box-shadow:0 0 10px rgba(0,0,0,0.2);
    text-align:center;
}

h2{
    margin-top:0;
}

input{
    width:100%;
    padding:10px;
    margin-top:10px;
    box-sizing:border-box;
}

button{
    width:100%;
    padding:10px;
    margin-top:15px;
    cursor:pointer;
}

.error{
    background:#ffdddd;
    color:#a00000;
    padding:10px;
    margin-bottom:10px;
}

/* Formular */

#formPanel{
width:350px;
background:white;
padding:20px;
box-shadow:0 0 10px rgba(0,0,0,0.2);
height:fit-content;
}

#formPanel h3{
margin-top:20px;
margin-bottom:5px;
}

input{
width:100%;
padding:6px;
margin-bottom:8px;
font-size:14px;
}

button{
margin-top:20px;
padding:10px;
width:100%;
font-size:16px;
cursor:pointer;
}

/* Vorschau Bereich */

#previewPanel{
display:flex;
flex-direction:column;
gap:10px;
}

#downloadBtn{
width:200px;
padding:10px;
font-size:16px;
cursor:pointer;
}

/* A4 */

#a4{
position:relative;
width:794px;
height:1123px;
background:white;
box-shadow:0 0 10px rgba(0,0,0,0.3);
overflow:hidden;
}

#pdfBackground{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
z-index:1;
}

#dataLayer{
position:absolute;
top:300px;
left:70px;
z-index:2;
font-size:14px;
width:650px;
}

/* Adresse */

.address{
margin-top:-150px;
margin-bottom:175px;
font-size:14px;
}

/* Kopf rechts */

.headerRight{
margin-top:-250px;
margin-bottom:250px;
position:relative;
left:450px;
font-size:14px;
line-height:1.6;
}

/* Tabellen */

table{
border-collapse:collapse;
width:100%;
margin-bottom:10px;
}

td,th{
border:0.5px solid #000;
padding:4px;
font-size:13px;
font-weight:normal;
}

th{
font-weight:bold;
}

.netto{
margin-top:8px;
font-weight:bold;
}

.note{
margin-top:10px;
font-size:12px;
}



#buttonBar{
display:flex;
gap:12px;
margin-bottom:15px;
}

#buttonBar button{
padding:10px 18px;
border:none;
color:white;
font-weight:bold;
cursor:pointer;
border-radius:6px;
transition:all 0.2s ease;
box-shadow:0 2px 4px rgba(0,0,0,0.15);
}

/* Farben */

#generateBtn{
background:black;
}

#downloadBtn{
background:#1976d2;
}

#saveBtn{
background:#2e7d32;
}

/* Hover Effekte */

#buttonBar button:hover{
transform:translateY(-2px);
box-shadow:0 6px 12px rgba(0,0,0,0.25);
filter:brightness(1.1);
}

/* Klick Effekt */

#buttonBar button:active{
transform:translateY(0px);
box-shadow:0 2px 4px rgba(0,0,0,0.2);
filter:brightness(0.95);
}

#notification {
position: fixed;
top: 20px;
left: 50%;
transform: translateX(-50%);
padding: 12px 20px;
border-radius: 6px;
font-weight: bold;
color: white;
font-size: 16px;
display: none;
z-index: 9999;
box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}

#notification.success {
  background: linear-gradient(135deg, #2e7d32, #43a047);
}

#notification.error {
  background: linear-gradient(135deg, #c62828, #e53935);
}

#confirmModal, #searchModal {
  position: fixed;
  top:0; left:0;
  width:100%; height:100%;
  background: rgba(0,0,0,0.5);
  display:none;
  justify-content:center;
  align-items:center;
  z-index:10000;
}

.modalBox {
  background:white;
  padding:20px;
  border-radius:8px;
  width:320px;
  text-align:center;
}

.modalBox.large {
  width:600px;
  max-height:80vh;
  overflow:auto;
}

.modalActions {
  margin-top:20px;
  display:flex;
  gap:10px;
}

.modalActions button {
  flex:1;
  padding:10px;
  border:none;
  border-radius:6px;
  cursor:pointer;
  font-weight:bold;
}

#modalCancel { background:#9e9e9e; color:white; }
#modalConfirm { background:#2e7d32; color:white; }

#buttonBar {
  display:flex;
  gap:12px;
  margin-bottom:15px;
}

#buttonBar button {
  padding:10px 18px;
  border:none;
  color:white;
  font-weight:bold;
  cursor:pointer;
  border-radius:6px;
  transition:all 0.2s ease;
  box-shadow:0 2px 4px rgba(0,0,0,0.15);
}

#generateBtn { background:black; }
#regenerateBtn { background:grey; }
#downloadBtn { background:#1976d2; }
#searchBtn { background:#f57c00; }
#saveBtn { background:#2e7d32; }