/*
COPYRIGHT
 ESTATA Hub
  Datei: public/assets/css/estata.css
  Autor: Erkan BALKIS | estata-solutions.com
  © 2026 ESTATA Solutions. Alle Rechte vorbehalten.
https://estata.com.tr/wp-includes/fonts/BurgerDoodleNF.ttf

*/

@font-face{font-family:'BurgerDoodleNF';src:url(https://estata.com.tr/wp-content/uploads/fonts/BurgerDoodleNF.ttf);font-weight:400;font-style:normal}
.estata-font{font-family:BurgerDoodleNF;font-weight:500}
.estata-farbe{color:#f9ad18}



:root{
  --bg0:#050914;
  --bg1:#070d1f;
  --card:rgba(255,255,255,0.06);
  --card2:rgba(255,255,255,0.08);
  --border:rgba(255,255,255,0.16);
  --text:rgba(255,255,255,0.92);
  --muted:rgba(255,255,255,0.60);
  --gold:#f9ad18;
  --gold2:#ffd27a; /* optional helleres Gold */
  --shadow:0 18px 60px rgba(0,0,0,0.55);
}

html{height:100%;}
body{min-height:100%;}
/* Navbar immer über allem */
.enc-nav { z-index: 9000 !important; }
.enc-dd-menu { z-index: 99999 !important; }
/* Page darf keinen stacking context aufmachen */
.page { position: static !important; isolation: auto !important; }

body{
  background:
    radial-gradient(1000px 600px at 30% 20%, rgba(37, 99, 235, 0.18), transparent 60%),
    radial-gradient(900px 500px at 70% 10%, rgba(245, 158, 11, 0.12), transparent 55%),
    linear-gradient(180deg, var(--bg1), var(--bg0));
  color: var(--text);
}


a {   color: #7a5200;  font-weight: 500; text-decoration: none;}
a:hover{ color: #f9ad18;  font-weight: 500; }

.link-lang {color: #7a5200; font-weight: 500;   text-decoration:none;   }
.link-lang:hover{ color: #f9ad18;   font-weight: 500; }

/* Titles */
.page-title{ color:#9DA2AE;
  font-size: 34px;
  font-weight: 600;
  letter-spacing: .2px;
  text-shadow: 0 2px 0 rgba(0,0,0,.35);
}

.form-text { font-size: 16px; font-weight: 600; color: #f9ad18 !important;  }


/* Topbar / Navbar look */
.estata-topbar{
  background: rgba(8, 14, 32, 0.70);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

/* Cards */
.card-estata{
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 22px;
  box-shadow: var(--shadow);
  backdrop-filter: blur(10px);
}

.card-body {   color: #E8E8EA; 	} 

.navbar-brand .brand-logo{
  height: 34px;      /* ggf. 28-40 anpassen */
  width: auto;    vertical-align: top; /* v-align */
  display: block;    /* verhindert baseline/space-probleme */
}

.navbar-brand .brand-text{
  font-size: 38px;
  line-height: 1;
  position: relative;
  top: 6px; /* 0–2px nach Geschmack */
  display: inline-block;
  vertical-align: top; /* v-align */
}
.navbar-estata .nav-link.active{ color: #f9ad18 !important; font-weight: 650 !important; font-size: 14px !important; letter-spacing:0.2px; }
.active{ color: #f9ad18 !important; font-weight: 650 !important;  font-size: 14px !important; letter-spacing:0.1px; }
.nav-link:hover{ color: #f9ad18 !important; font-weight: 650 !important;  font-size: 14px !important; letter-spacing:0.1px;}


/* Pills */
.pill{
  display:inline-block;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  color: var(--text);
  font-size: 12px;
}

/* Buttons */
.btn-outline-primary {
  font-weight: 600;
  border-radius: 25px;
  padding: 5px 18px;
}

.btn-gold{
  background: linear-gradient(180deg, var(--gold2), var(--gold));
  border: none;
  color: #111827;
  font-weight: 700;
  border-radius: 999px;
  padding: 10px 18px;
  box-shadow: 0 12px 28px rgba(245,158,11,0.20);
}
.btn-gold:hover{ color: #ffffff !important;   font-weight: 700;  
  filter: brightness(1.03);
  box-shadow: 0 14px 30px rgba(245,158,11,0.24);
}

.btn-outline-warning:hover{ color: #000000 !important;   font-weight: 400 !important; 
  filter: brightness(1.03);
  box-shadow: 0 14px 30px rgba(245,158,11,0.24);
}
.btn-outline-warning { color: #ffffff !important;   font-weight: 400 !important; 
  filter: brightness(1.03);
  box-shadow: 0 14px 30px rgba(245,158,11,0.24);
}

.btn-warning:hover{ color: #202226 !important;   font-weight: 400 !important;  
  filter: brightness(1.03);   box-shadow: 0 14px 30px rgba(245,158,11,0.24);
}


.text-dark:hover{ color: #000000 !important;   font-weight: 400 !important; 
  filter: brightness(1.03);
  box-shadow: 0 14px 30px rgba(245,158,11,0.24);
}

.text-progress { color: #000000 !important;   font-weight: 500 !important; 
  filter: brightness(1.03);
  box-shadow: 0 14px 30px rgba(245,158,11,0.24);}



.btn-outline-light{ font-weight: 500 !important; 
  border-radius: 12px;
  border-color: rgba(255,255,255,0.25) !important;
}

.btn-outline-light:hover{   font-weight: 500 !important;   border-radius: 12px;   color: #202226 !important; }



/* ===== FORM READABILITY FIX (dein Problem) ===== */
.card-estata label,
.card-estata .form-label{
  color: rgba(255,255,255,0.94) !important;
  font-weight: 800 !important;
  letter-spacing: .2px;
  text-shadow: 0 1px 0 rgba(0,0,0,0.55);
}

.alert {  font-weight: 700 !important;
  letter-spacing: .2px;
  text-shadow: 0 1px 0 rgba(0,0,0,0.55);
}
.alert-success {  color:#22B14C !important;  	}


.input-dark,
.form-control.input-dark,
.form-select.input-dark,
textarea.input-dark{
  background: rgba(255,255,255,0.08) !important;
  color: rgba(255,255,255,0.95) !important;
  border: 1px solid rgba(255,255,255,0.22) !important;
  border-radius: 14px;
}

.input-dark::placeholder,
.form-control.input-dark::placeholder,
textarea.input-dark::placeholder{
  color: rgba(255,255,255,0.55) !important;
}

.form-control.input-dark:focus,
.form-select.input-dark:focus,
textarea.input-dark:focus{
  outline: none !important;
  border-color: rgba(245,158,11,0.85) !important;
  box-shadow: 0 0 0 3px rgba(245,158,11,0.22) !important;
}

/* Select Dropdown - dark */
.form-select.input-dark{
  color-scheme: dark;
  background-color: rgba(255,255,255,0.08) !important;
}

/* Options (wenn Browser es erlaubt) */
.form-select.input-dark option{
  background: #0b1220 !important;
  color: rgba(255,255,255,0.95) !important;
}

/* Date picker icon sichtbar */
input[type="date"].input-dark{
  color-scheme: dark;
}
input[type="date"].input-dark::-webkit-calendar-picker-indicator{
  filter: invert(1);
  opacity: 0.9;
}

/* Tables */
.table{
      border-collapse: collapse; /* sorgt dafür, dass Rahmen nicht doppelt erscheinen */
      width: 100%;   border: 1px solid #f9ad18;
  color: var(--text) !important;
}
.table thead th{ border: 1px solid #f9ad18; /* Rahmen für Tabelle, Spalten und Zeilen */
  color: rgba(255,255,255,0.78) !important;
  font-weight: 600;
  border-color: rgba(255,255,255,0.10) !important;
}
.fw-bold {	  font-weight: 500;  color: rgba(255,255,255,0.60);	}

.table tbody td{
  border-color: rgba(255,255,255,0.08) !important;
}
.table-hover tbody tr:hover{
  background: rgba(255,255,255,0.04) !important;
}

/* Footer – immer sichtbar */
.estata-footer{
  border-top: 2px solid rgba(245,158,11,0.55);
  background: rgba(8, 14, 32, 0.70);
  backdrop-filter: blur(10px);
  color: rgba(255,255,255,0.70);
}
.estata-footer a{ color: var(--gold); }

/* Small tweaks */
.text-muted{ color: var(--muted) !important; 
  font-weight: 600;
}

/* ===== LOGIN / AUTH PAGE LAYOUT ===== */
.auth-page{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:calc(100vh - 180px);
  padding:24px 16px 140px;  /* unten weniger */
}

.flip-card{height:450px;}   /* war 560px */


.auth-wrap{
  width: 100%;
  max-width: 760px; /* <<< macht das Login nicht so breit */
}

.auth-logo{
  display:flex;
  flex-direction:column;
  align-items:center;
  margin-bottom: 10px;
}

.auth-logo img{
  height: 40px;
  width: auto;
  filter: drop-shadow(0 10px 28px rgba(0,0,0,0.6));
}

.auth-subtitle{
  margin-top: 6px;
  font-size: 12px;
  letter-spacing: 1.4px;
  color: rgba(255,255,255,0.70);
}

.auth-card{
  padding: 26px;
}

.auth-card .form-control.input-dark{
  height: 54px;
  border-radius: 16px;
  font-size: 16px;
}

.auth-card .btn-gold{
  width:100%;
  padding: 14px 18px;
  font-size: 18px;
}

/* Sprachlinks */
.lang-links{
  text-align:center;
  margin-top: 10px;
}
.lang-links a{
  color: var(--gold);
  font-weight: 800;
}
.lang-links span{
  color: rgba(255,255,255,0.35);
  margin: 0 10px;
}

/* Flip Scene */
.auth-page{min-height:calc(100vh - 180px);display:flex;align-items:center;justify-content:center; padding:18px 16px 60px; }
.flip-scene{width:100%;max-width:460px;perspective:1200px;}
.flip-card{position:relative;width:100%;height:560px;}
.flip-inner{position:absolute;inset:0;transition:transform .75s cubic-bezier(.2,.8,.2,1);transform-style:preserve-3d;}
.flip-card.is-flipped .flip-inner{transform:rotateY(180deg);}

.flip-face{
  position:absolute;inset:0;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  border-radius:22px;
}

.flip-back{transform:rotateY(180deg);}

/* Card look like screenshot */
.auth-box{
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.16);
  box-shadow:0 18px 60px rgba(0,0,0,0.55);
  backdrop-filter:blur(10px);
  border-radius:22px;
padding:22px 22px 20px;
}

.auth-logo{
  display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:14px;
}
.auth-logo .brand{
  font-family:'BurgerDoodleNF', sans-serif;
  color:#f9ad18;
  font-size:40px;
  letter-spacing:2px;
  text-shadow:0 10px 30px rgba(0,0,0,0.6);
}
.auth-logo .sub{
  color:rgba(255,255,255,0.55);
  font-size:32px;
  letter-spacing:2px;
text-shadow:0 0px 30px #F9AD18;
}

.auth-title{font-size:24px;font-weight:800;text-align:center;margin:10px 0 6px;}
.auth-hint{color:rgba(255,255,255,0.55);text-align:center;margin-bottom:18px;}

.auth-box label{color:rgba(255,255,255,0.85);font-weight:700;margin-bottom:6px;}
.auth-box .form-control,
.auth-box .form-select{
  background:rgba(255,255,255,0.06) !important;
  border:1px solid rgba(255,255,255,0.20) !important;
  color:rgba(255,255,255,0.92) !important;
  border-radius:14px;
  height:44px;
}
.auth-box .form-control:focus,
.auth-box .form-select:focus{
  border-color:#f9ad18 !important;
  box-shadow:0 0 0 3px rgba(249,173,24,0.22) !important;
  outline:none;
}

.auth-lang{display:flex;justify-content:center;gap:14px;margin:14px 0 14px;}
.auth-lang a{color:rgba(255,255,255,0.75);font-weight:700;}
.auth-lang a:hover{color:#f9ad18;}
.auth-btn{
  width:100%;
  border:none;
  border-radius:999px;
padding:12px 16px;
  font-weight:900;
  font-size:17px;
  color:#111827;
  background:linear-gradient(180deg,#ffd27a,#f9ad18);
  box-shadow:0 18px 40px rgba(249,173,24,0.18);
}
.auth-link{
  display:block;
  text-align:center;
  margin-top:12px;
  color:#f9ad18;
  font-weight:800;
}
.auth-link:hover{filter:brightness(1.05);}


/* ===== ESTATA Dark Table Fix (Project Mitglieder / white block) ===== */
.card-estata .table{
  /* Bootstrap table vars */
  --bs-table-bg: transparent;
  --bs-table-color: var(--text);
  --bs-table-border-color: rgba(255,255,255,0.10);
  --bs-table-hover-bg: rgba(255,255,255,0.05);
}

/* Bootstrap setzt bg auf jede Zelle -> transparent erzwingen */
.card-estata .table > :not(caption) > * > *{
  background-color: transparent !important;
}

/* Header leicht highlighten */
.card-estata .table thead th{
  background: rgba(255,255,255,0.04) !important;
}

/* Table sauber im Card-Look */
.card-estata .table-responsive{
  background: transparent !important;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  overflow: hidden;
}


/* -----------------------------------------
   ESTATA UI helpers (tables, buttons, layout)
   (safe fallbacks if not defined elsewhere)
------------------------------------------*/
.estata-container{max-width:95%;margin:0 auto;padding:18px 18px 40px;}
.estata-pagehead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:8px 0 18px;}
.estata-h1{font-size:34px;line-height:2.0;margin:0;color:#fff;letter-spacing:0.5px;}
.estata-h2{font-size:18px;line-height:1.2;margin:0;color:#fff;}
.estata-muted{color:rgba(255,255,255,0.75);font-size:14px;}
.estata-link{color:#f9ad18;text-decoration:none;}
.estata-link:hover{text-decoration:underline;}

.estata-card{border:1px solid rgba(249,173,24,0.55);border-radius:16px;background:rgba(8,12,22,0.45);padding:16px;backdrop-filter:blur(10px);}
.estata-card-h{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px;}

.estata-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;}
.estata-actions-inline{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;}

.estata-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:5px 8px;border-radius: 8px;border:1px solid rgba(255,255,255,0.18);background:rgba(255,255,255,0.06);color:#fff;text-decoration:none; font-weight:500 !important; cursor:pointer;transition:all .15s ease; font-size:16px; }
.estata-btn:hover{transform:translateY(-1px);border-color:rgba(255,255,255,0.28);background:rgba(255,255,255,0.10);   font-weight:500 !important;  font-size:16px;  }
.estata-btn:active{transform:translateY(0); font-size:16px; }

.estata-btn-gold{background:linear-gradient(180deg,#f9ad18,#d98e06);border-color:rgba(0,0,0,0.2);color:#1b1202;}
.estata-btn-gold:hover{background:linear-gradient(180deg,#ffbf3a,#e39a13); color:#ffffff; }

.estata-btn-ghost{background:rgba(0,0,0,0.25);border-color:rgba(249,173,24,0.55);color:#fff;}
.estata-btn-ghost:hover{background:rgba(249,173,24,0.12);}

.estata-alert{border-radius:12px;padding:12px 14px;margin:10px 0;font-weight:600;}
.estata-alert-success{background:rgba(25,135,84,0.18);border:1px solid rgba(25,135,84,0.45);color:#bff0d6;}
.estata-alert-danger{background:rgba(220,53,69,0.18);border:1px solid rgba(220,53,69,0.45);color:#ffd1d7;}

.estata-table-wrap{overflow:auto;border-radius:8px; border:1px solid rgba(249,173,24,0.55);}
.estata-table{width:100%;border-collapse:collapse;min-width:900px;}
.estata-table th,.estata-table td{border:1px solid rgba(249,173,24,0.55);padding:10px 10px;text-align:center;vertical-align:middle;}
.estata-table th{background:rgba(0,0,0,0.35);color:#fff;font-weight:600;}
.estata-table td{color:rgba(255,255,255,0.92);}

.estata-form .estata-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;}
.estata-field{display:flex;flex-direction:column;gap:6px;}
.estata-field label{color:rgba(255,255,255,0.85);font-weight:700;font-size:14px;}
.estata-input,.estata-select{width:100%;padding:10px 10px;border-radius:10px;border:1px solid rgba(255,255,255,0.14);background:#1C2130;color:#fff;outline:none;}
.estata-input:focus,.estata-select:focus{border-color:rgba(249,173,24,0.8);box-shadow:0 0 0 3px rgba(249,173,24,0.15);}
.estata-field-wide{grid-column:span 6;}

.estata-filter{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
@media (max-width: 980px){
  .estata-pagehead{flex-direction:column;align-items:flex-start;}
  .estata-h1{font-size:40px;}
  .estata-form .estata-grid{grid-template-columns:repeat(2,1fr);}
  .estata-field-wide{grid-column:span 2;}
}


/* ===== MEMBERS TABLE – Feinschliff (Vergütung/Aktionen stacked) ===== */
.members-table{
  table-layout: fixed;
}

.members-table th.col-comp,
.members-table td.col-comp{
  width: 170px;
}

.members-table th.col-actions,
.members-table td.col-actions{
  width: 160px;
}

.members-table th,
.members-table td{
  padding: 10px 10px;
}

.members-table td.col-comp,
.members-table td.col-actions{
  vertical-align: top;
}

.members-stack{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.members-stack-tight{
  gap:6px;
}

.members-field{
  width:100%;
}

.members-table .btn,
.members-table .form-control,
.members-table .form-select{
  box-sizing:border-box;
  width:100%;
  min-height:36px;
  border-radius:12px;
}

.members-table .btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  white-space:nowrap;
}

.members-table .btn-sm{
  font-size:12px;
  padding:6px 10px;
}

.members-table .form-control-sm,
.members-table .form-select-sm{
  font-size:12px;
  padding:6px 10px;
}

.btn-estata-primary{
  background:#f9ad18 !important;
  border:1px solid rgba(249,173,24,0.65) !important;
  color:#121418 !important;
  font-weight:700;
}
.btn-estata-primary:hover{
  filter:brightness(1.05);
  color:#121418 !important;
}

.btn-estata-secondary{
  background:rgba(249,173,24,0.14) !important;
  border:1px solid rgba(249,173,24,0.35) !important;
  color:rgba(255,255,255,0.92) !important;
}
.btn-estata-secondary:hover{
  background:rgba(249,173,24,0.22) !important;
  color:#121418 !important;
}

.btn-estata-danger{
  background:#8B1A1A !important;
  border:1px solid rgba(255,80,80,0.35) !important;
  color:rgba(255,255,255,0.95) !important;
}
.btn-estata-danger:hover{
  background:#C44A4A !important;
  color:#121418 !important;
}


/* ===== PROJECT CHAT SCROLL BOX ===== */
.project-chat-card,
.project-chat-card-body{
  min-height:0;
}

.project-chat-card{
  overflow:hidden;
}

.project-chat-card-body{
  gap:0;
  overflow:hidden;
}

.project-chat-header,
.project-chat-form{
  flex:0 0 auto;
}

.project-chat-box{
  flex:0 0 auto;
  min-height:140px;
  height:180px;
  max-height:100%;
  overflow-y:auto;
  overflow-x:hidden;
  padding-right:6px;
  scrollbar-gutter:stable;
}

.project-chat-box::-webkit-scrollbar{
  width:8px;
}
.project-chat-box::-webkit-scrollbar-track{
  background:rgba(255,255,255,0.05);
  border-radius:999px;
}
.project-chat-box::-webkit-scrollbar-thumb{
  background:rgba(249,173,24,0.38);
  border-radius:999px;
}
.project-chat-box::-webkit-scrollbar-thumb:hover{
  background:rgba(249,173,24,0.58);
}

@media (max-width: 991.98px){
  .project-chat-box{
    min-height:220px;
    height:220px;
  }
}


/* Invoice create form - ESTATA look */
.invoice-create-form .form-control.input-dark,
.invoice-create-form .form-select.input-dark{
  background: rgba(255,255,255,0.08) !important;
  color: rgba(255,255,255,0.95) !important;
  border: 1px solid rgba(255,255,255,0.22) !important;
}

.invoice-create-form input[type="file"].input-dark{
  padding-top: 0.45rem;
  padding-bottom: 0.45rem;
}

.invoice-create-form input[type="file"].input-dark::file-selector-button{
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.88);
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 10px;
  padding: 0.45rem 0.9rem;
  margin-right: 0.75rem;
}

.invoice-create-form input[type="file"].input-dark:hover::file-selector-button{
  border-color: rgba(245,158,11,0.55);
  color: #f9ad18;
}

/* ===== ESTATA PROJECT FILES DESIGN ===== */

#projectFilesTabs{
  border-bottom:1px solid rgba(249,173,24,0.24);
  gap:8px;
  flex-wrap:wrap;
}

#projectFilesTabs .nav-item{
  margin-bottom:0;
}

#projectFilesTabs .nav-link{
  border:none !important;
  background:rgba(255,255,255,0.035);
  color:rgba(255,255,255,0.78) !important;
  font-weight:600 !important;
  font-size:14px !important;
  letter-spacing:0.1px !important;
  line-height:1.2 !important;
  border-radius:14px 14px 0 0;
  padding:10px 16px;
  min-height:48px;
  transform:none !important;
  transition:background-color .18s ease, color .18s ease, box-shadow .18s ease;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.08);
}

#projectFilesTabs .nav-link:hover,
#projectFilesTabs .nav-link:focus{
  background:rgba(249,173,24,0.10);
  color:#f9ad18 !important;
  font-size:14px !important;
  letter-spacing:0.1px !important;
  padding:10px 16px;
  min-height:48px;
  transform:none !important;
  box-shadow:inset 0 0 0 1px rgba(249,173,24,0.24);
}

#projectFilesTabs .nav-link.active{
  background:linear-gradient(180deg,#fff6dd,#f9ad18);
  color:#1b1303 !important;   font-size:14px !important;   font-weight:650 !important;
  box-shadow:0 10px 24px rgba(249,173,24,0.22);
}

#projectFilesTabs .nav-link .badge{
  background:rgba(19,23,34,0.45) !important;
  color:#ffffff !important;
font-size:14px !important;   font-weight:650 !important;
  border-radius:999px;
  min-width:24px;
}

#projectFilesTabs .nav-link.active .badge{
  background:rgba(27,19,3,0.16) !important;
  color:#1b1303 !important;
}

#projectFilesTabsContent{
  padding-top:4px;
}

.estata-file-table .table{
  margin-bottom:0;
}

.estata-file-table .table thead th{
  background:rgba(255,255,255,0.04) !important;
  color:rgba(255,255,255,0.84) !important;
  font-weight:700;
}

.estata-file-table .table tbody tr{
  transition:background .16s ease;
}

.estata-file-table .table tbody tr:hover{
  background:rgba(249,173,24,0.06) !important;
}

.estata-file-name{
  font-weight:600;
  color:#ffffff;
  font-size:15px;
  line-height:1.35;
}

.estata-file-meta{
  font-size:12px;
  color:rgba(255,255,255,0.56) !important;
}

.estata-file-id{
  color:#f9ad18;
  font-weight:700;
}

.estata-folder-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(249,173,24,0.14);
  border:1px solid rgba(249,173,24,0.38);
  color:#f9ad18;
  border-radius:999px;
  padding:7px 14px;
  font-weight:700;
  font-size:12px;
  letter-spacing:0.1px;
  box-shadow:0 6px 18px rgba(0,0,0,0.18);
}

.card-estata .form-control[type="file"]{
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(249,173,24,0.30);
  border-radius:14px;
  padding:10px;
  color:rgba(255,255,255,0.92);
}

.card-estata .form-control[type="file"]::file-selector-button{
  background:rgba(249,173,24,0.12);
  border:1px solid rgba(249,173,24,0.34);
  color:#f9ad18;
  border-radius:10px;
  padding:8px 12px;
  margin-right:12px;
  font-weight:700;
}

.card-estata .form-control[type="file"]:hover::file-selector-button{
  background:#f9ad18;
  color:#1b1303;
}

.project-files-upload-btn{
  min-width:180px;
  border:1px solid rgba(249,173,24,0.55) !important;
  color:#f9ad18 !important;
  font-weight:800 !important;
  border-radius:12px !important;
}

.project-files-upload-btn:hover{
  background:#f9ad18 !important;
  color:#1b1303 !important;
}

.project-files-bulk-btn{
  min-height:42px;
  font-weight:700 !important;
  border-radius:12px !important;
}

.project-files-card-title{
  font-size:18px;
  font-weight:800;
  color:#ffffff;
}

@media (max-width: 991.98px){
  #projectFilesTabs .nav-link{
    width:100%;
    border-radius:12px;
  }
}

/* ===== ESTATA PROJECT FILES STEP 2 ===== */
.estata-file-main{
  display:flex;
  align-items:flex-start;
  gap:12px;
}

.estata-file-icon{
  width:42px;
  min-width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:rgba(249,173,24,0.10);
  border:1px solid rgba(249,173,24,0.22);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.04);
  font-size:20px;
  line-height:1;
}

.estata-file-info{
  min-width:0;
  flex:1 1 auto;
}

.estata-file-type{
  color:#f9ad18;
  font-weight:700;
}

.estata-file-dot{
  opacity:0.55;
  margin:0 4px;
}

.estata-file-download{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:1px 10px;
  border-radius:999px;
  border:1px solid rgba(249,173,24,0.34);
  background:rgba(249,173,24,0.09);
  color:#f9ad18;
  font-size:12px;
  font-weight:500;
  text-decoration:none;
  transition:all .16s ease;
}

.estata-file-download:hover{   font-weight:500;
  background:#f9ad18;
  color:#1b1303;
  text-decoration:none;
}

@media (max-width: 767.98px){
  .estata-file-main{
    gap:10px;
  }

  .estata-file-icon{
    width:38px;
    min-width:38px;
    height:38px;
    font-size:18px;
  }
}

/* ===== ESTATA PROJECT FILES STEP 2.5 TAB COLORS ===== */
#projectFilesTabs .nav-link.estata-tab-private{
  background:rgba(168,85,247,0.08);
  box-shadow:inset 0 0 0 1px rgba(192,132,252,0.18);
}
#projectFilesTabs .nav-link.estata-tab-private:hover{
  background:rgba(168,85,247,0.15);
  color:#e9d5ff !important;
  box-shadow:inset 0 0 0 1px rgba(192,132,252,0.30);
}
#projectFilesTabs .nav-link.estata-tab-private.active{
  background:linear-gradient(180deg,#f5f3ff,#c084fc);
  color:#3b0764 !important;
  box-shadow:0 10px 24px rgba(168,85,247,0.22);
}
#projectFilesTabs .nav-link.estata-tab-private.active .badge{
  background:rgba(59,7,100,0.12) !important;
  color:#3b0764 !important;
}


#projectFilesTabs .nav-link.estata-tab-project{
  background:rgba(255,255,255,0.035);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.08);
}
#projectFilesTabs .nav-link.estata-tab-project:hover{
  background:rgba(255,255,255,0.09);
  color:#ffffff !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.14);
}
#projectFilesTabs .nav-link.estata-tab-project.active{
  background:linear-gradient(180deg,#eef2ff,#b8c2d8);
  color:#0f172a !important;
  box-shadow:0 10px 24px rgba(148,163,184,0.22);
}
#projectFilesTabs .nav-link.estata-tab-project.active .badge{
  background:rgba(15,23,42,0.12) !important;
  color:#0f172a !important;
}

#projectFilesTabs .nav-link.estata-tab-delivery{
  background:rgba(249,173,24,0.08);
  box-shadow:inset 0 0 0 1px rgba(249,173,24,0.20);
}
#projectFilesTabs .nav-link.estata-tab-delivery:hover{
  background:rgba(249,173,24,0.16);
  color:#ffd27a !important;
  box-shadow:inset 0 0 0 1px rgba(249,173,24,0.32);
}
#projectFilesTabs .nav-link.estata-tab-delivery.active{
  background:linear-gradient(180deg,#fff3cf,#f9ad18);
  color:#1b1303 !important;
  box-shadow:0 10px 24px rgba(249,173,24,0.28);
}
#projectFilesTabs .nav-link.estata-tab-delivery.active .badge{
  background:rgba(27,19,3,0.14) !important;
  color:#1b1303 !important;
}

#projectFilesTabs .nav-link.estata-tab-client{
  background:rgba(37,99,235,0.08);
  box-shadow:inset 0 0 0 1px rgba(96,165,250,0.22);
}
#projectFilesTabs .nav-link.estata-tab-client:hover{
  background:rgba(59,130,246,0.16);
  color:#93c5fd !important;
  box-shadow:inset 0 0 0 1px rgba(96,165,250,0.34);
}
#projectFilesTabs .nav-link.estata-tab-client.active{
  background:linear-gradient(180deg,#dbeafe,#60a5fa);
  color:#0b2447 !important;
  box-shadow:0 10px 24px rgba(59,130,246,0.24);
}
#projectFilesTabs .nav-link.estata-tab-client.active .badge{
  background:rgba(11,36,71,0.12) !important;
  color:#0b2447 !important;
}

#projectFilesTabs .nav-link.estata-tab-correction{
  background:rgba(34,197,94,0.08);
  box-shadow:inset 0 0 0 1px rgba(74,222,128,0.18);
}
#projectFilesTabs .nav-link.estata-tab-correction:hover{
  background:rgba(34,197,94,0.14);
  color:#bbf7d0 !important;
  box-shadow:inset 0 0 0 1px rgba(74,222,128,0.30);
}
#projectFilesTabs .nav-link.estata-tab-correction.active{
  background:linear-gradient(180deg,#ecfccb,#a3e635);
  color:#1a2e05 !important;
  box-shadow:0 10px 24px rgba(132,204,22,0.22);
}
#projectFilesTabs .nav-link.estata-tab-correction.active .badge{
  background:rgba(26,46,5,0.12) !important;
  color:#1a2e05 !important;
}

/* ===== ESTATA PROJECT FILES STEP 3 ===== */
.estata-dropzone{
  position:relative;
  border:1px dashed rgba(249,173,24,0.40);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.015));
  min-height:152px;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:all .18s ease;
  overflow:hidden;
}

.estata-dropzone:hover{
  border-color:rgba(249,173,24,0.65);
  background:linear-gradient(180deg, rgba(249,173,24,0.06), rgba(255,255,255,0.02));
  box-shadow:0 10px 28px rgba(0,0,0,0.14);
}

.estata-dropzone.is-dragover{
  border-color:#f9ad18;
  background:linear-gradient(180deg, rgba(249,173,24,0.12), rgba(255,255,255,0.03));
  box-shadow:0 0 0 3px rgba(249,173,24,0.14);
}

.estata-dropzone.has-file{
  border-style:solid;
}

.estata-dropzone-input{
  position:absolute !important;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  cursor:pointer;
  z-index:2;
}

.estata-dropzone-inner{
  position:relative;
  z-index:1;
  text-align:center;
  padding:20px 18px;
  width:100%;
}

.estata-dropzone-icon{
  width:54px;
  height:54px;
  margin:0 auto 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  background:rgba(249,173,24,0.12);
  border:1px solid rgba(249,173,24,0.28);
  color:#f9ad18;
  font-size:24px;
  font-weight:800;
}

.estata-dropzone-title{
  color:#ffffff;
  font-size:17px;
  font-weight:800;
  line-height:1.35;
}

.estata-dropzone-subtitle{
  margin-top:6px;
  color:rgba(255,255,255,0.62);
  font-size:13px;
  font-weight:600;
}

.estata-dropzone-file{
  margin-top:14px;
  color:#f9ad18;
  font-size:13px;
  font-weight:800;
  word-break:break-word;
}

@media (max-width: 991.98px){
  .container.py-4{
    padding-top:1rem !important;
    padding-bottom:1rem !important;
  }

  .project-files-top-actions{
    width:100%;
    justify-content:flex-start;
    flex-wrap:wrap;
  }

  .project-files-upload-btn{
    width:100%;
    min-width:unset;
  }

  .project-files-bulk-row > [class*="col-"]{
    padding-top:0 !important;
  }

  .project-files-bulk-btn{
    min-height:46px;
  }

  .project-files-card-title{
    font-size:17px;
  }

  .estata-file-main{
    gap:10px;
  }

  .estata-folder-badge{
    width:100%;
    justify-content:flex-start;
    border-radius:14px;
  }

  .card-estata{
    border-radius:18px;
  }

  .card-estata .card-body{
    padding:16px;
  }
}

@media (max-width: 767.98px){
  #projectFilesTabs{
    gap:6px;
  }

  #projectFilesTabs .nav-link{
    width:100%;
    border-radius:12px;
    padding:10px 12px;
    text-align:left;
  }

  .estata-dropzone{
    min-height:138px;
    border-radius:16px;
  }

  .estata-dropzone-title{
    font-size:15px;
  }

  .estata-dropzone-subtitle,
  .estata-dropzone-file{
    font-size:12px;
  }

  .estata-file-table .table{
    min-width:720px;
  }

  .estata-file-name{
    font-size:14px;
  }

  .project-files-card-title{
    font-size:16px;
  }

  .text-muted[style*="font-size:12px"]{
    font-size:11px !important;
  }
}

/* ===== ESTATA FILE ICONS + DOWNLOAD ===== */
.estata-file-main{
  display:flex;
  align-items:flex-start;
  gap:12px;
}
.estata-file-icon{
  width:42px;
  min-width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:rgba(249,173,24,0.10);
  border:1px solid rgba(249,173,24,0.22);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.04);
  font-size:20px;
  line-height:1;
}
.estata-file-info{
  min-width:0;
  flex:1 1 auto;
}
.estata-file-name{
  font-weight:600;
  color:#ffffff;
  font-size:15px;
  line-height:1.35;
}
.estata-file-meta{
  font-size:12px;
  color:rgba(255,255,255,0.56) !important;
}
.estata-file-type{
  color:#f9ad18;
  font-weight:700;
}
.estata-file-dot{
  opacity:0.55;
  margin:0 4px;
}
@media (max-width: 767.98px){
  .estata-file-main{ gap:10px; }
  .estata-file-icon{
    width:38px;
    min-width:38px;
    height:38px;
    font-size:18px;
  }
}


/* ===== ESTATA NAVBAR MODERN (MUHA inspired) ===== */
.estata-nav-modern{
  position:sticky;
  top:0;
  z-index:1030;
  padding:14px 16px;
  background:linear-gradient(90deg, rgba(249,173,24,0.08), rgba(10,17,36,0.96) 18%, rgba(8,14,32,0.98) 100%);
  border-bottom:1px solid rgba(255,255,255,0.08);
  backdrop-filter:blur(14px);
  box-shadow:0 8px 28px rgba(0,0,0,0.18);
}
.estata-nav-shell{
  gap:18px;
}
.estata-brand{
  margin-right:10px;
}
.estata-brand img{
  height:42px;
  width:auto;
  display:block;
}
.estata-brand .brand-text{
  font-size:26px;
  line-height:1;
  top:0;
  color:rgba(255,255,255,0.85);
}
.estata-nav-links{
  gap:10px;
  align-items:center;
}
.estata-nav-pill{
  display:inline-flex !important;
  align-items:center;
  gap:8px;
  padding:12px 16px !important;
  border-radius:18px;
  color:rgba(255,255,255,0.78) !important;
  background:rgba(255,255,255,0.02);
  border:1px solid rgba(255,255,255,0.08);
  font-weight:600 !important;
  font-size:14px !important;
  letter-spacing:0.0px;
  text-transform:uppercase;
  line-height:1;
  transition:all .18s ease;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.02);
}
.estata-nav-pill:hover,
.estata-nav-pill.active{
  color:#f9ad18 !important;
  background:linear-gradient(180deg, rgba(249,173,24,0.18), rgba(249,173,24,0.08));
  border-color:rgba(249,173,24,0.55);
  box-shadow:0 0 0 1px rgba(249,173,24,0.18), 0 10px 24px rgba(249,173,24,0.14);
}
.estata-nav-icon{
  display:inline-flex;
  width:16px;
  justify-content:center;
  opacity:0.95;
  font-size:13px;
}
.estata-nav-right{
  display:flex;
  align-items:center;
  gap:12px;
  margin-left:auto;
  flex-wrap:wrap;
}
.estata-user-pill{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 14px 8px 10px;
  border-radius:999px;
  background:rgba(11,18,33,0.78);
  border:1px solid rgba(255,255,255,0.12);
  box-shadow:0 10px 24px rgba(0,0,0,0.18);
}
.estata-user-badge{
  width:34px;
  height:34px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg,#ffd27a,#f9ad18);
  color:#111827;
  font-weight:900;
  font-size:15px;
  box-shadow:0 8px 20px rgba(249,173,24,0.22);
}
.estata-user-meta{
  display:flex;
  flex-direction:column;
  line-height:1.1;
}
.estata-user-meta strong{
  color:#ffffff;   letter-spacing:1px;
  font-size:14px;
  font-weight:600;
}
.estata-user-meta small{
  color:rgba(255,255,255,0.68);
  font-size:11px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:1px;
  margin-top:3px;
}
.estata-lang-switch{
  display:flex;
  align-items:center;
  gap:8px;
}
.estata-lang-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:38px;
  height:38px;
  padding:0 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.14);
  background:rgba(11,18,33,0.72);
  color:rgba(255,255,255,0.82) !important;
  font-weight:800;
  font-size:13px;
  text-decoration:none;
  transition:all .16s ease;
}
.estata-lang-pill:hover,
.estata-lang-pill.active{
  color:#f9ad18 !important;
  border-color:rgba(249,173,24,0.50);
  background:rgba(249,173,24,0.10);
  box-shadow:0 8px 18px rgba(249,173,24,0.12);
}
.estata-logout-btn{
  min-height:38px;
  padding:8px 14px;
  border-radius:999px;
}
.estata-nav-dropdown{
  border-radius:16px;
  border:1px solid rgba(255,255,255,0.10);
  background:rgba(8,14,32,0.96);
  box-shadow:0 16px 40px rgba(0,0,0,0.34);
  overflow:hidden;
}
.estata-nav-dropdown .dropdown-item{
  color:rgba(255,255,255,0.86);
  font-weight:600;
}
.estata-nav-dropdown .dropdown-item:hover,
.estata-nav-dropdown .dropdown-item:focus{
  color:#f9ad18;
  background:rgba(249,173,24,0.08);
}
.estata-nav-toggle{
  border-color:rgba(255,255,255,0.16);
  border-radius:14px;
  padding:8px 10px;
}
@media (max-width: 1199.98px){
  .estata-nav-modern{
    padding:12px;
  }
  .estata-nav-links{
    padding-top:14px;
    gap:8px;
  }
  .estata-nav-links .nav-item,
  .estata-nav-links .nav-link,
  .estata-nav-right{
    width:100%;
  }
  .estata-nav-pill{
    width:100%;
    justify-content:flex-start;
  }
  .estata-nav-right{
    margin-top:14px;
    justify-content:flex-start;
  }
}
@media (max-width: 767.98px){
  .estata-brand img{
    height:36px;
  }
  .estata-brand .brand-text{
    font-size:22px;
  }
  .estata-user-pill{
    width:100%;
  }
  .estata-lang-switch{
    gap:6px;
  }
}

/* ===== ESTATA NAVBAR HOVER FIX ===== */
.estata-nav-modern .nav-link.estata-nav-pill,
.estata-nav-modern .nav-link.estata-nav-pill:hover,
.estata-nav-modern .nav-link.estata-nav-pill:focus,
.estata-nav-modern .nav-link.estata-nav-pill.active{
  font-size:14px !important;
  font-weight:600 !important;
  letter-spacing:0 !important;
  transform:none !important;
}

/* ===== ESTATA FILE VIEWER POPUP ===== */
.estata-viewer-open{
  overflow:hidden;
}
.estata-file-viewer-modal{
  position:fixed;
  inset:0;
  z-index:999999;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(5,9,20,0.78);
  backdrop-filter:blur(6px);
  padding:200px;
}
.estata-file-viewer-dialog{
  width:min(1100px, 96vw);
  height:min(88vh, 900px);
  background:rgba(8,14,32,0.96);
  border:1px solid rgba(249,173,24,0.24);
  border-radius:22px;
  box-shadow:0 18px 60px rgba(0,0,0,0.55);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.estata-file-viewer-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 18px;
  border-bottom:1px solid rgba(255,255,255,0.08);
  background:rgba(255,255,255,0.03);
}
.estata-file-viewer-title{
  color:rgba(255,255,255,0.92);
  font-weight:700;
  font-size:15px;
  min-width:0;
  word-break:break-word;
}
.estata-file-viewer-close{
  border:1px solid rgba(255,255,255,0.16);
  background:rgba(255,255,255,0.04);
  color:rgba(255,255,255,0.88);
  border-radius:12px;
  padding:8px 12px;
  line-height:1;
  cursor:pointer;
}
.estata-file-viewer-close:hover{
  background:rgba(249,173,24,0.12);
  color:#f9ad18;
}
.estata-file-viewer-body{
  flex:1 1 auto;
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px;
}
.estata-file-viewer-frame{
  width:100%;
  height:100%;
  border:0;
  border-radius:14px;
  background:#ffffff;
}
.estata-file-viewer-image{
  max-width:100%;
  max-height:100%;
  border-radius:14px;
  box-shadow:0 16px 40px rgba(0,0,0,0.30);
}


.estata-upload-status{
  margin:14px 0 12px;
  padding:12px 14px;
  border-radius:14px;
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.10);
}
.estata-upload-alert{
  font-weight:800;
  margin-bottom:6px;
}
.estata-upload-alert-info{color:#dbeafe;}
.estata-upload-alert-success{color:#86efac;}
.estata-upload-alert-warning{color:#fcd34d;}
.estata-upload-alert-error{color:#fca5a5;}
.estata-upload-meta{
  color:rgba(255,255,255,0.72);
  font-size:12px;
  font-weight:600;
  margin-bottom:8px;
  word-break:break-word;
}
.estata-upload-progress{
  width:100%;
  height:10px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(249,173,24,0.20);
}
.estata-upload-progress-bar{
  width:0%;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#f9ad18,#ffd27a);
  transition:width .18s ease;
}
.estata-upload-progress-text{
  margin-top:8px;
  color:#f9ad18;
  font-size:12px;
  font-weight:800;
  text-align:right;
}
body.estata-modal-open{
  overflow:hidden;
}
.estata-preview-modal{
  position:fixed;
  inset:0;
  z-index:100100 !important;
}
.estata-preview-backdrop{
  position:absolute;
  inset:0;
  z-index:100101 !important;
  background:rgba(4,10,22,0.76);
  backdrop-filter:blur(4px);
}
.estata-preview-dialog{
  position:relative;
  z-index:100102 !important;
  width:min(96vw,1100px);
  height:min(88vh,860px);
  margin:4vh auto;
  border-radius:20px;
  overflow:hidden;
  border:1px solid rgba(249,173,24,0.28);
  background:rgba(8,14,32,0.96);
  box-shadow:0 24px 70px rgba(0,0,0,0.48);
  display:flex;
  flex-direction:column;
}
.estata-preview-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 18px;
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.estata-preview-title{
  color:#ffffff;
  font-size:16px;
  font-weight:800;
  line-height:1.3;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.estata-preview-close{
  width:40px;
  height:40px;
  border:none;
  border-radius:12px;
  background:rgba(255,255,255,0.06);
  color:#f9ad18;
  font-size:24px;
  line-height:1;
}
.estata-preview-close:hover{
  background:rgba(249,173,24,0.16);
}
.estata-preview-body{
  flex:1 1 auto;
  min-height:0;
  background:#0b1220;
}
.estata-preview-frame,
.estata-preview-image{
  width:100%;
  height:100%;
  border:none;
  display:block;
}
.estata-preview-image{
  object-fit:contain;
  background:#0b1220;
}
@media (max-width: 767.98px){
  .estata-preview-dialog{
    width:96vw;
    height:90vh;
    margin:3vh auto;
    border-radius:16px;
  }
  .estata-preview-header{
    padding:12px 14px;
  }
  .estata-preview-title{
    font-size:14px;
  }
}


/* ===== ESTATA Tabs Hover Fix (kein Größenwechsel) ===== */

#projectFilesTabs .nav-link{
  transition: background 0.15s ease, color 0.15s ease;
}

/* Hover soll NICHT skalieren oder verschieben */
#projectFilesTabs .nav-link:hover{
  transform: none !important;
  scale: 1 !important;
  box-shadow: none !important;
}

/* Hover = gleiche Farbe wie Active */
#projectFilesTabs .nav-link.estata-tab-private:hover,
#projectFilesTabs .nav-link.estata-tab-client:hover,
#projectFilesTabs .nav-link.estata-tab-estata:hover{
  background: linear-gradient(180deg,#f5f3ff,#c084fc);
  color:#3b0764 !important;
}


/* ===== ESTATA ADMIN USER TABS FIX ===== */
.admin-users-main-tabs,
.admin-user-group-tabs{
  gap:8px;
  flex-wrap:wrap;
}
.admin-users-main-tabs .nav-link,
.admin-user-group-tabs .nav-link{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:50px;
  padding:10px 18px !important;
  border-radius:999px !important;
  font-size:16px !important;
  font-weight:600 !important;
  letter-spacing:0.1px !important;
  line-height:1.2 !important;
  transform:none !important;
  scale:1 !important;
  box-shadow:none;
  text-decoration:none;
  white-space:nowrap;
}
.admin-users-main-tabs .nav-link:hover,
.admin-users-main-tabs .nav-link:focus,
.admin-user-group-tabs .nav-link:hover,
.admin-user-group-tabs .nav-link:focus,
.admin-users-main-tabs .nav-link.active,
.admin-user-group-tabs .nav-link.active{
  font-size:16px !important;
  font-weight:600 !important;
  letter-spacing:0.1px !important;
  transform:none !important;
  scale:1 !important;
}
.admin-users-main-tabs .nav-link.active,
.admin-user-group-tabs .nav-link.active{
  color:#1b1303 !important;
}
.admin-users-main-tabs .nav-link .badge,
.admin-user-group-tabs .nav-link .badge{
  min-width:24px;
  border-radius:999px;
}

/* =====================================================================
   ESTATA HUB – WARTUNGSMODUS
   Navbar Switch + Confirmation Modal + Toast
   ===================================================================== */


/* =====================================================================
   NAVBAR WARTUNGSSCHALTER
   ===================================================================== */

.estata-maintenance-switch{
  appearance:none;
  -webkit-appearance:none;

  display:inline-flex;
  align-items:center;
  gap:10px;

  min-height:46px;

  padding:
    6px
    8px
    6px
    12px;

  border:
    1px solid
    rgba(255,255,255,.12);

  border-radius:999px;

  background:
    rgba(11,18,33,.78);

  color:#ffffff;

  box-shadow:
    0
    10px
    24px
    rgba(0,0,0,.18);

  cursor:pointer;

  white-space:nowrap;

  transition:
    border-color .18s ease,
    background .18s ease,
    box-shadow .18s ease,
    transform .18s ease;
}


.estata-maintenance-switch:hover{
  transform:translateY(-1px);

  border-color:
    rgba(249,173,24,.36);

  background:
    rgba(17,27,46,.92);
}


.estata-maintenance-switch:focus-visible{
  outline:none;

  box-shadow:
    0
    0
    0
    3px
    rgba(249,173,24,.16),
    0
    10px
    24px
    rgba(0,0,0,.20);
}


/* =====================================================================
   STATUS DOT
   ===================================================================== */

.estata-maintenance-state-dot{
  width:8px;
  height:8px;

  flex:
    0
    0
    8px;

  border-radius:999px;
}


/* HUB ONLINE */

.estata-maintenance-switch.is-online
.estata-maintenance-state-dot{
  background:#3bd47b;

  box-shadow:
    0
    0
    0
    5px
    rgba(59,212,123,.09);
}


/* WARTUNG */

.estata-maintenance-switch.is-maintenance{
  border-color:
    rgba(249,173,24,.50);

  background:
    linear-gradient(
      180deg,
      rgba(249,173,24,.11),
      rgba(11,18,33,.88)
    );

  box-shadow:
    0
    10px
    28px
    rgba(249,173,24,.08);
}


.estata-maintenance-switch.is-maintenance
.estata-maintenance-state-dot{
  background:#f9ad18;

  box-shadow:
    0
    0
    0
    5px
    rgba(249,173,24,.10);

  animation:
    estata-maintenance-dot-pulse
    1.8s
    ease-in-out
    infinite;
}


@keyframes estata-maintenance-dot-pulse{

  0%,
  100%{
    box-shadow:
      0
      0
      0
      4px
      rgba(249,173,24,.10);
  }

  50%{
    box-shadow:
      0
      0
      0
      9px
      rgba(249,173,24,.02);
  }
}


/* =====================================================================
   TEXT
   ===================================================================== */

.estata-maintenance-switch-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;

  min-width:80px;

  line-height:1.05;
}


.estata-maintenance-switch-copy strong{
  color:
    rgba(255,255,255,.95);

  font-size:11px;
  font-weight:800;

  letter-spacing:.75px;

  text-transform:uppercase;
}


.estata-maintenance-switch-copy small{
  margin-top:4px;

  color:
    rgba(255,255,255,.50);

  font-size:9px;
  font-weight:600;

  letter-spacing:.30px;
}


.estata-maintenance-switch.is-maintenance
.estata-maintenance-switch-copy strong{
  color:#f9ad18;
}


/* =====================================================================
   TOGGLE TRACK
   ===================================================================== */

.estata-maintenance-toggle{
  position:relative;

  width:42px;
  height:24px;

  flex:
    0
    0
    42px;

  border:
    1px solid
    rgba(255,255,255,.14);

  border-radius:999px;

  background:
    rgba(255,255,255,.07);

  transition:
    background .18s ease,
    border-color .18s ease;
}


.estata-maintenance-toggle-knob{
  position:absolute;

  top:3px;
  left:3px;

  width:16px;
  height:16px;

  border-radius:999px;

  background:
    rgba(255,255,255,.72);

  box-shadow:
    0
    3px
    8px
    rgba(0,0,0,.34);

  transition:
    transform .18s ease,
    background .18s ease;
}


/* Online = Wartung AUS */

.estata-maintenance-switch.is-online
.estata-maintenance-toggle{
  border-color:
    rgba(59,212,123,.24);

  background:
    rgba(59,212,123,.08);
}


/* Wartung EIN */

.estata-maintenance-switch.is-maintenance
.estata-maintenance-toggle{
  border-color:
    rgba(249,173,24,.46);

  background:
    rgba(249,173,24,.18);
}


.estata-maintenance-switch.is-maintenance
.estata-maintenance-toggle-knob{
  transform:
    translateX(
      18px
    );

  background:#f9ad18;
}


/* =====================================================================
   MODAL OPEN
   ===================================================================== */

body.estata-maintenance-modal-open{
  overflow:hidden;
}


/* =====================================================================
   MODAL
   ===================================================================== */

.estata-maintenance-modal{
  position:fixed;

  inset:0;

  z-index:120000;

  display:flex;
  align-items:center;
  justify-content:center;

  padding:22px;

  opacity:0;

  transition:
    opacity .18s ease;
}


.estata-maintenance-modal[hidden]{
  display:none !important;
}


.estata-maintenance-modal.is-open{
  opacity:1;
}


.estata-maintenance-modal-backdrop{
  position:absolute;

  inset:0;

  background:
    rgba(3,8,18,.78);

  backdrop-filter:
    blur(7px);
}


.estata-maintenance-modal-dialog{
  position:relative;

  z-index:1;

  width:
    min(
      100%,
      510px
    );

  padding:
    30px;

  border:
    1px solid
    rgba(249,173,24,.34);

  border-radius:22px;

  background:
    linear-gradient(
      180deg,
      #101d2f,
      #091321
    );

  box-shadow:
    0
    30px
    90px
    rgba(0,0,0,.58);

  transform:
    translateY(
      8px
    )
    scale(.985);

  transition:
    transform .18s ease;
}


.estata-maintenance-modal.is-open
.estata-maintenance-modal-dialog{
  transform:
    translateY(
      0
    )
    scale(1);
}


/* =====================================================================
   MODAL CONTENT
   ===================================================================== */

.estata-maintenance-modal-icon{
  display:flex;
  align-items:center;
  justify-content:center;

  width:56px;
  height:56px;

  margin-bottom:18px;

  border:
    1px solid
    rgba(249,173,24,.28);

  border-radius:17px;

  background:
    rgba(249,173,24,.10);

  font-size:25px;
}


.estata-maintenance-modal-eyebrow{
  margin-bottom:7px;

  color:#f9ad18;

  font-size:11px;
  font-weight:900;

  letter-spacing:1.7px;

  text-transform:uppercase;
}


.estata-maintenance-modal-title{
  color:#ffffff;

  font-size:24px;
  font-weight:800;

  line-height:1.25;
}


.estata-maintenance-modal-copy{
  margin-top:14px;

  color:
    rgba(255,255,255,.65);

  font-size:14px;

  line-height:1.7;
}


.estata-maintenance-modal-meta{
  margin-top:17px;

  padding:
    11px
    13px;

  border:
    1px solid
    rgba(255,255,255,.08);

  border-radius:11px;

  background:
    rgba(255,255,255,.025);

  color:
    rgba(255,255,255,.48);

  font-size:11px;
}


.estata-maintenance-modal-meta strong{
  color:
    rgba(255,255,255,.82);
}


/* =====================================================================
   MODAL ACTIONS
   ===================================================================== */

.estata-maintenance-modal-actions{
  display:flex;
  justify-content:flex-end;

  gap:9px;

  margin-top:25px;
}


.estata-maintenance-modal-cancel,
.estata-maintenance-modal-confirm{
  min-height:42px;

  padding:
    0
    17px;

  border-radius:999px;

  font-size:13px;
  font-weight:800;

  cursor:pointer;

  transition:
    background .16s ease,
    border-color .16s ease,
    color .16s ease,
    opacity .16s ease;
}


.estata-maintenance-modal-cancel{
  border:
    1px solid
    rgba(255,255,255,.13);

  background:
    rgba(255,255,255,.035);

  color:
    rgba(255,255,255,.75);
}


.estata-maintenance-modal-cancel:hover{
  border-color:
    rgba(255,255,255,.24);

  background:
    rgba(255,255,255,.07);

  color:#ffffff;
}


.estata-maintenance-modal-confirm{
  border:
    1px solid
    rgba(249,173,24,.62);

  background:
    #f9ad18;

  color:#111827;

  box-shadow:
    0
    10px
    24px
    rgba(249,173,24,.15);
}


.estata-maintenance-modal-confirm:hover{
  background:#ffbd3d;

  color:#111827;
}


.estata-maintenance-modal-confirm.is-release{
  border-color:
    rgba(67,213,128,.50);

  background:
    rgba(67,213,128,.14);

  color:#83e7ac;

  box-shadow:none;
}


.estata-maintenance-modal-confirm.is-release:hover{
  background:#43d580;

  color:#07130d;
}


.estata-maintenance-modal-confirm:disabled{
  opacity:.55;

  cursor:wait;
}


/* =====================================================================
   TOAST
   ===================================================================== */

.estata-maintenance-toast{
  position:fixed;

  top:122px;
  right:22px;

  z-index:119000;

  display:flex;
  align-items:flex-start;

  gap:9px;

  width:
    min(
      calc(100vw - 44px),
      420px
    );

  padding:
    13px
    15px;

  border-radius:14px;

  background:
    rgba(10,20,34,.97);

  color:
    rgba(255,255,255,.88);

  font-size:12px;
  font-weight:600;

  line-height:1.5;

  box-shadow:
    0
    20px
    50px
    rgba(0,0,0,.38);

  opacity:0;

  transform:
    translateY(
      -10px
    );

  pointer-events:none;

  transition:
    opacity .22s ease,
    transform .22s ease;
}


.estata-maintenance-toast.is-visible{
  opacity:1;

  transform:
    translateY(
      0
    );
}


.estata-maintenance-toast.is-success{
  border:
    1px solid
    rgba(67,213,128,.30);
}


.estata-maintenance-toast.is-success > span:first-child{
  color:#6fe19e;
}


.estata-maintenance-toast.is-error{
  border:
    1px solid
    rgba(255,104,104,.32);
}


.estata-maintenance-toast.is-error > span:first-child{
  color:#ff8d8d;
}


/* =====================================================================
   RESPONSIVE
   ===================================================================== */

@media (
  max-width:1199.98px
){

  .estata-maintenance-switch-copy{
    min-width:68px;
  }


  .estata-maintenance-switch-copy strong{
    font-size:10px;
  }


  .estata-maintenance-switch-copy small{
    display:none;
  }

}


@media (
  max-width:991px
){

  .estata-maintenance-switch{
    min-height:40px;

    padding:
      5px
      6px
      5px
      9px;

    gap:7px;
  }


  .estata-maintenance-switch-copy{
    display:none;
  }


  .estata-maintenance-toggle{
    width:38px;
    height:22px;

    flex-basis:38px;
  }


  .estata-maintenance-toggle-knob{
    width:14px;
    height:14px;
  }


  .estata-maintenance-switch.is-maintenance
  .estata-maintenance-toggle-knob{
    transform:
      translateX(
        16px
      );
  }

}


@media (
  max-width:600px
){

  .estata-maintenance-modal{
    padding:14px;
  }


  .estata-maintenance-modal-dialog{
    padding:
      25px
      20px;

    border-radius:19px;
  }


  .estata-maintenance-modal-title{
    font-size:21px;
  }


  .estata-maintenance-modal-actions{
    flex-direction:column-reverse;
  }


  .estata-maintenance-modal-cancel,
  .estata-maintenance-modal-confirm{
    width:100%;
  }


  .estata-maintenance-toast{
    top:106px;
    right:12px;

    width:
      calc(
        100vw
        -
        24px
      );
  }

}

/* =====================================================================
   ESTATA HUB – GLOBALE TERMIN-ERINNERUNGEN 60 / 30 / 15 / 5
   =====================================================================

   WICHTIG:
   - kein automatisches Ausblenden
   - Schliessen nur nach "Gesehen & schliessen"
   - sehr hoher z-index, damit der Hinweis auf jeder HUB-Seite sichtbar ist
   ===================================================================== */

.estata-global-reminder-stack{
  position:fixed;
  top:92px;
  right:22px;
  z-index:100500;
  width:min(520px,calc(100vw - 32px));
  max-height:calc(100vh - 120px);
  overflow-y:auto;
  overflow-x:hidden;
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:2px 3px 18px;
  scrollbar-width:thin;
  scrollbar-color:rgba(249,173,24,.72) rgba(255,255,255,.06);
}

.estata-global-reminder-stack::-webkit-scrollbar{
  width:8px;
}

.estata-global-reminder-stack::-webkit-scrollbar-track{
  background:rgba(255,255,255,.05);
  border-radius:999px;
}

.estata-global-reminder-stack::-webkit-scrollbar-thumb{
  background:rgba(249,173,24,.65);
  border-radius:999px;
}

.estata-global-reminder{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(249,173,24,.72);
  border-radius:20px;
  background:
    radial-gradient(circle at 100% 0,rgba(249,173,24,.18),transparent 38%),
    linear-gradient(145deg,rgba(12,23,41,.98),rgba(5,10,20,.99));
  box-shadow:
    0 24px 70px rgba(0,0,0,.62),
    0 0 0 1px rgba(255,255,255,.035) inset;
  color:#fff;
  padding:18px;
  backdrop-filter:blur(16px);
  transform:translateZ(0);
  transition:opacity .18s ease,transform .18s ease;
}

.estata-global-reminder::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:#f9ad18;
  box-shadow:0 0 20px rgba(249,173,24,.7);
}

.estata-global-reminder.is-closing{
  opacity:0;
  transform:translateX(18px);
  pointer-events:none;
}

.estata-global-reminder__topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

.estata-global-reminder__brand{
  color:rgba(255,255,255,.82);
  font-weight:800;
  letter-spacing:.3px;
}

.estata-global-reminder__brand .estata-font{
  font-size:24px;
  line-height:1;
}

.estata-global-reminder__milestone{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:74px;
  min-height:34px;
  padding:6px 12px;
  border-radius:999px;
  background:rgba(249,173,24,.14);
  border:1px solid rgba(249,173,24,.5);
  color:#ffd98c;
  font-size:13px;
  font-weight:900;
  letter-spacing:.8px;
}

.estata-global-reminder__eyebrow{
  color:#f9ad18;
  font-size:12px;
  font-weight:900;
  letter-spacing:1.25px;
  text-transform:uppercase;
  margin-bottom:4px;
}

.estata-global-reminder__headline{
  margin:0;
  color:#fff;
  font-size:23px;
  line-height:1.18;
  font-weight:900;
  text-shadow:0 2px 16px rgba(0,0,0,.42);
}

.estata-global-reminder__title{
  margin-top:8px;
  color:#ffd27a;
  font-size:18px;
  line-height:1.35;
  font-weight:850;
}

.estata-global-reminder__meta{
  display:grid;
  gap:6px;
  margin-top:13px;
  padding:12px 13px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  background:rgba(255,255,255,.045);
  color:rgba(255,255,255,.84);
  font-size:13px;
  line-height:1.45;
}

.estata-global-reminder__actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}

.estata-global-reminder__btn{
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:40px;
  padding:8px 13px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.065);
  color:#fff !important;
  font-size:13px !important;
  line-height:1.2;
  font-weight:750 !important;
  text-decoration:none !important;
  cursor:pointer;
  transition:transform .14s ease,background .14s ease,border-color .14s ease,filter .14s ease;
}

.estata-global-reminder__btn:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.11);
  border-color:rgba(249,173,24,.5);
  color:#fff !important;
  font-size:13px !important;
  font-weight:750 !important;
}

.estata-global-reminder__btn--join{
  background:linear-gradient(180deg,#ffd27a,#f9ad18);
  border-color:rgba(249,173,24,.88);
  color:#171104 !important;
  box-shadow:0 10px 24px rgba(249,173,24,.20);
}

.estata-global-reminder__btn--join:hover{
  filter:brightness(1.06);
    color:#fff !important;
}

.estata-global-reminder__btn--close{
  margin-left:auto;
  border-color:rgba(249,173,24,.52);
  background:rgba(249,173,24,.10);
  color:#ffd27a !important;
}

.estata-global-reminder__btn--close:hover{
  background:rgba(249,173,24,.18);
  color:#fff !important;
}

.estata-global-reminder__btn:disabled{
  opacity:.62;
  cursor:wait;
  transform:none;
}

/* 60 Minuten – ESTATA Gold */
.estata-global-reminder--60{
  border-color:rgba(249,173,24,.78);
}

/* 30 Minuten – deutlich Orange */
.estata-global-reminder--30{
  border-color:rgba(255,143,31,.88);
  background:
    radial-gradient(circle at 100% 0,rgba(255,143,31,.22),transparent 40%),
    linear-gradient(145deg,rgba(18,22,35,.99),rgba(8,10,18,.99));
}

.estata-global-reminder--30::before{
  background:#ff8f1f;
  box-shadow:0 0 22px rgba(255,143,31,.78);
}

.estata-global-reminder--30 .estata-global-reminder__milestone{
  border-color:rgba(255,143,31,.65);
  background:rgba(255,143,31,.15);
  color:#ffc47d;
}

/* 15 Minuten – Orange/Rot */
.estata-global-reminder--15{
  border-color:rgba(255,91,50,.90);
  background:
    radial-gradient(circle at 100% 0,rgba(255,91,50,.24),transparent 42%),
    linear-gradient(145deg,rgba(24,20,31,.99),rgba(10,9,16,.99));
}

.estata-global-reminder--15::before{
  background:#ff5b32;
  box-shadow:0 0 24px rgba(255,91,50,.82);
}

.estata-global-reminder--15 .estata-global-reminder__milestone{
  border-color:rgba(255,91,50,.68);
  background:rgba(255,91,50,.16);
  color:#ffae99;
}

/* 5 Minuten – höchste Dringlichkeit */
.estata-global-reminder--5{
  border-color:rgba(255,63,83,.98);
  background:
    radial-gradient(circle at 100% 0,rgba(255,63,83,.29),transparent 45%),
    linear-gradient(145deg,rgba(30,17,28,.995),rgba(12,8,15,.995));
  box-shadow:
    0 28px 80px rgba(0,0,0,.68),
    0 0 30px rgba(255,63,83,.16);
}

.estata-global-reminder--5::before{
  background:#ff3f53;
  box-shadow:0 0 28px rgba(255,63,83,.95);
}

.estata-global-reminder--5 .estata-global-reminder__milestone{
  border-color:rgba(255,63,83,.78);
  background:rgba(255,63,83,.17);
  color:#ffc0c8;
}

.estata-global-reminder--5 .estata-global-reminder__eyebrow{
  color:#ff7b8a;
}

@media (max-width:767.98px){
  .estata-global-reminder-stack{
    top:78px;
    right:10px;
    left:10px;
    width:auto;
    max-height:calc(100vh - 94px);
  }

  .estata-global-reminder{
    padding:16px 14px 15px;
    border-radius:17px;
  }

  .estata-global-reminder__headline{
    font-size:20px;
  }

  .estata-global-reminder__title{
    font-size:16px;
  }

  .estata-global-reminder__actions{
    flex-direction:column;
  }

  .estata-global-reminder__btn,
  .estata-global-reminder__btn--close{
    width:100%;
    margin-left:0;
  }
}
