
:root{
 --bg-main:#020617;--bg-card:#020617;--border-subtle:#1f2937;--text-main:#e5e7eb;--text-muted:#9ca3af;--accent:#22c55e;--primary:#0ea5e9;--danger:#ef4444;
 --radius-lg:16px;--radius-md:10px;--shadow-soft:0 20px 40px rgba(0,0,0,.35)
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#020617;color:var(--text-main);height:100%;min-height:100vh}
body{padding:24px;min-height:100vh;display:flex;flex-direction:column;overflow:hidden}
.app-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}
.app-title h1{margin:0;font-size:1.4rem;letter-spacing:.08em;text-transform:uppercase}
.version-badge{display:inline-flex;align-items:center;gap:6px;margin-top:4px;font-size:.8rem;padding:4px 8px;border-radius:999px;background:rgba(148,163,184,.1);border:1px solid rgba(148,163,184,.2);color:var(--text-muted)}
.app-main{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr) minmax(0,1fr);gap:24px;flex:1;align-items:stretch;min-height:0}
.card{background:#020617;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);box-shadow:var(--shadow-soft);padding:20px 20px 24px;display:flex;flex-direction:column;min-height:0}
.card h2{margin:0 0 16px;font-size:1.1rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}
.form-group{margin-bottom:14px;display:flex;flex-direction:column;gap:4px}
.form-group label{font-size:.85rem;color:var(--text-muted)}
.form-group input,.form-group select{background:#020617;border-radius:var(--radius-md);border:1px solid #1f2937;padding:8px 10px;color:var(--text-main);font-size:.9rem;outline:none}
.form-group input:focus,.form-group select:focus{border-color:var(--primary);box-shadow:0 0 0 1px rgba(56,189,248,.4)}
.form-group .hint{font-size:.75rem;color:var(--text-muted)}
.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:end}
.two-cols .form-group{margin-bottom:0}
.two-cols input{width:100%}
.btn{font-size:.9rem;border-radius:999px;padding:8px 16px;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.btn-primary{background:linear-gradient(135deg,#0ea5e9,#22c55e);color:#0b1120;font-weight:600}
.btn-secondary{background:#020617;border:1px solid rgba(148,163,184,.3);color:var(--text-main)}
.btn-icon{background:transparent;color:var(--text-muted);padding:4px;border-radius:999px;border:none}
.form-actions{margin-top:10px;display:flex;justify-content:flex-end}
.result-table{width:100%;border-collapse:collapse;font-size:.88rem}
.result-table th,.result-table td{padding:6px 4px}
.result-table th{text-align:left;color:var(--text-muted);font-weight:500}
.result-table td{text-align:right}
.backdrop{position:fixed;inset:0;background:rgba(15,23,42,.65);backdrop-filter:blur(6px);z-index:20}
.modal{position:fixed;inset:0;margin:auto;width:min(480px,100% - 32px);max-height:80vh;background:#020617;border-radius:20px;border:1px solid rgba(148,163,184,.35);box-shadow:0 24px 48px rgba(0,0,0,.5);padding:16px 18px 18px;z-index:30;display:flex;flex-direction:column}
.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.modal-body{overflow-y:auto;padding-right:4px}
.modal-footer{margin-top:12px;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid #1f2937;padding-top:10px}
.hidden{display:none}



/* Vertical layout helpers */
.card form{
  flex:1;
  min-height:0;
  overflow-y:auto;
  padding-right:4px;
}

.card-products .product-list{
  flex:1;
  min-height:0;
  max-height:none;
}

/* Resizable columns */
.app-main-resizer{
 position:absolute;
 top:0;
 bottom:0;
 width:8px;
 margin-left:-4px;
 cursor:col-resize;
 z-index:15;
 background:transparent;
}
.app-main-resizer::before{
 content:"";
 position:absolute;
 top:24px;
 bottom:24px;
 left:50%;
 transform:translateX(-50%);
 width:2px;
 border-radius:999px;
 background:rgba(148,163,184,.45);
}
.app-main-resizer:hover::before{
 background:rgba(56,189,248,.7);
}

/* Produktliste */
.card-products{grid-column:3}
.product-list{overflow-y:auto;border-radius:12px;border:1px solid rgba(148,163,184,.25);background:#020617;margin-top:4px;margin-bottom:8px}
.product-item{display:flex;align-items:center;padding:6px 10px;font-size:.9rem;cursor:pointer;border-bottom:1px solid rgba(15,23,42,.9)}
.product-item:last-child{border-bottom:none}
.product-item-main{display:flex;align-items:center;gap:16px;width:100%;flex-wrap:wrap}
.product-item span.name{color:var(--text-main);font-weight:500;min-width:120px}
.product-item span.meta{color:var(--text-muted);font-size:.8rem}
.product-item span.meta-secondary{color:var(--text-muted);font-size:.8rem}
.product-item:hover{background:rgba(15,23,42,.95)}
.product-item.selected{background:rgba(56,189,248,.12);border-left:3px solid var(--primary)}
.product-list-actions{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.product-list-actions-spacer{flex:1 1 auto}

@media(max-width:900px){
 body{padding:16px;overflow:auto}
 .app-main{grid-template-columns:minmax(0,1fr)}
 .card-products{grid-column:auto}
 .app-main-resizer{display:none}
}
