/* Najmex v2.64 – Role Menu & UI Polish
   Cel: osobne, uporządkowane menu dla wynajmującego, najemcy i serwisanta + lepszy wygląd podstron. */
:root{
  --nx264-sidebar:286px;
  --nx264-topbar:70px;
  --nx264-bg:#f4f8fc;
  --nx264-card:#ffffff;
  --nx264-line:#dce8f3;
  --nx264-ink:#0b1526;
  --nx264-text:#243247;
  --nx264-muted:#6f7f94;
  --nx264-cyan:#10b9c8;
  --nx264-cyan2:#087aa4;
  --nx264-navy:#021321;
  --nx264-shadow:0 18px 45px rgba(7,26,49,.075);
  --nx264-shadow-soft:0 9px 25px rgba(7,26,49,.055);
}

body.nx26-app-body{
  --nx262-sidebar:var(--nx264-sidebar)!important;
  --nx262-topbar:var(--nx264-topbar)!important;
  background:
    radial-gradient(820px 260px at 14% -150px,rgba(16,185,200,.13),transparent 70%),
    radial-gradient(780px 250px at 92% -140px,rgba(8,122,164,.08),transparent 72%),
    linear-gradient(180deg,#fbfdff 0%,#f4f8fc 46%,#eef4f9 100%)!important;
}

/* sidebar: porządek i zero rozsypania */
.nx26-sidebar{
  width:var(--nx264-sidebar)!important;
  padding:18px 14px 14px!important;
}
.nx26-brand-clean{
  min-height:62px!important;
  padding:0 4px 14px!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  margin-bottom:12px!important;
}
.nx26-brand-symbol{
  width:40px!important;height:40px!important;border-radius:14px!important;
  font-size:17px!important;font-weight:650!important;
}
.nx26-brand-word{
  letter-spacing:.34em!important;
  font-size:13px!important;
  font-weight:600!important;
  color:#f3fbff!important;
}
.nx261-nav{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  padding:0 2px 16px!important;
  max-height:calc(100vh - 142px)!important;
}
.nx261-nav-group{
  border-radius:16px!important;
  border:1px solid rgba(255,255,255,.075)!important;
  background:rgba(255,255,255,.026)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
}
.nx261-nav-group.open{
  background:rgba(255,255,255,.048)!important;
  border-color:rgba(16,185,200,.20)!important;
}
.nx261-group-toggle{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  height:38px!important;
  min-height:38px!important;
  padding:0 11px!important;
  border:0!important;
  background:transparent!important;
  color:#93aabd!important;
  font-size:10px!important;
  letter-spacing:.145em!important;
  line-height:1!important;
  text-transform:uppercase!important;
  font-weight:600!important;
  cursor:pointer!important;
}
.nx261-group-toggle span{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.nx261-group-toggle i{
  flex:0 0 auto!important;
  transform:rotate(-90deg)!important;
  transition:transform .16s ease, background .16s ease, color .16s ease!important;
}
.nx261-nav-group.open .nx261-group-toggle i{
  transform:rotate(0deg)!important;
  background:rgba(16,185,200,.16)!important;
  color:#dffaff!important;
}
.nx261-group-body{
  display:none!important;
  padding:0 7px 8px!important;
}
.nx261-nav-group.open .nx261-group-body{
  display:grid!important;
  gap:4px!important;
}
.nx261-nav a,
.nx26-nav-clean a{
  position:relative!important;
  min-height:37px!important;
  padding:8px 10px!important;
  border-radius:12px!important;
  color:#c5d5e0!important;
  font-size:12.4px!important;
  font-weight:430!important;
  letter-spacing:-.006em!important;
}
.nx261-nav a:hover{
  color:#fff!important;
  background:rgba(255,255,255,.075)!important;
  transform:translateX(1px)!important;
}
.nx261-nav a.active{
  color:#fff!important;
  background:linear-gradient(90deg,rgba(16,185,200,.30),rgba(16,185,200,.075))!important;
  box-shadow:inset 3px 0 0 var(--nx264-cyan),0 9px 18px rgba(0,0,0,.10)!important;
  border-color:rgba(16,185,200,.24)!important;
}
.nx261-nav .nx26-nav-ico{
  width:17px!important;min-width:17px!important;
  color:#84dce6!important;
}
.nx261-nav a em{
  margin-left:auto!important;
  white-space:nowrap!important;
  font-size:9px!important;
  padding:2px 6px!important;
  border-radius:999px!important;
  color:#d6e6f2!important;
  background:rgba(255,255,255,.08)!important;
}
.nx26-side-footer{
  position:sticky!important;
  bottom:0!important;
  background:linear-gradient(180deg,rgba(2,19,33,.0),rgba(2,19,33,.95) 25%,rgba(2,19,33,1) 100%)!important;
  padding-top:14px!important;
}

/* topbar + dropdown */
.nx26-topbar-clean{
  left:var(--nx264-sidebar)!important;
  height:var(--nx264-topbar)!important;
  padding:0 28px!important;
}
.nx26-breadcrumb span{font-size:10px!important;font-weight:600!important;letter-spacing:.24em!important;}
.nx26-breadcrumb strong{font-size:16.5px!important;font-weight:540!important;}
.nx26-primary{height:42px!important;padding:0 16px!important;}
.nx26-user-pill b{max-width:190px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
.nx26-user-menu-head strong{font-weight:560!important;}
.nx26-user-menu-head small{font-size:11.5px!important;color:var(--nx264-muted)!important;}

/* Środek każdej podstrony: ciaśniej, czyściej, bez wielkich fontów */
body.nx26-app-body :where(.page,.container,.wrap,.nm-container,.content,.main-content,.agent-wrap){
  max-width:1360px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:24px 30px 46px!important;
}
body.nx26-app-body :where(h1){font-size:clamp(22px,2vw,30px)!important;line-height:1.12!important;font-weight:560!important;letter-spacing:-.052em!important;}
body.nx26-app-body :where(h2){font-size:clamp(18px,1.55vw,23px)!important;line-height:1.2!important;font-weight:555!important;letter-spacing:-.04em!important;}
body.nx26-app-body :where(h3){font-size:16px!important;font-weight:545!important;letter-spacing:-.03em!important;}
body.nx26-app-body :where(.card,.box,.panel,.tile,.agent-card,.agent-hero,.stat-card,.summary-card,.nx-card,.table-card,section.card){
  border-radius:22px!important;
  border:1px solid var(--nx264-line)!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:var(--nx264-shadow-soft)!important;
}
body.nx26-app-body :where(.card,.box,.panel,.tile,.agent-card,.nx-card){padding:18px!important;}
body.nx26-app-body :where(table){font-size:12.8px!important;border-collapse:separate!important;border-spacing:0 7px!important;width:100%!important;}
body.nx26-app-body :where(th){font-size:10.2px!important;letter-spacing:.085em!important;font-weight:600!important;color:#8293a8!important;background:transparent!important;}
body.nx26-app-body :where(td){font-size:12.8px!important;font-weight:420!important;color:#253449!important;}
body.nx26-app-body :where(input,select,textarea){font-size:12.8px!important;font-weight:420!important;min-height:40px!important;border-radius:13px!important;border:1px solid #d9e5f2!important;}
body.nx26-app-body :where(label){font-size:11.8px!important;font-weight:510!important;color:#68798e!important;}
body.nx26-app-body :where(.btn,button.btn,a.btn,input[type=submit],button[type=submit],.button,.agent-btn){
  min-height:38px!important;
  border-radius:13px!important;
  font-size:12.6px!important;
  font-weight:520!important;
  padding:8px 12px!important;
}

/* Dashboard właściciela — mniej „wielkiego napisu”, bardziej panel roboczy */
.nx-dashboard-page .nx-hero-title{font-size:clamp(24px,2vw,30px)!important;line-height:1.11!important;max-width:430px!important;}
.nx-dashboard-page .nx-hero-text{font-size:13px!important;line-height:1.58!important;}
.nx261-workspace-card{min-height:205px!important;padding:20px!important;}
.nx261-quick-panel{gap:9px!important;}
.nx261-action{min-height:66px!important;border-radius:16px!important;}
.nx261-access-card{min-height:205px!important;}

/* Najemca — układ kafelków prostszy i czytelny */
body.nx26-role-tenant :where(.dashboard-card,.tenant-card,.payment-card,.doc-card,.item,.tile){
  border-radius:20px!important;
  border:1px solid var(--nx264-line)!important;
  background:#fff!important;
  box-shadow:var(--nx264-shadow-soft)!important;
}
body.nx26-role-tenant :where(.amount,.price,.total){font-weight:560!important;letter-spacing:-.035em!important;}

/* Serwisant — agent pages w tym samym shellu */
body.nx26-role-agent .agent-wrap{
  max-width:1220px!important;
}
body.nx26-role-agent .agent-hero{
  padding:22px!important;
  margin-bottom:16px!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:16px!important;
  background:
    radial-gradient(520px 210px at 0% -45%,rgba(16,185,200,.12),transparent 70%),
    linear-gradient(135deg,#fff 0%,#fbfdff 58%,#f0f8fc 100%)!important;
}
body.nx26-role-agent .agent-hero h1,
body.nx26-role-agent .agent-hero h2{
  margin:0 0 7px!important;
  color:var(--nx264-ink)!important;
}
body.nx26-role-agent .agent-sub{
  color:var(--nx264-muted)!important;
  font-size:13px!important;
  line-height:1.55!important;
}
body.nx26-role-agent .agent-actions{display:flex!important;gap:8px!important;flex-wrap:wrap!important;}
body.nx26-role-agent .agent-btn.primary,
body.nx26-role-agent button.agent-btn.primary,
body.nx26-role-agent a.agent-btn.primary{
  background:linear-gradient(135deg,var(--nx264-cyan),var(--nx264-cyan2))!important;
  color:#fff!important;
  border-color:transparent!important;
  box-shadow:0 13px 26px rgba(8,122,164,.20)!important;
}
body.nx26-role-agent .agent-btn.soft,
body.nx26-role-agent a.agent-btn.soft{
  background:#fff!important;
  color:#17263a!important;
  border:1px solid var(--nx264-line)!important;
}
body.nx26-role-agent .agent-card{margin-top:14px!important;}
body.nx26-role-agent .agent-grid,
body.nx26-role-agent .agent-stats{gap:14px!important;}
body.nx26-role-agent .agent-alert{border-radius:16px!important;padding:12px 14px!important;font-size:13px!important;}
body.nx26-role-agent .agent-form .row,
body.nx26-role-agent .agent-form .grid{gap:12px!important;}

/* Admin / BOK drobny polish – nic nie nachodzi, mniejsze fonty */
body.nx-admin-page :where(.nx-content,.content,.page,.container),
body.nx-bok-shell :where(.nx-content,.content,.page,.container){max-width:1360px!important;}
body.nx-admin-page :where(h1),body.nx-bok-shell :where(h1){font-size:clamp(22px,2vw,30px)!important;font-weight:560!important;letter-spacing:-.045em!important;}
body.nx-admin-page :where(.card,.box,.panel,.tile,.nx-card,.table-card),
body.nx-bok-shell :where(.card,.box,.panel,.tile,.nx-card,.table-card){border-radius:22px!important;border:1px solid var(--nx264-line)!important;box-shadow:var(--nx264-shadow-soft)!important;}
body.nx-admin-page :where(table),body.nx-bok-shell :where(table){font-size:12.8px!important;}
body.nx-admin-page :where(input,select,textarea),body.nx-bok-shell :where(input,select,textarea){font-size:12.8px!important;border-radius:13px!important;}

@media (max-width:1180px){
  body.nx26-app-body{padding-left:0!important;}
  .nx26-topbar-clean{left:0!important;}
  .nx26-sidebar{width:min(92vw,324px)!important;}
}
@media (max-width:760px){
  :root{--nx264-topbar:62px;}
  body.nx26-app-body{padding-top:62px!important;}
  .nx26-topbar-clean{height:62px!important;padding:0 12px!important;}
  .nx26-primary{display:none!important;}
  .nx26-user-pill b,.nx26-user-pill i{display:none!important;}
  .nx26-user-pill{padding:4px!important;}
  body.nx26-app-body :where(.page,.container,.wrap,.nm-container,.content,.main-content,.agent-wrap){padding:14px 12px 34px!important;}
  body.nx26-role-agent .agent-hero{display:block!important;padding:18px!important;}
  body.nx26-role-agent .agent-actions{margin-top:12px!important;}
  .nx-dashboard-page .nx-hero-title{font-size:24px!important;}
}
