/*
Theme Name: SAFE WORK EDU v2
Theme URI: https://safe-work.xyz
Author: SAFE WORK EDU
Description: Nowoczesny portal wiedzy i współpracy dla społecznej inspekcji pracy w oświacie. Osobna warstwa prezentacji, zgodna z PWA.
Version: 2.0.2
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.0
Text Domain: safe-work-edu-v2
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
:root {
 --swe-navy:#102641;--swe-deep:#091b30;--swe-dark:#07192b;--swe-sidebar:#122941;
 --swe-teal:#087f90;--swe-aqua:#64d6d0;--swe-orange:#f3ac59;
 --swe-ink:#172f46;--swe-muted:#5d7082;--swe-line:#dce5ed;
 --swe-soft:#f3f7fa;--swe-white:#ffffff;--swe-radius:16px;
 --swe-shadow:0 10px 30px rgba(17,43,67,.055);
}
*, *::before, *::after {box-sizing:border-box}
html {scroll-behavior:smooth}
body {margin:0;background:var(--swe-soft);color:var(--swe-ink);font:16px/1.65 system-ui,-apple-system,'Segoe UI',Arial,sans-serif}
body.swe-v2-body {min-width:320px}
a {color:#086d7d}a:hover {color:#084f5b}
button,input,textarea,select {font:inherit}
img,svg {max-width:100%}img {height:auto}
:focus-visible {outline:3px solid var(--swe-orange);outline-offset:3px}
.screen-reader-text,.swe-skip-link:not(:focus){position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.swe-skip-link:focus{position:fixed;z-index:500;top:8px;left:12px;background:#fff;color:#102641;padding:12px 18px;border-radius:8px}
.swe-icon {display:inline-block;width:20px;height:20px;flex:none;vertical-align:middle}
.swe-app {min-height:100vh}
/* Top bar */
.swe-topbar{height:82px;background:var(--swe-deep);color:#fff;position:relative;z-index:30}
.swe-topbar-inner{height:100%;display:flex;align-items:center;gap:28px;padding:0 32px;max-width:1920px;margin:0 auto}
.swe-brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;min-width:255px}
.swe-brand:hover{color:#fff}
.swe-brand-icon{display:grid;place-items:center;width:46px;height:46px;background:#087f90;border-radius:13px;color:#fff}
.swe-brand-icon .swe-icon{width:26px;height:26px}
.swe-brand-text{display:flex;flex-direction:column;line-height:1.2}
.swe-brand-text strong{font-size:19px;letter-spacing:.5px;font-weight:830}
.swe-brand-text em{font-style:normal;color:var(--swe-aqua)}
.swe-brand-text small{font-size:11px;letter-spacing:.15px;color:#b3cad8;margin-top:4px}
.swe-topbar-search{flex:1;min-width:120px;max-width:650px}
.swe-search-form{display:flex;align-items:center;gap:11px;background:#1d3a53;border:1px solid #3a5368;border-radius:11px;min-height:44px;padding:0 6px 0 14px;color:#8dc6cb}
.swe-search-form input{background:transparent;color:#fff;min-width:0;flex:1;border:0;outline:0;padding:11px 0;font-size:13px}
.swe-search-form input::placeholder{color:#bdd0dc;opacity:1}
.swe-search-form button{cursor:pointer;border:0;border-radius:8px;background:#267b8a;color:#fff;padding:8px 13px;font-size:12px;font-weight:700}
.swe-search-form button:hover{background:#2b9fad}
.swe-search-form input:focus-visible{outline:2px solid #a8f3e9;border-radius:4px}
.swe-top-actions{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:15px;font-size:13px;flex-shrink:0}
.swe-top-actions a{color:#e2eff7;text-decoration:none;font-weight:650}
.swe-top-actions a:hover{color:var(--swe-aqua)}
.swe-account-name{color:#b5d6e2;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.swe-login-link{display:inline-flex;gap:7px;align-items:center;background:#26465f;border:1px solid #41617a;border-radius:9px;padding:9px 12px}
.swe-login-link svg{width:15px;height:15px}
.swe-menu-toggle{border:1px solid #38566c;color:#fff;border-radius:9px;background:transparent;padding:9px;cursor:pointer;display:none}
/* Shell */
.swe-body-shell{display:grid;grid-template-columns:258px minmax(0,1fr);max-width:1920px;margin:0 auto;min-height:calc(100vh - 148px)}
.swe-sidebar{background:var(--swe-sidebar);color:#ccdfeb}
.swe-sidebar-inner{position:sticky;top:0;min-height:calc(100vh - 148px);display:flex;flex-direction:column;padding:31px 15px 18px}
.swe-sidebar-label{font-weight:750;color:#92aebf;letter-spacing:1.7px;font-size:10px;padding:0 15px;margin:0 0 13px}
.swe-side-nav{display:grid;gap:4px}
.swe-side-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;text-decoration:none;color:#cadde9;font-size:13px;font-weight:580;transition:background .15s,color .15s}
.swe-side-item .swe-icon{width:18px;height:18px;color:#83a8be}
.swe-side-item:hover,.swe-side-item.is-active{background:#224660;color:#fff}
.swe-side-item:hover .swe-icon,.swe-side-item.is-active .swe-icon{color:var(--swe-aqua)}
.swe-side-item.is-active{box-shadow:inset 3px 0 var(--swe-aqua)}
.swe-side-separator{height:1px;background:#29445a;margin:22px 10px}
.swe-sidebar-bottom{margin-top:auto;border-top:1px solid #29445a;padding:19px 15px 5px;font-size:12px;color:#d8e8f1}
.swe-sidebar-bottom small{display:block;margin-left:17px;font-size:10px;color:#93adbf}
.swe-status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#51d5c9;margin-right:8px;box-shadow:0 0 0 3px rgba(81,213,201,.13)}
.swe-main{min-width:0;min-height:650px;background:var(--swe-soft)}
.swe-content-wrap{max-width:1450px;margin:0 auto;padding:34px clamp(22px,3.2vw,62px) 75px}
.swe-eyebrow{margin:0 0 20px;color:#52758d;font-size:12px;font-weight:700;letter-spacing:.2px}
.swe-eyebrow .swe-status-dot{width:6px;height:6px}
/* Hero */
.swe-hero{background:radial-gradient(circle at 83% 10%,rgba(48,178,191,.23),transparent 42%),linear-gradient(135deg,#102641,#17425a);border-radius:22px;color:#fff;padding:clamp(30px,4vw,58px);display:grid;grid-template-columns:minmax(0,1.3fr) minmax(290px,.8fr);gap:40px;align-items:center;overflow:hidden;position:relative}
.swe-hero:after{content:'';width:250px;height:250px;border:1px solid rgba(100,214,208,.13);border-radius:50%;position:absolute;right:-100px;bottom:-140px;pointer-events:none}
.swe-hero-copy{position:relative;z-index:1}
.swe-hero-tag{display:inline-flex;align-items:center;gap:9px;color:#85ece2;letter-spacing:1.6px;font-size:11px;font-weight:800}
.swe-hero-tag svg{width:16px;height:16px}
.swe-hero h1{font-size:clamp(32px,3.4vw,53px);line-height:1.14;letter-spacing:-1.4px;margin:21px 0;max-width:720px;font-weight:820}
.swe-hero h1 span{color:#7de2db}
.swe-hero p{margin:0 0 26px;font-size:16px;line-height:1.85;color:#d7e7ef;max-width:650px}
.swe-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:11px}
.swe-button{display:inline-flex;align-items:center;gap:10px;justify-content:center;font-size:13px;font-weight:800;text-decoration:none;border-radius:9px;padding:13px 18px;line-height:1.25;min-height:46px}
.swe-button .swe-icon{width:17px;height:17px}
.swe-button-primary{color:#062b38;background:var(--swe-aqua)}
.swe-button-primary:hover{background:#9aeee8;color:#062b38}
.swe-button-ghost{color:#f5fbff;border:1px solid #658294}
.swe-button-ghost:hover{color:#fff;background:#24516b}
.swe-hero-panel{background:rgba(10,29,48,.67);border:1px solid rgba(179,235,236,.23);border-radius:17px;padding:26px;backdrop-filter:blur(7px);position:relative;z-index:1;box-shadow:0 20px 45px rgba(0,8,20,.18)}
.swe-panel-top{display:flex;justify-content:space-between;align-items:center}
.swe-panel-kicker{font-size:10px;color:#b1dce1;font-weight:850;letter-spacing:1.6px}
.swe-panel-dot{width:9px;height:9px;background:#54cfc5;border-radius:50%}
.swe-hero-panel h2{font-size:19px;line-height:1.32;margin:22px 0 16px;color:#fff}
.swe-mini-row{display:flex;align-items:center;gap:11px;padding:12px 0;border-top:1px solid rgba(200,235,235,.16);font-size:12px}
.swe-mini-row svg{color:var(--swe-aqua);width:18px;height:18px}
.swe-mini-row span:nth-child(2){flex:1}
.swe-tag{font-size:9px;border:1px solid #4b7487;color:#add5df;padding:3px 6px;border-radius:20px}
.swe-panel-footer{font-size:11px;color:#b4e3dd;margin-top:16px;display:flex;gap:6px;align-items:center}
.swe-panel-footer svg{width:14px;height:14px}
/* Sections */
.swe-section{padding-top:60px;scroll-margin-top:32px}
.swe-section-header{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:27px}
.swe-kicker{font-size:11px;color:#087f90;font-weight:850;letter-spacing:2px}
.swe-section-header h2{font-size:clamp(25px,2.4vw,35px);line-height:1.24;letter-spacing:-.6px;margin:8px 0 11px}
.swe-section-header p{margin:0;color:var(--swe-muted);font-size:14px;max-width:700px}
.swe-section-note{font-size:11px;color:#6b8295;border:1px solid var(--swe-line);background:#fff;padding:7px 11px;border-radius:30px;white-space:nowrap}
.swe-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.swe-feature-card{background:#fff;border:1px solid var(--swe-line);border-radius:var(--swe-radius);padding:25px;box-shadow:var(--swe-shadow);min-width:0;scroll-margin-top:26px}
.swe-feature-top{display:flex;justify-content:space-between;align-items:start}
.swe-feature-icon{display:inline-grid;place-items:center;width:49px;height:49px;border-radius:13px;background:#e5f5f4;color:#0a7884}
.swe-feature-icon svg{width:25px;height:25px}
.swe-feature-no{font-size:12px;font-weight:800;color:#92a6b7;letter-spacing:1px}
.swe-feature-card h3,.swe-feature-card h2{font-size:18px;font-weight:790;line-height:1.3;margin:22px 0 10px}
.swe-feature-card p{color:var(--swe-muted);font-size:13px;line-height:1.75;margin:0 0 20px;min-height:48px}
.swe-card-link{color:#04788a;font-size:12px;font-weight:800;display:inline-flex;align-items:center;gap:9px;text-decoration:none}
.swe-card-link svg{width:15px;height:15px}
.swe-card-wip{display:inline-flex;align-items:center;gap:7px;color:#7e93a2;font-size:11px;font-weight:650}
.swe-card-wip svg{width:14px;height:14px}
.swe-section-steps{padding-top:70px}
.swe-steps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.swe-step{background:#eaf2f5;padding:23px 26px;border-radius:14px;border:1px solid #d8e7eb}
.swe-step span{font-size:13px;font-weight:900;color:#087f90}
.swe-step h3{font-size:16px;margin:13px 0 9px}
.swe-step p{color:var(--swe-muted);font-size:13px;margin:0}
.swe-build-notice{margin-top:48px;border:1px solid #bee2e2;border-left:4px solid var(--swe-teal);background:#eaf6f5;border-radius:12px;padding:22px}
.swe-build-notice>div{display:flex;gap:16px;align-items:flex-start}
.swe-build-notice svg{width:30px;height:30px;color:#07798a}
.swe-build-notice h2{font-size:16px;margin:0 0 7px}
.swe-build-notice p{font-size:13px;color:#486a75;margin:0}
/* Inner pages and native WordPress content */
.swe-content-page{padding-top:54px;max-width:1150px}
.swe-breadcrumbs{display:flex;gap:10px;align-items:center;color:#748b9c;font-size:12px;margin-bottom:20px;flex-wrap:wrap}
.swe-breadcrumbs a{color:#067b8e;text-decoration:none}
.swe-page-head{margin-bottom:28px}
.swe-page-head h1{font-size:clamp(29px,3.1vw,44px);line-height:1.18;letter-spacing:-.8px;margin:9px 0 12px}
.swe-page-head p{font-size:14px;color:var(--swe-muted);max-width:760px;margin:0 0 8px}
.swe-content-card{background:#fff;border:1px solid var(--swe-line);border-radius:16px;padding:clamp(22px,3vw,38px);box-shadow:var(--swe-shadow);overflow-wrap:anywhere}
.swe-content-card h2,.swe-content-card h3{line-height:1.27}
.swe-content-card h2{font-size:24px}
.swe-content-card img{height:auto}
.swe-content-card table{display:block;overflow-x:auto;max-width:100%;border-collapse:collapse}
.swe-content-card th,.swe-content-card td{border:1px solid var(--swe-line);padding:10px;text-align:left}
.swe-content-card pre{max-width:100%;overflow:auto;background:#eaf1f5;padding:16px;border-radius:8px}
.swe-content-card blockquote{border-left:4px solid #087f90;margin:20px 0;padding:10px 22px;background:#eff7f8}
.swe-list{display:grid;gap:16px}
.swe-list-item{border:1px solid var(--swe-line);border-radius:13px;background:#fff;padding:24px;box-shadow:var(--swe-shadow)}
.swe-list-item h2{margin:0 0 9px;font-size:20px}.swe-list-item h2 a{text-decoration:none;color:var(--swe-ink)}
.swe-list-item p{color:var(--swe-muted);margin:0 0 9px;font-size:14px}.swe-list-meta{color:#73899b;font-size:12px}
.swe-empty{border:1px dashed #b8cbd7;border-radius:13px;padding:35px;background:#fff}
.swe-empty h1,.swe-empty h2{margin-top:0}.swe-empty p{color:var(--swe-muted)}
.swe-empty-large{text-align:center;padding:70px 20px}.swe-error-code{font-size:74px;color:#0b8a99;font-weight:900}
.swe-demo-banner{background:#fff6df;color:#71511e;border:1px solid #e6d4a8;border-radius:10px;padding:15px;margin-bottom:24px;display:flex;align-items:center;gap:10px;font-size:13px}
.swe-demo-banner svg{width:18px;height:18px}.swe-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.swe-demo-card h2{margin-top:18px}
.swe-mobile-search{display:none}
@media(max-width:600px){.swe-mobile-search{display:block;margin-top:20px}.swe-mobile-search .swe-search-form{background:#fff;border-color:#cadae5;color:#087f90}.swe-mobile-search .swe-search-form input{color:#102641}.swe-mobile-search .swe-search-form input::placeholder{color:#657d8f}.swe-mobile-search .swe-search-form button{display:block}}
/* Footer */
.swe-site-footer{background:var(--swe-deep);border-top:1px solid #1b3e59;color:#c5d8e7}
.swe-footer-inner{max-width:1920px;min-height:66px;margin:0 auto;padding:18px 30px;display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;font-size:12px}
.swe-footer-inner a{color:#7ce7e0;text-decoration:none}
.swe-overlay[hidden]{display:none!important}.swe-overlay{display:none}
/* WP admin bar */
body.admin-bar .swe-sidebar-inner{top:32px}
/* Responsive */
@media (max-width:1370px){.swe-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.swe-hero{grid-template-columns:minmax(0,1fr) minmax(250px,.8fr);gap:20px}.swe-topbar-inner{gap:15px}.swe-brand{min-width:230px}}
@media (max-width:1080px){
 .swe-topbar{height:74px}.swe-menu-toggle{display:inline-flex}.swe-topbar-inner{padding:0 19px;gap:14px}
 .swe-brand{min-width:210px}.swe-brand-text strong{font-size:17px}
 .swe-body-shell{display:block}.swe-sidebar{position:fixed;top:0;left:0;bottom:0;width:min(310px,85vw);z-index:105;transform:translateX(-105%);transition:transform .2s ease;overflow-y:auto;box-shadow:8px 0 30px rgba(0,0,0,.16)}
 body.swe-nav-open .swe-sidebar{transform:translateX(0)}body.swe-nav-open{overflow:hidden}
 .swe-sidebar-inner{min-height:100%;position:static;padding-top:30px}
 .swe-overlay{display:block;position:fixed;inset:0;background:rgba(4,19,33,.68);z-index:100}
 .swe-hero{grid-template-columns:1fr 310px}
 body.admin-bar .swe-sidebar{top:32px}
}
@media (max-width:820px){
 .swe-topbar-search{max-width:none}.swe-topbar-search button{display:none}
 .swe-top-actions .swe-account-name,.swe-top-actions .swe-top-link{display:none}
 .swe-hero{grid-template-columns:1fr}.swe-hero-panel{max-width:550px}
 .swe-section-header{display:block}.swe-section-note{display:inline-block;margin-top:13px}
 .swe-steps-grid{grid-template-columns:1fr}
}
@media (max-width:600px){
 .swe-topbar-inner{padding:0 12px}.swe-topbar-search{display:none}.swe-brand{min-width:0;flex:1}
 .swe-brand-text strong{font-size:15px}.swe-brand-text small{font-size:9px}
 .swe-brand-icon{width:40px;height:40px}.swe-top-actions{gap:0}
 .swe-login-link{padding:9px;font-size:11px}.swe-login-link svg{display:none}
 .swe-content-wrap{padding:24px 15px 50px}.swe-hero{border-radius:16px;padding:28px 22px}
 .swe-hero h1{font-size:clamp(28px,8.2vw,39px);letter-spacing:-.7px}
 .swe-hero p{font-size:14px}.swe-hero-panel{padding:18px}
 .swe-feature-grid,.swe-dashboard-grid{grid-template-columns:1fr}.swe-section{padding-top:43px}.swe-feature-card{padding:22px}
 .swe-footer-inner{padding:23px 18px;display:grid}
}
@media (max-width:400px){.swe-brand-text small{display:none}.swe-brand-text strong{font-size:13px}.swe-login-link{font-size:10px}}
@media (max-width:782px){body.admin-bar .swe-sidebar{top:46px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
