*{box-sizing:border-box}body{margin:0;background:#0b0e14;color:#edf1f7;font:15px system-ui,Segoe UI,Arial,sans-serif}span{color:#7c5cff}a{color:#b9aaff}.card{background:#151a24;border:1px solid #252d3d;border-radius:18px;padding:24px;box-shadow:0 20px 50px #0005}.login{max-width:420px;margin:9vh auto}.wide{max-width:520px}h1{margin:0 0 8px}form{display:grid;gap:12px;margin-top:22px}input{width:100%;padding:14px;border-radius:10px;border:1px solid #30394b;background:#0e121a;color:white}button{padding:14px;border:0;border-radius:10px;background:#7c5cff;color:white;font-weight:800;cursor:pointer}.err{background:#431e29;padding:12px;border-radius:10px}header{height:64px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:#111620;border-bottom:1px solid #252d3d}.wrap{max-width:1200px;margin:35px auto;padding:0 20px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.row{display:flex;align-items:center;justify-content:space-between}.pill{font-size:12px;padding:6px 9px;border-radius:999px;color:white}.pill.on{background:#147a45}.pill.off{background:#8a2633}.muted,small{color:#8f9aad}label{font-size:13px;color:#b9c1ce}hr{width:100%;border:0;border-top:1px solid #293143}
nav{display:flex;gap:18px;align-items:center}nav span{color:#edf1f7}.title-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.btn{display:inline-block;background:#7c5cff;color:#fff;text-decoration:none;padding:12px 16px;border-radius:10px;font-weight:800}.card-actions{margin-top:18px;padding-top:14px;border-top:1px solid #293143}.form-card{max-width:720px;margin-bottom:22px}.keybox{background:#0e121a;border:1px solid #30394b;border-radius:12px;padding:16px;margin:14px 0 18px}.keybox code{user-select:all}.break{overflow-wrap:anywhere}.warn{color:#ffcf66}.ok{background:#173d2b;border:1px solid #245d42;padding:12px;border-radius:10px;margin-bottom:16px}.secondary{background:#394154}.danger{background:#9a2939}.danger-zone{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.danger-zone form{margin:0;display:block}@media(max-width:700px){header{height:auto;padding:16px 20px;gap:12px;align-items:flex-start}nav{flex-wrap:wrap;justify-content:flex-end}.title-row{align-items:flex-start;flex-direction:column}}
button:disabled{opacity:.38;cursor:not-allowed;filter:grayscale(.4)}table th,table td{text-align:left;padding:10px 12px;border-bottom:1px solid #293143;white-space:nowrap}
/* V0.5.1 Benutzer & Rechte */
.access-shell{display:grid;grid-template-columns:220px 1fr;gap:20px}.access-side{position:sticky;top:20px;align-self:start}.access-side a{display:block;padding:12px 14px;border-radius:10px;text-decoration:none;color:#cbd3df;margin:4px 0}.access-side a.active,.access-side a:hover{background:#7655ff;color:#fff}.access-main{min-width:0}.access-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.access-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.access-tab{background:#111722;border:1px solid #2a3344;color:#cbd3df;padding:11px 16px;border-radius:10px}.access-tab.active{background:#7655ff;color:#fff}.access-list{display:grid;gap:10px}.access-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;list-style:none}.access-summary::-webkit-details-marker{display:none}.access-summary .meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.access-details{border:1px solid #283244;border-radius:14px;background:#121823;padding:0 18px}.access-details[open]{padding-bottom:18px}.access-details summary{padding:18px 0}.access-details[open] summary{border-bottom:1px solid #283244;margin-bottom:16px}.badge{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;background:#273149;color:#cbd3df;font-size:12px}.badge.purple{background:#3c2a85;color:#cfc4ff}.badge.green{background:#173d2b;color:#8de0ad}.badge.admin{background:#5a2630;color:#ffb7c1}.perm-category{border:1px solid #283244;border-radius:12px;background:#0f141d;margin:8px 0}.perm-category summary{padding:13px 15px;font-weight:800;cursor:pointer}.perm-category .inner{padding:0 15px 15px}.notice{background:#1d1634;border:1px solid #5e45b8;color:#d9d1ff;padding:12px 14px;border-radius:10px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.compact-form{margin-top:0}.compact-form button{margin-top:4px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.chev{color:#8f9aad;font-size:18px}.danger-inline{display:flex;gap:10px;flex-wrap:wrap}.danger-inline form{margin:0}.searchbox{max-width:420px}.permission-note{font-size:12px;color:#8f9aad;margin-top:5px}@media(max-width:900px){.access-shell{grid-template-columns:1fr}.access-side{position:static}.access-side nav{display:flex;overflow:auto}.two-col{grid-template-columns:1fr}}


/* V0.7.2 – Smartphone/Tablet responsive */
html{-webkit-text-size-adjust:100%}
body{overflow-x:hidden}
img,video,canvas{max-width:100%;height:auto}
input,select,textarea,button{max-width:100%;box-sizing:border-box}
button,a,input,select{touch-action:manipulation}
@media (max-width: 1024px){
  .wrap{width:auto!important;max-width:none!important;margin:0!important;padding:20px!important}
  .grid,.two-col{grid-template-columns:1fr 1fr!important}
  .access-shell{grid-template-columns:1fr!important}
  .access-side{position:static!important}
  header{padding:14px 20px!important;gap:12px;flex-wrap:wrap}
  header nav{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
}
@media (max-width: 700px){
  body{font-size:16px}
  .wrap{padding:12px!important}
  header{padding:12px!important;align-items:flex-start}
  header>b{font-size:18px}
  header nav{width:100%;gap:8px}
  header nav a,header nav span{padding:8px 4px}
  h1{font-size:27px!important;line-height:1.15}
  h2{font-size:21px!important}
  .grid,.two-col,.checkgrid{grid-template-columns:1fr!important}
  .card,.access-details{border-radius:14px!important;padding:16px!important}
  .row{align-items:stretch!important}
  .row button{min-height:46px}
  button{min-height:46px;padding:11px 14px!important}
  input,select,textarea{min-height:46px;font-size:16px!important}
  .scene{min-height:48px}
  .volctl{display:grid!important;grid-template-columns:minmax(0,1fr) 72px auto!important;width:100%}
  .vol{width:100%!important;min-width:0}
  .volnum{width:72px!important}
  .item>.row{display:grid!important;grid-template-columns:minmax(110px,1fr) auto auto!important;align-items:center!important}
  .item>.row b{overflow-wrap:anywhere}
  .access-summary{min-height:48px;gap:10px}
  .meta{display:flex;gap:6px;flex-wrap:wrap}
  table{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}
  #toast{left:12px!important;right:12px!important;bottom:12px!important;max-width:none!important;text-align:center}
}
@media (max-width: 420px){
  .wrap{padding:9px!important}
  .card,.access-details{padding:13px!important}
  .item>.row{grid-template-columns:1fr auto!important}
  .item>.row span{grid-column:2}
  .item>.row button{grid-column:2}
  .volctl{grid-template-columns:minmax(0,1fr) 64px auto!important}
  .volnum{width:64px!important}
}

.hs-footer{min-height:46px;background:#102016;border-top:1px solid #2f8f48;color:#c8d8cc;display:flex;align-items:center;justify-content:center;gap:28px;padding:8px 18px;box-sizing:border-box;font-size:13px}
.hs-footer b{color:#5fe277}.hs-footer nav{display:flex;justify-content:center;flex-wrap:wrap}.hs-footer nav a{color:#d9e7dc;text-decoration:none;padding:2px 10px;border-left:1px solid #31583b}.hs-footer nav a:first-child{border-left:0}.hs-footer nav a:hover{color:#67eb80}
@media(max-width:700px){.hs-footer{min-height:54px;gap:4px 12px;padding:7px 10px;flex-wrap:wrap;text-align:center;font-size:12px}.hs-footer>span{width:100%}.hs-footer nav a{padding:2px 7px}}


/* V0.7.3.2 – Footer always at bottom of viewport */
html, body { min-height: 100%; }
body { min-height: 100vh; position: relative; padding-bottom: 62px; box-sizing: border-box; }
.hs-footer {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  box-sizing: border-box;
  z-index: 20;
}
@media (max-width:700px) {
  body { padding-bottom: 78px; }
}
/* V0.7.4 Security */
.logout-form{display:inline;margin:0}.logout-link{background:none!important;border:0!important;box-shadow:none!important;color:inherit!important;padding:0!important;font:inherit;cursor:pointer}.logout-link:hover{text-decoration:underline}
