*,
*::before,
*::after{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f4f6fb;color:#111827}
.hidden{display:none!important}
.topbar{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid #e5e7eb}
.topbar-inner{max-width:1200px;margin:0 auto;padding:.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between}
.logo {
  width: 150px;   /* oder jede andere gewünschte Größe */
  height: auto;   /* hält das Seitenverhältnis */
}

.logo-img{height:40px}
.header {
  display: flex;
  align-items: center;       /* vertikal ausrichten */
  gap: 10px;                 /* Abstand zwischen Logo und Text */
}
.brand {
  font-size: 28px;
  font-weight: bold;
}
.logo-divider{width:2px;height:40px;background:#2563eb;border-radius:999px}
.logo-text-main{font-weight:700;font-size:1.4rem;color:#1d4ed8}
.nav{display:flex;gap:1rem}
.nav-link{font-size:.9rem;text-decoration:none;color:#6b7280;padding:.3rem .75rem;border-radius:999px}
.nav-link.active{background:#eff6ff;color:#2563eb}
.page{max-width:1200px;margin:1.5rem auto 2rem;padding:0 1.5rem}
.hero-card{background:#fff;border-radius:1rem;padding:1.5rem 1.75rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;box-shadow:0 8px 24px rgba(15,23,42,.06)}
.hero-card h1{margin:0 0 .5rem;font-size:1.5rem}
.hero-card p{margin:0;color:#4b5563;font-size:.95rem}
.hero-actions{flex-shrink:0;display:flex;gap:.5rem;flex-wrap:wrap}
.btn-primary,.btn-secondary{border-radius:999px;border:none;padding:.5rem 1rem;font-size:.9rem;font-weight:500;cursor:pointer}
.btn-block{width:100%}
.btn-primary{background:#2563eb;color:#fff}
.btn-primary:hover{filter:brightness(.95)}
.btn-secondary{background:#e5e7eb;color:#111827}
.btn-secondary:hover{filter:brightness(.97)}
.content-grid{margin-top:1.5rem;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:1.5rem}
.card{background:#fff;border-radius:1rem;box-shadow:0 8px 24px rgba(15,23,42,.06);display:flex;flex-direction:column;min-height:300px}
.card-header{padding:1rem 1.25rem;border-bottom:1px solid #e5e7eb;display:flex;flex-direction:column;gap:.25rem}
.card-header h2,.card-header h1{margin:0;font-size:1.2rem}
.card-body{padding:.75rem 1.25rem 1.25rem;flex:1}
.login-card{max-width:480px;margin:3rem auto}
.form{display:flex;flex-direction:column;gap:.75rem}
.form label{font-size:.85rem;color:#374151;display:flex;flex-direction:column;gap:.25rem}
.form input,.form textarea{border-radius:.75rem;border:1px solid #d1d5db;padding:.5rem .75rem;font-size:.9rem}
.form-inline .form-row{display:flex;gap:.75rem;flex-wrap:wrap}
.checkbox-label{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem}
.message{margin-top:.75rem;font-size:.85rem;min-height:1.2em}
.message.error{color:#dc2626}
.message.success{color:#16a34a}
.breadcrumb{font-size:.8rem;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.toolbar{margin-bottom:.75rem;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.upload-label{display:inline-flex;align-items:center;cursor:pointer}
.hidden-input{display:none}
.file-list{border-radius:.75rem;border:1px solid #e5e7eb;background:#f9fafb;max-height:500px;overflow:auto}
.file-row{padding:.4rem .75rem;display:grid;grid-template-columns:auto auto 1fr auto;gap:.5rem;align-items:center;font-size:.9rem}
.file-row+.file-row{border-top:1px solid #e5e7eb}
.file-row:hover{background:#eff6ff}
.file-icon{width:28px;height:28px;border-radius:.75rem;display:inline-flex;align-items:center;justify-content:center;font-size:.85rem;background:#e5edff;color:#1d4ed8}
.file-row.folder .file-icon{background:#dcfce7;color:#16a34a}
.file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file-meta{font-size:.8rem;color:#6b7280}
.file-actions{display:flex;gap:.25rem}
.file-checkbox{margin-right:.25rem}
.preview-body{display:flex;flex-direction:column;height:100%}
.preview-filename{font-size:.85rem;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.preview-content{flex:1;border-radius:.75rem;border:1px solid #e5e7eb;background:#f9fafb;padding:.75rem;display:flex;align-items:center;justify-content:center;position:relative}
.preview-content img,.preview-content video,.preview-content iframe{max-width:100%;max-height:100%;border-radius:.5rem;border:none}
.preview-actions{margin-top:.75rem;display:flex;justify-content:flex-end;gap:.5rem}
.admin-section{margin-top:1.5rem}
.admin-card{min-height:0}
.otp-result{margin-top:.75rem;font-size:.85rem;background:#eff6ff;border-radius:.75rem;padding:.75rem}
.otp-result code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}
.otp-result img{margin-top:.5rem;border-radius:.5rem}
.user-list{margin-top:.75rem;border-radius:.75rem;border:1px solid #e5e7eb;background:#f9fafb;max-height:260px;overflow:auto;font-size:.9rem}
.user-row{display:grid;grid-template-columns:1.3fr .6fr 2.1fr 1.5fr;gap:.5rem;padding:.5rem .75rem;align-items:center}
.user-row+.user-row{border-top:1px solid #e5e7eb}
.user-row-header{font-weight:600;background:#eef2ff}
.user-actions{display:flex;gap:.25rem;flex-wrap:wrap}
.password-hint{font-size:.8rem;color:#6b7280;margin:0 0 .5rem}
.footer{border-top:1px solid #e5e7eb;padding:.75rem 1.5rem 1.5rem;font-size:.8rem;color:#9ca3af}
.footer-inner{max-width:1200px;margin:0 auto}
@media (max-width:900px){
  .content-grid{grid-template-columns:minmax(0,1fr)}
  .user-row{grid-template-columns:1.2fr .8fr 1.5fr 1.5fr}
}
