/* PEREKO Portal — Etap 1: finalizacja UI/UX */
:root{
  --pereko-yellow:#ffc800;
  --pereko-yellow-dark:#e5b400;
  --pereko-ink:#202a2f;
  --pereko-muted:#65737c;
  --pereko-surface:#fff;
  --pereko-bg:#f5f7f8;
  --pereko-line:#dfe5e8;
  --pereko-radius-sm:10px;
  --pereko-radius:16px;
  --pereko-radius-lg:24px;
  --pereko-shadow:0 12px 36px rgba(26,38,45,.08);
  --pereko-shadow-hover:0 18px 48px rgba(26,38,45,.14);
  --pereko-max:1240px;
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
*{box-sizing:border-box}
body{margin:0;overflow-x:hidden;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img,svg,video,canvas{max-width:100%;height:auto}
button,a,input,select,textarea{font:inherit}
a,button{touch-action:manipulation}
button,[role="button"],a{outline-offset:3px}
:focus-visible{outline:3px solid var(--pereko-yellow)!important;outline-offset:3px!important}
::selection{background:rgba(255,200,0,.38);color:var(--pereko-ink)}
.container,.wrap,.page-shell,.unified-subpage-shell{width:min(var(--pereko-max),calc(100% - 40px));margin-inline:auto}

/* Spójne interakcje */
a[class*="btn"],button[class*="btn"],.card,.module-card,.quick-card,.feature-card,.dashboard-card,.training-card{
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background-color .2s ease,color .2s ease;
}
a[class*="btn"]:hover,button[class*="btn"]:hover{transform:translateY(-2px)}
.card:hover,.module-card:hover,.quick-card:hover,.feature-card:hover,.dashboard-card:hover,.training-card:hover{box-shadow:var(--pereko-shadow-hover)}
button:disabled,[aria-disabled="true"]{opacity:.55;cursor:not-allowed;transform:none!important}

/* Nagłówki i tekst */
h1,h2,h3,h4{text-wrap:balance}
p,li{overflow-wrap:anywhere}
small,.muted,[class*="subtitle"],[class*="description"]{line-height:1.55}

/* Formularze */
input,select,textarea{max-width:100%;border-radius:var(--pereko-radius-sm)}
input:not([type="checkbox"]):not([type="radio"]),select,textarea{min-height:44px}
textarea{min-height:110px;resize:vertical}
label{line-height:1.35}

/* Tabele */
table{border-collapse:separate;border-spacing:0;max-width:100%}
th{white-space:nowrap}

/* Wspólne nagłówki podstron */
.unified-subpage-header{position:relative;z-index:20}
.unified-subpage-mainbar-inner,.unified-subpage-topbar-inner{min-height:auto}
.unified-subpage-brand img{max-width:150px;height:auto}
.unified-subpage-copy strong{line-height:1.2}
.unified-subpage-copy small{line-height:1.35}

/* Strona główna */
body.portal-stage1-home .partner-dashboard,
body.portal-stage1-home main{position:relative}
body.portal-stage1-home .partner-dashboard{isolation:isolate}
body.portal-stage1-home .partner-dashboard::after{content:"";position:absolute;inset:auto -10% -100px 42%;height:260px;background:radial-gradient(circle,rgba(255,200,0,.12),transparent 66%);z-index:-1;pointer-events:none}
body.portal-stage1-home .dashboard-grid,body.portal-stage1-home .modules-grid,body.portal-stage1-home .quick-grid{align-items:stretch}
body.portal-stage1-home .module-card,body.portal-stage1-home .quick-card,body.portal-stage1-home .dashboard-card{height:100%}
body.portal-stage1-home .module-card,body.portal-stage1-home .quick-card{border-color:var(--pereko-line)}
body.portal-stage1-home .module-card h3,body.portal-stage1-home .quick-card h3{line-height:1.22}
body.portal-stage1-home .module-card p,body.portal-stage1-home .quick-card p{line-height:1.55}
body.portal-stage1-home .partner-dashboard [class*="action"],body.portal-stage1-home .partner-dashboard [class*="button"]{min-height:44px}

/* Rozsądne szerokości i rytm */
section{scroll-margin-top:90px}
footer{margin-top:0}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

@media(max-width:1100px){
  .container,.wrap,.page-shell,.unified-subpage-shell{width:min(100% - 32px,var(--pereko-max))}
  .unified-subpage-mainbar-inner{gap:18px}
}

@media(max-width:900px){
  .grid,.cards,.modules-grid,.quick-grid,.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .unified-subpage-mainbar-inner{align-items:flex-start;flex-wrap:wrap;padding-block:16px}
  .unified-subpage-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}
  h1{font-size:clamp(32px,7vw,52px)!important;line-height:1.04!important;letter-spacing:-1.8px!important}
  h2{font-size:clamp(25px,5vw,36px)!important;line-height:1.12!important}
}

@media(max-width:680px){
  .container,.wrap,.page-shell,.unified-subpage-shell{width:calc(100% - 28px)!important;padding-left:0!important;padding-right:0!important}
  .grid,.cards,.modules-grid,.quick-grid,.stats-grid,.form-grid{grid-template-columns:1fr!important}
  .topbar,.unified-subpage-topbar{font-size:12px}
  .unified-subpage-topbar-inner{gap:8px;flex-wrap:wrap;padding-block:8px}
  .unified-subpage-mainbar-inner{padding-block:14px}
  .unified-subpage-brand{width:100%;gap:12px}
  .unified-subpage-brand img{max-width:126px}
  .unified-subpage-copy strong{font-size:15px}
  .unified-subpage-copy small{font-size:11px}
  .unified-subpage-actions>a,.unified-subpage-actions>button{flex:1 1 180px;justify-content:center;min-height:44px}
  .hero,.hero-card,.feature-card{min-height:auto!important}
  .hero-actions,.actions,.button-row{display:flex!important;flex-direction:column!important;align-items:stretch!important}
  .hero-actions>a,.hero-actions>button,.actions>a,.actions>button,.button-row>a,.button-row>button{width:100%!important;justify-content:center!important}
  table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  input,select,textarea{font-size:16px!important}
  body.portal-stage1-home .partner-dashboard{padding-top:28px!important;padding-bottom:36px!important}
}

@media(max-width:420px){
  .container,.wrap,.page-shell,.unified-subpage-shell{width:calc(100% - 22px)!important}
  h1{font-size:clamp(30px,10vw,40px)!important}
  h2{font-size:clamp(23px,8vw,31px)!important}
  .unified-subpage-actions>a,.unified-subpage-actions>button{flex-basis:100%}
}

@media print{
  .topbar,.site-header,.portal-header,.unified-subpage-header,.no-print{display:none!important}
  body{background:#fff!important;color:#000!important}
  a{color:#000!important;text-decoration:none!important}
  .card,.module-card,.feature-card{box-shadow:none!important;break-inside:avoid}
}
