*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}html{color-scheme:dark}body{--tw-bg-opacity:1;background-color:rgb(10 11 15/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(230 231 235/var(--tw-text-opacity,1))}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(22 24 31/var(--tw-bg-opacity,1))}::-webkit-scrollbar-thumb:hover{--tw-bg-opacity:1;background-color:rgb(27 30 38/var(--tw-bg-opacity,1))}.card{border-radius:.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(35 38 46/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(17 19 24/var(--tw-bg-opacity,1))}.btn{display:inline-flex;align-items:center;gap:.375rem;border-radius:.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(35 38 46/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(22 24 31/var(--tw-bg-opacity,1));padding:.375rem .75rem;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity:1;color:rgb(230 231 235/var(--tw-text-opacity,1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn:hover{--tw-bg-opacity:1;background-color:rgb(27 30 38/var(--tw-bg-opacity,1))}.btn-primary{display:inline-flex;align-items:center;gap:.375rem;border-radius:.375rem;--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1));padding:.375rem .75rem;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn-primary:hover{--tw-bg-opacity:1;background-color:rgb(120 128 245/var(--tw-bg-opacity,1))}.btn-danger{display:inline-flex;align-items:center;gap:.375rem;border-radius:.375rem;border-width:1px;border-color:rgba(244,80,106,.3);background-color:rgba(244,80,106,.1);padding:.375rem .75rem;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity:1;color:rgb(244 80 106/var(--tw-text-opacity,1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn-danger:hover{background-color:rgba(244,80,106,.2)}.input{width:100%;border-radius:.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(35 38 46/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(22 24 31/var(--tw-bg-opacity,1));padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(230 231 235/var(--tw-text-opacity,1))}.input::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.input::placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.input:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity,1))}.label{margin-bottom:.375rem;display:block;--tw-text-opacity:1;color:rgb(156 160 171/var(--tw-text-opacity,1))}.badge,.label{font-size:.75rem;line-height:1rem;font-weight:500}.badge{display:inline-flex;align-items:center;gap:.25rem;border-radius:9999px;padding:.125rem .5rem}.nav-link{display:flex;align-items:center;gap:.625rem;border-radius:.375rem;padding:.375rem .625rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(156 160 171/var(--tw-text-opacity,1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.nav-link-active,.nav-link:hover{--tw-bg-opacity:1;background-color:rgb(22 24 31/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(230 231 235/var(--tw-text-opacity,1))}.nav-link-active{display:flex;align-items:center;gap:.625rem;border-radius:.375rem;padding:.375rem .625rem;font-size:.875rem;line-height:1.25rem;font-weight:500}.nav-group-label{padding:1rem .625rem .375rem;font-size:11px;font-weight:600;letter-spacing:.05em;--tw-text-opacity:1}.nav-group-label,table.data-table th{text-transform:uppercase;color:rgb(107 114 128/var(--tw-text-opacity,1))}table.data-table th{border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(35 38 46/var(--tw-border-opacity,1));padding:.625rem 1rem;text-align:left;font-size:.75rem;line-height:1rem;font-weight:500;letter-spacing:.025em;--tw-text-opacity:1}table.data-table td{border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(26 28 35/var(--tw-border-opacity,1));padding:.75rem 1rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(230 231 235/var(--tw-text-opacity,1))}table.data-table tr:last-child td{border-bottom-width:0}.pointer-events-none{pointer-events:none}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.left-3{left:.75rem}.top-1\/2{top:50%}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mt-6{margin-top:1.5rem}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-14{height:3.5rem}.h-4{height:1rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.max-h-64{max-height:16rem}.min-h-screen{min-height:100vh}.w-14{width:3.5rem}.w-4{width:1rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-full{width:100%}.min-w-0{min-width:0}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-border{--tw-border-opacity:1;border-color:rgb(35 38 46/var(--tw-border-opacity,1))}.border-danger\/30{border-color:rgba(244,80,106,.3)}.border-success\/30{border-color:rgba(52,211,153,.3)}.bg-accent{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.bg-accent\/15{background-color:rgba(99,102,241,.15)}.bg-base{--tw-bg-opacity:1;background-color:rgb(10 11 15/var(--tw-bg-opacity,1))}.bg-danger\/10{background-color:rgba(244,80,106,.1)}.bg-success\/10{background-color:rgba(52,211,153,.1)}.bg-success\/15{background-color:rgba(52,211,153,.15)}.bg-surface{--tw-bg-opacity:1;background-color:rgb(17 19 24/var(--tw-bg-opacity,1))}.bg-surface-2{--tw-bg-opacity:1;background-color:rgb(22 24 31/var(--tw-bg-opacity,1))}.bg-text-muted\/15{background-color:hsla(220,9%,46%,.15)}.p-0{padding:0}.p-1\.5{padding:.375rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-4{padding-top:1rem}.pb-4,.py-4{padding-bottom:1rem}.pl-9{padding-left:2.25rem}.text-center{text-align:center}.text-right{text-align:right}.align-text-bottom{vertical-align:text-bottom}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-accent{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.text-base{--tw-text-opacity:1;color:rgb(10 11 15/var(--tw-text-opacity,1))}.text-danger{--tw-text-opacity:1;color:rgb(244 80 106/var(--tw-text-opacity,1))}.text-success{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.text-text-muted{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-text-primary{--tw-text-opacity:1;color:rgb(230 231 235/var(--tw-text-opacity,1))}.text-text-secondary{--tw-text-opacity:1;color:rgb(156 160 171/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.backdrop\:bg-black\/60::backdrop{background-color:rgba(0,0,0,.6)}.hover\:bg-accent-hover:hover{--tw-bg-opacity:1;background-color:rgb(120 128 245/var(--tw-bg-opacity,1))}.hover\:bg-surface-2:hover{--tw-bg-opacity:1;background-color:rgb(22 24 31/var(--tw-bg-opacity,1))}.hover\:bg-surface-hover:hover{--tw-bg-opacity:1;background-color:rgb(27 30 38/var(--tw-bg-opacity,1))}.hover\:text-text-primary:hover{--tw-text-opacity:1;color:rgb(230 231 235/var(--tw-text-opacity,1))}.focus\:ring-accent:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity,1))}.has-\[\:checked\]\:border-accent:has(:checked){--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.has-\[\:checked\]\:text-text-primary:has(:checked){--tw-text-opacity:1;color:rgb(230 231 235/var(--tw-text-opacity,1))}@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:768px){.md\:block{display:block}}@media (min-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* DRT website-inspired theme */
html {
  background-color: #2a231a;
}

body {
  background-color: #2a231a !important;
  background-image: linear-gradient(rgba(0, 0, 0, 0.18), rgba(0, 0, 0, 0.35)), url('../images/drt-background.jpg') !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-attachment: fixed !important;
  background-size: cover !important;
  color: #d1d2d3;
  font-family: Roboto, Arial, Helvetica, sans-serif;
}

.card {
  border-color: rgba(171, 191, 196, 0.22) !important;
  background-color: rgba(0, 0, 0, 0.55) !important;
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.28);
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
}

aside.bg-surface,
header.bg-surface {
  border-color: rgba(171, 191, 196, 0.18) !important;
  background-color: rgba(0, 0, 0, 0.68) !important;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}

main > .card,
main .card,
dialog.card {
  background-color: rgba(0, 0, 0, 0.58) !important;
}

.bg-surface,
.bg-surface-2,
.input {
  background-color: rgba(0, 0, 0, 0.44) !important;
}

.input {
  border-color: rgba(171, 191, 196, 0.25) !important;
}

.nav-link:hover,
.nav-link-active {
  background-color: rgba(116, 38, 30, 0.62) !important;
}

.bg-accent,
.btn-primary {
  background-color: #9d3028 !important;
}

.btn-primary:hover,
.hover\:bg-accent-hover:hover {
  background-color: #b93a31 !important;
}

.text-accent {
  color: #df6a60 !important;
}

.btn {
  background-color: rgba(0, 0, 0, 0.48) !important;
  border-color: rgba(171, 191, 196, 0.25) !important;
}

.btn:hover {
  background-color: rgba(116, 38, 30, 0.58) !important;
}

table.data-table th,
table.data-table td,
.border-border {
  border-color: rgba(171, 191, 196, 0.18) !important;
}

@media (max-width: 767px) {
  body {
    background-attachment: scroll !important;
  }
}
/* Modern role and permission editor */
.role-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1rem;
}

.role-card {
  display: flex;
  min-height: 250px;
  flex-direction: column;
  padding: 1.25rem;
}

.role-card__header {
  display: flex;
  align-items: flex-start;
  gap: 0.875rem;
}

.role-card__icon {
  display: flex;
  width: 2.75rem;
  height: 2.75rem;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(223, 106, 96, 0.28);
  border-radius: 0.75rem;
  background: rgba(157, 48, 40, 0.18);
  color: #df6a60;
}

.role-card__icon svg { width: 1.35rem; height: 1.35rem; }
.role-card__title { min-width: 0; }
.role-card__title h2 { font-size: 1rem; font-weight: 650; color: #e6e7eb; }
.role-card__title p { margin-top: 0.25rem; color: #9ca0ab; font-size: 0.8125rem; line-height: 1.45; }

.role-card__stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  margin-top: 1.25rem;
}

.role-card__stats div {
  padding: 0.75rem;
  border: 1px solid rgba(171, 191, 196, 0.14);
  border-radius: 0.5rem;
  background: rgba(0, 0, 0, 0.22);
}

.role-card__stats strong { display: block; color: #e6e7eb; font-size: 1.05rem; }
.role-card__stats span { color: #6b7280; font-size: 0.72rem; }

.role-progress {
  height: 0.25rem;
  margin-top: 0.875rem;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.07);
}

.role-progress span { display: block; height: 100%; border-radius: inherit; background: #9d3028; }
.role-card__actions { display: flex; justify-content: flex-end; gap: 0.5rem; margin-top: auto; padding-top: 1.25rem; }

.role-dialog {
  width: min(1120px, calc(100vw - 2rem));
  max-width: none;
  max-height: calc(100vh - 2rem);
  padding: 0;
  overflow: hidden;
}

.role-dialog::backdrop { background: rgba(0, 0, 0, 0.76); backdrop-filter: blur(3px); }
.role-editor { display: flex; max-height: calc(100vh - 2rem); flex-direction: column; }

.role-editor__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid rgba(171, 191, 196, 0.16);
  background: rgba(0, 0, 0, 0.22);
}

.role-editor__eyebrow { color: #df6a60 !important; font-size: 0.68rem !important; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; }
.role-editor__header h2 { margin-top: 0.2rem; color: #e6e7eb; font-size: 1.2rem; font-weight: 650; }
.role-editor__header p { margin-top: 0.25rem; color: #9ca0ab; font-size: 0.82rem; }
.role-editor__close { width: 2rem; height: 2rem; border-radius: 0.45rem; color: #9ca0ab; font-size: 1.5rem; line-height: 1; }
.role-editor__close:hover { background: rgba(255, 255, 255, 0.07); color: #e6e7eb; }

.role-editor__identity {
  display: grid;
  grid-template-columns: minmax(220px, 0.8fr) minmax(300px, 1.2fr);
  gap: 1rem;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid rgba(171, 191, 196, 0.14);
}

.permission-editor { min-height: 0; padding: 1rem 1.5rem; overflow-y: auto; }
.permission-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.permission-toolbar h3 { color: #e6e7eb; font-size: 0.95rem; font-weight: 650; }
.permission-toolbar p { color: #6b7280; font-size: 0.75rem; }
.permission-toolbar__actions { display: flex; align-items: center; gap: 0.5rem; }
.permission-toolbar__actions .input { width: min(290px, 32vw); }

.permission-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.875rem; }
.permission-group { overflow: hidden; border: 1px solid rgba(171, 191, 196, 0.18); border-radius: 0.65rem; background: rgba(0, 0, 0, 0.24); }
.permission-group__header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.75rem 0.875rem; border-bottom: 1px solid rgba(171, 191, 196, 0.14); background: rgba(255, 255, 255, 0.025); }
.permission-group__header h4 { color: #d7d9dd; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.035em; text-transform: uppercase; }
.permission-group__header p { color: #6b7280; font-size: 0.68rem; }
.permission-group__select { display: flex; align-items: center; gap: 0.4rem; color: #8f949f; font-size: 0.7rem; cursor: pointer; }
.permission-group__select input { accent-color: #9d3028; }

.permission-group__items { padding: 0.3rem; }
.permission-item { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.65rem 0.6rem; border-radius: 0.45rem; cursor: pointer; }
.permission-item:hover { background: rgba(255, 255, 255, 0.035); }
.permission-item__copy { display: block; min-width: 0; }
.permission-item__title { display: block; color: #c9cbd0; font-size: 0.8rem; line-height: 1.3; }
.permission-item__meta { display: flex; align-items: center; gap: 0.45rem; margin-top: 0.22rem; }
.permission-item__meta code { overflow: hidden; color: #656b76; font-size: 0.64rem; text-overflow: ellipsis; white-space: nowrap; }
.permission-kind { padding: 0.1rem 0.35rem; border-radius: 999px; font-size: 0.58rem; font-weight: 700; letter-spacing: 0.025em; text-transform: uppercase; }
.permission-kind--ansehen { background: rgba(14, 97, 110, 0.25); color: #79c5d1; }
.permission-kind--verwalten { background: rgba(157, 48, 40, 0.22); color: #df7a70; }
.permission-kind--zugriff { background: rgba(107, 114, 128, 0.22); color: #aeb3bd; }

.permission-switch { position: relative; display: block; width: 2.25rem; height: 1.25rem; flex: 0 0 auto; }
.permission-switch input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.permission-switch span { display: block; width: 100%; height: 100%; border: 1px solid rgba(171, 191, 196, 0.25); border-radius: 999px; background: rgba(0, 0, 0, 0.48); transition: 160ms ease; }
.permission-switch span::after { content: ''; position: absolute; top: 0.2rem; left: 0.2rem; width: 0.85rem; height: 0.85rem; border-radius: 50%; background: #777d88; transition: 160ms ease; }
.permission-switch input:checked + span { border-color: #b4453b; background: #9d3028; }
.permission-switch input:checked + span::after { left: 1.16rem; background: white; }
.permission-switch input:focus-visible + span { outline: 2px solid #df6a60; outline-offset: 2px; }

.permission-hint { margin-top: 0.75rem; color: #6b7280; font-size: 0.7rem; }
.role-editor__footer { display: flex; justify-content: flex-end; gap: 0.6rem; padding: 1rem 1.5rem; border-top: 1px solid rgba(171, 191, 196, 0.16); background: rgba(0, 0, 0, 0.28); }

@media (max-width: 850px) {
  .permission-groups { grid-template-columns: 1fr; }
  .permission-toolbar { align-items: stretch; flex-direction: column; }
  .permission-toolbar__actions { flex-wrap: wrap; }
  .permission-toolbar__actions .input { width: 100%; }
}

@media (max-width: 620px) {
  .role-editor__identity { grid-template-columns: 1fr; }
  .role-card__actions { align-items: stretch; flex-direction: column; }
  .role-card__actions .btn, .role-card__actions .btn-danger { justify-content: center; width: 100%; }
}
/* Sidebar section management actions */
.nav-group-heading {
  display: flex;
  min-height: 2.25rem;
  align-items: flex-end;
  gap: 0.2rem;
  padding: 0 0.35rem 0.35rem 0.625rem;
}

.nav-group-heading .nav-group-label {
  min-width: 0;
  flex: 1;
  padding: 1rem 0 0;
}

.nav-group-action,
.nav-item-action {
  display: inline-flex;
  width: 1.6rem;
  height: 1.6rem;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border-radius: 0.35rem;
  color: #777d88;
  transition: color 150ms ease, background-color 150ms ease, opacity 150ms ease;
}

.nav-group-action svg,
.nav-item-action svg {
  width: 0.9rem;
  height: 0.9rem;
}

.nav-group-action:hover,
.nav-group-action:focus-visible,
.nav-item-action:hover,
.nav-item-action:focus-visible {
  background: rgba(255, 255, 255, 0.07);
  color: #e6e7eb;
  outline: none;
}

.nav-group-action--add {
  border: 1px solid rgba(223, 106, 96, 0.3);
  background: rgba(157, 48, 40, 0.16);
  color: #df6a60;
}

.nav-group-action--add:hover,
.nav-group-action--add:focus-visible {
  background: rgba(157, 48, 40, 0.42);
  color: #fff;
}

.nav-item-row {
  position: relative;
}

.nav-item-row > .nav-link,
.nav-item-row > .nav-link-active {
  padding-right: 3.75rem;
}

.nav-item-actions {
  position: absolute;
  top: 50%;
  right: 0.25rem;
  display: flex;
  align-items: center;
  gap: 0.05rem;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-50%);
  transition: opacity 150ms ease;
}

.nav-item-row:hover .nav-item-actions,
.nav-item-row:focus-within .nav-item-actions {
  opacity: 1;
  pointer-events: auto;
}

.nav-item-actions form {
  display: flex;
}

.nav-item-action--delete:hover,
.nav-item-action--delete:focus-visible {
  background: rgba(244, 80, 106, 0.16);
  color: #f4506a;
}

@media (hover: none) {
  .nav-item-actions {
    opacity: 1;
    pointer-events: auto;
  }
}
/* Text and HTML page editor */
.content-mode-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
}
.content-mode-option {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 0.75rem;
  border: 1px solid rgba(171, 191, 196, 0.2);
  border-radius: 0.55rem;
  background: rgba(0, 0, 0, 0.25);
  cursor: pointer;
  transition: border-color 150ms ease, background-color 150ms ease;
}
.content-mode-option:hover,
.content-mode-option:has(input:checked) {
  border-color: rgba(223, 106, 96, 0.58);
  background: rgba(157, 48, 40, 0.15);
}
.content-mode-option input { margin-top: 0.15rem; accent-color: #9d3028; }
.content-mode-option span,
.content-mode-option strong,
.content-mode-option small { display: block; }
.content-mode-option strong { color: #e6e7eb; font-size: 0.8rem; }
.content-mode-option small { margin-top: 0.15rem; color: #777d88; font-size: 0.68rem; line-height: 1.35; }
.code-editor {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 0.78rem;
  line-height: 1.55;
  tab-size: 2;
}
.html-page-frame iframe {
  display: block;
  width: 100%;
  min-height: 70vh;
  border: 0;
  background: transparent;
}
@media (max-width: 620px) {
  .content-mode-options { grid-template-columns: 1fr; }
}
/* Persistent sidebar drag sorting */
.nav-drag-handle {
  cursor: grab;
  touch-action: none;
}

.nav-drag-handle:active {
  cursor: grabbing;
}

.nav-item-row[data-page-id] > .nav-link,
.nav-item-row[data-page-id] > .nav-link-active {
  padding-right: 5.2rem;
}

.nav-sort-dragging {
  opacity: 0.42;
}

.nav-group-block[data-section-id].nav-sort-dragging,
.nav-item-row[data-page-id].nav-sort-dragging {
  outline: 1px dashed rgba(223, 106, 96, 0.7);
  outline-offset: 2px;
}

.menu-sort-toast {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 10000;
  padding: 0.65rem 0.85rem;
  border: 1px solid rgba(52, 211, 153, 0.35);
  border-radius: 0.5rem;
  background: rgba(10, 35, 29, 0.95);
  color: #6ee7b7;
  font-size: 0.78rem;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35);
  opacity: 0;
  pointer-events: none;
  transform: translateY(0.5rem);
  transition: opacity 160ms ease, transform 160ms ease;
}

.menu-sort-toast--visible {
  opacity: 1;
  transform: translateY(0);
}

.menu-sort-toast--error {
  border-color: rgba(244, 80, 106, 0.38);
  background: rgba(50, 15, 23, 0.96);
  color: #fb7185;
}
/* Cross-section page drop targets */
.nav-sorting-page .nav-group-block[data-section-id] {
  border-radius: 0.45rem;
  outline: 1px dashed rgba(121, 197, 209, 0.25);
  outline-offset: 2px;
}

.nav-sorting-page .nav-group-block[data-section-id]:hover {
  background: rgba(14, 97, 110, 0.09);
  outline-color: rgba(121, 197, 209, 0.68);
}
/* Permission hierarchy labels */
.permission-subheading {
  margin: 0.35rem 0.55rem 0.2rem;
  color: #8f949f;
  font-size: 0.62rem;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.permission-subheading--pages {
  margin-top: 0.8rem;
  padding-top: 0.65rem;
  border-top: 1px solid rgba(171, 191, 196, 0.13);
  color: #df6a60;
}
/* Clickable section headings */
.nav-group-label--link { display: block; color: #8f949f; transition: color 150ms ease; }
.nav-group-label--link:hover, .nav-group-label--link:focus-visible { color: #e6e7eb; outline: none; }

/* Operations dashboard */
.dashboard-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; margin-bottom:1.25rem; }
.dashboard-eyebrow { color:#df6a60!important; font-size:.68rem!important; font-weight:750; letter-spacing:.1em; }
.dashboard-hero h1 { color:#f1f2f4; font-size:1.55rem; font-weight:700; }
.dashboard-hero p { color:#9ca0ab; font-size:.82rem; }
.dashboard-announcements { display:grid; gap:.65rem; margin-bottom:1.5rem; }
.dashboard-notice { display:grid; grid-template-columns:2rem minmax(0,1fr) auto; align-items:start; gap:.75rem; padding:.85rem 1rem; border:1px solid; border-radius:.5rem; box-shadow:0 10px 25px rgba(0,0,0,.18); }
.dashboard-notice__icon { display:flex; width:1.65rem; height:1.65rem; align-items:center; justify-content:center; border-radius:50%; background:rgba(255,255,255,.14); color:white; font-weight:800; }
.dashboard-notice h2 { color:white; font-size:.86rem; font-weight:700; }
.dashboard-notice div div { margin-top:.15rem; color:rgba(255,255,255,.86); font-size:.78rem; }
.dashboard-notice time { color:rgba(255,255,255,.65); font-size:.66rem; }
.dashboard-notice--danger { border-color:#c92a36; background:rgba(155,28,39,.88); }
.dashboard-notice--warning { border-color:#d97706; background:rgba(146,78,13,.9); }
.dashboard-notice--info { border-color:#1d6ab6; background:rgba(20,82,148,.9); }
.dashboard-notice--success { border-color:#23845a; background:rgba(22,105,71,.9); }
.dashboard-status-section { margin-bottom:1.5rem; }
.dashboard-section-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.85rem; }
.dashboard-section-heading h2 { color:#e6e7eb; font-size:1rem; font-weight:700; }
.dashboard-section-heading p { color:#777d88; font-size:.72rem; }
.dashboard-summary { display:flex; flex-wrap:wrap; gap:.4rem; }
.status-summary { padding:.25rem .55rem; border-radius:999px; font-size:.67rem; font-weight:700; }
.status-summary--up { background:rgba(52,211,153,.14); color:#6ee7b7; }
.status-summary--down { background:rgba(244,80,106,.14); color:#fb7185; }
.status-summary--unknown { background:rgba(107,114,128,.18); color:#aeb3bd; }
.monitor-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:.85rem; }
.monitor-card { padding:1rem; }
.monitor-card header { display:flex; align-items:center; gap:.65rem; }
.monitor-card header div { min-width:0; flex:1; }
.monitor-card h3 { color:#e6e7eb; font-size:.85rem; font-weight:700; }
.monitor-card header p { overflow:hidden; color:#6b7280; font-size:.67rem; text-overflow:ellipsis; white-space:nowrap; }
.monitor-state { display:inline-block; width:.65rem; height:.65rem; flex:0 0 auto; border-radius:50%; box-shadow:0 0 0 4px rgba(107,114,128,.1); }
.monitor-state--up { background:#34d399; box-shadow:0 0 0 4px rgba(52,211,153,.12); }
.monitor-state--down { background:#f4506a; box-shadow:0 0 0 4px rgba(244,80,106,.12); }
.monitor-state--unknown { background:#6b7280; }
.monitor-status-label { font-size:.67rem; }
.monitor-status-label--up { color:#6ee7b7; }.monitor-status-label--down { color:#fb7185; }.monitor-status-label--unknown { color:#8f949f; }
.monitor-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:.45rem; margin-top:1rem; }
.monitor-metrics div { padding:.55rem; border:1px solid rgba(171,191,196,.12); border-radius:.4rem; background:rgba(0,0,0,.18); }
.monitor-metrics span,.monitor-metrics strong { display:block; }.monitor-metrics span { color:#6b7280; font-size:.61rem; }.monitor-metrics strong { margin-top:.1rem; color:#d7d9dd; font-size:.78rem; }
.monitor-history { display:flex; height:1.5rem; align-items:flex-end; gap:2px; margin-top:.8rem; }
.monitor-history__bar { min-width:3px; height:100%; flex:1; border-radius:2px; background:#6b7280; }.monitor-history__bar--up { background:#34d399; }.monitor-history__bar--down { background:#f4506a; }
.monitor-card footer { margin-top:.55rem; color:#5f6570; font-size:.62rem; }
.dashboard-empty { padding:2rem; text-align:center; color:#8f949f; font-size:.8rem; }.dashboard-empty span { display:block; margin-top:.2rem; color:#646a75; font-size:.7rem; }
.dashboard-admin { padding:1.25rem; }
.dashboard-admin-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.dashboard-admin-form { display:grid; gap:.65rem; padding:1rem; border:1px solid rgba(171,191,196,.14); border-radius:.55rem; background:rgba(0,0,0,.2); }
.dashboard-admin-form h3,.dashboard-admin-lists h3 { color:#e6e7eb; font-size:.82rem; font-weight:700; }
.dashboard-admin-form .label { margin-bottom:-.35rem; }.dashboard-admin-form button { justify-self:start; margin-top:.25rem; }
.dashboard-admin-lists { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:1.25rem; padding-top:1rem; border-top:1px solid rgba(171,191,196,.14); }
.dashboard-admin-row { display:flex; align-items:center; gap:.45rem; margin-top:.45rem; padding:.45rem; border-radius:.4rem; background:rgba(0,0,0,.18); }
.dashboard-admin-row strong { min-width:0; flex:1; overflow:hidden; color:#c9cbd0; font-size:.72rem; text-overflow:ellipsis; white-space:nowrap; }
.dashboard-admin-row small { max-width:35%; overflow:hidden; color:#646a75; font-size:.61rem; text-overflow:ellipsis; white-space:nowrap; }
.notice-dot { width:.55rem; height:.55rem; flex:0 0 auto; border-radius:50%; }.notice-dot--danger{background:#f4506a}.notice-dot--warning{background:#f59e0b}.notice-dot--info{background:#3b82f6}.notice-dot--success{background:#34d399}
@media(max-width:800px){.dashboard-admin-grid,.dashboard-admin-lists{grid-template-columns:1fr}.dashboard-notice{grid-template-columns:2rem minmax(0,1fr)}.dashboard-notice time{grid-column:2}.dashboard-hero{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.monitor-metrics{grid-template-columns:1fr}.dashboard-section-heading{align-items:flex-start;flex-direction:column}.dashboard-admin-row{flex-wrap:wrap}}
/* Compact Root server status from the existing Servermonitor API */
.root-server-section { margin-bottom: 1.5rem; }
.root-server-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(315px,1fr)); gap:.85rem; }
.root-server-card { position:relative; overflow:hidden; padding:1rem; }
.root-server-card::before { content:''; position:absolute; inset:0 auto 0 0; width:2px; background:#6b7280; }
.root-server-card--up::before { background:#34d399; }.root-server-card--down::before { background:#f4506a; }
.root-server-card header { display:flex; align-items:center; gap:.65rem; }
.root-server-card header div { min-width:0; flex:1; }.root-server-card h3 { color:#e6e7eb; font-size:.88rem; font-weight:700; }
.root-server-card header p { color:#646a75; font-size:.62rem; }
.root-server-resources { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; margin-top:1rem; }
.root-server-meter > div:first-child { display:flex; align-items:center; justify-content:space-between; gap:.5rem; }
.root-server-meter span { color:#777d88; font-size:.64rem; }.root-server-meter strong { color:#d7d9dd; font-size:.72rem; }
.root-server-meter__track { height:.35rem; margin-top:.35rem; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.07); }
.root-server-meter__fill { display:block; height:100%; border-radius:inherit; background:#34d399; transition:width .3s ease; }
.root-server-meter__fill--warning { background:#f59e0b; }.root-server-meter__fill--danger { background:#f4506a; }
.root-server-network { display:grid; grid-template-columns:.8fr .8fr 1.2fr; gap:.45rem; margin-top:.9rem; }
.root-server-network div { min-width:0; padding:.5rem; border:1px solid rgba(171,191,196,.11); border-radius:.4rem; background:rgba(0,0,0,.18); }
.root-server-network span,.root-server-network strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.root-server-network span { color:#646a75; font-size:.59rem; }.root-server-network strong { margin-top:.12rem; color:#c9cbd0; font-size:.68rem; }
@media(max-width:520px){.root-server-resources,.root-server-network{grid-template-columns:1fr}}
/* Network monitor type fields */
.monitor-host-fields { grid-template-columns:minmax(0,1fr) 8rem; gap:.65rem; }
.monitor-host-fields:not([hidden]) { display:grid; }
.monitor-host-fields .label { margin-bottom:.3rem; }
.monitor-type-hint { margin-top:-.25rem; color:#6b7280; font-size:.66rem; line-height:1.45; }
@media(max-width:520px){.monitor-host-fields:not([hidden]){grid-template-columns:1fr}}
/* Collapsible application sidebar */
.app-sidebar { width:16rem; min-width:16rem; overflow:hidden; transition:width 180ms ease,min-width 180ms ease,box-shadow 180ms ease; }
.sidebar-brand { min-height:3.75rem; }
.sidebar-toggle { display:inline-flex; width:1.9rem; height:1.9rem; flex:0 0 auto; align-items:center; justify-content:center; margin-left:auto; border:1px solid rgba(171,191,196,.2); border-radius:.4rem; background:rgba(255,255,255,.035); color:#8f949f; transition:color 150ms ease,background 150ms ease,transform 180ms ease; }
.sidebar-toggle:hover { background:rgba(255,255,255,.09); color:#e6e7eb; }
.sidebar-toggle svg { width:1rem; height:1rem; }
body.sidebar-collapsed .app-sidebar { width:3.75rem; min-width:3.75rem; }
body.sidebar-collapsed .app-sidebar:hover,body.sidebar-collapsed .app-sidebar:focus-within { width:16rem; min-width:16rem; box-shadow:14px 0 30px rgba(0,0,0,.38); }
body.sidebar-collapsed .app-sidebar:not(:hover):not(:focus-within) .sidebar-collapsible,
body.sidebar-collapsed .app-sidebar:not(:hover):not(:focus-within) .nav-group-heading,
body.sidebar-collapsed .app-sidebar:not(:hover):not(:focus-within) .nav-item-actions { display:none; }
body.sidebar-collapsed .app-sidebar:not(:hover):not(:focus-within) #sidebar-navigation { padding-inline:.65rem; }
body.sidebar-collapsed .app-sidebar:not(:hover):not(:focus-within) .nav-group-block { margin-top:.55rem; }
body.sidebar-collapsed .app-sidebar:not(:hover):not(:focus-within) .nav-link,
body.sidebar-collapsed .app-sidebar:not(:hover):not(:focus-within) .nav-link-active { justify-content:center; padding:.55rem; }
body.sidebar-collapsed .app-sidebar:not(:hover):not(:focus-within) .nav-link span,
body.sidebar-collapsed .app-sidebar:not(:hover):not(:focus-within) .nav-link-active span { display:none; }
body.sidebar-collapsed .app-sidebar:not(:hover):not(:focus-within) .sidebar-brand { justify-content:center; padding-inline:.65rem; }
body.sidebar-collapsed .app-sidebar:not(:hover):not(:focus-within) .sidebar-brand > div { display:none; }
body.sidebar-collapsed .app-sidebar:not(:hover):not(:focus-within) .sidebar-toggle { margin-left:0; transform:rotate(180deg); }
body.sidebar-collapsed .app-sidebar:not(:hover):not(:focus-within) .sidebar-account { padding-inline:.6rem; }
body.sidebar-collapsed .app-sidebar:not(:hover):not(:focus-within) .sidebar-account > div { justify-content:center; padding-inline:0; }
@media(max-width:700px){.app-sidebar{width:14rem;min-width:14rem}body.sidebar-collapsed .app-sidebar:hover,body.sidebar-collapsed .app-sidebar:focus-within{width:14rem;min-width:14rem}}
/* Per-page icon picker */
.icon-choice-grid { display:grid; max-height:16rem; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.45rem; padding-right:.25rem; overflow-y:auto; }
.icon-choice { display:flex; min-width:0; align-items:center; gap:.45rem; padding:.55rem .6rem; border:1px solid #23262e; border-radius:.4rem; background:#16181f; color:#9ca0ab; font-size:.72rem; cursor:pointer; }
.icon-choice:hover { border-color:#464b57; color:#e6e7eb; }
.icon-choice:has(input:checked) { border-color:#9d3028; background:rgba(157,48,40,.14); color:#fff; }
.icon-choice input { width:.85rem; height:.85rem; flex:0 0 auto; accent-color:#9d3028; }
.icon-choice svg { width:1rem; height:1rem; flex:0 0 auto; }
.icon-choice span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
@media(max-width:520px){.icon-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Collapsible navigation groups */
.nav-group-toggle { display:inline-flex; width:1.35rem; height:1.6rem; flex:0 0 auto; align-items:center; justify-content:center; color:#69707c; }
.nav-group-toggle svg { width:.8rem; height:.8rem; transition:transform 160ms ease,color 150ms ease; }
.nav-group-toggle:hover,.nav-group-toggle:focus-visible { color:#e6e7eb; outline:none; }
.nav-group-block.nav-group-collapsed .nav-group-toggle svg { transform:rotate(-90deg); }
.nav-group-block.nav-group-collapsed .nav-group-items { display:none; }
/* Modern, color-coded user management */
.users-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.1rem}.users-page-eyebrow{color:#df6a60!important;font-size:.65rem!important;font-weight:750;letter-spacing:.1em}.users-page-header h1{color:#f1f2f4;font-size:1.45rem;font-weight:700}.users-page-header p{color:#8f949f;font-size:.78rem}.users-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:.9rem}.users-stat{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border:1px solid rgba(171,191,196,.14);border-radius:.6rem;background:rgba(8,9,12,.7);box-shadow:0 8px 24px rgba(0,0,0,.12)}.users-stat__icon{display:flex;width:2rem;height:2rem;align-items:center;justify-content:center;border-radius:.5rem;font-size:.75rem}.users-stat strong,.users-stat span{display:block}.users-stat strong{color:#edf0f2;font-size:1.1rem}.users-stat div span{color:#737984;font-size:.66rem}.users-stat--all .users-stat__icon{background:rgba(59,130,246,.15);color:#60a5fa}.users-stat--active .users-stat__icon{background:rgba(52,211,153,.14);color:#6ee7b7}.users-stat--pending .users-stat__icon{background:rgba(245,158,11,.15);color:#fbbf24}.users-stat--roles .users-stat__icon{background:rgba(168,85,247,.14);color:#c084fc}.users-toolbar{display:flex;align-items:center;gap:.75rem;margin-bottom:.9rem;padding:.65rem}.users-search{position:relative;display:flex;min-width:0;flex:1;align-items:center}.users-search svg{position:absolute;left:.7rem;width:1rem;height:1rem;color:#646a75}.users-search input{width:100%;border:1px solid rgba(171,191,196,.16);border-radius:.42rem;background:rgba(0,0,0,.28);padding:.55rem .75rem .55rem 2.2rem;color:#d9dce0;font-size:.76rem;outline:none}.users-search input:focus{border-color:rgba(223,106,96,.55);box-shadow:0 0 0 2px rgba(157,48,40,.12)}.users-status-filter{width:12rem}.users-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.user-card{position:relative;overflow:hidden;border:1px solid rgba(171,191,196,.15);border-radius:.65rem;background:rgba(9,10,13,.76);box-shadow:0 10px 30px rgba(0,0,0,.16);transition:border-color .15s ease,transform .15s ease}.user-card:hover{border-color:rgba(171,191,196,.27);transform:translateY(-1px)}.user-card::before{content:'';position:absolute;inset:0 auto 0 0;width:2px}.user-card--active::before{background:#34d399}.user-card--pending::before{background:#f59e0b}.user-card__header{display:flex;align-items:center;gap:.7rem;padding:1rem}.user-avatar{display:flex;width:2.6rem;height:2.6rem;flex:0 0 auto;align-items:center;justify-content:center;border:1px solid;border-radius:.7rem;font-size:.92rem;font-weight:750}.user-avatar--active{border-color:rgba(52,211,153,.25);background:rgba(52,211,153,.12);color:#6ee7b7}.user-avatar--pending{border-color:rgba(245,158,11,.27);background:rgba(245,158,11,.12);color:#fbbf24}.user-card__identity{min-width:0;flex:1}.user-card__name{display:flex;align-items:center;gap:.4rem}.user-card__name h2{overflow:hidden;color:#e7e9ec;font-size:.88rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.user-card__identity p{overflow:hidden;margin-top:.12rem;color:#6f7580;font-size:.67rem;text-overflow:ellipsis;white-space:nowrap}.user-you{padding:.08rem .35rem;border-radius:999px;background:rgba(59,130,246,.13);color:#60a5fa;font-size:.56rem;font-weight:700}.user-status{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .48rem;border-radius:999px;font-size:.61rem;font-weight:700}.user-status i{width:.38rem;height:.38rem;border-radius:50%}.user-status--active{background:rgba(52,211,153,.12);color:#6ee7b7}.user-status--active i{background:#34d399;box-shadow:0 0 7px rgba(52,211,153,.7)}.user-status--pending{background:rgba(245,158,11,.13);color:#fbbf24}.user-status--pending i{background:#f59e0b}.user-card__roles{padding:.75rem 1rem;border-top:1px solid rgba(171,191,196,.1);border-bottom:1px solid rgba(171,191,196,.1);background:rgba(0,0,0,.14)}.user-card__label{display:block;margin-bottom:.45rem;color:#606672;font-size:.59rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.user-card__roles>div{display:flex;flex-wrap:wrap;gap:.35rem}.user-role{padding:.2rem .48rem;border:1px solid;border-radius:999px;font-size:.61rem;font-weight:650}.user-role--1{border-color:rgba(239,68,68,.25);background:rgba(239,68,68,.1);color:#f87171}.user-role--2{border-color:rgba(59,130,246,.25);background:rgba(59,130,246,.1);color:#60a5fa}.user-role--3{border-color:rgba(168,85,247,.25);background:rgba(168,85,247,.1);color:#c084fc}.user-role--4{border-color:rgba(20,184,166,.25);background:rgba(20,184,166,.1);color:#5eead4}.user-role--5{border-color:rgba(245,158,11,.25);background:rgba(245,158,11,.1);color:#fbbf24}.user-role--empty{border-color:rgba(107,114,128,.2);background:rgba(107,114,128,.08);color:#777d88}.user-card__footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem 1rem}.user-card__footer>span{color:#606672;font-size:.61rem}.user-card__footer>span strong{color:#8f949f;font-weight:600}.user-card__actions{display:flex;align-items:center;gap:.4rem}.user-card__actions form{display:flex}.user-card__actions .btn,.user-card__actions .btn-danger{padding:.28rem .55rem;font-size:.66rem}.user-edit-button{border-color:rgba(59,130,246,.2);background:rgba(59,130,246,.08);color:#93c5fd}.users-empty-filter{padding:2rem;text-align:center;color:#777d88;font-size:.8rem}.user-dialog{width:min(580px,calc(100vw - 2rem));max-width:none}.user-role-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.user-role-option{display:flex;align-items:center;gap:.5rem;padding:.55rem .65rem;border:1px solid rgba(171,191,196,.14);border-radius:.42rem;background:rgba(0,0,0,.18);color:#aeb3bd;font-size:.72rem;cursor:pointer}.user-role-option:has(input:checked){border-color:rgba(168,85,247,.38);background:rgba(168,85,247,.1);color:#d8b4fe}.user-role-option input{accent-color:#a855f7}.btn-danger:disabled{opacity:.35;cursor:not-allowed}@media(max-width:1000px){.users-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.users-grid{grid-template-columns:1fr}}@media(max-width:560px){.users-page-header,.users-toolbar,.user-card__footer{align-items:stretch;flex-direction:column}.users-stats{grid-template-columns:1fr 1fr}.users-status-filter{width:100%}.user-role-picker{grid-template-columns:1fr}.user-card__actions{justify-content:flex-end}}
/* Color-forward permission editor */
.role-dialog{width:min(1280px,calc(100vw - 1.5rem));border-color:rgba(171,191,196,.26);box-shadow:0 30px 90px rgba(0,0,0,.62)}
.role-editor__header{background:linear-gradient(110deg,rgba(157,48,40,.2),rgba(0,0,0,.3) 42%,rgba(14,97,110,.11));border-bottom-color:rgba(223,106,96,.24)}
.role-editor__identity{background:rgba(6,7,9,.46)}
.permission-toolbar{position:sticky;top:-1rem;z-index:4;margin:-1rem -1.5rem 1rem;padding:1rem 1.5rem;border-bottom:1px solid rgba(171,191,196,.16);background:rgba(7,8,10,.94);backdrop-filter:blur(12px)}
.permission-toolbar h3{font-size:1.02rem}.permission-toolbar p{margin-top:.18rem}.permission-toolbar p span{display:inline-flex;min-width:1.55rem;justify-content:center;padding:.1rem .38rem;border-radius:999px;background:rgba(223,106,96,.17);color:#f08a80;font-weight:750}
.permission-groups{gap:1rem}.permission-group{--group:#6b7280;--group-rgb:107,114,128;position:relative;border-color:rgba(var(--group-rgb),.32);background:rgba(0,0,0,.34);box-shadow:0 10px 30px rgba(0,0,0,.16);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.permission-group::before{content:'';position:absolute;inset:0 0 auto;height:3px;background:var(--group)}
.permission-group--1{--group:#ef6a61;--group-rgb:239,106,97}.permission-group--2{--group:#3b82f6;--group-rgb:59,130,246}.permission-group--3{--group:#a855f7;--group-rgb:168,85,247}.permission-group--4{--group:#14b8a6;--group-rgb:20,184,166}.permission-group--5{--group:#f59e0b;--group-rgb:245,158,11}.permission-group--6{--group:#ec4899;--group-rgb:236,72,153}
.permission-group--partial{border-color:rgba(var(--group-rgb),.56);box-shadow:0 10px 34px rgba(var(--group-rgb),.08)}.permission-group--complete{border-color:rgba(var(--group-rgb),.8);box-shadow:0 0 0 1px rgba(var(--group-rgb),.12),0 12px 38px rgba(var(--group-rgb),.12)}
.permission-group__header{min-height:4.15rem;padding:.85rem 1rem;background:linear-gradient(105deg,rgba(var(--group-rgb),.15),rgba(var(--group-rgb),.035) 58%,rgba(0,0,0,.16));border-bottom-color:rgba(var(--group-rgb),.2)}
.permission-group__identity{display:flex;min-width:0;align-items:center;gap:.65rem}.permission-group__icon{display:flex;width:2rem;height:2rem;flex:0 0 auto;align-items:center;justify-content:center;border:1px solid rgba(var(--group-rgb),.38);border-radius:.52rem;background:rgba(var(--group-rgb),.16);color:var(--group);font-size:.75rem;font-weight:800;box-shadow:inset 0 0 16px rgba(var(--group-rgb),.08)}
.permission-group__header h4{color:#eceef1;font-size:.8rem}.permission-group__header p{margin-top:.12rem;color:#777e89}.permission-group__header p span{color:var(--group);font-weight:800}
.permission-group__select{padding:.3rem .48rem;border:1px solid rgba(var(--group-rgb),.18);border-radius:.42rem;background:rgba(0,0,0,.2)}.permission-group__select:has(input:checked){border-color:rgba(var(--group-rgb),.44);background:rgba(var(--group-rgb),.14);color:var(--group)}.permission-group__select input{accent-color:var(--group)}
.permission-group__items{padding:.42rem}.permission-item{position:relative;margin:.18rem 0;border:1px solid transparent;padding:.7rem .68rem}.permission-item::before{content:'';position:absolute;inset:.45rem auto .45rem 0;width:2px;border-radius:999px;background:transparent}.permission-item:hover{border-color:rgba(171,191,196,.12);background:rgba(255,255,255,.035)}
.permission-item:has(input:checked){border-color:rgba(var(--group-rgb),.3);background:linear-gradient(90deg,rgba(var(--group-rgb),.16),rgba(var(--group-rgb),.035))}.permission-item:has(input:checked)::before{background:rgb(var(--group-rgb));box-shadow:0 0 9px rgba(var(--group-rgb),.55)}
.permission-item--ansehen{--item-rgb:20,184,166}.permission-item--verwalten{--item-rgb:239,106,97}.permission-item--zugriff{--item-rgb:168,85,247}
.permission-item:has(input:checked) .permission-item__title{color:#f0f2f4;font-weight:650}.permission-item:has(input:checked) .permission-kind{box-shadow:0 0 0 1px rgba(var(--group-rgb),.22)}
.permission-kind--ansehen{background:rgba(20,184,166,.18);color:#5eead4}.permission-kind--verwalten{background:rgba(239,106,97,.18);color:#f58c84}.permission-kind--zugriff{background:rgba(168,85,247,.18);color:#d8b4fe}
.permission-switch input:checked+span{border-color:rgb(var(--group-rgb));background:rgb(var(--group-rgb));box-shadow:0 0 0 3px rgba(var(--group-rgb),.14)}
.permission-subheading{display:flex;align-items:center;gap:.45rem;margin:.45rem .55rem .25rem;color:#8f96a1}.permission-subheading::after{content:'';height:1px;flex:1;background:rgba(171,191,196,.12)}.permission-subheading--pages{margin-top:.9rem;padding-top:.7rem;border-top:0;color:var(--group)}.permission-subheading--pages::after{background:rgba(var(--group-rgb),.24)}
.permission-hint{padding:.65rem .8rem;border:1px solid rgba(59,130,246,.16);border-radius:.45rem;background:rgba(59,130,246,.07);color:#8494ad}
@media(max-width:700px){.permission-toolbar{position:static;margin:-1rem -1.5rem 1rem}.permission-group__header{align-items:flex-start;flex-direction:column}.permission-group__select{align-self:stretch;justify-content:center}}
/* Transparent shell for the same-origin TeamSpeak viewer */
.teamspeak-viewer-embed{border-color:transparent!important;background:transparent!important;box-shadow:none!important}
.teamspeak-viewer-embed iframe{background:transparent!important}